types

package
v0.35.2 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	MaxVersion = semver.Version{
		Major: 2,
		Minor: 4,
	}
)

Functions

This section is empty.

Types

type CaReference

type CaReference struct {
	HTTPHeaders  HTTPHeaders  `json:"httpHeaders,omitempty"`
	Source       string       `json:"source"`
	Verification Verification `json:"verification,omitempty"`
}

func (CaReference) ValidateHTTPHeaders

func (c CaReference) ValidateHTTPHeaders() report.Report

func (CaReference) ValidateSource

func (c CaReference) ValidateSource() report.Report

type Config

type Config struct {
	Ignition Ignition `json:"ignition"`
	Networkd Networkd `json:"networkd,omitempty"`
	Passwd   Passwd   `json:"passwd,omitempty"`
	Storage  Storage  `json:"storage,omitempty"`
	Systemd  Systemd  `json:"systemd,omitempty"`
}

func (Config) Validate

func (c Config) Validate() report.Report

type ConfigReference

type ConfigReference struct {
	HTTPHeaders  HTTPHeaders  `json:"httpHeaders,omitempty"`
	Source       string       `json:"source"`
	Verification Verification `json:"verification,omitempty"`
}

func (ConfigReference) ValidateHTTPHeaders

func (c ConfigReference) ValidateHTTPHeaders() report.Report

func (ConfigReference) ValidateSource

func (c ConfigReference) ValidateSource() report.Report

type Create

type Create struct {
	Force   bool           `json:"force,omitempty"`
	Options []CreateOption `json:"options,omitempty"`
}

type CreateOption

type CreateOption string

type Device

type Device string

type Directory

type Directory struct {
	Node
	DirectoryEmbedded1
}

func (Directory) ValidateMode

func (d Directory) ValidateMode() report.Report

type DirectoryEmbedded1

type DirectoryEmbedded1 struct {
	Mode *int `json:"mode,omitempty"`
}

type Disk

type Disk struct {
	Device     string      `json:"device"`
	Partitions []Partition `json:"partitions,omitempty"`
	WipeTable  bool        `json:"wipeTable,omitempty"`
}

func (Disk) Validate

func (n Disk) Validate() report.Report

func (Disk) ValidateDevice

func (n Disk) ValidateDevice() report.Report

func (Disk) ValidatePartitions

func (n Disk) ValidatePartitions() report.Report

type File

type File struct {
	Node
	FileEmbedded1
}

func (File) Validate

func (f File) Validate() report.Report

func (File) ValidateMode

func (f File) ValidateMode() report.Report

type FileContents

type FileContents struct {
	Compression  string       `json:"compression,omitempty"`
	HTTPHeaders  HTTPHeaders  `json:"httpHeaders,omitempty"`
	Source       string       `json:"source,omitempty"`
	Verification Verification `json:"verification,omitempty"`
}

func (FileContents) ValidateCompression

func (fc FileContents) ValidateCompression() report.Report

func (FileContents) ValidateHTTPHeaders

func (fc FileContents) ValidateHTTPHeaders() report.Report

func (FileContents) ValidateSource

func (fc FileContents) ValidateSource() report.Report

type FileEmbedded1

type FileEmbedded1 struct {
	Append   bool         `json:"append,omitempty"`
	Contents FileContents `json:"contents,omitempty"`
	Mode     *int         `json:"mode,omitempty"`
}

type Filesystem

type Filesystem struct {
	Mount *Mount  `json:"mount,omitempty"`
	Name  string  `json:"name,omitempty"`
	Path  *string `json:"path,omitempty"`
}

func (Filesystem) Validate

func (f Filesystem) Validate() report.Report

func (Filesystem) ValidatePath

func (f Filesystem) ValidatePath() report.Report

type Group

type Group string

type HTTPHeader

type HTTPHeader struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type HTTPHeaders

type HTTPHeaders []HTTPHeader

func (HTTPHeaders) Validate

func (h HTTPHeaders) Validate() report.Report

type Ignition

type Ignition struct {
	Config   IgnitionConfig `json:"config,omitempty"`
	Proxy    Proxy          `json:"proxy,omitempty"`
	Security Security       `json:"security,omitempty"`
	Timeouts Timeouts       `json:"timeouts,omitempty"`
	Version  string         `json:"version,omitempty"`
}

func (Ignition) Semver

func (v Ignition) Semver() (*semver.Version, error)

func (Ignition) Validate

