morpheus-cli 3.6.24 → 3.6.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/morpheus/cli/apps.rb +3 -3
- data/lib/morpheus/cli/mixins/provisioning_helper.rb +25 -3
- data/lib/morpheus/cli/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5d560e8e83081efac41b0771522d543965ad22b5ad58391961f08c1f90a3696
|
4
|
+
data.tar.gz: 2a257d25fb63d46f2124c78eebfc8769a3de2b7e6329e48a6d12368f49ca6251
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e9c4bb406ef1254080c48039036475d6561f94e965b889f96de523afbfc2ca724f170f7109cb84db1bdb8b268c1b978e4041ab2c49c875907b2fa7ac027fff5
|
7
|
+
data.tar.gz: dd8377ea9e349bcaa9dedf0339f344e5f11c763d310861c81f9bef83b45f8a9a430204ea30d84cd8e1795d11393e21f8f2e4d55a18f4808cbfeeeebbc0b67f3e
|
data/lib/morpheus/cli/apps.rb
CHANGED
@@ -239,7 +239,7 @@ class Morpheus::Cli::Apps
|
|
239
239
|
else
|
240
240
|
blueprint = find_blueprint_by_name_or_id(blueprint_id)
|
241
241
|
if blueprint.nil?
|
242
|
-
print_red_alert "Blueprint not found by name or id '#{blueprint_id}'"
|
242
|
+
#print_red_alert "Blueprint not found by name or id '#{blueprint_id}'"
|
243
243
|
return 1
|
244
244
|
end
|
245
245
|
end
|
@@ -371,9 +371,9 @@ class Morpheus::Cli::Apps
|
|
371
371
|
instance_prompt_options[:cloud] = cloud ? cloud['name'] : nil
|
372
372
|
instance_prompt_options[:default_cloud] = cloud ? cloud['name'] : nil
|
373
373
|
instance_prompt_options[:no_prompt] = options[:no_prompt]
|
374
|
-
instance_prompt_options[:always_prompt] = options[:no_prompt] != true # options[:always_prompt]
|
374
|
+
#instance_prompt_options[:always_prompt] = options[:no_prompt] != true # options[:always_prompt]
|
375
375
|
instance_prompt_options[:options] = scoped_instance_config # meh, actually need to make these default values instead..
|
376
|
-
instance_prompt_options[:options][:always_prompt] = instance_prompt_options[:no_prompt] != true
|
376
|
+
#instance_prompt_options[:options][:always_prompt] = instance_prompt_options[:no_prompt] != true
|
377
377
|
instance_prompt_options[:options][:no_prompt] = instance_prompt_options[:no_prompt]
|
378
378
|
|
379
379
|
# also allow arbritrary options passed as tierName.instanceIndex like Web.0.instance.layout.id=75
|
@@ -289,6 +289,7 @@ module Morpheus::Cli::ProvisioningHelper
|
|
289
289
|
arbitrary_options.delete('cloud')
|
290
290
|
arbitrary_options.delete('type')
|
291
291
|
arbitrary_options.delete('name')
|
292
|
+
arbitrary_options.delete('version')
|
292
293
|
arbitrary_options.delete('layout')
|
293
294
|
arbitrary_options.delete('servicePlan')
|
294
295
|
arbitrary_options.delete('description')
|
@@ -314,7 +315,28 @@ module Morpheus::Cli::ProvisioningHelper
|
|
314
315
|
|
315
316
|
# Version and Layout
|
316
317
|
|
317
|
-
|
318
|
+
available_versions = options_interface.options_for_source('instanceVersions',{groupId: group_id, cloudId: cloud_id, instanceTypeId: instance_type['id']})['data']
|
319
|
+
default_version_value = payload['instance']['version'] ? payload['instance']['version'] : payload['version']
|
320
|
+
default_layout_value = payload['instance']['layout'] ? payload['instance']['layout']['id'] : nil
|
321
|
+
# JD: version is always nil because it is not stored in the blueprint or config !!
|
322
|
+
# so for now, infer the version from the layout
|
323
|
+
# requires api 3.6.2 to get "layouts" from /options/versions
|
324
|
+
if default_layout_value && default_version_value.to_s.empty?
|
325
|
+
available_versions.each do |available_version|
|
326
|
+
if available_version["layouts"]
|
327
|
+
selected_layout = available_version["layouts"].find {|it| it["value"].to_s == default_layout_value.to_s || it["id"].to_s == default_layout_value.to_s || it["code"].to_s == default_layout_value.to_s }
|
328
|
+
if selected_layout
|
329
|
+
default_version_value = available_version["value"]
|
330
|
+
break
|
331
|
+
end
|
332
|
+
end
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
# do not require version if a layout is passed
|
337
|
+
version_is_required = !!default_layout_value
|
338
|
+
#version_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldName' => 'version', 'type' => 'select', 'fieldLabel' => 'Version', 'optionSource' => 'instanceVersions', 'required' => true, 'skipSingleOption' => true, 'autoPickOption' => true, 'description' => 'Select which version of the instance type to be provisioned.', 'defaultValue' => default_version_value}],options[:options],api_client,{groupId: group_id, cloudId: cloud_id, instanceTypeId: instance_type['id']})
|
339
|
+
version_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldName' => 'version', 'type' => 'select', 'fieldLabel' => 'Version', 'selectOptions' => available_versions, 'required' => version_is_required, 'skipSingleOption' => true, 'autoPickOption' => true, 'description' => 'Select which version of the instance type to be provisioned.', 'defaultValue' => default_version_value}],options[:options],api_client,{groupId: group_id, cloudId: cloud_id, instanceTypeId: instance_type['id']})
|
318
340
|
default_layout_value = payload['instance']['layout'] ? payload['instance']['layout']['id'] : nil
|
319
341
|
layout_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldName' => 'layout', 'type' => 'select', 'fieldLabel' => 'Layout', 'optionSource' => 'layoutsForCloud', 'required' => true, 'description' => 'Select which configuration of the instance type to be provisioned.', 'defaultValue' => default_layout_value}],options[:options],api_client,{groupId: group_id, cloudId: cloud_id, instanceTypeId: instance_type['id'], version: version_prompt['version']})
|
320
342
|
layout_id = layout_prompt['layout']
|
@@ -511,11 +533,11 @@ module Morpheus::Cli::ProvisioningHelper
|
|
511
533
|
storage_type_id = nil
|
512
534
|
storage_type = nil
|
513
535
|
else
|
514
|
-
v_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldContext' => field_context, 'fieldName' => 'storageType', 'type' => 'select', 'fieldLabel' => 'Root Storage Type', 'selectOptions' => root_storage_types, 'required' => true, 'skipSingleOption' => true, 'description' => 'Choose a storage type.'}], options[:options])
|
536
|
+
v_prompt = Morpheus::Cli::OptionTypes.prompt([{'fieldContext' => field_context, 'fieldName' => 'storageType', 'type' => 'select', 'fieldLabel' => 'Root Storage Type', 'selectOptions' => root_storage_types, 'required' => true, 'skipSingleOption' => true, 'description' => 'Choose a storage type.', 'defaultValue' => volume['storageType']}], options[:options])
|
515
537
|
storage_type_id = v_prompt[field_context]['storageType']
|
516
538
|
storage_type = plan_info['storageTypes'].find {|i| i['id'] == storage_type_id.to_i }
|
539
|
+
volume['storageType'] = storage_type_id
|
517
540
|
end
|
518
|
-
volume['storageType'] = storage_type_id
|
519
541
|
|
520
542
|
# sometimes the user chooses sizeId from a list of size options (AccountPrice) and other times it is free form
|
521
543
|
root_custom_size_options = []
|
data/lib/morpheus/cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: morpheus-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.
|
4
|
+
version: 3.6.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Estes
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-04-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|