public String getDefaultHostName() { return app.defaultHostName(); }
public String getName() { return app.name(); }
public Map<String, AppSetting> getAppSettings() { return app.getAppSettings(); }
protected WebAppProperty generateProperty(@NotNull final WebAppBase webAppBase, @NotNull final AppServicePlan plan) { final Map<String, String> appSettingsMap = new HashMap<>(); final Map<String, AppSetting> appSetting = webAppBase.getAppSettings(); for (final String key : appSetting.keySet()) { final AppSetting setting = appSetting.get(key); if (setting != null) { appSettingsMap.put(setting.key(), setting.value()); } } final Map<String, Object> propertyMap = new HashMap<>(); propertyMap.put(KEY_NAME, webAppBase.name()); propertyMap.put(KEY_TYPE, webAppBase.type()); propertyMap.put(KEY_RESOURCE_GRP, webAppBase.resourceGroupName()); propertyMap.put(KEY_LOCATION, webAppBase.regionName()); propertyMap.put(KEY_SUB_ID, webAppBase.manager().subscriptionId()); propertyMap.put(KEY_STATUS, webAppBase.state()); propertyMap.put(KEY_PLAN, plan.name()); propertyMap.put(KEY_URL, webAppBase.defaultHostName()); propertyMap.put(KEY_PRICING, plan.pricingTier().toString()); final String javaVersion = webAppBase.javaVersion().toString(); if (!javaVersion.equals("null")) { propertyMap.put(KEY_JAVA_VERSION, webAppBase.javaVersion().toString()); propertyMap.put(KEY_JAVA_CONTAINER, webAppBase.javaContainer()); propertyMap.put(KEY_JAVA_CONTAINER_VERSION, webAppBase.javaContainerVersion()); } propertyMap.put(KEY_OPERATING_SYS, webAppBase.operatingSystem()); propertyMap.put(KEY_APP_SETTING, appSettingsMap); return new WebAppProperty(propertyMap); }
@Override public Observable<HostNameBinding> refreshAsync() { final HostNameBindingImpl<FluentT, FluentImplT> self = this; Observable<HostNameBindingInner> observable = null; if (parent instanceof DeploymentSlot) { observable = this.parent().manager().inner().webApps().getHostNameBindingSlotAsync( parent().resourceGroupName(), ((DeploymentSlot) parent).parent().name(), parent().name(), name()); } else { observable = this.parent().manager().inner().webApps().getHostNameBindingAsync(parent().resourceGroupName(), parent().name(), name()); } return observable.map(new Func1<HostNameBindingInner, HostNameBinding>() { @Override public HostNameBinding call(HostNameBindingInner hostNameBindingInner) { self.setInner(hostNameBindingInner); return self; } }); }
@Override public HostNameSslBindingImpl<FluentT, FluentImplT> withPfxCertificateToUpload(final File pfxFile, final String password) { String thumbprint = getCertificateThumbprint(pfxFile.getPath(), password); newCertificate = Utils.rootResource(this.parent().manager().certificates().define( getCertificateUniqueName(thumbprint, parent().region())) .withRegion(parent().region()) .withExistingResourceGroup(parent().resourceGroupName()) .withPfxFile(pfxFile) .withPfxPassword(password) .createAsync()); return this; }
KuduClient(WebAppBase webAppBase) { if (webAppBase.defaultHostName() == null) { throw new UnsupportedOperationException("Cannot initialize kudu client before web app is created"); } String host = webAppBase.defaultHostName().toLowerCase() .replace("http://", "") .replace("https://", ""); String[] parts = host.split("\\.", 2); host = Joiner.on('.').join(parts[0], "scm", parts[1]); service = webAppBase.manager().restClient().newBuilder() .withBaseUrl("https://" + host) .withConnectionTimeout(3, TimeUnit.MINUTES) .withReadTimeout(3, TimeUnit.MINUTES) .build() .retrofit().create(KuduService.class); }
@Override public HostNameSslBindingImpl<FluentT, FluentImplT> withExistingCertificate(final String certificateNameOrThumbprint) { newCertificate = this.parent().manager().certificates().listByResourceGroupAsync(parent().resourceGroupName()) .toList() .map(new Func1<List<AppServiceCertificate>, AppServiceCertificate>() { @Override public AppServiceCertificate call(List<AppServiceCertificate> appServiceCertificates) { for (AppServiceCertificate certificate : appServiceCertificates) { if (certificate.name().equals(certificateNameOrThumbprint) || certificate.thumbprint().equalsIgnoreCase(certificateNameOrThumbprint)) { return certificate; } } return null; } }) .map(new Func1<AppServiceCertificate, AppServiceCertificate>() { @Override public AppServiceCertificate call(AppServiceCertificate appServiceCertificate) { if (appServiceCertificate != null) { withCertificateThumbprint(certificateNameOrThumbprint); } return appServiceCertificate; } }); return this; }
@Override public Observable<AppServiceCertificate> call(AppServiceCertificateOrder appServiceCertificateOrder) { return Utils.rootResource(manager.certificates().define(appServiceCertificateOrder.name()) .withRegion(parent().regionName()) .withExistingResourceGroup(parent().resourceGroupName()) .withExistingCertificateOrder(appServiceCertificateOrder) .createAsync()); } });
@Override public HostNameSslBindingImpl<FluentT, FluentImplT> withNewKeyVault(String vaultName) { Observable<AppServiceCertificateOrder> appServiceCertificateOrderObservable = Utils.rootResource(certificateInDefinition .withNewKeyVault(vaultName, parent().region()) .createAsync()); final AppServiceManager manager = this.parent().manager(); this.newCertificate = appServiceCertificateOrderObservable .flatMap(new Func1<AppServiceCertificateOrder, Observable<AppServiceCertificate>>() { @Override public Observable<AppServiceCertificate> call(AppServiceCertificateOrder appServiceCertificateOrder) { return Utils.rootResource(manager.certificates().define(appServiceCertificateOrder.name()) .withRegion(parent().regionName()) .withExistingResourceGroup(parent().resourceGroupName()) .withExistingCertificateOrder(appServiceCertificateOrder) .createAsync()); } }); return this; }
@Override public String regionName() { return parent().regionName(); }
@Override public HostNameSslBindingImpl<FluentT, FluentImplT> withExistingKeyVault(final Vault vault) { Observable<AppServiceCertificateOrder> appServiceCertificateOrderObservable = Utils.rootResource(certificateInDefinition .withExistingKeyVault(vault) .createAsync()); final AppServiceManager manager = this.parent().manager(); this.newCertificate = appServiceCertificateOrderObservable .flatMap(new Func1<AppServiceCertificateOrder, Observable<AppServiceCertificate>>() { @Override public Observable<AppServiceCertificate> call(AppServiceCertificateOrder appServiceCertificateOrder) { return Utils.rootResource(manager.certificates().define(appServiceCertificateOrder.name()) .withRegion(parent().regionName()) .withExistingResourceGroup(parent().resourceGroupName()) .withExistingCertificateOrder(appServiceCertificateOrder) .createAsync()); } }); return this; }
public void msDeploy(final String packageUri, final boolean deleteExistingDeploymentSlot) { app.deploy() .withPackageUri(packageUri) .withExistingDeploymentsDeleted(deleteExistingDeploymentSlot) .execute(); }
@Override public Observable<Indexable> call(WebAppBase webAppBase) { if (webAppBase == null || !isInCreateMode()) { return DeploymentSlotBaseImpl.super.submitAppSettings(); } return webAppBase.getAppSettingsAsync().flatMap(new Func1<Map<String, AppSetting>, Observable<Indexable>>() { @Override public Observable<Indexable> call(Map<String, AppSetting> stringAppSettingMap) { for (AppSetting appSetting : stringAppSettingMap.values()) { if (appSetting.sticky()) { withStickyAppSetting(appSetting.key(), appSetting.value()); } else { withAppSetting(appSetting.key(), appSetting.value()); } } return DeploymentSlotBaseImpl.super.submitAppSettings(); } }); } });
public void onLoadWebAppProperty(final String sid, @NotNull final String webAppId, @Nullable final String name) { Observable.fromCallable(() -> { final Azure azure = AuthMethodManager.getInstance().getAzureClient(sid); final WebAppBase appBase = getWebAppBase(sid, webAppId, name); final AppServicePlan plan = azure.appServices().appServicePlans().getById(appBase.appServicePlanId()); return generateProperty(appBase, plan); }).subscribeOn(getSchedulerProvider().io()) .subscribe(property -> DefaultLoader.getIdeHelper().invokeLater(() -> { if (isViewDetached()) { return; } getMvpView().showProperty(property); }), e -> errorHandler((Exception) e)); }
@Override public Observable<Indexable> createAsync() { final HostNameBinding self = this; Func1<HostNameBindingInner, HostNameBinding> mapper = new Func1<HostNameBindingInner, HostNameBinding>() { @Override public HostNameBinding call(HostNameBindingInner hostNameBindingInner) { setInner(hostNameBindingInner); return self; } }; Observable<HostNameBinding> hostNameBindingObservable; if (parent instanceof DeploymentSlot) { hostNameBindingObservable = this.parent().manager().inner().webApps().createOrUpdateHostNameBindingSlotAsync( parent().resourceGroupName(), ((DeploymentSlot) parent).parent().name(), name, parent().name(), inner()).map(mapper); } else { hostNameBindingObservable = this.parent().manager().inner().webApps().createOrUpdateHostNameBindingAsync( parent().resourceGroupName(), parent().name(), name, inner()).map(mapper); } return hostNameBindingObservable.map(new Func1<HostNameBinding, Indexable>() { @Override public Indexable call(HostNameBinding hostNameBinding) { return hostNameBinding; } }); }
@Override public HostNameSslBindingImpl<FluentT, FluentImplT> withExistingAppServiceCertificateOrder(final AppServiceCertificateOrder certificateOrder) { Observable<Indexable> resourceStream = this.parent().manager().certificates().define(getCertificateUniqueName(certificateOrder.signedCertificate().thumbprint(), parent().region())) .withRegion(parent().region()) .withExistingResourceGroup(parent().resourceGroupName()) .withExistingCertificateOrder(certificateOrder) .createAsync(); newCertificate = Utils.rootResource(resourceStream); return this; }
@Override public HostNameSslBindingImpl<FluentT, FluentImplT> withNewStandardSslCertificateOrder(final String certificateOrderName) { this.certificateInDefinition = this.parent().manager().certificateOrders().define(certificateOrderName) .withExistingResourceGroup(parent().resourceGroupName()) .withHostName(name()) .withStandardSku() .withWebAppVerification(parent()); return this; }
@Override public Observable<AppServiceCertificate> call(AppServiceCertificateOrder appServiceCertificateOrder) { return Utils.rootResource(manager.certificates().define(appServiceCertificateOrder.name()) .withRegion(parent().regionName()) .withExistingResourceGroup(parent().resourceGroupName()) .withExistingCertificateOrder(appServiceCertificateOrder) .createAsync()); } });
public void msDeploy(final String packageUri, final boolean deleteExistingDeploymentSlot) { app.deploy() .withPackageUri(packageUri) .withExistingDeploymentsDeleted(deleteExistingDeploymentSlot) .execute(); }