/* Copyright © 2026 Thomas von Dein This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package es import ( "context" "fmt" "log/slog" "codeberg.org/scip/esctl/pkg/cfg" "codeberg.org/scip/esctl/pkg/printer" ) func LicenseShow(conf *cfg.Config) error { res, err := conf.DefaultCluster.ES().License.Get(). Do(context.Background()) if err != nil { return fmt.Errorf("failed to get license: %s", esErrorString(err)) } slog.Debug("license show", "license", res) table := printer.NewTableEmpty(conf).WithHeaders("license setting", "value") lic := res.License var maxnodes = "infinite" if lic.MaxNodes != nil { maxnodes = fmt.Sprintf("%d", *lic.MaxNodes) } table.Entries = [][]string{ {"UID", lic.Uid}, {"Issued to", lic.IssuedTo}, {"Expires", lic.ExpiryDate.(string)}, {"Issued", lic.IssueDate.(string)}, {"Max nodes", maxnodes}, {"Max resource units", fmt.Sprintf("%d", *lic.MaxResourceUnits)}, {"Type", lic.Type.Name}, {"Status", lic.Status.Name}, } return table.Print() }