in azure-functions-maven-plugin/src/main/java/com/microsoft/azure/maven/function/DeployMojo.java [110:160]
protected void validateParameters() {
// app name
if (StringUtils.isBlank(appName)) {
throw new AzureToolkitRuntimeException(EMPTY_APP_NAME);
}
if (appName.startsWith("-") || !appName.matches(APP_NAME_PATTERN)) {
throw new AzureToolkitRuntimeException(INVALID_APP_NAME);
}
// resource group
if (StringUtils.isBlank(resourceGroup)) {
throw new AzureToolkitRuntimeException(EMPTY_RESOURCE_GROUP);
}
if (resourceGroup.endsWith(".") || !resourceGroup.matches(RESOURCE_GROUP_PATTERN)) {
throw new AzureToolkitRuntimeException(INVALID_RESOURCE_GROUP_NAME);
}
// asp name & resource group
if (StringUtils.isNotEmpty(appServicePlanName) && !appServicePlanName.matches(APP_SERVICE_PLAN_NAME_PATTERN)) {
throw new AzureToolkitRuntimeException(String.format(INVALID_SERVICE_PLAN_NAME, APP_SERVICE_PLAN_NAME_PATTERN));
}
if (StringUtils.isNotEmpty(appServicePlanResourceGroup) &&
(appServicePlanResourceGroup.endsWith(".") || !appServicePlanResourceGroup.matches(RESOURCE_GROUP_PATTERN))) {
throw new AzureToolkitRuntimeException(INVALID_SERVICE_PLAN_RESOURCE_GROUP_NAME);
}
// slot name
if (deploymentSlotSetting != null && StringUtils.isEmpty(deploymentSlotSetting.getName())) {
throw new AzureToolkitRuntimeException(EMPTY_SLOT_NAME);
}
if (deploymentSlotSetting != null && !deploymentSlotSetting.getName().matches(SLOT_NAME_PATTERN)) {
throw new AzureToolkitRuntimeException(String.format(INVALID_SLOT_NAME, SLOT_NAME_PATTERN));
}
// region
if (StringUtils.isNotEmpty(region) && Region.fromName(region).isExpandedValue()) {
AzureMessager.getMessager().warning(String.format(EXPANDABLE_REGION_WARNING, region));
}
// os
if (StringUtils.isNotEmpty(runtime.getOs()) && OperatingSystem.fromString(runtime.getOs()) == null) {
throw new AzureToolkitRuntimeException(INVALID_OS);
}
// java version
if (StringUtils.isNotEmpty(runtime.getJavaVersion()) && JavaVersion.fromString(runtime.getJavaVersion()).isExpandedValue()) {
AzureMessager.getMessager().warning(String.format(EXPANDABLE_JAVA_VERSION_WARNING, runtime.getJavaVersion()));
}
// pricing tier
if (StringUtils.isNotEmpty(pricingTier) && PricingTier.fromString(pricingTier).isExpandedValue()) {
AzureMessager.getMessager().warning(String.format(EXPANDABLE_PRICING_TIER_WARNING, pricingTier));
}
// docker image
if (OperatingSystem.fromString(runtime.getOs()) == OperatingSystem.DOCKER && StringUtils.isEmpty(runtime.getImage())) {
throw new AzureToolkitRuntimeException(EMPTY_IMAGE_NAME);
}
}