Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incus/config_template: Add file support config template create #783

Merged
merged 2 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion cmd/incus/config_template.go
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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 {
Expand All @@ -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.
Expand Down
42 changes: 25 additions & 17 deletions po/de.po
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LXD\n"
"Report-Msgid-Bugs-To: [email protected]\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 <[email protected]."
"org>\n"
Expand Down Expand Up @@ -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!"
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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!"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -2827,7 +2827,7 @@ msgstr ""
msgid "FAILURE DOMAIN"
msgstr ""

#: cmd/incus/config_template.go:322
#: cmd/incus/config_template.go:339
msgid "FILENAME"
msgstr ""

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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!"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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!"
Expand Down Expand Up @@ -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 "[<remote>:]<instance>"
Expand Down Expand Up @@ -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 "[<remote>:]<instance> <template>"
msgstr ""
Expand Down Expand Up @@ -9612,6 +9612,14 @@ msgid ""
" Will have the server listen on IPv4 and IPv6 port 8443."
msgstr ""

#: cmd/incus/config_template.go:68
msgid ""
"incus config template create u1 t1\n"
"\n"
"incus config template create u1 t1 < config.tpl\n"
" Create template t1 for instance u1 from config.tpl"
msgstr ""

#: cmd/incus/create.go:43
msgid ""
"incus create images:ubuntu/22.04 u1\n"
Expand Down
42 changes: 25 additions & 17 deletions po/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: lxd\n"
"Report-Msgid-Bugs-To: [email protected]\n"
"POT-Creation-Date: 2024-04-24 13:37+0200\n"
"POT-Creation-Date: 2024-04-24 15:45+0200\n"
"PO-Revision-Date: 2023-06-16 20:55+0000\n"
"Last-Translator: Francisco Serrador <[email protected]>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/linux-containers/"
Expand Down Expand Up @@ -1945,7 +1945,7 @@ msgstr "Eliminar alias de imagen"
msgid "Delete images"
msgstr "Eliminar imágenes"

#: cmd/incus/config_template.go:116 cmd/incus/config_template.go:117
#: cmd/incus/config_template.go:133 cmd/incus/config_template.go:134
msgid "Delete instance file templates"
msgstr ""

Expand Down Expand Up @@ -2059,8 +2059,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
Expand Down Expand Up @@ -2403,7 +2403,7 @@ msgstr ""
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
msgid "Edit instance file templates"
msgstr ""

Expand Down Expand Up @@ -2572,7 +2572,7 @@ msgstr "Error actualizando el archivo de plantilla: %s"
msgid "Error unsetting property: %v"
msgstr ""

#: cmd/incus/config_template.go:236
#: cmd/incus/config_template.go:253
#, c-format
msgid "Error updating template file: %s"
msgstr "Error actualizando el archivo de plantilla: %s"
Expand Down Expand Up @@ -2725,7 +2725,7 @@ msgstr "Exportando la imagen: %s"
msgid "FAILURE DOMAIN"
msgstr ""

#: cmd/incus/config_template.go:322
#: cmd/incus/config_template.go:339
msgid "FILENAME"
msgstr ""

Expand Down Expand Up @@ -3152,7 +3152,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
Expand Down Expand Up @@ -4007,7 +4007,7 @@ msgstr ""
msgid "List instance devices"
msgstr ""

#: cmd/incus/config_template.go:270 cmd/incus/config_template.go:271
#: cmd/incus/config_template.go:287 cmd/incus/config_template.go:288
msgid "List instance file templates"
msgstr ""

Expand Down Expand Up @@ -4661,9 +4661,9 @@ msgid "Missing cluster member name"
msgstr "Nombre del Miembro del Cluster"

#: 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"
Expand Down Expand Up @@ -5454,7 +5454,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
Expand Down Expand Up @@ -6589,7 +6589,7 @@ msgstr ""
msgid "Show cluster group configurations"
msgstr "Perfil %s creado"

#: cmd/incus/config_template.go:338 cmd/incus/config_template.go:339
#: cmd/incus/config_template.go:355 cmd/incus/config_template.go:356
msgid "Show content of instance file templates"
msgstr ""

Expand Down Expand Up @@ -8158,7 +8158,7 @@ msgstr "No se puede proveer el nombre del container a la lista"

#: 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 "[<remote>:]<instance>"
Expand Down Expand Up @@ -8219,8 +8219,8 @@ msgstr "No se puede proveer el nombre del container a la lista"
msgid "[<remote>:]<instance> <snapshot>"
msgstr "No se puede proveer el nombre del container a la lista"

#: 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 "[<remote>:]<instance> <template>"
msgstr "No se puede proveer el nombre del container a la lista"
Expand Down Expand Up @@ -8856,6 +8856,14 @@ msgid ""
" Will have the server listen on IPv4 and IPv6 port 8443."
msgstr ""

#: cmd/incus/config_template.go:68
msgid ""
"incus config template create u1 t1\n"
"\n"
"incus config template create u1 t1 < config.tpl\n"
" Create template t1 for instance u1 from config.tpl"
msgstr ""

#: cmd/incus/create.go:43
msgid ""
"incus create images:ubuntu/22.04 u1\n"
Expand Down
Loading
Loading