mirror of
https://github.com/containers/podman
synced 2024-10-21 09:45:32 +00:00
ea08765f40
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
255 lines
7.3 KiB
Go
255 lines
7.3 KiB
Go
//go:build amd64 || arm64
|
|
// +build amd64 arm64
|
|
|
|
package machine
|
|
|
|
/*
|
|
This file was taken from https://github.com/coreos/ignition/blob/master/config/v3_2/types/schema.go in an effort to
|
|
use more of the core-os structs but not fully commit to bringing their api in.
|
|
|
|
// generated by "schematyper --package=types config/v3_2/schema/ignition.json -o config/v3_2/types/ignition_schema.go --root-type=Config" -- DO NOT EDIT
|
|
*/
|
|
|
|
type Clevis struct {
|
|
Custom *Custom `json:"custom,omitempty"`
|
|
Tang []Tang `json:"tang,omitempty"`
|
|
Threshold *int `json:"threshold,omitempty"`
|
|
Tpm2 *bool `json:"tpm2,omitempty"`
|
|
}
|
|
|
|
type Config struct {
|
|
Ignition Ignition `json:"ignition"`
|
|
Passwd Passwd `json:"passwd,omitempty"`
|
|
Storage Storage `json:"storage,omitempty"`
|
|
Systemd Systemd `json:"systemd,omitempty"`
|
|
}
|
|
|
|
type Custom struct {
|
|
Config string `json:"config"`
|
|
NeedsNetwork *bool `json:"needsNetwork,omitempty"`
|
|
Pin string `json:"pin"`
|
|
}
|
|
|
|
type Device string
|
|
|
|
type Directory struct {
|
|
Node
|
|
DirectoryEmbedded1
|
|
}
|
|
|
|
type DirectoryEmbedded1 struct {
|
|
Mode *int `json:"mode,omitempty"`
|
|
}
|
|
|
|
type Disk struct {
|
|
Device string `json:"device"`
|
|
Partitions []Partition `json:"partitions,omitempty"`
|
|
WipeTable *bool `json:"wipeTable,omitempty"`
|
|
}
|
|
|
|
type Dropin struct {
|
|
Contents *string `json:"contents,omitempty"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type File struct {
|
|
Node
|
|
FileEmbedded1
|
|
}
|
|
|
|
type FileEmbedded1 struct {
|
|
Append []Resource `json:"append,omitempty"`
|
|
Contents Resource `json:"contents,omitempty"`
|
|
Mode *int `json:"mode,omitempty"`
|
|
}
|
|
|
|
type Filesystem struct {
|
|
Device string `json:"device"`
|
|
Format *string `json:"format,omitempty"`
|
|
Label *string `json:"label,omitempty"`
|
|
MountOptions []MountOption `json:"mountOptions,omitempty"`
|
|
Options []FilesystemOption `json:"options,omitempty"`
|
|
Path *string `json:"path,omitempty"`
|
|
UUID *string `json:"uuid,omitempty"`
|
|
WipeFilesystem *bool `json:"wipeFilesystem,omitempty"`
|
|
}
|
|
|
|
type FilesystemOption string
|
|
|
|
type Group string
|
|
|
|
type HTTPHeader struct {
|
|
Name string `json:"name"`
|
|
Value *string `json:"value,omitempty"`
|
|
}
|
|
|
|
type HTTPHeaders []HTTPHeader
|
|
|
|
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"`
|
|
}
|
|
|
|
type IgnitionConfig struct {
|
|
Merge []Resource `json:"merge,omitempty"`
|
|
Replace Resource `json:"replace,omitempty"`
|
|
}
|
|
|
|
type Link struct {
|
|
Node
|
|
LinkEmbedded1
|
|
}
|
|
|
|
type LinkEmbedded1 struct {
|
|
Hard *bool `json:"hard,omitempty"`
|
|
Target string `json:"target"`
|
|
}
|
|
|
|
type Luks struct {
|
|
Clevis *Clevis `json:"clevis,omitempty"`
|
|
Device *string `json:"device,omitempty"`
|
|
KeyFile Resource `json:"keyFile,omitempty"`
|
|
Label *string `json:"label,omitempty"`
|
|
Name string `json:"name"`
|
|
Options []LuksOption `json:"options,omitempty"`
|
|
UUID *string `json:"uuid,omitempty"`
|
|
WipeVolume *bool `json:"wipeVolume,omitempty"`
|
|
}
|
|
|
|
type LuksOption string
|
|
|
|
type MountOption string
|
|
|
|
type NoProxyItem string
|
|
|
|
type Node struct {
|
|
Group NodeGroup `json:"group,omitempty"`
|
|
Overwrite *bool `json:"overwrite,omitempty"`
|
|
Path string `json:"path"`
|
|
User NodeUser `json:"user,omitempty"`
|
|
}
|
|
|
|
type NodeGroup struct {
|
|
ID *int `json:"id,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
type NodeUser struct {
|
|
ID *int `json:"id,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
type Partition struct {
|
|
GUID *string `json:"guid,omitempty"`
|
|
Label *string `json:"label,omitempty"`
|
|
Number int `json:"number,omitempty"`
|
|
Resize *bool `json:"resize,omitempty"`
|
|
ShouldExist *bool `json:"shouldExist,omitempty"`
|
|
SizeMiB *int `json:"sizeMiB,omitempty"`
|
|
StartMiB *int `json:"startMiB,omitempty"`
|
|
TypeGUID *string `json:"typeGuid,omitempty"`
|
|
WipePartitionEntry *bool `json:"wipePartitionEntry,omitempty"`
|
|
}
|
|
|
|
type Passwd struct {
|
|
Groups []PasswdGroup `json:"groups,omitempty"`
|
|
Users []PasswdUser `json:"users,omitempty"`
|
|
}
|
|
|
|
type PasswdGroup struct {
|
|
Gid *int `json:"gid,omitempty"`
|
|
Name string `json:"name"`
|
|
PasswordHash *string `json:"passwordHash,omitempty"`
|
|
ShouldExist *bool `json:"shouldExist,omitempty"`
|
|
System *bool `json:"system,omitempty"`
|
|
}
|
|
|
|
type PasswdUser struct {
|
|
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"`
|
|
ShouldExist *bool `json:"shouldExist,omitempty"`
|
|
System *bool `json:"system,omitempty"`
|
|
UID *int `json:"uid,omitempty"`
|
|
}
|
|
|
|
type Proxy struct {
|
|
HTTPProxy *string `json:"httpProxy,omitempty"`
|
|
HTTPSProxy *string `json:"httpsProxy,omitempty"`
|
|
NoProxy []NoProxyItem `json:"noProxy,omitempty"`
|
|
}
|
|
|
|
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"`
|
|
}
|
|
|
|
type RaidOption string
|
|
|
|
type Resource struct {
|
|
Compression *string `json:"compression,omitempty"`
|
|
HTTPHeaders HTTPHeaders `json:"httpHeaders,omitempty"`
|
|
Source *string `json:"source,omitempty"`
|
|
Verification Verification `json:"verification,omitempty"`
|
|
}
|
|
|
|
type SSHAuthorizedKey string
|
|
|
|
type Security struct {
|
|
TLS TLS `json:"tls,omitempty"`
|
|
}
|
|
|
|
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"`
|
|
Luks []Luks `json:"luks,omitempty"`
|
|
Raid []Raid `json:"raid,omitempty"`
|
|
}
|
|
|
|
type Systemd struct {
|
|
Units []Unit `json:"units,omitempty"`
|
|
}
|
|
|
|
type TLS struct {
|
|
CertificateAuthorities []Resource `json:"certificateAuthorities,omitempty"`
|
|
}
|
|
|
|
type Tang struct {
|
|
Thumbprint *string `json:"thumbprint,omitempty"`
|
|
URL string `json:"url,omitempty"`
|
|
}
|
|
|
|
type Timeouts struct {
|
|
HTTPResponseHeaders *int `json:"httpResponseHeaders,omitempty"`
|
|
HTTPTotal *int `json:"httpTotal,omitempty"`
|
|
}
|
|
|
|
type Unit struct {
|
|
Contents *string `json:"contents,omitempty"`
|
|
Dropins []Dropin `json:"dropins,omitempty"`
|
|
Enabled *bool `json:"enabled,omitempty"`
|
|
Mask *bool `json:"mask,omitempty"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type Verification struct {
|
|
Hash *string `json:"hash,omitempty"`
|
|
}
|