'+
- '
'+role_template.cardinality+''+
+ '
'+
+ ''+role_template.cardinality+''+
'
'+
''+tr("VMs")+''+
'
'+
- '
'+
- '
'+
- '
'+tr("Change cardinality")+''+
- '
'+
- '
'+
- '
'+
- '
'+
- '
'+
+ '
'+
+ '
'+
+ '
'+tr("Change cardinality")+''+
+ '
'+
+ '
'+
+ ''+
+ ''+
+ ''+
+ '
'+
+ '
'+min_vms+''+
+ '
'+max_vms+''+
+ '
'+
+ '
'+
+ '
'+
+ '
'+
+ ''+tr("The cardinality for this role cannot be changed")+''+
'
'+
- '
'+min_vms+''+
- '
'+max_vms+''+
'
'+
- '
'+
+ '
'+
+ ''+
'
'+
- '
'+
- ''+tr("The cardinality for this role cannot be changed")+''+
- '
'+
+ '
'+tr("COST")+' / ' + tr("HOUR") + ''+
'
'+
'
'+
'
'+
'
');
+ var capacity = template_json.VMTEMPLATE.TEMPLATE;
+ var cost = 0;
+ if (capacity.CPU_COST || capacity.MEMORY_COST && Config.isFeatureEnabled("showback")) {
+ $(".provision_create_service_cost_div").show();
+
+ if (capacity.CPU && capacity.CPU_COST) {
+ cost += capacity.CPU * capacity.CPU_COST
+ $(".cost_value").data("CPU_COST", capacity.CPU_COST);
+ }
+
+ if (capacity.MEMORY && capacity.MEMORY_COST) {
+ cost += capacity.MEMORY * capacity.MEMORY_COST
+ $(".cost_value").data("MEMORY_COST", capacity.MEMORY_COST);
+ }
+
+ $(".provision_create_service_cost_div", context).data("cost", cost)
+ var cost_value = cost*parseInt(role_template.cardinality);
+ $(".cost_value").html(cost_value.toFixed(2));
+ } else {
+ $(".provision_create_service_cost_div").hide();
+ }
+
if (max_vms > min_vms) {
$( ".cardinality_slider", context).attr('data-options', 'start: '+min_vms+'; end: '+max_vms+';')
context.foundation();
@@ -1981,9 +2008,9 @@ function generate_cardinality_selector(context, role_template) {
$( ".cardinality_slider", context).on('change', function(){
$(".cardinality_value",context).html($(this).attr('data-slider'))
+ var cost_value = $(".provision_create_service_cost_div", context).data("cost")*$(this).attr('data-slider');
+ $(".cost_value").html(cost_value.toFixed(2));
});
-
-
} else {
$( ".cardinality_slider_div", context).hide();
$( ".cardinality_no_slider_div", context).show();
@@ -6528,26 +6555,17 @@ $(document).ready(function(){
var template_id = role.vm_template;
var role_html_id = "#provision_create_flow_role_"+index;
- generate_cardinality_selector(
- $(".provision_cardinality_selector", context),
- role);
-
OpenNebula.Template.show({
data : {
id: template_id
},
success: function(request,template_json){
var role_context = $(role_html_id)
- //var template_nic = template_json.VMTEMPLATE.TEMPLATE.NIC
- //var nics = []
- //if ($.isArray(template_nic))
- // nics = template_nic
- //else if (!$.isEmptyObject(template_nic))
- // nics = [template_nic]
-//
- //generate_provision_instance_type_accordion(
- // $(".provision_capacity_selector", role_context),
- // template_json.VMTEMPLATE.TEMPLATE);
+
+ generate_cardinality_selector(
+ $(".provision_cardinality_selector", context),
+ role,
+ template_json);
if (template_json.VMTEMPLATE.TEMPLATE.USER_INPUTS) {
generate_custom_attrs(