From 7ef63aecea27363f1f55f0f4a29f9094427a4248 Mon Sep 17 00:00:00 2001 From: Vishesh Agrawal Date: Tue, 23 Apr 2024 13:14:47 +0200 Subject: [PATCH 1/2] incus/config_template: Add file support for create Part of lxc#741 Signed-off-by: Vishesh Agrawal --- cmd/incus/config_template.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cmd/incus/config_template.go b/cmd/incus/config_template.go index 5d2fa18f3ef..2552311ec75 100644 --- a/cmd/incus/config_template.go +++ b/cmd/incus/config_template.go @@ -65,6 +65,10 @@ func (c *cmdConfigTemplateCreate) Command() *cobra.Command { cmd.Short = i18n.G("Create new instance file templates") cmd.Long = cli.FormatSection(i18n.G("Description"), i18n.G( `Create new instance file templates`)) + cmd.Example = cli.FormatSection("", i18n.G(`incus config template create u1 t1 + +incus config template create u1 t1 < config.tpl + Create template t1 for instance u1 from config.tpl`)) cmd.RunE = c.Run @@ -80,12 +84,25 @@ func (c *cmdConfigTemplateCreate) Command() *cobra.Command { } func (c *cmdConfigTemplateCreate) Run(cmd *cobra.Command, args []string) error { + var stdinData io.ReadSeeker + // Quick checks. exit, err := c.global.CheckArgs(cmd, args, 2, 2) if exit { return err } + // If stdin isn't a terminal, read text from it + if !termios.IsTerminal(getStdinFd()) { + contents, err := io.ReadAll(os.Stdin) + if err != nil { + return err + } + + // Reset the seek position + stdinData = bytes.NewReader(contents) + } + // Parse remote resources, err := c.global.ParseServers(args[0]) if err != nil { @@ -99,7 +116,7 @@ func (c *cmdConfigTemplateCreate) Run(cmd *cobra.Command, args []string) error { } // Create instance file template - return resource.server.CreateInstanceTemplateFile(resource.name, args[1], nil) + return resource.server.CreateInstanceTemplateFile(resource.name, args[1], stdinData) } // Delete. From 101ec89c0c19c8232b9d3249d2446c69209889a2 Mon Sep 17 00:00:00 2001 From: Vishesh Agrawal Date: Wed, 24 Apr 2024 15:45:24 +0200 Subject: [PATCH 2/2] i18n: Update translation templates Signed-off-by: Vishesh Agrawal --- po/de.po | 42 +++++++++++++++++++++++++----------------- po/es.po | 42 +++++++++++++++++++++++++----------------- po/fr.po | 42 +++++++++++++++++++++++++----------------- po/incus.pot | 33 ++++++++++++++++++++------------- po/it.po | 42 +++++++++++++++++++++++++----------------- po/ja.po | 47 ++++++++++++++++++++++++++++++----------------- po/nl.po | 42 +++++++++++++++++++++++++----------------- po/pt.po | 42 +++++++++++++++++++++++++----------------- po/pt_BR.po | 42 +++++++++++++++++++++++++----------------- po/ru.po | 42 +++++++++++++++++++++++++----------------- po/zh_Hans.po | 42 +++++++++++++++++++++++++----------------- 11 files changed, 275 insertions(+), 183 deletions(-) diff --git a/po/de.po b/po/de.po index 0d195b3dce4..de8444a5c3e 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: LXD\n" "Report-Msgid-Bugs-To: lxc-devel@lists.linuxcontainers.org\n" -"POT-Creation-Date: 2024-04-24 13:37+0200\n" +"POT-Creation-Date: 2024-04-24 15:45+0200\n" "PO-Revision-Date: 2024-01-25 23:01+0000\n" "Last-Translator: Dklfajsjfi49wefklsf32 \n" @@ -2011,7 +2011,7 @@ msgstr "" msgid "Delete images" msgstr "" -#: cmd/incus/config_template.go:116 cmd/incus/config_template.go:117 +#: cmd/incus/config_template.go:133 cmd/incus/config_template.go:134 #, fuzzy msgid "Delete instance file templates" msgstr "Anhalten des Containers fehlgeschlagen!" @@ -2129,8 +2129,8 @@ msgstr "" #: cmd/incus/config_device.go:843 cmd/incus/config_metadata.go:26 #: cmd/incus/config_metadata.go:54 cmd/incus/config_metadata.go:187 #: cmd/incus/config_template.go:26 cmd/incus/config_template.go:66 -#: cmd/incus/config_template.go:117 cmd/incus/config_template.go:171 -#: cmd/incus/config_template.go:271 cmd/incus/config_template.go:339 +#: cmd/incus/config_template.go:134 cmd/incus/config_template.go:188 +#: cmd/incus/config_template.go:288 cmd/incus/config_template.go:356 #: cmd/incus/config_trust.go:36 cmd/incus/config_trust.go:91 #: cmd/incus/config_trust.go:171 cmd/incus/config_trust.go:275 #: cmd/incus/config_trust.go:400 cmd/incus/config_trust.go:584 @@ -2489,7 +2489,7 @@ msgstr "kann nicht zum selben Container Namen kopieren" msgid "Edit image properties" msgstr "" -#: cmd/incus/config_template.go:170 cmd/incus/config_template.go:171 +#: cmd/incus/config_template.go:187 cmd/incus/config_template.go:188 #, fuzzy msgid "Edit instance file templates" msgstr "Anhalten des Containers fehlgeschlagen!" @@ -2665,7 +2665,7 @@ msgstr "Fehler beim hinzufügen des Alias %s\n" msgid "Error unsetting property: %v" msgstr "" -#: cmd/incus/config_template.go:236 +#: cmd/incus/config_template.go:253 #, fuzzy, c-format msgid "Error updating template file: %s" msgstr "Fehler beim hinzufügen des Alias %s\n" @@ -2827,7 +2827,7 @@ msgstr "" msgid "FAILURE DOMAIN" msgstr "" -#: cmd/incus/config_template.go:322 +#: cmd/incus/config_template.go:339 msgid "FILENAME" msgstr "" @@ -3257,7 +3257,7 @@ msgid "" msgstr "" #: cmd/incus/alias.go:113 cmd/incus/cluster.go:125 cmd/incus/cluster.go:964 -#: cmd/incus/cluster_group.go:441 cmd/incus/config_template.go:273 +#: cmd/incus/cluster_group.go:441 cmd/incus/config_template.go:290 #: cmd/incus/config_trust.go:422 cmd/incus/config_trust.go:586 #: cmd/incus/image.go:1100 cmd/incus/image_alias.go:157 cmd/incus/list.go:133 #: cmd/incus/network.go:1015 cmd/incus/network.go:1114 @@ -4128,7 +4128,7 @@ msgstr "" msgid "List instance devices" msgstr "kann nicht zum selben Container Namen kopieren" -#: cmd/incus/config_template.go:270 cmd/incus/config_template.go:271 +#: cmd/incus/config_template.go:287 cmd/incus/config_template.go:288 #, fuzzy msgid "List instance file templates" msgstr "Anhalten des Containers fehlgeschlagen!" @@ -4825,9 +4825,9 @@ msgid "Missing cluster member name" msgstr "der Name des Ursprung Containers muss angegeben werden" #: cmd/incus/config_metadata.go:110 cmd/incus/config_metadata.go:219 -#: cmd/incus/config_template.go:98 cmd/incus/config_template.go:153 -#: cmd/incus/config_template.go:207 cmd/incus/config_template.go:304 -#: cmd/incus/config_template.go:375 cmd/incus/profile.go:140 +#: cmd/incus/config_template.go:115 cmd/incus/config_template.go:170 +#: cmd/incus/config_template.go:224 cmd/incus/config_template.go:321 +#: cmd/incus/config_template.go:392 cmd/incus/profile.go:140 #: cmd/incus/profile.go:221 cmd/incus/profile.go:807 cmd/incus/rebuild.go:59 #, fuzzy msgid "Missing instance name" @@ -5637,7 +5637,7 @@ msgstr "" #: cmd/incus/cluster.go:860 cmd/incus/cluster_group.go:397 #: cmd/incus/config.go:277 cmd/incus/config.go:352 -#: cmd/incus/config_metadata.go:155 cmd/incus/config_template.go:237 +#: cmd/incus/config_metadata.go:155 cmd/incus/config_template.go:254 #: cmd/incus/config_trust.go:354 cmd/incus/image.go:484 #: cmd/incus/network.go:763 cmd/incus/network_acl.go:697 #: cmd/incus/network_forward.go:717 cmd/incus/network_integration.go:289 @@ -6810,7 +6810,7 @@ msgstr "" msgid "Show cluster group configurations" msgstr "Profil %s erstellt\n" -#: cmd/incus/config_template.go:338 cmd/incus/config_template.go:339 +#: cmd/incus/config_template.go:355 cmd/incus/config_template.go:356 #, fuzzy msgid "Show content of instance file templates" msgstr "Anhalten des Containers fehlgeschlagen!" @@ -8540,7 +8540,7 @@ msgstr "" #: cmd/incus/config_device.go:320 cmd/incus/config_device.go:752 #: cmd/incus/config_metadata.go:52 cmd/incus/config_metadata.go:185 -#: cmd/incus/config_template.go:269 cmd/incus/console.go:35 +#: cmd/incus/config_template.go:286 cmd/incus/console.go:35 #: cmd/incus/snapshot.go:286 #, fuzzy msgid "[:]" @@ -8643,8 +8643,8 @@ msgstr "" "Entfernt einen Container (oder Sicherungspunkt) und alle dazugehörigen\n" "Daten (Konfiguration, Sicherungspunkte, ...).\n" -#: cmd/incus/config_template.go:64 cmd/incus/config_template.go:114 -#: cmd/incus/config_template.go:169 cmd/incus/config_template.go:337 +#: cmd/incus/config_template.go:64 cmd/incus/config_template.go:131 +#: cmd/incus/config_template.go:186 cmd/incus/config_template.go:354 #, fuzzy msgid "[:]