func (v Ignition) Validate() report.Report

type IgnitionConfig

type IgnitionConfig struct {
	Append  []ConfigReference `json:"append,omitempty"`
	Replace *ConfigReference  `json:"replace,omitempty"`
}
type Link struct {
	Node
	LinkEmbedded1
}

type LinkEmbedded1

type LinkEmbedded1 struct {
	Hard   bool   `json:"hard,omitempty"`
	Target string `json:"target"`
}

type Mount

type Mount struct {
	Create         *Create       `json:"create,omitempty"`
	Device         string        `json:"device"`
	Format         string        `json:"format"`
	Label          *string       `json:"label,omitempty"`
	Options        []MountOption `json:"options,omitempty"`
	UUID           *string       `json:"uuid,omitempty"`
	WipeFilesystem bool          `json:"wipeFilesystem,omitempty"`
}

func (Mount) Validate

func (m Mount) Validate() report.Report

func (Mount) ValidateDevice

func (m Mount) ValidateDevice() report.Report

func (Mount) ValidateLabel

func (m Mount) ValidateLabel() report.Report

type MountOption

type MountOption string

type Networkd

type Networkd struct {
	Units []Networkdunit `json:"units,omitempty"`
}

type NetworkdDropin

type NetworkdDropin struct {
	Contents string `json:"contents,omitempty"`
	Name     string `json:"name"`
}

func (NetworkdDropin) Validate

func (d NetworkdDropin) Validate() report.Report

type Networkdunit

type Networkdunit struct {
	Contents string           `json:"contents,omitempty"`
	Dropins  []NetworkdDropin `json:"dropins,omitempty"`
	Name     string           `json:"name"`
}

func (Networkdunit) Validate

func (u Networkdunit) Validate() report.Report

type NoProxyItem

type NoProxyItem string

type Node

type Node struct {
	Filesystem string     `json:"filesystem"`
	Group      *NodeGroup `json:"group,omitempty"`
	Overwrite  *bool      `json:"overwrite,omitempty"`
	Path       string     `json:"path"`
	User       *NodeUser  `json:"user,omitempty"`
}

func (Node) Depth

func (n Node) Depth() int

func (Node) ValidateFilesystem

func (n Node) ValidateFilesystem() report.Report

func (Node) ValidatePath

func (n Node) ValidatePath() report.Report

type NodeGroup

