Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DescribeCmd = base.DescribeCmd[*hcloud.ISO]{ ResourceNameSingular: "ISO", ShortDescription: "Describe an ISO", NameSuggestions: func(c hcapi2.Client) func() []string { return c.ISO().Names }, Fetch: func(s state.State, _ *cobra.Command, idOrName string) (*hcloud.ISO, any, error) { iso, _, err := s.Client().ISO().Get(s, idOrName) if err != nil { return nil, nil, err } return iso, hcloud.SchemaFromISO(iso), nil }, PrintText: func(_ state.State, cmd *cobra.Command, iso *hcloud.ISO) error { cmd.Printf("ID:\t\t%d\n", iso.ID) cmd.Printf("Name:\t\t%s\n", iso.Name) cmd.Printf("Description:\t%s\n", iso.Description) cmd.Printf("Type:\t\t%s\n", iso.Type) cmd.Print(util.DescribeDeprecation(iso)) architecture := "-" if iso.Architecture != nil { architecture = string(*iso.Architecture) } cmd.Printf("Architecture:\t%s\n", architecture) return nil }, }
DescribeCmd defines a command for describing a iso.
View Source
var ListCmd = &base.ListCmd[*hcloud.ISO, schema.ISO]{ ResourceNamePlural: "ISOs", JSONKeyGetByName: "isos", DefaultColumns: []string{"id", "name", "description", "type", "architecture"}, SortOption: nil, AdditionalFlags: func(cmd *cobra.Command) { cmd.Flags().StringSlice("architecture", []string{}, "Only show Images of given architecture: x86|arm") _ = cmd.RegisterFlagCompletionFunc("architecture", cmpl.SuggestCandidates(string(hcloud.ArchitectureX86), string(hcloud.ArchitectureARM))) cmd.Flags().Bool("include-architecture-wildcard", false, "Include ISOs with unknown architecture, only required if you want so show custom ISOs and still filter for architecture. (true, false)") cmd.Flags().StringSlice("type", []string{"public", "private"}, "Types to include (public, private)") _ = cmd.RegisterFlagCompletionFunc("type", cmpl.SuggestCandidates("public", "private")) }, Fetch: func(s state.State, flags *pflag.FlagSet, listOpts hcloud.ListOpts, sorts []string) ([]*hcloud.ISO, error) { opts := hcloud.ISOListOpts{ListOpts: listOpts} types, _ := flags.GetStringSlice("type") var unknown []string for _, t := range types { switch t { case string(hcloud.ISOTypePublic), string(hcloud.ISOTypePrivate): default: unknown = append(unknown, t) } } if len(unknown) > 0 { return nil, fmt.Errorf("unknown ISO types %s", strings.Join(unknown, ", ")) } architecture, _ := flags.GetStringSlice("architecture") if len(architecture) > 0 { for _, arch := range architecture { opts.Architecture = append(opts.Architecture, hcloud.Architecture(arch)) } } includeArchitectureWildcard, _ := flags.GetBool("include-architecture-wildcard") if includeArchitectureWildcard { opts.IncludeWildcardArchitecture = includeArchitectureWildcard } if len(sorts) > 0 { opts.Sort = sorts } return s.Client().ISO().AllWithOpts(s, opts) }, OutputTable: func(t *output.Table, _ hcapi2.Client) { t. AddAllowedFields(hcloud.ISO{}). AddFieldFn("architecture", func(obj interface{}) string { iso := obj.(*hcloud.ISO) if iso.Architecture == nil { return "-" } return string(*iso.Architecture) }) }, Schema: hcloud.SchemaFromISO, }
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.