Documentation
¶
Index ¶
- type Cmd
- type CreateCmd
- type DeleteCmd
- type DescribeCmd
- type LabelCmds
- func (lc *LabelCmds) AddCobraCommand(s state.State) *cobra.Command
- func (lc *LabelCmds) RemoveCobraCommand(s state.State) *cobra.Command
- func (lc *LabelCmds) RunAdd(s state.State, cmd *cobra.Command, args []string) error
- func (lc *LabelCmds) RunRemove(s state.State, cmd *cobra.Command, args []string) error
- type ListCmd
- type SetRdnsCmd
- type UpdateCmd
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
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
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
CobraCommand creates a command that can be registered with cobra.
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.
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 ¶
AddCobraCommand creates a command that can be registered with cobra.
func (*LabelCmds) RemoveCobraCommand ¶
RemoveCobraCommand creates a command that can be registered with cobra.
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 ¶
CobraCommand creates a command that can be registered with cobra.
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.
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
CobraCommand creates a command that can be registered with cobra.