Documentation ¶
Index ¶
- Constants
- Variables
- func ReturnSvcInFileList(fileList []string) []string
- type AugeasRes
- func (obj *AugeasRes) CheckApply(apply bool) (bool, error)
- func (obj *AugeasRes) Close() error
- func (obj *AugeasRes) Cmp(r engine.Res) error
- func (obj *AugeasRes) Default() engine.Res
- func (obj *AugeasRes) Init(init *engine.Init) error
- func (obj *AugeasRes) UIDs() []engine.ResUID
- func (obj *AugeasRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *AugeasRes) Validate() error
- func (obj *AugeasRes) Watch() error
- type AugeasSet
- type AugeasUID
- type AwsEc2Res
- func (obj *AwsEc2Res) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *AwsEc2Res) Close() error
- func (obj *AwsEc2Res) Cmp(r engine.Res) error
- func (obj *AwsEc2Res) Compare(r engine.Res) bool
- func (obj *AwsEc2Res) Default() engine.Res
- func (obj *AwsEc2Res) Init(init *engine.Init) error
- func (obj *AwsEc2Res) UIDs() []engine.ResUID
- func (obj *AwsEc2Res) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *AwsEc2Res) Validate() error
- func (obj *AwsEc2Res) Watch() error
- type AwsEc2UID
- type ExecRes
- func (obj *ExecRes) AutoEdges() (engine.AutoEdge, error)
- func (obj *ExecRes) CheckApply(apply bool) (bool, error)
- func (obj *ExecRes) Close() error
- func (obj *ExecRes) Cmp(r engine.Res) error
- func (obj *ExecRes) Compare(r engine.Res) bool
- func (obj *ExecRes) Default() engine.Res
- func (obj *ExecRes) Init(init *engine.Init) error
- func (obj *ExecRes) UIDs() []engine.ResUID
- func (obj *ExecRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *ExecRes) Validate() error
- func (obj *ExecRes) Watch() error
- type ExecResAutoEdges
- type ExecUID
- type FileInfo
- type FileRes
- func (obj *FileRes) AutoEdges() (engine.AutoEdge, error)
- func (obj *FileRes) CheckApply(apply bool) (checkOK bool, _ error)
- func (obj *FileRes) Close() error
- func (obj *FileRes) Cmp(r engine.Res) error
- func (obj *FileRes) CollectPattern(pattern string)
- func (obj *FileRes) Compare(r engine.Res) bool
- func (obj *FileRes) Default() engine.Res
- func (obj *FileRes) GetPath() string
- func (obj *FileRes) Init(init *engine.Init) error
- func (obj *FileRes) UIDs() []engine.ResUID
- func (obj *FileRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *FileRes) Validate() error
- func (obj *FileRes) Watch() error
- type FileResAutoEdges
- type FileUID
- type GroupRes
- func (obj *GroupRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *GroupRes) Close() error
- func (obj *GroupRes) Cmp(r engine.Res) error
- func (obj *GroupRes) Compare(r engine.Res) bool
- func (obj *GroupRes) Default() engine.Res
- func (obj *GroupRes) Init(init *engine.Init) error
- func (obj *GroupRes) UIDs() []engine.ResUID
- func (obj *GroupRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *GroupRes) Validate() error
- func (obj *GroupRes) Watch() error
- type GroupUID
- type HostnameRes
- func (obj *HostnameRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *HostnameRes) Close() error
- func (obj *HostnameRes) Cmp(r engine.Res) error
- func (obj *HostnameRes) Compare(r engine.Res) bool
- func (obj *HostnameRes) Default() engine.Res
- func (obj *HostnameRes) Init(init *engine.Init) error
- func (obj *HostnameRes) UIDs() []engine.ResUID
- func (obj *HostnameRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *HostnameRes) Validate() error
- func (obj *HostnameRes) Watch() error
- type HostnameUID
- type KVRes
- func (obj *KVRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *KVRes) Close() error
- func (obj *KVRes) Cmp(r engine.Res) error
- func (obj *KVRes) Compare(r engine.Res) bool
- func (obj *KVRes) Default() engine.Res
- func (obj *KVRes) Init(init *engine.Init) error
- func (obj *KVRes) UIDs() []engine.ResUID
- func (obj *KVRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *KVRes) Validate() error
- func (obj *KVRes) Watch() error
- type KVResSkipCmpStyle
- type KVUID
- type MountRes
- func (obj *MountRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *MountRes) Close() error
- func (obj *MountRes) Cmp(r engine.Res) error
- func (obj *MountRes) Default() engine.Res
- func (obj *MountRes) Init(init *engine.Init) error
- func (obj *MountRes) UIDs() []engine.ResUID
- func (obj *MountRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *MountRes) Validate() error
- func (obj *MountRes) Watch() error
- type MountUID
- type MsgRes
- func (obj *MsgRes) CheckApply(apply bool) (bool, error)
- func (obj *MsgRes) Close() error
- func (obj *MsgRes) Cmp(r engine.Res) error
- func (obj *MsgRes) Compare(r engine.Res) bool
- func (obj *MsgRes) Default() engine.Res
- func (obj *MsgRes) Init(init *engine.Init) error
- func (obj *MsgRes) UIDs() []engine.ResUID
- func (obj *MsgRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *MsgRes) Validate() error
- func (obj *MsgRes) Watch() error
- type MsgUID
- type NetRes
- func (obj *NetRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *NetRes) Close() error
- func (obj *NetRes) Cmp(r engine.Res) error
- func (obj *NetRes) Compare(r engine.Res) bool
- func (obj *NetRes) Default() engine.Res
- func (obj *NetRes) Init(init *engine.Init) error
- func (obj *NetRes) UIDs() []engine.ResUID
- func (obj *NetRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *NetRes) Validate() error
- func (obj *NetRes) Watch() error
- type NetUID
- type NoopRes
- func (obj *NoopRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *NoopRes) Close() error
- func (obj *NoopRes) Cmp(r engine.Res) error
- func (obj *NoopRes) Default() engine.Res
- func (obj *NoopRes) GroupCmp(r engine.GroupableRes) error
- func (obj *NoopRes) Init(init *engine.Init) error
- func (obj *NoopRes) UIDs() []engine.ResUID
- func (obj *NoopRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *NoopRes) Validate() error
- func (obj *NoopRes) Watch() error
- type NoopUID
- type NspawnRes
- func (obj *NspawnRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *NspawnRes) Close() error
- func (obj *NspawnRes) Cmp(r engine.Res) error
- func (obj *NspawnRes) Compare(r engine.Res) bool
- func (obj *NspawnRes) Default() engine.Res
- func (obj *NspawnRes) Init(init *engine.Init) error
- func (obj *NspawnRes) UIDs() []engine.ResUID
- func (obj *NspawnRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *NspawnRes) Validate() error
- func (obj *NspawnRes) Watch() error
- type NspawnUID
- type PasswordRes
- func (obj *PasswordRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *PasswordRes) Close() error
- func (obj *PasswordRes) Cmp(r engine.Res) error
- func (obj *PasswordRes) Compare(r engine.Res) bool
- func (obj *PasswordRes) Default() engine.Res
- func (obj *PasswordRes) Init(init *engine.Init) error
- func (obj *PasswordRes) Sends() interface{}
- func (obj *PasswordRes) UIDs() []engine.ResUID
- func (obj *PasswordRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *PasswordRes) Validate() error
- func (obj *PasswordRes) Watch() error
- type PasswordSends
- type PasswordUID
- type PkgFileUID
- type PkgRes
- func (obj *PkgRes) AutoEdges() (engine.AutoEdge, error)
- func (obj *PkgRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *PkgRes) Close() error
- func (obj *PkgRes) Cmp(r engine.Res) error
- func (obj *PkgRes) Compare(r engine.Res) bool
- func (obj *PkgRes) Default() engine.Res
- func (obj *PkgRes) GroupCmp(r engine.GroupableRes) error
- func (obj *PkgRes) Init(init *engine.Init) error
- func (obj *PkgRes) UIDs() []engine.ResUID
- func (obj *PkgRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *PkgRes) Validate() error
- func (obj *PkgRes) Watch() error
- type PkgResAutoEdges
- type PkgUID
- type PrintRes
- func (obj *PrintRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *PrintRes) Close() error
- func (obj *PrintRes) Cmp(r engine.Res) error
- func (obj *PrintRes) Compare(r engine.Res) bool
- func (obj *PrintRes) Default() engine.Res
- func (obj *PrintRes) GroupCmp(r engine.GroupableRes) error
- func (obj *PrintRes) Init(init *engine.Init) error
- func (obj *PrintRes) UIDs() []engine.ResUID
- func (obj *PrintRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *PrintRes) Validate() error
- func (obj *PrintRes) Watch() error
- type PrintUID
- type SvcRes
- func (obj *SvcRes) AutoEdges() (engine.AutoEdge, error)
- func (obj *SvcRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *SvcRes) Close() error
- func (obj *SvcRes) Cmp(r engine.Res) error
- func (obj *SvcRes) Compare(r engine.Res) bool
- func (obj *SvcRes) Default() engine.Res
- func (obj *SvcRes) Init(init *engine.Init) error
- func (obj *SvcRes) UIDs() []engine.ResUID
- func (obj *SvcRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *SvcRes) Validate() error
- func (obj *SvcRes) Watch() error
- type SvcResAutoEdges
- type SvcUID
- type TestRes
- func (obj *TestRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *TestRes) Close() error
- func (obj *TestRes) Cmp(r engine.Res) error
- func (obj *TestRes) Compare(r engine.Res) bool
- func (obj *TestRes) Default() engine.Res
- func (obj *TestRes) GroupCmp(r engine.GroupableRes) error
- func (obj *TestRes) Init(init *engine.Init) error
- func (obj *TestRes) Sends() interface{}
- func (obj *TestRes) UIDs() []engine.ResUID
- func (obj *TestRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *TestRes) Validate() error
- func (obj *TestRes) Watch() error
- type TestSends
- type TestUID
- type TimerRes
- func (obj *TimerRes) CheckApply(apply bool) (bool, error)
- func (obj *TimerRes) Close() error
- func (obj *TimerRes) Cmp(r engine.Res) error
- func (obj *TimerRes) Compare(r engine.Res) bool
- func (obj *TimerRes) Default() engine.Res
- func (obj *TimerRes) Init(init *engine.Init) error
- func (obj *TimerRes) UIDs() []engine.ResUID
- func (obj *TimerRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *TimerRes) Validate() error
- func (obj *TimerRes) Watch() error
- type TimerUID
- type UserRes
- func (obj *UserRes) AutoEdges() (engine.AutoEdge, error)
- func (obj *UserRes) CheckApply(apply bool) (checkOK bool, err error)
- func (obj *UserRes) Close() error
- func (obj *UserRes) Cmp(r engine.Res) error
- func (obj *UserRes) Compare(r engine.Res) bool
- func (obj *UserRes) Default() engine.Res
- func (obj *UserRes) Init(init *engine.Init) error
- func (obj *UserRes) UIDs() []engine.ResUID
- func (obj *UserRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *UserRes) Validate() error
- func (obj *UserRes) Watch() error
- type UserResAutoEdges
- type UserUID
- type VirtAuth
- type VirtRes
- func (obj *VirtRes) CheckApply(apply bool) (bool, error)
- func (obj *VirtRes) Close() error
- func (obj *VirtRes) Cmp(r engine.Res) error
- func (obj *VirtRes) Compare(r engine.Res) bool
- func (obj *VirtRes) Default() engine.Res
- func (obj *VirtRes) Init(init *engine.Init) error
- func (obj *VirtRes) UIDs() []engine.ResUID
- func (obj *VirtRes) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (obj *VirtRes) Validate() error
- func (obj *VirtRes) Watch() error
- type VirtUID
Constants ¶
const ( // AwsPrefix is a const which gets prepended onto object names. We can only use // alphanumeric chars, underscores and hyphens for sns topics and cloud watch rules. AwsPrefix = "_mgmt-" // Ec2Prefix is added to the names of sns and cloudwatch objects. Ec2Prefix = AwsPrefix + "ec2-" // SnsPrefix gets prepended onto the sns topic. SnsPrefix = Ec2Prefix + "sns-" // SnsTopicName is the name of the sns topic created by snsMakeTopic. SnsTopicName = SnsPrefix + "events" // SnsSubscriptionProto is used to tell sns that the subscriber uses the http protocol. // TODO: add https support SnsSubscriptionProto = "http" // SnsServerShutdownTimeout is the maximum number of seconds to wait for the http server to shutdown gracefully. SnsServerShutdownTimeout = 30 // SnsPolicy is the topic attribute that defines the security policy for the topic. SnsPolicy = "Policy" // SnsPolicySid is the friendly name of the policy statement. SnsPolicySid = CwePrefix + "publish" // SnsPolicyEffect allows the action(s) defined in the policy statement. SnsPolicyEffect = "Allow" // SnsPolicyService is the cloudwatch events security principal that we are granting the permission to. SnsPolicyService = "events.amazonaws.com" // SnsPolicyAction is the specific permission we are granting in the policy. SnsPolicyAction = "SNS:Publish" // SnsCertURLRegex is used to make sure we only download certificates // from amazon. This regex will match "https://sns.***.amazonaws.com/" // where *** represents any combination of words and hyphens, and will // match any aws region name, eg: ca-central-1. SnsCertURLRegex = `(^https:\/\/sns\.([\w\-])+\.amazonaws.com\/)` // CwePrefix gets prepended onto the cloudwatch rule name. CwePrefix = Ec2Prefix + "cw-" // CweRuleName is the name of the rule created by makeCloudWatchRule. CweRuleName = CwePrefix + "state" // CweRuleSource describes the resource type to monitor for cloudwatch events. CweRuleSource = "aws.ec2" // CweRuleDetailType describes the specific type of events to trigger cloudwatch. CweRuleDetailType = "EC2 Instance State-change Notification" // CweTargetID is used to tell cloudwatch events to target the sns service. CweTargetID = "sns" // CweTargetJSON is the json field that cloudwatch will send to our endpoint so we don't get more than we need. CweTargetJSON = "$.detail" // AwsErrExceededWaitAttempts is the awserr.Message() that gets sent with // the ResourceStateNotReady awserr.Code() when the waiters time out. AwsErrExceededWaitAttempts = "exceeded wait attempts" // AwsErrIncorrectInstanceState is the error returned when an action // cannot be completed due to the current instance state. AwsErrIncorrectInstanceState = "IncorrectInstanceState" )
const ( // DefaultMaxCPUs is the default number of possible cpu "slots" used. DefaultMaxCPUs = 32 // MaxShutdownDelayTimeout is the max time we wait for a vm to shutdown. MaxShutdownDelayTimeout = 60 * 5 // seconds // ShortPollInterval is how often we poll when expecting an event. ShortPollInterval = 5 // seconds )
const (
// IfacePrefix is the prefix used to identify unit files for managed links.
IfacePrefix = "mgmt-"
)
const (
// NS is a namespace for augeas operations
NS = "Xmgmt"
)
Variables ¶
var AwsRegions = []string{
"ap-northeast-1",
"ap-northeast-2",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
"ca-central-1",
"cn-north-1",
"eu-central-1",
"eu-west-1",
"eu-west-2",
"sa-east-1",
"us-east-1",
"us-east-2",
"us-gov-west-1",
"us-west-1",
"us-west-2",
}
AwsRegions is a list of all AWS regions generated using ec2.DescribeRegions. cn-north-1 and us-gov-west-1 are not returned, probably due to security. List available at http://docs.aws.amazon.com/general/latest/gr/rande.html
var ErrResourceInsufficientParameters = errors.New("insufficient parameters for this resource")
ErrResourceInsufficientParameters is returned when the configuration of the resource is insufficient for the resource to do any useful work.
Functions ¶
func ReturnSvcInFileList ¶
ReturnSvcInFileList returns a list of svc names for matches like: `/usr/lib/systemd/system/*.service`.
Types ¶
type AugeasRes ¶
type AugeasRes struct { traits.Base // add the base methods without re-implementation // File is the path to the file targeted by this resource. File string `yaml:"file"` // Lens is the lens used by this resource. If specified, mgmt // will lower the augeas overhead by only loading that lens. Lens string `yaml:"lens"` // Sets is a list of changes that will be applied to the file, in the form of // ["path", "value"]. mgmt will run augeas.Get() before augeas.Set(), to // prevent changing the file when it is not needed. Sets []*AugeasSet `yaml:"sets"` // contains filtered or unexported fields }
AugeasRes is a resource that enables you to use the augeas resource. Currently only allows you to change simple files (e.g sshd_config).
func (*AugeasRes) CheckApply ¶
CheckApply method for Augeas resource.
func (*AugeasRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type AugeasSet ¶
type AugeasSet struct { Path string `yaml:"path"` // The relative path to the value to be changed. Value string `yaml:"value"` // The value to be set on the given Path. }
AugeasSet represents a key/value pair of settings to be applied.
type AwsEc2Res ¶
type AwsEc2Res struct { traits.Base // add the base methods without re-implementation State string `yaml:"state"` // state: running, stopped, terminated Region string `yaml:"region"` // region must match an element of AwsRegions Type string `yaml:"type"` // type of ec2 instance, eg: t2.micro ImageID string `yaml:"imageid"` // imageid must be available on the chosen region WatchEndpoint string `yaml:"watchendpoint"` // the public url of the sns endpoint, eg: http://server:12345/ WatchListenAddr string `yaml:"watchlistenaddr"` // the local address or port that the sns listens on, eg: 10.0.0.0:23456 or 23456 // ErrorOnMalformedPost controls whether or not malformed HTTP post // requests, that cause JSON decoder errors, will also make the engine // shut down. If ErrorOnMalformedPost set to true and an error occurs, // Watch() will return the error and the engine will shut down. ErrorOnMalformedPost bool `yaml:"erroronmalformedpost"` // UserData is used to run bash and cloud-init commands on first launch. // See http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html // for documantation and examples. UserData string `yaml:"userdata"` // store read-only values for send/recv. PublicIPv4 string PrivateIPv4 string InstanceID string // contains filtered or unexported fields }
AwsEc2Res is an AWS EC2 resource. In order to create a client session, your AWS credentials must be present in ~/.aws - For detailed instructions see http://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html
func (*AwsEc2Res) CheckApply ¶
CheckApply method for AwsEc2 resource.
func (*AwsEc2Res) Close ¶
Close cleans up when we're done. This is needed to delete some of the AWS objects created for the SNS endpoint.
func (*AwsEc2Res) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*AwsEc2Res) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type ExecRes ¶
type ExecRes struct { traits.Base // add the base methods without re-implementation traits.Edgeable Cmd string `yaml:"cmd"` // the command to run Shell string `yaml:"shell"` // the (optional) shell to use to run the cmd Timeout int `yaml:"timeout"` // the cmd timeout in seconds WatchCmd string `yaml:"watchcmd"` // the watch command to run WatchShell string `yaml:"watchshell"` // the (optional) shell to use to run the watch cmd IfCmd string `yaml:"ifcmd"` // the if command to run IfShell string `yaml:"ifshell"` // the (optional) shell to use to run the if cmd User string `yaml:"user"` // the (optional) user to use to execute the command Group string `yaml:"group"` // the (optional) group to use to execute the command Output *string // all cmd output, read only, do not set! Stdout *string // the cmd stdout, read only, do not set! Stderr *string // the cmd stderr, read only, do not set! // contains filtered or unexported fields }
ExecRes is an exec resource for running commands.
func (*ExecRes) AutoEdges ¶
AutoEdges returns the AutoEdge interface. In this case the systemd units.
func (*ExecRes) CheckApply ¶
CheckApply checks the resource state and applies the resource if the bool input is true. It returns error info and if the state check passed or not. TODO: expand the IfCmd to be a list of commands
func (*ExecRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*ExecRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type ExecResAutoEdges ¶
type ExecResAutoEdges struct {
// contains filtered or unexported fields
}
ExecResAutoEdges holds the state of the auto edge generator.
func (*ExecResAutoEdges) Next ¶
func (obj *ExecResAutoEdges) Next() []engine.ResUID
Next returns the next automatic edge.
func (*ExecResAutoEdges) Test ¶
func (obj *ExecResAutoEdges) Test(input []bool) bool
Test gets results of the earlier Next() call, & returns if we should continue!
type FileInfo ¶
type FileInfo struct { os.FileInfo // embed AbsPath string // smart variant RelPath string // smart variant }
FileInfo is an enhanced variant of the traditional os.FileInfo struct. It can store both the absolute and the relative paths (when built from our ReadDir), and those two paths contain a trailing slash when they refer to a directory.
type FileRes ¶
type FileRes struct { traits.Base // add the base methods without re-implementation traits.Edgeable //traits.Groupable // TODO: implement this traits.Recvable Path string `yaml:"path"` // path variable (usually defaults to name) Dirname string `yaml:"dirname"` // override the path dirname Basename string `yaml:"basename"` // override the path basename Content *string `yaml:"content"` // nil to mark as undefined Source string `yaml:"source"` // file path for source content State string `yaml:"state"` // state: exists/present?, absent, (undefined?) Owner string `yaml:"owner"` Group string `yaml:"group"` Mode string `yaml:"mode"` Recurse bool `yaml:"recurse"` Force bool `yaml:"force"` // contains filtered or unexported fields }
FileRes is a file and directory resource. Dirs are defined by names ending in a slash.
func (*FileRes) AutoEdges ¶
AutoEdges generates a simple linear sequence of each parent directory from the bottom up!
func (*FileRes) CheckApply ¶
CheckApply checks the resource state and applies the resource if the bool input is true. It returns error info and if the state check passed or not.
func (*FileRes) CollectPattern ¶
CollectPattern applies the pattern for collection resources.
func (*FileRes) GetPath ¶
GetPath returns the actual path to use for this resource. It computes this after analysis of the Path, Dirname and Basename values. Dirs end with slash.
func (*FileRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*FileRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
func (*FileRes) Watch ¶
Watch is the primary listener for this resource and it outputs events. This one is a file watcher for files and directories. Modify with caution, it is probably important to write some test cases first! If the Watch returns an error, it means that something has gone wrong, and it must be restarted. On a clean exit it returns nil. FIXME: Also watch the source directory when using obj.Source !!!
type FileResAutoEdges ¶
type FileResAutoEdges struct {
// contains filtered or unexported fields
}
FileResAutoEdges holds the state of the auto edge generator.
func (*FileResAutoEdges) Next ¶
func (obj *FileResAutoEdges) Next() []engine.ResUID
Next returns the next automatic edge.
func (*FileResAutoEdges) Test ¶
func (obj *FileResAutoEdges) Test(input []bool) bool
Test gets results of the earlier Next() call, & returns if we should continue!
type GroupRes ¶
type GroupRes struct { traits.Base // add the base methods without re-implementation State string `yaml:"state"` // state: exists, absent GID *uint32 `yaml:"gid"` // the group's gid // contains filtered or unexported fields }
GroupRes is a user group resource.
func (*GroupRes) CheckApply ¶
CheckApply method for Group resource.
func (*GroupRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*GroupRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type HostnameRes ¶
type HostnameRes struct { traits.Base // add the base methods without re-implementation Hostname string `yaml:"hostname"` PrettyHostname string `yaml:"pretty_hostname"` StaticHostname string `yaml:"static_hostname"` TransientHostname string `yaml:"transient_hostname"` // contains filtered or unexported fields }
HostnameRes is a resource that allows setting and watching the hostname.
StaticHostname is the one configured in /etc/hostname or a similar file. It is chosen by the local user. It is not always in sync with the current host name as returned by the gethostname() system call.
TransientHostname is the one configured via the kernel's sethostbyname(). It can be different from the static hostname in case DHCP or mDNS have been configured to change the name based on network information.
PrettyHostname is a free-form UTF8 host name for presentation to the user.
Hostname is the fallback value for all 3 fields above, if only Hostname is specified, it will set all 3 fields to this value.
func (*HostnameRes) CheckApply ¶
func (obj *HostnameRes) CheckApply(apply bool) (checkOK bool, err error)
CheckApply method for Hostname resource.
func (*HostnameRes) Close ¶
func (obj *HostnameRes) Close() error
Close is run by the engine to clean up after the resource is done.
func (*HostnameRes) Cmp ¶
func (obj *HostnameRes) Cmp(r engine.Res) error
Cmp compares two resources and returns an error if they are not equivalent.
func (*HostnameRes) Compare ¶
func (obj *HostnameRes) Compare(r engine.Res) bool
Compare two resources and return if they are equivalent.
func (*HostnameRes) Default ¶
func (obj *HostnameRes) Default() engine.Res
Default returns some sensible defaults for this resource.
func (*HostnameRes) Init ¶
func (obj *HostnameRes) Init(init *engine.Init) error
Init runs some startup code for this resource.
func (*HostnameRes) UIDs ¶
func (obj *HostnameRes) UIDs() []engine.ResUID
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*HostnameRes) UnmarshalYAML ¶
func (obj *HostnameRes) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
func (*HostnameRes) Validate ¶
func (obj *HostnameRes) Validate() error
Validate if the params passed in are valid data.
func (*HostnameRes) Watch ¶
func (obj *HostnameRes) Watch() error
Watch is the primary listener for this resource and it outputs events.
type HostnameUID ¶
HostnameUID is the UID struct for HostnameRes.
type KVRes ¶
type KVRes struct { traits.Base // add the base methods without re-implementation //traits.Groupable // TODO: it could be useful to group our writes and watches! traits.Refreshable traits.Recvable // XXX: shouldn't the name be the key? Key string `yaml:"key"` // key to set Value *string `yaml:"value"` // value to set (nil to delete) SkipLessThan bool `yaml:"skiplessthan"` // skip updates as long as stored value is greater SkipCmpStyle KVResSkipCmpStyle `yaml:"skipcmpstyle"` // how to do the less than cmp // contains filtered or unexported fields }
KVRes is a resource which writes a key/value pair into cluster wide storage. It will ensure that the key is set to the requested value. The one exception is that if you use the SkipLessThan parameter, then it will only replace the stored value with the requested value if it is greater than that stored one. This allows the KV resource to be used in fast acting, finite state machines which have monotonically increasing state values that represent progression. The one exception is that when this resource receives a refresh signal, then it will set the value to be the exact one if they are not identical already.
func (*KVRes) CheckApply ¶
CheckApply method for Password resource. Does nothing, returns happy!
func (*KVRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*KVRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type KVResSkipCmpStyle ¶
type KVResSkipCmpStyle int
KVResSkipCmpStyle represents the different styles of comparison when using SkipLessThan.
const ( SkipCmpStyleInt KVResSkipCmpStyle = iota SkipCmpStyleString )
These are the different allowed comparison styles. Most folks will want SkipCmpStyleInt.
type MountRes ¶
type MountRes struct { traits.Base // State must be exists ot absent. If absent, remaining fields are ignored. State string `yaml:"state"` Device string `yaml:"device"` // location of the device or image Type string `yaml:"type"` // the type of filesystem Options map[string]string `yaml:"options"` // mount options Freq int `yaml:"freq"` // dump frequency PassNo int `yaml:"passno"` // verification order // contains filtered or unexported fields }
MountRes is a systemd mount resource that adds/removes entries from /etc/fstab, and makes sure the defined device is mounted or unmounted accordingly. The mount point is set according to the resource's name.
func (*MountRes) CheckApply ¶
CheckApply is run to check the state and, if apply is true, to apply the necessary changes to reach the desired state. This is run before Watch and again if Watch finds a change occurring to the state.
func (*MountRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one although some resources can return multiple.
func (*MountRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type MsgRes ¶
type MsgRes struct { traits.Base // add the base methods without re-implementation traits.Refreshable Body string `yaml:"body"` Priority string `yaml:"priority"` Fields map[string]string `yaml:"fields"` Journal bool `yaml:"journal"` // enable systemd journal output Syslog bool `yaml:"syslog"` // enable syslog output // contains filtered or unexported fields }
MsgRes is a resource that writes messages to logs.
func (*MsgRes) CheckApply ¶
CheckApply method for Msg resource. Every check leads to an apply, meaning that the message is flushed to the journal.
func (*MsgRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*MsgRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type NetRes ¶
type NetRes struct { traits.Base // add the base methods without re-implementation State string `yaml:"state"` // up, down, or empty Addrs []string `yaml:"addrs"` // list of addresses in cidr format Gateway string `yaml:"gateway"` // gateway address // contains filtered or unexported fields }
NetRes is a network interface resource based on netlink. It manages the state of a network link. Configuration is also stored in a networkd configuration file, so the network is available upon reboot.
func (*NetRes) CheckApply ¶
CheckApply is run to check the state and, if apply is true, to apply the necessary changes to reach the desired state. This is run before Watch and again if Watch finds a change occurring to the state.
func (*NetRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one although some resources can return multiple.
func (*NetRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type NetUID ¶
type NetUID struct { // NOTE: There is also a name variable in the BaseUID struct, this is // information about where this UID came from, and is unrelated to the // information about the resource we're matching. That data which is // used in the IFF function, is what you see in the struct fields here. engine.BaseUID // contains filtered or unexported fields }
NetUID is a unique resource identifier.
type NoopRes ¶
type NoopRes struct { traits.Base // add the base methods without re-implementation traits.Groupable traits.Refreshable Comment string `lang:"comment" yaml:"comment"` // extra field for example purposes // contains filtered or unexported fields }
NoopRes is a no-op resource that does nothing.
func (*NoopRes) CheckApply ¶
CheckApply method for Noop resource. Does nothing, returns happy!
func (*NoopRes) GroupCmp ¶
func (obj *NoopRes) GroupCmp(r engine.GroupableRes) error
GroupCmp returns whether two resources can be grouped together or not.
func (*NoopRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*NoopRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type NspawnRes ¶
type NspawnRes struct { traits.Base // add the base methods without re-implementation State string `yaml:"state"` // contains filtered or unexported fields }
NspawnRes is an nspawn container resource.
func (*NspawnRes) CheckApply ¶
CheckApply is run to check the state and, if apply is true, to apply the necessary changes to reach the desired state. This is run before Watch and again if Watch finds a change occurring to the state.
func (*NspawnRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one although some resources can return multiple.
func (*NspawnRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type NspawnUID ¶
type NspawnUID struct { // NOTE: There is also a name variable in the BaseUID struct, this is // information about where this UID came from, and is unrelated to the // information about the resource we're matching. That data which is // used in the IFF function, is what you see in the struct fields here. engine.BaseUID // contains filtered or unexported fields }
NspawnUID is a unique resource identifier.
type PasswordRes ¶
type PasswordRes struct { traits.Base // add the base methods without re-implementation // TODO: it could be useful to group our tokens into a single write, and // as a result, we save inotify watches too! //traits.Groupable // TODO: this is doable, but probably not very useful traits.Refreshable traits.Sendable // FIXME: is uint16 too big? Length uint16 `yaml:"length"` // number of characters to return Saved bool // this caches the password in the clear locally CheckRecovery bool // recovery from integrity checks by re-generating // contains filtered or unexported fields }
PasswordRes is a no-op resource that returns a random password string.
func (*PasswordRes) CheckApply ¶
func (obj *PasswordRes) CheckApply(apply bool) (checkOK bool, err error)
CheckApply method for Password resource. Does nothing, returns happy!
func (*PasswordRes) Close ¶
func (obj *PasswordRes) Close() error
Close is run by the engine to clean up after the resource is done.
func (*PasswordRes) Cmp ¶
func (obj *PasswordRes) Cmp(r engine.Res) error
Cmp compares two resources and returns an error if they are not equivalent.
func (*PasswordRes) Compare ¶
func (obj *PasswordRes) Compare(r engine.Res) bool
Compare two resources and return if they are equivalent.
func (*PasswordRes) Default ¶
func (obj *PasswordRes) Default() engine.Res
Default returns some sensible defaults for this resource.
func (*PasswordRes) Init ¶
func (obj *PasswordRes) Init(init *engine.Init) error
Init runs some startup code for this resource. It generates a new password for this resource if one was not provided. It will save this into a local file. It will load it back in from previous runs.
func (*PasswordRes) Sends ¶
func (obj *PasswordRes) Sends() interface{}
Sends represents the default struct of values we can send using Send/Recv.
func (*PasswordRes) UIDs ¶
func (obj *PasswordRes) UIDs() []engine.ResUID
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*PasswordRes) UnmarshalYAML ¶
func (obj *PasswordRes) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
func (*PasswordRes) Validate ¶
func (obj *PasswordRes) Validate() error
Validate if the params passed in are valid data.
func (*PasswordRes) Watch ¶
func (obj *PasswordRes) Watch() error
Watch is the primary listener for this resource and it outputs events.
type PasswordSends ¶
type PasswordSends struct { // Password is the generated password being sent. Password *string // Hashing is the algorithm used for this password. Empty is plain text. Hashing string // TODO: implement me }
PasswordSends is the struct of data which is sent after a successful Apply.
type PasswordUID ¶
PasswordUID is the UID struct for PasswordRes.
type PkgFileUID ¶
PkgFileUID is the UID struct for PkgRes files.
type PkgRes ¶
type PkgRes struct { traits.Base // add the base methods without re-implementation traits.Edgeable traits.Groupable State string `yaml:"state"` // state: installed, uninstalled, newest, <version> AllowUntrusted bool `yaml:"allowuntrusted"` // allow untrusted packages to be installed? AllowNonFree bool `yaml:"allownonfree"` // allow nonfree packages to be found? AllowUnsupported bool `yaml:"allowunsupported"` // allow unsupported packages to be found? // contains filtered or unexported fields }
PkgRes is a package resource for packagekit.
func (*PkgRes) AutoEdges ¶
AutoEdges produces an object which generates a minimal pkg file optimization sequence of edges.
func (*PkgRes) CheckApply ¶
CheckApply checks the resource state and applies the resource if the bool input is true. It returns error info and if the state check passed or not.
func (*PkgRes) GroupCmp ¶
func (obj *PkgRes) GroupCmp(r engine.GroupableRes) error
GroupCmp returns whether two resources can be grouped together or not. Can these two resources be merged, aka, does this resource support doing so? Will resource allow itself to be grouped _into_ this obj?
func (*PkgRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*PkgRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
func (*PkgRes) Watch ¶
Watch is the primary listener for this resource and it outputs events. It uses the PackageKit UpdatesChanged signal to watch for changes. TODO: https://github.com/hughsie/PackageKit/issues/109 TODO: https://github.com/hughsie/PackageKit/issues/110
type PkgResAutoEdges ¶
type PkgResAutoEdges struct {
// contains filtered or unexported fields
}
PkgResAutoEdges holds the state of the auto edge generator.
func (*PkgResAutoEdges) Next ¶
func (obj *PkgResAutoEdges) Next() []engine.ResUID
Next returns the next automatic edge.
func (*PkgResAutoEdges) Test ¶
func (obj *PkgResAutoEdges) Test(input []bool) bool
Test gets results of the earlier Next() call, & returns if we should continue!
type PrintRes ¶
type PrintRes struct { traits.Base // add the base methods without re-implementation traits.Groupable traits.Recvable traits.Refreshable Msg string `lang:"msg" yaml:"msg"` // the message to display // contains filtered or unexported fields }
PrintRes is a resource that is useful for printing a message to the screen. It will also display a message when it receives a notification. It supports automatic grouping.
func (*PrintRes) CheckApply ¶
CheckApply method for Print resource. Does nothing, returns happy!
func (*PrintRes) GroupCmp ¶
func (obj *PrintRes) GroupCmp(r engine.GroupableRes) error
GroupCmp returns whether two resources can be grouped together or not.
func (*PrintRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*PrintRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type SvcRes ¶
type SvcRes struct { traits.Base // add the base methods without re-implementation traits.Edgeable traits.Groupable traits.Refreshable State string `yaml:"state"` // state: running, stopped, undefined Startup string `yaml:"startup"` // enabled, disabled, undefined Session bool `yaml:"session"` // user session (true) or system? // contains filtered or unexported fields }
SvcRes is a service resource for systemd units.
func (*SvcRes) AutoEdges ¶
AutoEdges returns the AutoEdge interface. In this case the systemd units.
func (*SvcRes) CheckApply ¶
CheckApply checks the resource state and applies the resource if the bool input is true. It returns error info and if the state check passed or not.
func (*SvcRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*SvcRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type SvcResAutoEdges ¶
type SvcResAutoEdges struct {
// contains filtered or unexported fields
}
SvcResAutoEdges holds the state of the auto edge generator.
func (*SvcResAutoEdges) Next ¶
func (obj *SvcResAutoEdges) Next() []engine.ResUID
Next returns the next automatic edge.
func (*SvcResAutoEdges) Test ¶
func (obj *SvcResAutoEdges) Test(input []bool) bool
Test gets results of the earlier Next() call, & returns if we should continue!
type SvcUID ¶
type SvcUID struct { // NOTE: there is also a name variable in the BaseUID struct, this is // information about where this UID came from, and is unrelated to the // information about the resource we're matching. That data which is // used in the IFF function, is what you see in the struct fields here. engine.BaseUID // contains filtered or unexported fields }
SvcUID is the UID struct for SvcRes.
type TestRes ¶
type TestRes struct { traits.Base // add the base methods without re-implementation traits.Groupable traits.Refreshable traits.Sendable traits.Recvable Bool bool `lang:"bool" yaml:"bool"` Str string `lang:"str" yaml:"str"` // can't name it String because of String() Int int `lang:"int" yaml:"int"` Int8 int8 `lang:"int8" yaml:"int8"` Int16 int16 `lang:"int16" yaml:"int16"` Int32 int32 `lang:"int32" yaml:"int32"` Int64 int64 `lang:"int64" yaml:"int64"` Uint uint `lang:"uint" yaml:"uint"` Uint8 uint8 `lang:"uint8" yaml:"uint8"` Uint16 uint16 `lang:"uint16" yaml:"uint16"` Uint32 uint32 `lang:"uint32" yaml:"uint32"` Uint64 uint64 `lang:"uint64" yaml:"uint64"` //Uintptr uintptr `yaml:"uintptr"` Byte byte `lang:"byte" yaml:"byte"` // alias for uint8 Rune rune `lang:"rune" yaml:"rune"` // alias for int32, represents a Unicode code point Float32 float32 `lang:"float32" yaml:"float32"` Float64 float64 `lang:"float64" yaml:"float64"` Complex64 complex64 `lang:"complex64" yaml:"complex64"` Complex128 complex128 `lang:"complex128" yaml:"complex128"` BoolPtr *bool `lang:"boolptr" yaml:"bool_ptr"` StringPtr *string `lang:"stringptr" yaml:"string_ptr"` // TODO: tag name? Int64Ptr *int64 `lang:"int64ptr" yaml:"int64ptr"` Int8Ptr *int8 `lang:"int8ptr" yaml:"int8ptr"` Uint8Ptr *uint8 `lang:"uint8ptr" yaml:"uint8ptr"` // probably makes no sense, but is legal Int8PtrPtrPtr ***int8 `lang:"int8ptrptrptr" yaml:"int8ptrptrptr"` SliceString []string `lang:"slicestring" yaml:"slicestring"` MapIntFloat map[int64]float64 `lang:"mapintfloat" yaml:"mapintfloat"` MixedStruct struct { // contains filtered or unexported fields } `lang:"mixedstruct" yaml:"mixedstruct"` Interface interface{} `lang:"interface" yaml:"interface"` AnotherStr string `lang:"anotherstr" yaml:"anotherstr"` ValidateBool bool `lang:"validatebool" yaml:"validate_bool"` // set to true to cause a validate error ValidateError string `lang:"validateerror" yaml:"validate_error"` // set to cause a validate error AlwaysGroup bool `lang:"alwaysgroup" yaml:"always_group"` // set to true to cause auto grouping CompareFail bool `lang:"comparefail" yaml:"compare_fail"` // will compare fail? SendValue string `lang:"sendvalue" yaml:"send_value"` // what value should we send? Comment string `lang:"comment" yaml:"comment"` // contains filtered or unexported fields }
TestRes is a resource that is mostly harmless and is used for internal tests.
func (*TestRes) CheckApply ¶
CheckApply method for Test resource. Does nothing, returns happy!
func (*TestRes) GroupCmp ¶
func (obj *TestRes) GroupCmp(r engine.GroupableRes) error
GroupCmp returns whether two resources can be grouped together or not.
func (*TestRes) Sends ¶
func (obj *TestRes) Sends() interface{}
Sends represents the default struct of values we can send using Send/Recv.
func (*TestRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*TestRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type TestSends ¶
type TestSends struct { // Hello is some value being sent. Hello *string Answer int // some other value being sent }
TestSends is the struct of data which is sent after a successful Apply.
type TimerRes ¶
type TimerRes struct { traits.Base // add the base methods without re-implementation traits.Refreshable Interval uint32 `yaml:"interval"` // interval between runs in seconds // contains filtered or unexported fields }
TimerRes is a timer resource for time based events. It outputs an event every interval seconds.
func (*TimerRes) CheckApply ¶
CheckApply method for Timer resource. Triggers a timer reset on notify.
func (*TimerRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*TimerRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type UserRes ¶
type UserRes struct { traits.Base // add the base methods without re-implementation traits.Edgeable State string `yaml:"state"` // state: exists, absent UID *uint32 `yaml:"uid"` // uid must be unique unless AllowDuplicateUID is true GID *uint32 `yaml:"gid"` // gid of the user's primary group Group *string `yaml:"group"` // name of the user's primary group Groups []string `yaml:"groups"` // list of supplemental groups HomeDir *string `yaml:"homedir"` // path to the user's home directory AllowDuplicateUID bool `yaml:"allowduplicateuid"` // allow duplicate uid // contains filtered or unexported fields }
UserRes is a user account resource.
func (*UserRes) AutoEdges ¶
AutoEdges returns edges from the user resource to each group found in its definition. The groups can be in any of the three applicable fields (GID, Group and Groups.) If the user exists, reversed ensures the edge goes from group to user, and if the user is absent the edge goes from user to group. This ensures that we don't add users to groups that don't exist or delete groups before we delete their members.
func (*UserRes) CheckApply ¶
CheckApply method for User resource.
func (*UserRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*UserRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
type UserResAutoEdges ¶
UserResAutoEdges holds the state of the auto edge generator.
func (*UserResAutoEdges) Next ¶
func (obj *UserResAutoEdges) Next() []engine.ResUID
Next returns the next automatic edge.
func (*UserResAutoEdges) Test ¶
func (obj *UserResAutoEdges) Test(input []bool) bool
Test gets results of the earlier Next() call, & returns if we should continue.
type VirtRes ¶
type VirtRes struct { traits.Base // add the base methods without re-implementation traits.Refreshable URI string `yaml:"uri"` // connection uri, eg: qemu:///session State string `yaml:"state"` // running, paused, shutoff Transient bool `yaml:"transient"` // defined (false) or undefined (true) CPUs uint `yaml:"cpus"` MaxCPUs uint `yaml:"maxcpus"` Memory uint64 `yaml:"memory"` // in KBytes OSInit string `yaml:"osinit"` // init used by lxc Boot []string `yaml:"boot"` // boot order. values: fd, hd, cdrom, network Disk []diskDevice `yaml:"disk"` CDRom []cdRomDevice `yaml:"cdrom"` Network []networkDevice `yaml:"network"` Filesystem []filesystemDevice `yaml:"filesystem"` Auth *VirtAuth `yaml:"auth"` HotCPUs bool `yaml:"hotcpus"` // allow hotplug of cpus? // FIXME: values here should be enum's! RestartOnDiverge string `yaml:"restartondiverge"` // restart policy: "ignore", "ifneeded", "error" RestartOnRefresh bool `yaml:"restartonrefresh"` // restart on refresh? // contains filtered or unexported fields }
VirtRes is a libvirt resource. A transient virt resource, which has its state set to `shutoff` is one which does not exist. The parallel equivalent is a file resource which removes a particular path.
func (*VirtRes) CheckApply ¶
CheckApply checks the resource state and applies the resource if the bool input is true. It returns error info and if the state check passed or not.
func (*VirtRes) UIDs ¶
UIDs includes all params to make a unique identification of this object. Most resources only return one, although some resources can return multiple.
func (*VirtRes) UnmarshalYAML ¶
UnmarshalYAML is the custom unmarshal handler for this struct. It is primarily useful for setting the defaults.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package packagekit provides an interface to interact with packagekit.
|
Package packagekit provides an interface to interact with packagekit. |