diff --git a/cmd/incus/create.go b/cmd/incus/create.go index f77fd3ee77b..d55415060be 100644 --- a/cmd/incus/create.go +++ b/cmd/incus/create.go @@ -74,11 +74,11 @@ func (c *cmdCreate) Run(cmd *cobra.Command, args []string) error { return nil } - _, _, err = c.create(c.global.conf, args) + _, _, err = c.create(c.global.conf, args, false) return err } -func (c *cmdCreate) create(conf *config.Config, args []string) (incus.InstanceServer, string, error) { +func (c *cmdCreate) create(conf *config.Config, args []string, launch bool) (incus.InstanceServer, string, error) { var name string var image string var remote string @@ -153,10 +153,18 @@ func (c *cmdCreate) create(conf *config.Config, args []string) (incus.InstanceSe } if !c.global.flagQuiet { - if name == "" { - fmt.Printf(i18n.G("Creating the instance") + "\n") + if d.HasExtension("instance_create_start") && launch { + if name == "" { + fmt.Printf(i18n.G("Launching the instance") + "\n") + } else { + fmt.Printf(i18n.G("Launching %s")+"\n", name) + } } else { - fmt.Printf(i18n.G("Creating %s")+"\n", name) + if name == "" { + fmt.Printf(i18n.G("Creating the instance") + "\n") + } else { + fmt.Printf(i18n.G("Creating %s")+"\n", name) + } } } @@ -246,6 +254,7 @@ func (c *cmdCreate) create(conf *config.Config, args []string) (incus.InstanceSe Name: name, InstanceType: c.flagType, Type: instanceDBType, + Start: launch, } req.Config = configMap diff --git a/cmd/incus/launch.go b/cmd/incus/launch.go index b7dbf90c11c..a77d1e01050 100644 --- a/cmd/incus/launch.go +++ b/cmd/incus/launch.go @@ -54,11 +54,16 @@ func (c *cmdLaunch) Run(cmd *cobra.Command, args []string) error { } // Call the matching code from init - d, name, err := c.init.create(conf, args) + d, name, err := c.init.create(conf, args, true) if err != nil { return err } + // Check if the instance was started by the server. + if d.HasExtension("instance_create_start") { + return nil + } + // Get the remote var remote string if len(args) == 2 { diff --git a/cmd/incusd/instances_post.go b/cmd/incusd/instances_post.go index b6d8d051379..7e79ded32b7 100644 --- a/cmd/incusd/instances_post.go +++ b/cmd/incusd/instances_post.go @@ -122,7 +122,13 @@ func createFromImage(s *state.State, r *http.Request, p api.Project, profiles [] return err } - return instanceCreateFromImage(s, r, img, args, op) + // Actually create the instance. + err = instanceCreateFromImage(s, r, img, args, op) + if err != nil { + return err + } + + return instanceCreateFinish(s, req, args) } resources := map[string][]api.URL{} @@ -173,8 +179,13 @@ func createFromNone(s *state.State, r *http.Request, projectName string, profile } run := func(op *operations.Operation) error { + // Actually create the instance. _, err := instanceCreateAsEmpty(s, args) - return err + if err != nil { + return err + } + + return instanceCreateFinish(s, req, args) } resources := map[string][]api.URL{} @@ -377,7 +388,8 @@ func createFromMigration(s *state.State, r *http.Request, projectName string, pr instOp.Done(nil) // Complete operation that was created earlier, to release lock. runRevert.Success() - return nil + + return instanceCreateFinish(s, req, args) } resources := map[string][]api.URL{} @@ -535,6 +547,7 @@ func createFromCopy(s *state.State, r *http.Request, projectName string, profile } run := func(op *operations.Operation) error { + // Actually create the instance. _, err := instanceCreateAsCopy(s, instanceCreateAsCopyOpts{ sourceInstance: source, targetInstance: args, @@ -547,7 +560,7 @@ func createFromCopy(s *state.State, r *http.Request, projectName string, profile return err } - return nil + return instanceCreateFinish(s, req, args) } resources := map[string][]api.URL{} @@ -634,8 +647,9 @@ func createFromBackup(s *state.State, r *http.Request, projectName string, data } // Check project permissions. + var req api.InstancesPost err = s.DB.Cluster.Transaction(s.ShutdownCtx, func(ctx context.Context, tx *db.ClusterTx) error { - req := api.InstancesPost{ + req = api.InstancesPost{ InstancePut: bInfo.Config.Container.InstancePut, Name: bInfo.Name, Source: api.InstanceSource{}, // Only relevant for "copy" or "migration", but may not be nil. @@ -759,7 +773,8 @@ func createFromBackup(s *state.State, r *http.Request, projectName string, data } runRevert.Success() - return nil + + return instanceCreateFinish(s, &req, db.InstanceArgs{Name: bInfo.Name, Project: bInfo.Project}) } resources := map[string][]api.URL{} @@ -1315,3 +1330,17 @@ func clusterCopyContainerInternal(s *state.State, r *http.Request, source instan // Run the migration return createFromMigration(s, nil, projectName, profiles, req) } + +func instanceCreateFinish(s *state.State, req *api.InstancesPost, args db.InstanceArgs) error { + if req == nil || !req.Start { + return nil + } + + // Start the instance. + inst, err := instance.LoadByProjectAndName(s, args.Project, args.Name) + if err != nil { + return fmt.Errorf("Failed to load the instance: %w", err) + } + + return inst.Start(false) +} diff --git a/doc/api-extensions.md b/doc/api-extensions.md index 78cbdf90130..68444daa2cf 100644 --- a/doc/api-extensions.md +++ b/doc/api-extensions.md @@ -2311,3 +2311,10 @@ for the attached disk to be connected to the `virtio-blk` bus. Adds a new `loki.instance` server configuration key to customize the `instance` field in Loki events. This can be used to expose the name of the cluster rather than the individual system name sending the event as that's usually already covered by the `location` field. + +## `instance_create_start` + +Adds a new `start` field to the `POST /1.0/instances` API which when set +to `true` will have the instance automatically start upon creation. + +In this scenario, the creation and startup is part of a single background operation. diff --git a/doc/rest-api.yaml b/doc/rest-api.yaml index 792d149401c..e251d8bb9ab 100644 --- a/doc/rest-api.yaml +++ b/doc/rest-api.yaml @@ -2390,6 +2390,11 @@ definitions: x-go-name: Restore source: $ref: '#/definitions/InstanceSource' + start: + description: Whether to start the instance after creation + example: true + type: boolean + x-go-name: Start stateful: description: Whether the instance currently has saved state on disk example: false diff --git a/internal/version/api.go b/internal/version/api.go index b27a595f931..5e143624299 100644 --- a/internal/version/api.go +++ b/internal/version/api.go @@ -390,6 +390,7 @@ var APIExtensions = []string{ "certificate_description", "disk_io_bus_virtio_blk", "loki_config_instance", + "instance_create_start", } // APIExtensionsCount returns the number of available API extensions. diff --git a/po/de.po b/po/de.po index 31c6b0b2652..f8ef5ff9e87 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-01-15 22:31+0100\n" +"POT-Creation-Date: 2024-01-19 22:59-0500\n" "PO-Revision-Date: 2022-03-10 15:06+0000\n" "Last-Translator: Krombel \n" "Language-Team: German \n" "Language-Team: Spanish \n" "Language-Team: French \n" "Language-Team: LANGUAGE \n" @@ -692,7 +692,7 @@ msgstr "" msgid "As neither could be found, the raw SPICE socket can be found at:" msgstr "" -#: cmd/incus/create.go:348 cmd/incus/rebuild.go:131 +#: cmd/incus/create.go:357 cmd/incus/rebuild.go:131 msgid "Asked for a VM but image is of type container" msgstr "" @@ -794,7 +794,7 @@ msgstr "" msgid "Bad key/value pair: %s" msgstr "" -#: cmd/incus/copy.go:138 cmd/incus/create.go:213 cmd/incus/move.go:358 cmd/incus/project.go:129 +#: cmd/incus/copy.go:138 cmd/incus/create.go:221 cmd/incus/move.go:358 cmd/incus/project.go:129 #, c-format msgid "Bad key=value pair: %q" msgstr "" @@ -965,7 +965,7 @@ msgstr "" msgid "Can't use an image with --empty" msgstr "" -#: cmd/incus/create.go:317 +#: cmd/incus/create.go:326 #, c-format msgid "Cannot override config for device %q: Device not found in profile devices" msgstr "" @@ -1416,12 +1416,12 @@ msgstr "" msgid "Created: %s" msgstr "" -#: cmd/incus/create.go:159 +#: cmd/incus/create.go:166 #, c-format msgid "Creating %s" msgstr "" -#: cmd/incus/create.go:157 +#: cmd/incus/create.go:164 msgid "Creating the instance" msgstr "" @@ -1634,7 +1634,7 @@ msgstr "" msgid "Device: %s" msgstr "" -#: cmd/incus/create.go:408 +#: cmd/incus/create.go:417 msgid "Didn't get any affected image, instance or snapshot from server" msgstr "" @@ -2116,17 +2116,17 @@ msgstr "" msgid "Failed import request: %w" msgstr "" -#: cmd/incus/create.go:172 +#: cmd/incus/create.go:180 #, c-format msgid "Failed loading network %q: %w" msgstr "" -#: cmd/incus/create.go:296 +#: cmd/incus/create.go:305 #, c-format msgid "Failed loading profile %q for device override: %w" msgstr "" -#: cmd/incus/create.go:223 +#: cmd/incus/create.go:231 #, c-format msgid "Failed loading storage pool %q: %w" msgstr "" @@ -2842,7 +2842,7 @@ msgstr "" msgid "Instance name is mandatory" msgstr "" -#: cmd/incus/create.go:419 +#: cmd/incus/create.go:428 #, c-format msgid "Instance name is: %s" msgstr "" @@ -3041,6 +3041,15 @@ msgstr "" msgid "Last used: never" msgstr "" +#: cmd/incus/create.go:160 +#, c-format +msgid "Launching %s" +msgstr "" + +#: cmd/incus/create.go:158 +msgid "Launching the instance" +msgstr "" + #: cmd/incus/info.go:221 #, c-format msgid "Link detected: %v" @@ -4950,7 +4959,7 @@ msgstr "" msgid "Retrieve the instance's console log" msgstr "" -#: cmd/incus/create.go:362 +#: cmd/incus/create.go:371 #, c-format msgid "Retrieving image: %s" msgstr "" @@ -5568,7 +5577,7 @@ msgstr "" msgid "Start instances" msgstr "" -#: cmd/incus/launch.go:78 +#: cmd/incus/launch.go:83 #, c-format msgid "Starting %s" msgstr "" @@ -5850,7 +5859,7 @@ msgstr "" msgid "The instance is currently running. Use --force to have it stopped and restarted" msgstr "" -#: cmd/incus/create.go:440 +#: cmd/incus/create.go:449 msgid "The instance you are starting doesn't have any network attached to it." msgstr "" @@ -6041,11 +6050,11 @@ msgstr "" msgid "Timestamps:" msgstr "" -#: cmd/incus/create.go:442 +#: cmd/incus/create.go:451 msgid "To attach a network to an instance, use: incus network attach" msgstr "" -#: cmd/incus/create.go:441 +#: cmd/incus/create.go:450 msgid "To create a new network, use: incus network create" msgstr "" @@ -6120,7 +6129,7 @@ msgstr "" msgid "Trust token for %s: " msgstr "" -#: cmd/incus/action.go:311 cmd/incus/launch.go:110 +#: cmd/incus/action.go:311 cmd/incus/launch.go:115 #, c-format msgid "Try `incus info --show-log %s` for more info" msgstr "" diff --git a/po/it.po b/po/it.po index f890e1d7509..5f16c345fe0 100644 --- a/po/it.po +++ b/po/it.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-01-15 22:31+0100\n" +"POT-Creation-Date: 2024-01-19 22:59-0500\n" "PO-Revision-Date: 2022-03-10 15:07+0000\n" "Last-Translator: Luigi Operoso \n" "Language-Team: Italian \n" "Language-Team: Japanese \n" @@ -564,7 +564,8 @@ msgstr "%q は IP アドレスではありません" #: cmd/incus/admin_recover.go:209 #, c-format msgid "%s %q on pool %q in project %q (includes %d snapshots)" -msgstr "%s %q(プール %q 上, プロジェクト %q 内, スナップショット %d 個を含む)" +msgstr "" +"%s %q(プール %q 上, プロジェクト %q 内, スナップショット %d 個を含む)" #: cmd/incus/image.go:1091 #, c-format @@ -816,8 +817,8 @@ msgstr "" "リモートのリソースに対する URL は HTTPS (https://) でなければなりません。\n" "\n" "Basic 認証は \"simplestreams\" プロトコルと組み合わせて使えます:\n" -" incus remote add some-name https://LOGIN:PASSWORD@example.com/some/path " -"--protocol=simplestreams\n" +" incus remote add some-name https://LOGIN:PASSWORD@example.com/some/path --" +"protocol=simplestreams\n" #: cmd/incus/config_trust.go:89 msgid "Add new trusted client" @@ -971,7 +972,7 @@ msgstr "" msgid "As neither could be found, the raw SPICE socket can be found at:" msgstr "どちらもみつかりませんでした。raw SPICE ソケットはこちらにあります:" -#: cmd/incus/create.go:348 cmd/incus/rebuild.go:131 +#: cmd/incus/create.go:357 cmd/incus/rebuild.go:131 msgid "Asked for a VM but image is of type container" msgstr "VMを要求しましたが、イメージタイプがコンテナです" @@ -1083,7 +1084,7 @@ msgstr "" msgid "Bad key/value pair: %s" msgstr "不適切なキー/値のペア: %s" -#: cmd/incus/copy.go:138 cmd/incus/create.go:213 cmd/incus/move.go:358 +#: cmd/incus/copy.go:138 cmd/incus/create.go:221 cmd/incus/move.go:358 #: cmd/incus/project.go:129 #, c-format msgid "Bad key=value pair: %q" @@ -1259,7 +1260,7 @@ msgstr "--minimal と --preseed を同時に使えません" msgid "Can't use an image with --empty" msgstr "イメージに --empty は使えません" -#: cmd/incus/create.go:317 +#: cmd/incus/create.go:326 #, c-format msgid "" "Cannot override config for device %q: Device not found in profile devices" @@ -1314,8 +1315,9 @@ msgstr "" #, c-format msgid "" "Certificate fingerprint mismatch between join token and cluster member %q" -msgstr "証明書のフィンガープリントが join " -"するためのトークンとクラスターメンバーの間で一致しません %q" +msgstr "" +"証明書のフィンガープリントが join するためのトークンとクラスターメンバーの間" +"で一致しません %q" #: cmd/incus/remote.go:453 #, c-format @@ -1574,15 +1576,15 @@ msgstr "" "サーバー内、またはサーバー間でインスタンスをコピーする\n" "\n" "転送モード(--mode):\n" -" - pull: コピー先サーバーがコピー元サーバーからデータを取得する(コピー元はネ" -"ットワークをリッスンしている必要がある)\n" +" - pull: コピー先サーバーがコピー元サーバーからデータを取得する(コピー元は" +"ネットワークをリッスンしている必要がある)\n" " - push: コピー元サーバーがコピー先サーバーにデータをプッシュする(コピー先は" "ネットワークをリッスンしている必要がある)\n" " - relay: CLI がコピー元と先のサーバーに接続し、データを中継する(コピー元と" "先両方がネットワークをリッスンしている必要がある)\n" "\n" -"すべてのサーバーバージョンとの互換性のため、pull 転送モードがデフォルトです。" -"\n" +"すべてのサーバーバージョンとの互換性のため、pull 転送モードがデフォルトで" +"す。\n" #: cmd/incus/config_device.go:355 cmd/incus/config_device.go:356 msgid "Copy profile inherited devices and override configuration keys" @@ -1801,12 +1803,12 @@ msgstr "プロファイルを適用しないインスタンスを作成します msgid "Created: %s" msgstr "作成日時: %s" -#: cmd/incus/create.go:159 +#: cmd/incus/create.go:166 #, c-format msgid "Creating %s" msgstr "%s を作成中" -#: cmd/incus/create.go:157 +#: cmd/incus/create.go:164 msgid "Creating the instance" msgstr "インスタンスを作成中" @@ -1846,7 +1848,8 @@ msgstr "DRM:" #: cmd/incus/admin_waitready.go:93 #, c-format msgid "Daemon still not running after %ds timeout (%v)" -msgstr "%d 秒のタイムアウトが経過しましたが、デーモンがまだ実行中ではありません (%v)" +msgstr "" +"%d 秒のタイムアウトが経過しましたが、デーモンがまだ実行中ではありません (%v)" #: cmd/incus/admin_shutdown.go:83 #, c-format @@ -2179,7 +2182,7 @@ msgstr "プロファイルのデバイスは個々のインスタンスでは取 msgid "Device: %s" msgstr "デバイス: %s" -#: cmd/incus/create.go:408 +#: cmd/incus/create.go:417 msgid "Didn't get any affected image, instance or snapshot from server" msgstr "" "サーバから変更されたイメージ、インスタンス、スナップショットを取得できません" @@ -2496,7 +2499,8 @@ msgstr "Listenするイベントタイプ" #: cmd/incus/admin_sql.go:28 msgid "Execute a SQL query against the local or global database" -msgstr "ローカルまたはグローバルのデータベースに対して SQL クエリーを実行します" +msgstr "" +"ローカルまたはグローバルのデータベースに対して SQL クエリーを実行します" #: cmd/incus/admin_sql.go:29 msgid "" @@ -2746,17 +2750,17 @@ msgstr "ピアのステータスの取得に失敗しました: %w" msgid "Failed import request: %w" msgstr "%q の作成に失敗しました: %w" -#: cmd/incus/create.go:172 +#: cmd/incus/create.go:180 #, fuzzy, c-format msgid "Failed loading network %q: %w" msgstr "%q の作成に失敗しました: %w" -#: cmd/incus/create.go:296 +#: cmd/incus/create.go:305 #, c-format msgid "Failed loading profile %q for device override: %w" msgstr "デバイス上書きのためのプロファイル %q のロードに失敗しました: %w" -#: cmd/incus/create.go:223 +#: cmd/incus/create.go:231 #, fuzzy, c-format msgid "Failed loading storage pool %q: %w" msgstr "%q の作成に失敗しました: %w" @@ -3484,7 +3488,8 @@ msgstr "インスタンスのバックアップをインポートします" #: cmd/incus/storage_volume.go:2786 msgid "Import type needs to be \"backup\" or \"iso\"" -msgstr "インポートするタイプは \"backup\" もしくは \"iso\" である必要があります" +msgstr "" +"インポートするタイプは \"backup\" もしくは \"iso\" である必要があります" #: cmd/incus/storage_volume.go:2729 msgid "Import type, backup or iso (default \"backup\")" @@ -3539,7 +3544,7 @@ msgstr "クライアント %q に対するインスタンスが切断されま msgid "Instance name is mandatory" msgstr "インスタンス名を指定する必要があります" -#: cmd/incus/create.go:419 +#: cmd/incus/create.go:428 #, c-format msgid "Instance name is: %s" msgstr "インスタンス名: %s" @@ -3751,6 +3756,16 @@ msgstr "最終使用: %s" msgid "Last used: never" msgstr "最終使用: 未使用" +#: cmd/incus/create.go:160 +#, fuzzy, c-format +msgid "Launching %s" +msgstr "%s を作成中" + +#: cmd/incus/create.go:158 +#, fuzzy +msgid "Launching the instance" +msgstr "インスタンスを作成中" + #: cmd/incus/info.go:221 #, c-format msgid "Link detected: %v" @@ -4008,13 +4023,13 @@ msgstr "" "Fast モードのカラムレイアウト: nsacPt\n" "\n" "== フィルタ ==\n" -"単一の \"web\" のようなキーワードを指定すると、名前が \"web\" " -"ではじまるインスタンスが一覧表示されます。\n" +"単一の \"web\" のようなキーワードを指定すると、名前が \"web\" ではじまるイン" +"スタンスが一覧表示されます。\n" "インスタンス名の正規表現 (例: .*web.*01$)。\n" "設定項目を参照するキーと値のペア。これらの場合、名前空間は最短の一意な識別子" "に短縮できます。\n" -"短縮形のキーを使ったキーと値のペア。複数の値は ',' " -"で区切らなければなりません。使用できる表現は:\n" +"短縮形のキーを使ったキーと値のペア。複数の値は ',' で区切らなければなりませ" +"ん。使用できる表現は:\n" " - type={instance type}\n" " - status={instance current lifecycle status}\n" " - architecture={instance architecture}\n" @@ -4023,17 +4038,17 @@ msgstr "" " - ipv6={ip or CIDR}\n" "\n" "例:\n" -" - \"user.blah=abc\" は \"blah\" という user プロパティが \"abc\" " -"に設定されているインスタンスをすべて一覧表示します\n" +" - \"user.blah=abc\" は \"blah\" という user プロパティが \"abc\" に設定され" +"ているインスタンスをすべて一覧表示します\n" " - \"u.blah=abc\" は上記と同じ意味になります\n" " - \"security.privileged=true\" は特権インスタンスをすべて一覧表示します\n" " - \"s.privileged=true\" は上記と同じ意味になります\n" " - \"type=container\" コンテナインスタンスをすべて表示します\n" -" - \"type=container status=running\" " -"実行中のコンテナインスタンスをすべて表示します\n" +" - \"type=container status=running\" 実行中のコンテナインスタンスをすべて表" +"示します\n" "\n" -"設定項目もしくは値とマッチする正規表現 (例:volatile.eth0." -"hwaddr=00:16:3e:.*)。\n" +"設定項目もしくは値とマッチする正規表現 (例:volatile.eth0.hwaddr=00:16:3e:." +"*)。\n" "\n" "複数のフィルタを指定した場合は、指定したフィルタが順に追加され、\n" "すべてのフィルタを満たすインスタンスが選択されます。\n" @@ -4074,8 +4089,8 @@ msgstr "" "\"[config:|devices:]key[:name][:maxWidth]\" のように指定するカスタムカラム:\n" " KEY: 表示する (拡張された) 設定キー。[config:|devices:] が省略された場合は " "config が指定されたものとします\n" -" NAME: カラムのヘッダに表示する名前。指定しない場合、もしくは空の場合のデフ" -"ォルトはキー。\n" +" NAME: カラムのヘッダに表示する名前。指定しない場合、もしくは空の場合のデ" +"フォルトはキー。\n" "\n" " MAXWIDTH: カラムの最大幅 (結果がこれより長い場合は切り詰められます)\n" " デフォルトは -1 (制限なし)。0 はカラムのヘッダサイズに制限します。" @@ -5256,8 +5271,9 @@ msgstr "テキストエディターが見つかりません。環境変数 EDITO #: cmd/incus/admin_recover.go:222 msgid "No unknown storage pools or volumes found. Nothing to do." -msgstr "未知のストレージプールやボリュームが見つかりません。実行することがありません" -"。" +msgstr "" +"未知のストレージプールやボリュームが見つかりません。実行することがありませ" +"ん。" #: cmd/incus/config_device.go:130 cmd/incus/config_device.go:404 #, c-format @@ -5274,8 +5290,8 @@ msgid "" "None of --storage-pool, --storage-create-device or --storage-create-loop may " "be used with the 'dir' backend" msgstr "" -"--storage-pool, --storage-create-device, --storage-create-loop のいずれも、" -"'dir' バックエンドでは使えません" +"--storage-pool, --storage-create-device, --storage-create-loop のいずれ" +"も、'dir' バックエンドでは使えません" #: cmd/incus/admin_init_interactive.go:619 msgid "Number of placement groups" @@ -5316,8 +5332,9 @@ msgstr "管理対象のネットワークのみ変更できます" #: cmd/incus/admin_init_auto.go:35 msgid "" "Only one of --storage-create-device or --storage-create-loop can be specified" -msgstr "指定できるのは、--storage-create-device もしくは --storage-create-loop " -"のいずれか一方のみです" +msgstr "" +"指定できるのは、--storage-create-device もしくは --storage-create-loop のいず" +"れか一方のみです" #: cmd/incus/operation.go:87 #, c-format @@ -5655,15 +5672,15 @@ msgstr "" "カスタムでない場合、ストレージボリュームのタイプを指定します。\n" "サポートしているタイプは、custom, image, container, virtual-machine です。\n" "\n" -"タイプが custom, container, virtual-machine " -"のいずれかの場合、スナップショットの名前を追加します。\n" +"タイプが custom, container, virtual-machine のいずれかの場合、スナップショッ" +"トの名前を追加します。\n" "\n" "incus storage volume get default data size\n" " プール \"default\" 内のカスタムボリューム \"data\" のサイズを返します。\n" "\n" "incus storage volume get default virtual-machine/data snapshots.expiry\n" -" プール \"default\" 内の仮想マシン \"data\" " -"のスナップショットの有効期限を返します。" +" プール \"default\" 内の仮想マシン \"data\" のスナップショットの有効期限を" +"返します。" #: cmd/incus/storage_volume.go:1891 #, fuzzy @@ -5833,8 +5850,8 @@ msgstr "" "既存または未知のストレージプールから失われたインスタンスを復旧させます\n" "\n" " このコマンドは主に障害からの復旧に使われます。未知のストレージについて質問" -"し、既存のストレージプールを参照しながら、ストレージへのアクセスを試みます。" -"\n" +"し、既存のストレージプールを参照しながら、ストレージへのアクセスを試みま" +"す。\n" " そして、プール上に存在しているがデータベースには存在しないインスタンスやボ" "リュームを特定します。\n" " そして、データベースレコードの再作成を提案します。" @@ -6120,7 +6137,7 @@ msgstr "インスタンスを再起動します" msgid "Retrieve the instance's console log" msgstr "インスタンスのコンソールログを取得します" -#: cmd/incus/create.go:362 +#: cmd/incus/create.go:371 #, c-format msgid "Retrieving image: %s" msgstr "イメージの取得中: %s" @@ -6849,8 +6866,9 @@ msgstr "一部のインスタンスで %s が失敗しました" msgid "" "Source of the storage pool (block device, volume group, dataset, path, ... " "as applicable):" -msgstr "ストレージプールのソース " -"(適用できるブロックデバイス、ボリュームグループ、データセット、パス...)" +msgstr "" +"ストレージプールのソース (適用できるブロックデバイス、ボリュームグループ、" +"データセット、パス...)" #: cmd/incus/image.go:989 msgid "Source:" @@ -6860,7 +6878,7 @@ msgstr "取得元:" msgid "Start instances" msgstr "インスタンスを起動します" -#: cmd/incus/launch.go:78 +#: cmd/incus/launch.go:83 #, c-format msgid "Starting %s" msgstr "%s を起動中" @@ -7056,7 +7074,8 @@ msgstr "ターゲットのパスはディレクトリでなければなりませ #: cmd/incus/admin_shutdown.go:29 msgid "Tell the daemon to shutdown all instances and exit" -msgstr "すべてのインスタンスをシャットダウンして終了するようにデーモンに指示します" +msgstr "" +"すべてのインスタンスをシャットダウンして終了するようにデーモンに指示します" #: cmd/incus/admin_shutdown.go:30 msgid "" @@ -7125,15 +7144,15 @@ msgid "" "before running \"init\" again." msgstr "" "LVM のシンプロビジョニング用のツールが見つかりません。\n" -"シンプロビジョニングを使わないで LVM " -"を使うことはできますが、オーバープロビジョニングが無効になります。\n" +"シンプロビジョニングを使わないで LVM を使うことはできますが、オーバープロビ" +"ジョニングが無効になります。\n" "そして、スペースに対する要件が増加し、イメージ、インスタンス、スナップショッ" "トの作成時間が増加します。\n" "\n" -"シンプロビジョニングを使いたい場合は、すぐに中止して、Linuxディストリビューシ" -"ョンからツールをインストールし、\n" -"再度 \"init\" を実行する前に、\"thin_check\" " -"コマンドが実行できることを確認してください。" +"シンプロビジョニングを使いたい場合は、すぐに中止して、Linuxディストリビュー" +"ションからツールをインストールし、\n" +"再度 \"init\" を実行する前に、\"thin_check\" コマンドが実行できることを確認し" +"てください。" #: cmd/incus/admin_cluster.go:45 msgid "" @@ -7143,10 +7162,10 @@ msgid "" "\n" "You can invoke it through \"incusd cluster\"." msgstr "" -"\"cluster\" " -"サブコマンドは、サーバーの内部データにアクセスする必要があります。\n" -"そのため、\"incus\" コマンドではなく、実際には \"incusd\" " -"バイナリーの一部です。\n" +"\"cluster\" サブコマンドは、サーバーの内部データにアクセスする必要がありま" +"す。\n" +"そのため、\"incus\" コマンドではなく、実際には \"incusd\" バイナリーの一部で" +"す。\n" "\n" "\"incusd cluster\" から呼び出すことができます。" @@ -7192,7 +7211,7 @@ msgstr "" "インスタンスは現在実行中です。停止して、再起動するために --force を使用してく" "ださい" -#: cmd/incus/create.go:440 +#: cmd/incus/create.go:449 msgid "The instance you are starting doesn't have any network attached to it." msgstr "起動しようとしたインスタンスに接続されているネットワークがありません。" @@ -7301,8 +7320,9 @@ msgstr "設定 %q はクラスタメンバー %q には存在しません" #, c-format msgid "" "The property %q does not exist on the storage pool volume snapshot %s/%s: %v" -msgstr "プロパティ %q が、ストレージプールボリュームのスナップショット %s/%s " -"に存在しません: %v" +msgstr "" +"プロパティ %q が、ストレージプールボリュームのスナップショット %s/%s に存在し" +"ません: %v" #: cmd/incus/utils_properties.go:100 #, fuzzy, c-format @@ -7411,14 +7431,14 @@ msgstr "インスタンスがクリーンにシャットダウンするまで待 msgid "Timestamps:" msgstr "タイムスタンプ:" -#: cmd/incus/create.go:442 +#: cmd/incus/create.go:451 #, fuzzy msgid "To attach a network to an instance, use: incus network attach" msgstr "" "インスタンスにネットワークを接続するには、lxc network attach を使用してくださ" "い" -#: cmd/incus/create.go:441 +#: cmd/incus/create.go:450 #, fuzzy msgid "To create a new network, use: incus network create" msgstr "" @@ -7442,7 +7462,8 @@ msgstr "" #: cmd/incus/config.go:770 cmd/incus/copy.go:130 cmd/incus/info.go:336 #: cmd/incus/network.go:913 cmd/incus/storage.go:445 msgid "To use --target, the destination remote must be a cluster" -msgstr "--target オプションは、コピー先のリモートサーバがクラスターに属していなければ" +msgstr "" +"--target オプションは、コピー先のリモートサーバがクラスターに属していなければ" "なりません" #: cmd/incus/file.go:370 @@ -7504,7 +7525,7 @@ msgstr "通信ポリシー" msgid "Trust token for %s: " msgstr "%s:%s のクラスターに join するためのトークンが削除されました" -#: cmd/incus/action.go:311 cmd/incus/launch.go:110 +#: cmd/incus/action.go:311 cmd/incus/launch.go:115 #, fuzzy, c-format msgid "Try `incus info --show-log %s` for more info" msgstr "更に情報を得るために `lxc info --show-log %s` を実行してみてください" diff --git a/po/nl.po b/po/nl.po index b4b10045eaf..fb63427fed7 100644 --- a/po/nl.po +++ b/po/nl.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-01-15 22:31+0100\n" +"POT-Creation-Date: 2024-01-19 22:59-0500\n" "PO-Revision-Date: 2022-03-10 15:06+0000\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: Dutch \n" "Language-Team: Portuguese (Brazil) ,=: %s" msgid "Bad key/value pair: %s" msgstr "par de chave/valor inválido %s" -#: cmd/incus/copy.go:138 cmd/incus/create.go:213 cmd/incus/move.go:358 +#: cmd/incus/copy.go:138 cmd/incus/create.go:221 cmd/incus/move.go:358 #: cmd/incus/project.go:129 #, fuzzy, c-format msgid "Bad key=value pair: %q" @@ -1284,7 +1284,7 @@ msgstr "" msgid "Can't use an image with --empty" msgstr "" -#: cmd/incus/create.go:317 +#: cmd/incus/create.go:326 #, c-format msgid "" "Cannot override config for device %q: Device not found in profile devices" @@ -1824,12 +1824,12 @@ msgstr "" msgid "Created: %s" msgstr "Criado: %s" -#: cmd/incus/create.go:159 +#: cmd/incus/create.go:166 #, c-format msgid "Creating %s" msgstr "Criando %s" -#: cmd/incus/create.go:157 +#: cmd/incus/create.go:164 #, fuzzy msgid "Creating the instance" msgstr "Criando %s" @@ -2217,7 +2217,7 @@ msgstr "" msgid "Device: %s" msgstr "Em cache: %s" -#: cmd/incus/create.go:408 +#: cmd/incus/create.go:417 msgid "Didn't get any affected image, instance or snapshot from server" msgstr "" @@ -2745,17 +2745,17 @@ msgstr "" msgid "Failed import request: %w" msgstr "Aceitar certificado" -#: cmd/incus/create.go:172 +#: cmd/incus/create.go:180 #, fuzzy, c-format msgid "Failed loading network %q: %w" msgstr "Aceitar certificado" -#: cmd/incus/create.go:296 +#: cmd/incus/create.go:305 #, c-format msgid "Failed loading profile %q for device override: %w" msgstr "" -#: cmd/incus/create.go:223 +#: cmd/incus/create.go:231 #, fuzzy, c-format msgid "Failed loading storage pool %q: %w" msgstr "Aceitar certificado" @@ -3521,7 +3521,7 @@ msgstr "" msgid "Instance name is mandatory" msgstr "" -#: cmd/incus/create.go:419 +#: cmd/incus/create.go:428 #, c-format msgid "Instance name is: %s" msgstr "" @@ -3729,6 +3729,16 @@ msgstr "" msgid "Last used: never" msgstr "" +#: cmd/incus/create.go:160 +#, fuzzy, c-format +msgid "Launching %s" +msgstr "Criando %s" + +#: cmd/incus/create.go:158 +#, fuzzy +msgid "Launching the instance" +msgstr "Criando %s" + #: cmd/incus/info.go:221 #, fuzzy, c-format msgid "Link detected: %v" @@ -5897,7 +5907,7 @@ msgstr "Editar arquivos no container" msgid "Retrieve the instance's console log" msgstr "" -#: cmd/incus/create.go:362 +#: cmd/incus/create.go:371 #, c-format msgid "Retrieving image: %s" msgstr "" @@ -6592,7 +6602,7 @@ msgstr "" msgid "Start instances" msgstr "" -#: cmd/incus/launch.go:78 +#: cmd/incus/launch.go:83 #, c-format msgid "Starting %s" msgstr "" @@ -6898,7 +6908,7 @@ msgid "" "restarted" msgstr "" -#: cmd/incus/create.go:440 +#: cmd/incus/create.go:449 msgid "The instance you are starting doesn't have any network attached to it." msgstr "" @@ -7099,11 +7109,11 @@ msgstr "" msgid "Timestamps:" msgstr "" -#: cmd/incus/create.go:442 +#: cmd/incus/create.go:451 msgid "To attach a network to an instance, use: incus network attach" msgstr "" -#: cmd/incus/create.go:441 +#: cmd/incus/create.go:450 msgid "To create a new network, use: incus network create" msgstr "" @@ -7182,7 +7192,7 @@ msgstr "" msgid "Trust token for %s: " msgstr "Senha de administrador para %s: " -#: cmd/incus/action.go:311 cmd/incus/launch.go:110 +#: cmd/incus/action.go:311 cmd/incus/launch.go:115 #, c-format msgid "Try `incus info --show-log %s` for more info" msgstr "" diff --git a/po/ru.po b/po/ru.po index ba7e963a8d3..fb45b92189e 100644 --- a/po/ru.po +++ b/po/ru.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-01-15 22:31+0100\n" +"POT-Creation-Date: 2024-01-19 22:59-0500\n" "PO-Revision-Date: 2022-03-10 15:06+0000\n" "Last-Translator: Александр Киль \n" "Language-Team: Russian \n" "Language-Team: Chinese (Simplified)