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 string `json:"secretName" yaml:"secretName"`
TokenKey string `json:"tokenKey" yaml:"tokenKey"`
}
Auth provides authentication information for the MAAS Instance
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:"-"`
// 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:"-"`
// 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:"-"`
// 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:"-"`
// 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.