type NodeGroup struct {
	ID   *int   `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

func (NodeGroup) Validate

func (ng NodeGroup) Validate() report.Report

type NodeUser

type NodeUser struct {
	ID   *int   `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

func (NodeUser) Validate

func (nu NodeUser) Validate() report.Report

type Partition

type Partition struct {
	GUID               string  `json:"guid,omitempty"`
	Label              *string `json:"label,omitempty"`
	Number             int     `json:"number,omitempty"`
	ShouldExist        *bool   `json:"shouldExist,omitempty"`
	Size               *int    `json:"size,omitempty"`
	SizeMiB            *int    `json:"sizeMiB,omitempty"`
	Start              *int    `json:"start,omitempty"`
	StartMiB           *int    `json:"startMiB,omitempty"`
	TypeGUID           string  `json:"typeGuid,omitempty"`
	WipePartitionEntry bool    `json:"wipePartitionEntry,omitempty"`
}

func (Partition) Validate

func (p Partition) Validate() report.Report

func (Partition) ValidateGUID

func (p Partition) ValidateGUID() report.Report

func (Partition) ValidateLabel

func (p Partition) ValidateLabel() report.Report

func (Partition) ValidateSize

func (p Partition) ValidateSize() report.Report

func (Partition) ValidateStart

func (p Partition) ValidateStart() report.Report

func (Partition) ValidateTypeGUID

func (p Partition) ValidateTypeGUID() report.Report

type Passwd

type Passwd struct {
	Groups []PasswdGroup `json:"groups,omitempty"`
	Users  []PasswdUser  `json:"users,omitempty"`
}

type PasswdGroup

type PasswdGroup struct {
	Gid          *int   `json:"gid,omitempty"`
	Name         string `json:"name"`
	PasswordHash string `json:"passwordHash,omitempty"`
	System       bool   `json:"system,omitempty"`
}

type PasswdUser

type PasswdUser struct {
	Create            *Usercreate        `json:"create,omitempty"`
	Gecos             string             `json:"gecos,omitempty"`
	Groups            []Group            `json:"groups,omitempty"`
	HomeDir           string             `json:"homeDir,omitempty"`
	Name              string             `json:"name"`
	NoCreateHome      bool               `json:"noCreateHome,omitempty"`
	NoLogInit         bool               `json:"noLogInit,omitempty"`
	NoUserGroup       bool               `json:"noUserGroup,omitempty"`
	PasswordHash      *string            `json:"passwordHash,omitempty"`
	PrimaryGroup      string             `json:"primaryGroup,omitempty"`
	SSHAuthorizedKeys []SSHAuthorizedKey `json:"sshAuthorizedKeys,omitempty"`
	Shell             string             `json:"shell,omitempty"`
	System            bool               `json:"system,omitempty"`
	UID               *int               `json:"uid,omitempty"`
}

func (PasswdUser) Validate

func (p PasswdUser) Validate() report.Report

type Proxy

type Proxy struct {
	HTTPProxy  string        `json:"httpProxy,omitempty"`
	HTTPSProxy string        `json:"httpsProxy,omitempty"`
	NoProxy    []NoProxyItem `json:"noProxy,omitempty"`
}

type Raid

type Raid struct {
	Devices []Device     `json:"devices"`
	Level   string       `json:"level"`
	Name    string       `json:"name"`
	Options []RaidOption `json:"options,omitempty"`
	Spares  int          `json:"spares,omitempty"`
}

func (Raid) ValidateDevices

func (n Raid) ValidateDevices() report.Report

func (Raid) ValidateLevel

func (n Raid) ValidateLevel() report.Report

type RaidOption

type RaidOption string

type SSHAuthorizedKey

type SSHAuthorizedKey string

type Security

type Security struct {
	TLS TLS `json:"tls,omitempty"`
}

type Storage

type Storage struct {
	Directories []Directory  `json:"directories,omitempty"`
	Disks       []Disk       `json:"disks,omitempty"`
	Files       []File       `json:"files,omitempty"`
	Filesystems []Filesystem `json:"filesystems,omitempty"`
	Links       []Link       `json:"links,omitempty"`
	Raid        []Raid       `json:"raid,omitempty"`
}

type Systemd

type Systemd struct {
	Units []Unit `json:"units,omitempty"`
}

type SystemdDropin

type SystemdDropin struct {
	Contents string `json:"contents,omitempty"`
	Name     string `json:"name"`
}

func (SystemdDropin) Validate

func (d SystemdDropin) Validate() report.Report

type TLS

type TLS struct {
	CertificateAuthorities []CaReference `json:"certificateAuthorities,omitempty"`
}

type Timeouts

type Timeouts struct {
	HTTPResponseHeaders *int `json:"httpResponseHeaders,omitempty"`
	HTTPTotal           *int `json:"httpTotal,omitempty"`
}

type Unit

type Unit struct {
	Contents string          `json:"contents,omitempty"`
	Dropins  []SystemdDropin `json:"dropins,omitempty"`
	Enable   bool            `json:"enable,omitempty"`
	Enabled  *bool           `json:"enabled,omitempty"`
	Mask     bool            `json:"mask,omitempty"`
	Name     string          `json:"name"`
}

func (Unit) ValidateContents

func (u Unit) ValidateContents() report.Report

func (Unit) ValidateName

func (u Unit) ValidateName() report.Report

type Usercreate

type Usercreate struct {
	Gecos        string            `json:"gecos,omitempty"`
	Groups       []UsercreateGroup `json:"groups,omitempty"`
	HomeDir      string            `json:"homeDir,omitempty"`
	NoCreateHome bool              `json:"noCreateHome,omitempty"`
	NoLogInit    bool              `json:"noLogInit,omitempty"`
	NoUserGroup  bool              `json:"noUserGroup,omitempty"`
	PrimaryGroup string            `json:"primaryGroup,omitempty"`
	Shell        string            `json:"shell,omitempty"`
	System       bool              `json:"system,omitempty"`
	UID          *int              `json:"uid,omitempty"`
}

type UsercreateGroup

type UsercreateGroup string

type Verification

type Verification struct {
	Hash *string `json:"hash,omitempty"`
}

func (Verification) HashParts

func (v Verification) HashParts() (string, string, error)

HashParts will return the sum and function (in that order) of the hash stored in this Verification, or an error if there is an issue during parsing.

func (Verification) Validate

func (v Verification) Validate() report.Report

Jump to

Keyboard shortcuts

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