Documentation
¶
Index ¶
- type Cmd
- type CreateCmd
- type DeleteCmd
- type DescribeCmd
- type LabelCmds
- func (lc *LabelCmds[T]) AddCobraCommand(s state.State) *cobra.Command
- func (lc *LabelCmds[T]) RemoveCobraCommand(s state.State) *cobra.Command
- func (lc *LabelCmds[T]) RunAdd(s state.State, cmd *cobra.Command, args []string) error
- func (lc *LabelCmds[T]) 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"
ResourceNamePlural string // e.g. "Servers"
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{}) (*hcloud.Action, 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[T any] struct { ResourceNameSingular string // e.g. "Server" ShortDescription string 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) (T, any, error) PrintText func(s state.State, cmd *cobra.Command, resource T) error }
DescribeCmd allows defining commands for describing a resource.
func (*DescribeCmd[T]) CobraCommand ¶
func (dc *DescribeCmd[T]) CobraCommand(s state.State) *cobra.Command
CobraCommand creates a command that can be registered with cobra.
type LabelCmds ¶
type LabelCmds[T any] struct { ResourceNameSingular string ShortDescriptionAdd string ShortDescriptionRemove string NameSuggestions func(client hcapi2.Client) func() []string LabelKeySuggestions func(client hcapi2.Client) func(idOrName string) []string Fetch func(s state.State, idOrName string) (T, error) SetLabels func(s state.State, resource T, labels map[string]string) error GetLabels func(resource T) map[string]string GetIDOrName func(resource T) string }
LabelCmds allows defining commands for adding labels to resources.
func (*LabelCmds[T]) AddCobraCommand ¶
AddCobraCommand creates a command that can be registered with cobra.
func (*LabelCmds[T]) RemoveCobraCommand ¶
RemoveCobraCommand creates a command that can be registered with cobra.
type ListCmd ¶
type ListCmd struct {
SortOption *config.Option[[]string]
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(t *output.Table, client hcapi2.Client)
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
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.