use of com.microsoft.azure.management.appservice.AppServicePlan in project azure-sdk-for-java by Azure.
the class ManageFunctionAppSourceControl method runSample.
/**
* Main function which runs the actual sample.
* @param azure instance of the azure client
* @return true if sample runs successfully
*/
public static boolean runSample(Azure azure) {
// New resources
final String suffix = ".azurewebsites.net";
final String app1Name = SdkContext.randomResourceName("webapp1-", 20);
final String app2Name = SdkContext.randomResourceName("webapp2-", 20);
final String app3Name = SdkContext.randomResourceName("webapp3-", 20);
final String app4Name = SdkContext.randomResourceName("webapp4-", 20);
final String app1Url = app1Name + suffix;
final String app2Url = app2Name + suffix;
final String app3Url = app3Name + suffix;
final String app4Url = app4Name + suffix;
final String rgName = SdkContext.randomResourceName("rg1NEMV_", 24);
try {
//============================================================
// Create a function app with a new app service plan
System.out.println("Creating function app " + app1Name + " in resource group " + rgName + "...");
FunctionApp app1 = azure.appServices().functionApps().define(app1Name).withRegion(Region.US_WEST).withNewResourceGroup(rgName).create();
System.out.println("Created function app " + app1.name());
Utils.print(app1);
//============================================================
// Deploy to app 1 through FTP
System.out.println("Deploying a function app to " + app1Name + " through FTP...");
Utils.uploadFileToFtp(app1.getPublishingProfile(), "host.json", ManageFunctionAppSourceControl.class.getResourceAsStream("/square-function-app/host.json"));
Utils.uploadFileToFtp(app1.getPublishingProfile(), "square/function.json", ManageFunctionAppSourceControl.class.getResourceAsStream("/square-function-app/square/function.json"));
Utils.uploadFileToFtp(app1.getPublishingProfile(), "square/index.js", ManageFunctionAppSourceControl.class.getResourceAsStream("/square-function-app/square/index.js"));
System.out.println("Deployment square app to function app " + app1.name() + " completed");
Utils.print(app1);
// warm up
System.out.println("Warming up " + app1Url + "/api/square...");
post("http://" + app1Url + "/api/square", "625");
Thread.sleep(5000);
System.out.println("CURLing " + app1Url + "/api/square...");
System.out.println("Square of 625 is " + post("http://" + app1Url + "/api/square", "625"));
//============================================================
// Create a second function app with local git source control
System.out.println("Creating another function app " + app2Name + " in resource group " + rgName + "...");
AppServicePlan plan = azure.appServices().appServicePlans().getById(app1.appServicePlanId());
FunctionApp app2 = azure.appServices().functionApps().define(app2Name).withExistingAppServicePlan(plan).withExistingResourceGroup(rgName).withExistingStorageAccount(app1.storageAccount()).withLocalGitSourceControl().create();
System.out.println("Created function app " + app2.name());
Utils.print(app2);
//============================================================
// Deploy to app 2 through local Git
System.out.println("Deploying a local Tomcat source to " + app2Name + " through Git...");
PublishingProfile profile = app2.getPublishingProfile();
Git git = Git.init().setDirectory(new File(ManageFunctionAppSourceControl.class.getResource("/square-function-app/").getPath())).call();
git.add().addFilepattern(".").call();
git.commit().setMessage("Initial commit").call();
PushCommand command = git.push();
command.setRemote(profile.gitUrl());
command.setCredentialsProvider(new UsernamePasswordCredentialsProvider(profile.gitUsername(), profile.gitPassword()));
command.setRefSpecs(new RefSpec("master:master"));
command.setForce(true);
command.call();
System.out.println("Deployment to function app " + app2.name() + " completed");
Utils.print(app2);
// warm up
System.out.println("Warming up " + app2Url + "/api/square...");
post("http://" + app2Url + "/api/square", "725");
Thread.sleep(5000);
System.out.println("CURLing " + app2Url + "/api/square...");
System.out.println("Square of 725 is " + post("http://" + app2Url + "/api/square", "725"));
//============================================================
// Create a 3rd function app with a public GitHub repo in Azure-Samples
System.out.println("Creating another function app " + app3Name + "...");
FunctionApp app3 = azure.appServices().functionApps().define(app3Name).withExistingAppServicePlan(plan).withNewResourceGroup(rgName).withExistingStorageAccount(app2.storageAccount()).defineSourceControl().withPublicGitRepository("https://github.com/jianghaolu/square-function-app-sample").withBranch("master").attach().create();
System.out.println("Created function app " + app3.name());
Utils.print(app3);
// warm up
System.out.println("Warming up " + app3Url + "/api/square...");
post("http://" + app3Url + "/api/square", "825");
Thread.sleep(5000);
System.out.println("CURLing " + app3Url + "/api/square...");
System.out.println("Square of 825 is " + post("http://" + app3Url + "/api/square", "825"));
//============================================================
// Create a 4th function app with a personal GitHub repo and turn on continuous integration
System.out.println("Creating another function app " + app4Name + "...");
FunctionApp app4 = azure.appServices().functionApps().define(app4Name).withExistingAppServicePlan(plan).withExistingResourceGroup(rgName).withExistingStorageAccount(app3.storageAccount()).create();
System.out.println("Created function app " + app4.name());
Utils.print(app4);
// warm up
System.out.println("Warming up " + app4Url + "...");
curl("http://" + app4Url);
Thread.sleep(5000);
System.out.println("CURLing " + app4Url + "...");
System.out.println(curl("http://" + app4Url));
return true;
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
} finally {
try {
System.out.println("Deleting Resource Group: " + rgName);
azure.resourceGroups().beginDeleteByName(rgName);
System.out.println("Deleted Resource Group: " + rgName);
} catch (NullPointerException npe) {
System.out.println("Did not create any resources in Azure. No clean up is necessary");
} catch (Exception g) {
g.printStackTrace();
}
}
return false;
}
use of com.microsoft.azure.management.appservice.AppServicePlan in project azure-tools-for-java by Microsoft.
the class WebAppDeployDialog method fillAppServiceDetails.
private void fillAppServiceDetails() {
validated();
int selectedRow = table.getSelectionIndex();
if (selectedRow < 0) {
browserAppServiceDetailes.setText("");
btnDelete.setEnabled(false);
return;
}
btnDelete.setEnabled(true);
String appServiceName = table.getItems()[selectedRow].getText(0);
WebAppDetails wad = webAppDetailsMap.get(appServiceName);
SubscriptionDetail sd = wad.subscriptionDetail;
AppServicePlan asp = wad.appServicePlan;
StringBuilder sb = new StringBuilder();
sb.append("<div style=\"margin: 7px 7px 7px 7px; " + browserFontStyle + "\">");
sb.append(String.format("App Service name: <b>%s</b>;<br/>", appServiceName));
sb.append(String.format("Subscription name: <b>%s</b>; id: <b>%s</b>;<br/>", sd.getSubscriptionName(), sd.getSubscriptionId()));
String aspName = asp == null ? "N/A" : asp.name();
String aspPricingTier = asp == null ? "N/A" : asp.pricingTier().toString();
sb.append(String.format("App Service Plan name: <b>%s</b>; Pricing tier: <b>%s</b>;<br/>", aspName, aspPricingTier));
String link = buildSiteLink(wad.webApp, null);
sb.append(String.format("Link: <a href=\"%s\">%s</a><br/>", link, link));
sb.append(String.format("<a href=\"%s\">%s</a>", ftpLinkString, "Show FTP deployment credentials"));
sb.append("</div>");
browserAppServiceDetailes.setText(sb.toString());
}
use of com.microsoft.azure.management.appservice.AppServicePlan in project azure-tools-for-java by Microsoft.
the class AppServiceCreateDialog method fillAppServicePlansDetails.
protected void fillAppServicePlansDetails() {
DefaultComboBoxModel<AppServicePlanAdapter> cbModel = (DefaultComboBoxModel<AppServicePlanAdapter>) comboBoxAppServicePlan.getModel();
AppServicePlanAdapter aspa = (AppServicePlanAdapter) cbModel.getSelectedItem();
if (aspa == null || aspa.getAdapted() == null) {
// empty || <create new>
labelFieldAppServicePlanLocation.setText(textNotAvailable);
labelFieldAppServicePlanTier.setText(textNotAvailable);
return;
} else {
AppServicePlan asp = aspa.getAdapted();
labelFieldAppServicePlanLocation.setText(asp.region().label());
labelFieldAppServicePlanTier.setText(asp.pricingTier().toString());
}
}
use of com.microsoft.azure.management.appservice.AppServicePlan in project azure-tools-for-java by Microsoft.
the class WebAppDeployDialog method doFillTable.
private void doFillTable() {
Map<SubscriptionDetail, List<ResourceGroup>> srgMap = AzureModel.getInstance().getSubscriptionToResourceGroupMap();
Map<ResourceGroup, List<WebApp>> rgwaMap = AzureModel.getInstance().getResourceGroupToWebAppMap();
Map<ResourceGroup, List<AppServicePlan>> rgaspMap = AzureModel.getInstance().getResourceGroupToAppServicePlanMap();
if (srgMap == null)
throw new NullPointerException("srgMap is null");
if (rgwaMap == null)
throw new NullPointerException("rgwaMap is null");
if (rgaspMap == null)
throw new NullPointerException("rgaspMap is null");
cleanTable();
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
for (SubscriptionDetail sd : srgMap.keySet()) {
if (!sd.isSelected())
continue;
Map<String, WebAppUtils.AspDetails> aspMap = new HashMap<>();
try {
for (ResourceGroup rg : srgMap.get(sd)) {
for (AppServicePlan asp : rgaspMap.get(rg)) {
aspMap.put(asp.id(), new WebAppUtils.AspDetails(asp, rg));
}
}
} catch (NullPointerException npe) {
LOGGER.error("NPE while initializing App Service Plan map", npe);
}
for (ResourceGroup rg : srgMap.get(sd)) {
for (WebApp wa : rgwaMap.get(rg)) {
if (wa.javaVersion() != JavaVersion.OFF) {
tableModel.addRow(new String[] { wa.name(), wa.javaVersion().toString(), wa.javaContainer() + " " + wa.javaContainerVersion(), wa.resourceGroupName() });
} else {
tableModel.addRow(new String[] { wa.name(), "Off", "N/A", wa.resourceGroupName() });
}
WebAppDetails webAppDetails = new WebAppDetails();
webAppDetails.webApp = wa;
webAppDetails.subscriptionDetail = sd;
webAppDetails.resourceGroup = rg;
webAppDetails.appServicePlan = aspMap.get(wa.appServicePlanId()).getAsp();
webAppDetails.appServicePlanResourceGroup = aspMap.get(wa.appServicePlanId()).getRg();
webAppWebAppDetailsMap.put(wa.name(), webAppDetails);
}
}
}
table.setModel(tableModel);
if (tableModel.getRowCount() > 0)
tableModel.fireTableDataChanged();
}
Aggregations