v1alpha1

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 8 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 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

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

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.

func (ImageRule) Name added in v0.0.5

func (r ImageRule) Name() string

Name returns the name of the ImageRule.

func (*ImageRule) SetName added in v0.0.8

func (r *ImageRule) SetName(name string)

SetName sets the name of the ImageRule.

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

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

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

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.

Jump to

Keyboard shortcuts

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