base

package
v1.43.1 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cmd

type Cmd struct {
	BaseCobraCommand func(hcapi2.Client) *cobra.Command
	Run              func(state.State, *cobra.Command, []string) error
}

Cmd allows defining commands for generic resource-based commands

func (*Cmd) CobraCommand

func (gc *Cmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

type CreateCmd added in v1.40.0

type CreateCmd struct {
	BaseCobraCommand func(hcapi2.Client) *cobra.Command
	// Run is the function that will be called when the command is executed.
	// It should return the created resource, the schema of the resource and an error.
	Run           func(state.State, *cobra.Command, []string) (any, any, error)
	PrintResource func(state.State, *cobra.Command, any)
}

CreateCmd allows defining commands for resource creation

func (*CreateCmd) CobraCommand added in v1.40.0

func (cc *CreateCmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

type DeleteCmd added in v1.25.0

type DeleteCmd struct {
	ResourceNameSingular string // e.g. "server"
	ShortDescription     string
	NameSuggestions      func(client hcapi2.Client) func() []string
	AdditionalFlags      func(*cobra.Command)
	Fetch                func(s state.State, cmd *cobra.Command, idOrName string) (interface{}, *hcloud.Response, error)
	Delete               func(s state.State, cmd *cobra.Command, resource interface{}) error
}

DeleteCmd allows defining commands for deleting a resource.

func (*DeleteCmd) CobraCommand added in v1.25.0

func (dc *DeleteCmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

func (*DeleteCmd) Run added in v1.25.0

func (dc *DeleteCmd) Run(s state.State, cmd *cobra.Command, args []string) error

Run executes a describe command.

type DescribeCmd

type DescribeCmd struct {
	ResourceNameSingular string // e.g. "server"
	ShortDescription     string
	// key in API response JSON to use for extracting object from response body for JSON output.
	JSONKeyGetByID   string // e.g. "server"
	JSONKeyGetByName string // e.g. "servers"
	NameSuggestions  func(client hcapi2.Client) func() []string
	AdditionalFlags  func(*cobra.Command)
	// Fetch is called to fetch the resource to describe.
	// The first returned interface is the resource itself as a hcloud struct, the second is the schema for the resource.
	Fetch     func(s state.State, cmd *cobra.Command, idOrName string) (interface{}, interface{}, error)
	PrintText func(s state.State, cmd *cobra.Command, resource interface{}) error
}

DescribeCmd allows defining commands for describing a resource.

func (*DescribeCmd) CobraCommand

func (dc *DescribeCmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

func (*DescribeCmd) Run

func (dc *DescribeCmd) Run(s state.State, cmd *cobra.Command, args []string) error

Run executes a describe command.

type LabelCmds

type LabelCmds struct {
	ResourceNameSingular   string
	ShortDescriptionAdd    string
	ShortDescriptionRemove string
	NameSuggestions        func(client hcapi2.Client) func() []string
	LabelKeySuggestions    func(client hcapi2.Client) func(idOrName string) []string
	FetchLabels            func(s state.State, idOrName string) (map[string]string, int64, error)
	SetLabels              func(s state.State, id int64, labels map[string]string) error
}

LabelCmds allows defining commands for adding labels to resources.

func (*LabelCmds) AddCobraCommand

func (lc *LabelCmds) AddCobraCommand(s state.State) *cobra.Command

AddCobraCommand creates a command that can be registered with cobra.

func (*LabelCmds) RemoveCobraCommand

func (lc *LabelCmds) RemoveCobraCommand(s state.State) *cobra.Command

RemoveCobraCommand creates a command that can be registered with cobra.

func (*LabelCmds) RunAdd

func (lc *LabelCmds) RunAdd(s state.State, cmd *cobra.Command, args []string) error

RunAdd executes an add label command

func (*LabelCmds) RunRemove

func (lc *LabelCmds) RunRemove(s state.State, cmd *cobra.Command, args []string) error

RunRemove executes a remove label command

type ListCmd

type ListCmd struct {
	ResourceNamePlural string // e.g. "servers"
	JSONKeyGetByName   string // e.g. "servers"
	DefaultColumns     []string
	Fetch              func(state.State, *pflag.FlagSet, hcloud.ListOpts, []string) ([]interface{}, error)
	AdditionalFlags    func(*cobra.Command)
	OutputTable        func(client hcapi2.Client) *output.Table
	Schema             func([]interface{}) interface{}
}

ListCmd allows defining commands for listing resources

func (*ListCmd) CobraCommand

func (lc *ListCmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

func (*ListCmd) Run

func (lc *ListCmd) Run(s state.State, cmd *cobra.Command) error

Run executes a list command

type SetRdnsCmd added in v1.28.1

type SetRdnsCmd struct {
	ResourceNameSingular string // e.g. "server"
	ShortDescription     string
	NameSuggestions      func(client hcapi2.Client) func() []string
	AdditionalFlags      func(*cobra.Command)
	Fetch                func(s state.State, cmd *cobra.Command, idOrName string) (interface{}, *hcloud.Response, error)
	GetDefaultIP         func(resource interface{}) net.IP
}

SetRdnsCmd allows defining commands for setting the RDNS of a resource.

func (*SetRdnsCmd) CobraCommand added in v1.28.1

func (rc *SetRdnsCmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

func (*SetRdnsCmd) Run added in v1.28.1

func (rc *SetRdnsCmd) Run(s state.State, cmd *cobra.Command, args []string) error

Run executes a setRDNS command.

type UpdateCmd added in v1.25.0

type UpdateCmd struct {
	ResourceNameSingular string // e.g. "server"
	ShortDescription     string
	NameSuggestions      func(client hcapi2.Client) func() []string
	DefineFlags          func(*cobra.Command)
	Fetch                func(s state.State, cmd *cobra.Command, idOrName string) (interface{}, *hcloud.Response, error)
	Update               func(s state.State, cmd *cobra.Command, resource interface{}, flags map[string]pflag.Value) error
}

UpdateCmd allows defining commands for updating a resource.

func (*UpdateCmd) CobraCommand added in v1.25.0

func (uc *UpdateCmd) CobraCommand(s state.State) *cobra.Command

CobraCommand creates a command that can be registered with cobra.

func (*UpdateCmd) Run added in v1.25.0

func (uc *UpdateCmd) Run(s state.State, cmd *cobra.Command, args []string) error

Run executes a update command.

Jump to

Keyboard shortcuts

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