v1alpha1

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2024 License: Apache-2.0 Imports: 4 Imported by: 3

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

View Source
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:"token" yaml:"token"`
}

Auth provides authentication information for the MAAS Instance

func (*Auth) DeepCopy

func (in *Auth) DeepCopy() *Auth

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

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

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

func (in *DNSRecord) DeepCopy() *DNSRecord

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

func (*DNSRecord) DeepCopyInto added in v0.0.5

func (in *DNSRecord) DeepCopyInto(out *DNSRecord)

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

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto added in v0.0.5

func (in *Image) DeepCopyInto(out *Image)

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 {
	// Unique name for the rule
	Name 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

func (in *ImageRule) DeepCopy() *ImageRule

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

func (*ImageRule) DeepCopyInto added in v0.0.5

func (in *ImageRule) DeepCopyInto(out *ImageRule)

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 {
	// 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.

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.

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) 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

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto added in v0.0.5

func (in *Resource) DeepCopyInto(out *Resource)

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 {
	// Unique name for the rule
	Name 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

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.

type UpstreamDNSRule added in v0.0.5

type UpstreamDNSRule struct {
	// Unique name for the rule
	Name 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.

Jump to

Keyboard shortcuts

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