mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-869: Add VPC dialog - add Public LB Provider dropdown, remove VPC Offering dropdown. When Public LB Provider is selected as Netscaler, pass "Default VPC offering with Netscaler" to createVPC API. When Public LB Provider is selected as VpcVirtualRouter, pass "Default VPC Offering" to createVPC API.
This commit is contained in:
parent
c0af861a71
commit
3e3e5830b4
|
|
@ -4532,78 +4532,67 @@
|
|||
docID: 'helpVPCDomain',
|
||||
label: 'label.DNS.domain.for.guest.networks'
|
||||
},
|
||||
|
||||
loadbalancer:{ //Support for Netscaler as an external device for load balancing
|
||||
label:'Load Balancer',
|
||||
publicLoadBalancerProvider:{
|
||||
label:'Public Load Balancer Provider',
|
||||
select:function(args){
|
||||
$.ajax({
|
||||
url:createURL('listVPCOfferings&listall=true'),
|
||||
dataType:'json',
|
||||
success:function(json){
|
||||
var items=[];
|
||||
var vpcObj = json.listvpcofferingsresponse.vpcoffering;
|
||||
$(vpcObj).each(function(){
|
||||
items.push({id:this.id , description:this.name});
|
||||
});
|
||||
args.response.success({data:items});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var items = [];
|
||||
items.push({id: 'VpcVirtualRouter', description: 'VpcVirtualRouter'});
|
||||
items.push({id: 'Netscaler', description: 'Netscaler'});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
action: function(args) {
|
||||
/* var defaultvpcofferingid;
|
||||
$.ajax({
|
||||
url: createURL("listVPCOfferings"),
|
||||
dataType: "json",
|
||||
data: {
|
||||
isdefault: true
|
||||
},
|
||||
async: false,
|
||||
success: function(json) {
|
||||
defaultvpcofferingid = json.listvpcofferingsresponse.vpcoffering[0].id;
|
||||
}
|
||||
});*/
|
||||
|
||||
var dataObj = {
|
||||
name: args.data.name,
|
||||
displaytext: args.data.displaytext,
|
||||
zoneid: args.data.zoneid,
|
||||
cidr: args.data.cidr,
|
||||
vpcofferingid: args.data.loadbalancer // Support for external load balancer
|
||||
};
|
||||
|
||||
if(args.data.networkdomain != null && args.data.networkdomain.length > 0)
|
||||
$.extend(dataObj, { networkdomain: args.data.networkdomain });
|
||||
|
||||
$.ajax({
|
||||
url: createURL("createVPC"),
|
||||
dataType: "json",
|
||||
data: dataObj,
|
||||
async: true,
|
||||
success: function(json) {
|
||||
var jid = json.createvpcresponse.jobid;
|
||||
args.response.success(
|
||||
{_custom:
|
||||
{jobId: jid,
|
||||
getUpdatedItem: function(json) {
|
||||
return json.queryasyncjobresultresponse.jobresult.vpc;
|
||||
}
|
||||
action: function(args) {
|
||||
var vpcOfferingName;
|
||||
if (args.data.publicLoadBalancerProvider == 'VpcVirtualRouter')
|
||||
vpcOfferingName = 'Default VPC offering';
|
||||
else if (args.data.publicLoadBalancerProvider == 'Netscaler')
|
||||
vpcOfferingName = 'Default VPC offering with Netscaler';
|
||||
|
||||
$.ajax({
|
||||
url:createURL('listVPCOfferings'),
|
||||
data: {
|
||||
name: vpcOfferingName
|
||||
},
|
||||
success:function(json){
|
||||
var vpcofferingid = json.listvpcofferingsresponse.vpcoffering[0].id;
|
||||
|
||||
var dataObj = {
|
||||
name: args.data.name,
|
||||
displaytext: args.data.displaytext,
|
||||
zoneid: args.data.zoneid,
|
||||
cidr: args.data.cidr,
|
||||
vpcofferingid: vpcofferingid
|
||||
};
|
||||
|
||||
if(args.data.networkdomain != null && args.data.networkdomain.length > 0)
|
||||
$.extend(dataObj, { networkdomain: args.data.networkdomain });
|
||||
|
||||
$.ajax({
|
||||
url: createURL("createVPC"),
|
||||
dataType: "json",
|
||||
data: dataObj,
|
||||
async: true,
|
||||
success: function(json) {
|
||||
var jid = json.createvpcresponse.jobid;
|
||||
args.response.success(
|
||||
{_custom:
|
||||
{jobId: jid,
|
||||
getUpdatedItem: function(json) {
|
||||
return json.queryasyncjobresultresponse.jobresult.vpc;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
error: function(data) {
|
||||
args.response.error(parseXMLHttpResponse(data));
|
||||
}
|
||||
});
|
||||
},
|
||||
error: function(data) {
|
||||
args.response.error(parseXMLHttpResponse(data));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
notification: {
|
||||
poll: pollAsyncJobResult
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue