Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the validation v1alpha1 API group +kubebuilder:object:generate=true +groupName=validation.spectrocloud.labs
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "validation.spectrocloud.labs", 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 Auth ¶
type Auth struct { // SecretName is the name of the Kubernetes secret containing the MAAS API token SecretName string `json:"secretName,omitempty" yaml:"secretName,omitempty"` // TokenKey is the key in the Kubernetes secret containing the MAAS API token TokenKey string `json:"tokenKey,omitempty" yaml:"tokenKey,omitempty"` // APIToken is the value of the MAAS API token APIToken string `json:"apiToken,omitempty" yaml:"apiToken,omitempty"` }
Auth provides authentication information for the MAAS Instance Requires one of SecretName and TokenKey (if reading secret from Kubernetes) or APIToken (if reading secret from file)
func (*Auth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.
func (*Auth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecord ¶ added in v0.0.5
type DNSRecord struct { // The IP address for the DNS record IP string `json:"ip" yaml:"ip"` // The type of DNS record Type string `json:"type" yaml:"type"` // Optional Time To Live (TTL) for the DNS record TTL int `json:"ttl,omitempty" yaml:"ttl,omitempty"` }
DNSRecord provides one DNS Resource Record
func (*DNSRecord) DeepCopy ¶ added in v0.0.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.
func (*DNSRecord) DeepCopyInto ¶ added in v0.0.5
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSResource ¶ added in v0.0.6
type DNSResource struct { // The hostname for the DNS record FQDN string `json:"fqdn" yaml:"fqdn"` // The expected records for the FQDN DNSRecords []DNSRecord `json:"dnsRecords" yaml:"dnsRecords"` }
DNSResource provides an internal DNS resource
func (*DNSResource) DeepCopy ¶ added in v0.0.6
func (in *DNSResource) DeepCopy() *DNSResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSResource.
func (*DNSResource) DeepCopyInto ¶ added in v0.0.6
func (in *DNSResource) DeepCopyInto(out *DNSResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶ added in v0.0.5
type Image struct { // The name of the bootable image Name string `json:"name" yaml:"name"` // OS Architecture Architecture string `json:"architecture" yaml:"architecture"` }
Image defines one OS image
func (*Image) DeepCopy ¶ added in v0.0.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶ added in v0.0.5
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageRule ¶ added in v0.0.5
type ImageRule struct { validationrule.ManuallyNamed `json:",inline" yaml:",omitempty"` // Unique name for the rule RuleName string `json:"name" yaml:"name"` // The list of OS images to validate Images []Image `json:"images" yaml:"images"` }
ImageRule defines a rule for validating one or more OS images
func (*ImageRule) DeepCopy ¶ added in v0.0.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRule.
func (*ImageRule) DeepCopyInto ¶ added in v0.0.5
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InternalDNSRule ¶ added in v0.0.5
type InternalDNSRule struct { validationrule.AutomaticallyNamed `json:",inline" yaml:",omitempty"` // The domain name for the internal DNS server MaasDomain string `json:"maasDomain" yaml:"maasDomain"` // The DNS resources for the internal DNS server DNSResources []DNSResource `json:"dnsResources" yaml:"dnsResources"` }
InternalDNSRule provides rules for the internal DNS server
func (*InternalDNSRule) DeepCopy ¶ added in v0.0.5
func (in *InternalDNSRule) DeepCopy() *InternalDNSRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalDNSRule.
func (*InternalDNSRule) DeepCopyInto ¶ added in v0.0.5
func (in *InternalDNSRule) DeepCopyInto(out *InternalDNSRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InternalDNSRule) Name ¶ added in v0.0.8
func (r InternalDNSRule) Name() string
Name returns the name of the InternalDNSRule.
type MaasValidator ¶
type MaasValidator struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MaasValidatorSpec `json:"spec,omitempty"` Status MaasValidatorStatus `json:"status,omitempty"` }
MaasValidator is the Schema for the maasvalidators API
func (*MaasValidator) DeepCopy ¶
func (in *MaasValidator) DeepCopy() *MaasValidator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasValidator.
func (*MaasValidator) DeepCopyInto ¶
func (in *MaasValidator) DeepCopyInto(out *MaasValidator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MaasValidator) DeepCopyObject ¶
func (in *MaasValidator) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MaasValidator) GetKind ¶ added in v0.0.8
func (v MaasValidator) GetKind() string
GetKind returns the MAAS validator's kind.
func (MaasValidator) PluginCode ¶ added in v0.0.8
func (v MaasValidator) PluginCode() string
PluginCode returns the MAAS validator's plugin code.
func (MaasValidator) ResultCount ¶ added in v0.0.8
func (v MaasValidator) ResultCount() int
ResultCount returns the number of validation results expected for an MaasValidatorSpec.
type MaasValidatorList ¶
type MaasValidatorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MaasValidator `json:"items"` }
MaasValidatorList contains a list of MaasValidator
func (*MaasValidatorList) DeepCopy ¶
func (in *MaasValidatorList) DeepCopy() *MaasValidatorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasValidatorList.
func (*MaasValidatorList) DeepCopyInto ¶
func (in *MaasValidatorList) DeepCopyInto(out *MaasValidatorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MaasValidatorList) DeepCopyObject ¶
func (in *MaasValidatorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MaasValidatorSpec ¶
type MaasValidatorSpec struct { Auth Auth `json:"auth" yaml:"auth"` // Host is the URL for your MAAS Instance Host string `json:"host" yaml:"host"` ImageRules []ImageRule `json:"imageRules,omitempty" yaml:"imageRules,omitempty"` InternalDNSRules []InternalDNSRule `json:"internalDNSRules,omitempty" yaml:"internalDNSRules,omitempty"` UpstreamDNSRules []UpstreamDNSRule `json:"upstreamDNSRules,omitempty" yaml:"upstreamDNSRules,omitempty"` ResourceAvailabilityRules []ResourceAvailabilityRule `json:"resourceAvailabilityRules,omitempty" yaml:"resourceAvailabilityRules,omitempty"` }
MaasValidatorSpec defines the desired state of MaasValidator
func (*MaasValidatorSpec) DeepCopy ¶
func (in *MaasValidatorSpec) DeepCopy() *MaasValidatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasValidatorSpec.
func (*MaasValidatorSpec) DeepCopyInto ¶
func (in *MaasValidatorSpec) DeepCopyInto(out *MaasValidatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MaasValidatorSpec) PluginCode ¶ added in v0.0.8
func (s MaasValidatorSpec) PluginCode() string
PluginCode returns the MAAS validator's plugin code.
func (MaasValidatorSpec) ResultCount ¶
func (s MaasValidatorSpec) ResultCount() int
ResultCount returns the number of validation results expected for an MaasValidatorSpec.
type MaasValidatorStatus ¶
type MaasValidatorStatus struct{}
MaasValidatorStatus defines the observed state of MaasValidator
func (*MaasValidatorStatus) DeepCopy ¶
func (in *MaasValidatorStatus) DeepCopy() *MaasValidatorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaasValidatorStatus.
func (*MaasValidatorStatus) DeepCopyInto ¶
func (in *MaasValidatorStatus) DeepCopyInto(out *MaasValidatorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶ added in v0.0.5
type Resource struct { // Minimum desired number of machines NumMachines int `json:"numMachines" yaml:"numMachines"` // Minimum CPU cores per machine NumCPU int `json:"numCPU" yaml:"numCPU"` // Minimum RAM per machine in GB RAM int `json:"ram" yaml:"ram"` // Minimum Disk space per machine in GB Disk int `json:"disk" yaml:"disk"` // Optional machine pool Pool string `json:"pool,omitempty" yaml:"pool,omitempty"` // Optional machine tags Tags []string `json:"tags,omitempty" yaml:"tags,omitempty"` }
Resource defines a compute resource
func (*Resource) DeepCopy ¶ added in v0.0.5
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶ added in v0.0.5
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceAvailabilityRule ¶ added in v0.0.5
type ResourceAvailabilityRule struct { validationrule.ManuallyNamed `json:",inline" yaml:",omitempty"` // Unique name for the rule RuleName string `json:"name" yaml:"name"` // The availability zone to validate AZ string `json:"az" yaml:"az"` // The list of resources to validate Resources []Resource `json:"resources" yaml:"resources"` }
ResourceAvailabilityRule provides rules for validating resource availability
func (*ResourceAvailabilityRule) DeepCopy ¶ added in v0.0.5
func (in *ResourceAvailabilityRule) DeepCopy() *ResourceAvailabilityRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceAvailabilityRule.
func (*ResourceAvailabilityRule) DeepCopyInto ¶ added in v0.0.5
func (in *ResourceAvailabilityRule) DeepCopyInto(out *ResourceAvailabilityRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourceAvailabilityRule) Name ¶ added in v0.0.5
func (r ResourceAvailabilityRule) Name() string
Name returns the name of the RBAC rule.
func (*ResourceAvailabilityRule) SetName ¶ added in v0.0.9
func (r *ResourceAvailabilityRule) SetName(name string)
SetName sets the name of the RBAC rule.
type UpstreamDNSRule ¶ added in v0.0.5
type UpstreamDNSRule struct { validationrule.ManuallyNamed `json:",inline" yaml:",omitempty"` // Unique name for the rule RuleName string `json:"name" yaml:"name"` // The minimum expected number of upstream DNS servers NumDNSServers int `json:"numDNSServers" yaml:"numDNSServers"` }
UpstreamDNSRule provides rules for validating the external DNS server
func (*UpstreamDNSRule) DeepCopy ¶ added in v0.0.5
func (in *UpstreamDNSRule) DeepCopy() *UpstreamDNSRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamDNSRule.
func (*UpstreamDNSRule) DeepCopyInto ¶ added in v0.0.5
func (in *UpstreamDNSRule) DeepCopyInto(out *UpstreamDNSRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (UpstreamDNSRule) Name ¶ added in v0.0.5
func (r UpstreamDNSRule) Name() string
Name returns the name of the UpstreamDNSRule.
func (*UpstreamDNSRule) SetName ¶ added in v0.0.9
func (r *UpstreamDNSRule) SetName(name string)
SetName sets the name of the UpstreamDNSRule.