From 7fda5880673e18af0712ca1c45996c0523206e4d Mon Sep 17 00:00:00 2001 From: "Carlos J. Herrera" Date: Thu, 2 Dec 2021 07:51:31 -0500 Subject: [PATCH] F #~: create arguments when import template (#1639) (cherry picked from commit 1c6339b64845ae70eb3b839f74b6eee3680a55bf) --- src/cli/onevcenter | 53 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/src/cli/onevcenter b/src/cli/onevcenter index a391dc1bb7..5414e6e4ea 100755 --- a/src/cli/onevcenter +++ b/src/cli/onevcenter @@ -98,6 +98,34 @@ CommandParser::CmdParser.new(ARGV) do :description => 'Configuration file for custom options' } + LINKED_CLONE = { + :name => 'linked_clone', + :large => '--linked_clone linked_clone', + :format => String, + :description => 'Import template as linked clone, 0/1' + } + + COPY = { + :name => 'copy', + :large => '--copy copy', + :format => String, + :description => 'Import template as copy, 0/1' + } + + NAME = { + :name => 'name', + :large => '--name name', + :format => String, + :description => 'Import template copy with name' + } + + FOLDER = { + :name => 'folder', + :large => '--folder folder', + :format => String, + :description => 'Import template in folder' + } + VCENTER = { :name => 'vcenter', :large => '--vcenter vCenter', @@ -270,7 +298,10 @@ CommandParser::CmdParser.new(ARGV) do command :import_defaults, import_desc, [:oid, nil], - :options => [OBJECT, HOST, DATASTORE, CONFIG] do + :options => [ + OBJECT, HOST, DATASTORE, CONFIG, + FOLDER, LINKED_CLONE, COPY, NAME + ] do begin vi_client = VCenterDriver::VIClient.new_from_host(options[:host]) importer = VCenterDriver::VcImporter.new_child(helper.client, @@ -284,6 +315,26 @@ CommandParser::CmdParser.new(ARGV) do indexes = importer.get_indexes(args.first) end + if options[:object] == 'templates' && + indexes && + indexes.split(',').length == 1 + opts = { + :type => 'default', + :linked_clone => '0', + :copy => '0', + :name => '', + :folder => '' + } + if options[:linked_clone] + opts[:linked_clone] = options[:linked_clone] + end + opts[:copy] = options[:copy] if options[:copy] + opts[:name] = options[:name] if options[:name] + opts[:folder] = options[:folder] if options[:folder] + + options[indexes] = opts + end + importer.process_import(indexes, options) importer.stdout