|
5178 | 5178 | url: createURL('listVPCs'), |
5179 | 5179 | data: data, |
5180 | 5180 | success: function(json) { |
5181 | | - var items = json.listvpcsresponse.vpc; |
| 5181 | + var items = json.listvpcsresponse.vpc ? json.listvpcsresponse.vpc : { }; |
| 5182 | + |
| 5183 | + //If we are coming from Home > Regions, show only regional vpcs |
| 5184 | + if (args.context.regions) |
| 5185 | + items = $.grep( |
| 5186 | + items, |
| 5187 | + function (vpc, i) { |
| 5188 | + return vpc.regionlevelvpc; |
| 5189 | + }); |
| 5190 | + |
5182 | 5191 | args.response.success({ |
5183 | 5192 | data: items |
5184 | 5193 | }); |
|
5272 | 5281 | data: items |
5273 | 5282 | }); |
5274 | 5283 | } |
| 5284 | + }, |
| 5285 | + vpcoffering: { |
| 5286 | + label: 'label.vpc.offering', |
| 5287 | + validation: { |
| 5288 | + required: true |
| 5289 | + }, |
| 5290 | + |
| 5291 | + select: function(args) { |
| 5292 | + var data = { |
| 5293 | + listAll: true |
| 5294 | + }; |
| 5295 | + $.ajax({ |
| 5296 | + url: createURL('listVPCOfferings'), |
| 5297 | + data: { |
| 5298 | + listAll: true |
| 5299 | + }, |
| 5300 | + success: function(json) { |
| 5301 | + var offerings = json.listvpcofferingsresponse.vpcoffering ? json.listvpcofferingsresponse.vpcoffering : []; |
| 5302 | + var filteredofferings = $.grep(offerings, function(offering) { |
| 5303 | + return offering.state == 'Enabled'; |
| 5304 | + }); |
| 5305 | + args.response.success({ |
| 5306 | + data: $.map(filteredofferings, function(vpco) { |
| 5307 | + return { |
| 5308 | + id: vpco.id, |
| 5309 | + description: vpco.name |
| 5310 | + }; |
| 5311 | + }) |
| 5312 | + }); |
| 5313 | + } |
| 5314 | + }); |
| 5315 | + } |
5275 | 5316 | } |
5276 | 5317 | } |
5277 | 5318 | }, |
5278 | 5319 | action: function(args) { |
5279 | | - var vpcOfferingName; |
5280 | | - if (args.data.publicLoadBalancerProvider == 'VpcVirtualRouter') |
5281 | | - vpcOfferingName = 'Default VPC offering'; |
5282 | | - else if (args.data.publicLoadBalancerProvider == 'Netscaler') |
5283 | | - vpcOfferingName = 'Default VPC offering with Netscaler'; |
5284 | | - |
5285 | | - $.ajax({ |
5286 | | - url: createURL('listVPCOfferings'), |
5287 | | - data: { |
5288 | | - name: vpcOfferingName |
5289 | | - }, |
5290 | | - success: function(json) { |
5291 | | - var vpcofferingid = json.listvpcofferingsresponse.vpcoffering[0].id; |
5292 | | - |
| 5320 | + var vpcOfferingName = args.data.vpcoffering |
5293 | 5321 | var dataObj = { |
5294 | 5322 | name: args.data.name, |
5295 | 5323 | displaytext: args.data.displaytext, |
5296 | 5324 | zoneid: args.data.zoneid, |
5297 | 5325 | cidr: args.data.cidr, |
5298 | | - vpcofferingid: vpcofferingid |
| 5326 | + vpcofferingid: args.data.vpcoffering |
5299 | 5327 | }; |
5300 | 5328 |
|
5301 | 5329 | if (args.data.networkdomain != null && args.data.networkdomain.length > 0) |
|
5323 | 5351 | args.response.error(parseXMLHttpResponse(data)); |
5324 | 5352 | } |
5325 | 5353 | }); |
5326 | | - } |
5327 | | - }); |
5328 | 5354 |
|
5329 | 5355 | }, |
5330 | 5356 | notification: { |
|
0 commit comments