|
762 | 762 | }); |
763 | 763 | } |
764 | 764 | }), |
765 | | - action: function(args) { |
| 765 | + action: function(args) { //UI > Network menu > VPC section > select and configure a VPC from listing > select an internal LB tier > click Internal LB > Quickview on an internal LB rule from listing > click Assign VMs button > Select VM dailog |
766 | 766 | var vms = args.context.instances; |
767 | 767 | var array1 = []; |
768 | 768 | for (var i = 0; i < vms.length; i++) { |
|
1054 | 1054 | }); |
1055 | 1055 | } |
1056 | 1056 | }), |
1057 | | - action: function(args) { |
| 1057 | + action: function(args) { //UI > Network menu > VPC section > select and configure a VPC from listing > select an internal LB tier > click Internal LB > select an internal LB rule from listing > Details tab > click Assigned VMs tab > click Assign VMs button > Select VM dailog |
1058 | 1058 | var $rows = $(':ui-dialog .list-view tbody tr'); |
1059 | 1059 | var vms = args.context.instances; |
1060 | 1060 |
|
|
1067 | 1067 | $.extend(vm, { _subselect: $vmRow.find('.subselect select').val() }); |
1068 | 1068 | }); |
1069 | 1069 |
|
| 1070 | + /* |
1070 | 1071 | var array1 = []; |
1071 | 1072 | for (var i = 0; i < vms.length; i++) { |
1072 | 1073 | array1.push(vms[i].id); |
1073 | 1074 | } |
1074 | 1075 | var virtualmachineids = array1.join(','); |
| 1076 | + var inputData = { |
| 1077 | + id: args.context.internalLoadBalancers[0].id, |
| 1078 | + virtualmachineids: virtualmachineids |
| 1079 | + }; |
| 1080 | + */ |
| 1081 | + //virtualmachineids parameter has been replaced with vmidipmap parameter, so comment out the lines above. |
| 1082 | + |
| 1083 | + |
| 1084 | + var inputData = { |
| 1085 | + id: args.context.internalLoadBalancers[0].id |
| 1086 | + }; |
| 1087 | + /* |
| 1088 | + * e.g. first VM(xxx) has two IPs(10.1.1.~), second VM(yyy) has three IPs(10.2.2.~): |
| 1089 | + * vmidipmap[0].vmid=xxx vmidipmap[0].vmip=10.1.1.11 |
| 1090 | + * vmidipmap[1].vmid=xxx vmidipmap[1].vmip=10.1.1.12 |
| 1091 | + * vmidipmap[2].vmid=yyy vmidipmap[2].vmip=10.2.2.77 |
| 1092 | + * vmidipmap[3].vmid=yyy vmidipmap[3].vmip=10.2.2.78 |
| 1093 | + * vmidipmap[4].vmid=yyy vmidipmap[4].vmip=10.2.2.79 |
| 1094 | + */ |
| 1095 | + var selectedVMs = vms; |
| 1096 | + if (selectedVMs != null) { |
| 1097 | + var vmidipmapIndex = 0; |
| 1098 | + for (var vmIndex = 0; vmIndex < selectedVMs.length; vmIndex++) { |
| 1099 | + var selectedIPs = selectedVMs[vmIndex]._subselect; |
| 1100 | + for (var ipIndex = 0; ipIndex < selectedIPs.length; ipIndex++) { |
| 1101 | + inputData['vmidipmap[' + vmidipmapIndex + '].vmid'] = selectedVMs[vmIndex].id; |
| 1102 | + |
| 1103 | + //"ipAddresses" is not in args.context since this LB rule is under a VPC, not an address. |
| 1104 | + /* |
| 1105 | + if (args.context.ipAddresses[0].isportable) { |
| 1106 | + inputData['vmidipmap[' + vmidipmapIndex + '].vmip'] = selectedIPs[ipIndex].split(',')[1]; |
| 1107 | + } else { |
| 1108 | + inputData['vmidipmap[' + vmidipmapIndex + '].vmip'] = selectedIPs[ipIndex]; |
| 1109 | + } |
| 1110 | + */ |
| 1111 | + inputData['vmidipmap[' + vmidipmapIndex + '].vmip'] = selectedIPs[ipIndex]; |
| 1112 | + |
| 1113 | + vmidipmapIndex++; |
| 1114 | + } |
| 1115 | + } |
| 1116 | + } |
1075 | 1117 |
|
1076 | 1118 | $.ajax({ |
1077 | 1119 | url: createURL('assignToLoadBalancerRule'), |
1078 | | - data: { |
1079 | | - id: args.context.internalLoadBalancers[0].id, |
1080 | | - virtualmachineids: virtualmachineids |
1081 | | - }, |
| 1120 | + data: inputData, |
1082 | 1121 | dataType: 'json', |
1083 | 1122 | async: true, |
1084 | 1123 | success: function(data) { |
|
0 commit comments