All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.appservice.inputs.FunctionAppState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.appservice.inputs;
import com.pulumi.azure.appservice.inputs.FunctionAppAuthSettingsArgs;
import com.pulumi.azure.appservice.inputs.FunctionAppConnectionStringArgs;
import com.pulumi.azure.appservice.inputs.FunctionAppIdentityArgs;
import com.pulumi.azure.appservice.inputs.FunctionAppSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.FunctionAppSiteCredentialArgs;
import com.pulumi.azure.appservice.inputs.FunctionAppSourceControlArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class FunctionAppState extends com.pulumi.resources.ResourceArgs {
public static final FunctionAppState Empty = new FunctionAppState();
/**
* The ID of the App Service Plan within which to create this Function App.
*
*/
@Import(name="appServicePlanId")
private @Nullable Output appServicePlanId;
/**
* @return The ID of the App Service Plan within which to create this Function App.
*
*/
public Optional> appServicePlanId() {
return Optional.ofNullable(this.appServicePlanId);
}
/**
* A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
*
* > **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on `storage_account_name` and `storage_account_access_key`. `FUNCTIONS_EXTENSION_VERSION` is filled based on `version`.
*
*/
@Import(name="appSettings")
private @Nullable Output> appSettings;
/**
* @return A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
*
* > **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on `storage_account_name` and `storage_account_access_key`. `FUNCTIONS_EXTENSION_VERSION` is filled based on `version`.
*
*/
public Optional>> appSettings() {
return Optional.ofNullable(this.appSettings);
}
/**
* A `auth_settings` block as defined below.
*
*/
@Import(name="authSettings")
private @Nullable Output authSettings;
/**
* @return A `auth_settings` block as defined below.
*
*/
public Optional> authSettings() {
return Optional.ofNullable(this.authSettings);
}
/**
* The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.
*
*/
@Import(name="clientCertMode")
private @Nullable Output clientCertMode;
/**
* @return The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.
*
*/
public Optional> clientCertMode() {
return Optional.ofNullable(this.clientCertMode);
}
/**
* An `connection_string` block as defined below.
*
*/
@Import(name="connectionStrings")
private @Nullable Output> connectionStrings;
/**
* @return An `connection_string` block as defined below.
*
*/
public Optional>> connectionStrings() {
return Optional.ofNullable(this.connectionStrings);
}
/**
* An identifier used by App Service to perform domain ownership verification via DNS TXT record.
*
*/
@Import(name="customDomainVerificationId")
private @Nullable Output customDomainVerificationId;
/**
* @return An identifier used by App Service to perform domain ownership verification via DNS TXT record.
*
*/
public Optional> customDomainVerificationId() {
return Optional.ofNullable(this.customDomainVerificationId);
}
/**
* The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
*
*/
@Import(name="dailyMemoryTimeQuota")
private @Nullable Output dailyMemoryTimeQuota;
/**
* @return The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
*
*/
public Optional> dailyMemoryTimeQuota() {
return Optional.ofNullable(this.dailyMemoryTimeQuota);
}
/**
* The default hostname associated with the Function App - such as `mysite.azurewebsites.net`
*
*/
@Import(name="defaultHostname")
private @Nullable Output defaultHostname;
/**
* @return The default hostname associated with the Function App - such as `mysite.azurewebsites.net`
*
*/
public Optional> defaultHostname() {
return Optional.ofNullable(this.defaultHostname);
}
/**
* Should the built-in logging of this Function App be enabled? Defaults to `true`.
*
*/
@Import(name="enableBuiltinLogging")
private @Nullable Output enableBuiltinLogging;
/**
* @return Should the built-in logging of this Function App be enabled? Defaults to `true`.
*
*/
public Optional> enableBuiltinLogging() {
return Optional.ofNullable(this.enableBuiltinLogging);
}
/**
* Is the Function App enabled? Defaults to `true`.
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return Is the Function App enabled? Defaults to `true`.
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* Can the Function App only be accessed via HTTPS? Defaults to `false`.
*
*/
@Import(name="httpsOnly")
private @Nullable Output httpsOnly;
/**
* @return Can the Function App only be accessed via HTTPS? Defaults to `false`.
*
*/
public Optional> httpsOnly() {
return Optional.ofNullable(this.httpsOnly);
}
/**
* An `identity` block as defined below.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return An `identity` block as defined below.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.
*
*/
@Import(name="keyVaultReferenceIdentityId")
private @Nullable Output keyVaultReferenceIdentityId;
/**
* @return The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.
*
*/
public Optional> keyVaultReferenceIdentityId() {
return Optional.ofNullable(this.keyVaultReferenceIdentityId);
}
/**
* The Function App kind - such as `functionapp,linux,container`
*
*/
@Import(name="kind")
private @Nullable Output kind;
/**
* @return The Function App kind - such as `functionapp,linux,container`
*
*/
public Optional> kind() {
return Optional.ofNullable(this.kind);
}
/**
* Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* A string indicating the Operating System type for this function app. Possible values are `linux` and ``(empty string). Changing this forces a new resource to be created. Defaults to `""`.
*
* > **NOTE:** This value will be `linux` for Linux derivatives, or an empty string for Windows (default). When set to `linux` you must also set `azure.appservice.Plan` arguments as `kind = "Linux"` and `reserved = true`
*
*/
@Import(name="osType")
private @Nullable Output osType;
/**
* @return A string indicating the Operating System type for this function app. Possible values are `linux` and ``(empty string). Changing this forces a new resource to be created. Defaults to `""`.
*
* > **NOTE:** This value will be `linux` for Linux derivatives, or an empty string for Windows (default). When set to `linux` you must also set `azure.appservice.Plan` arguments as `kind = "Linux"` and `reserved = true`
*
*/
public Optional> osType() {
return Optional.ofNullable(this.osType);
}
/**
* A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`
*
*/
@Import(name="outboundIpAddresses")
private @Nullable Output outboundIpAddresses;
/**
* @return A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`
*
*/
public Optional> outboundIpAddresses() {
return Optional.ofNullable(this.outboundIpAddresses);
}
/**
* A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of `outbound_ip_addresses`.
*
*/
@Import(name="possibleOutboundIpAddresses")
private @Nullable Output possibleOutboundIpAddresses;
/**
* @return A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of `outbound_ip_addresses`.
*
*/
public Optional> possibleOutboundIpAddresses() {
return Optional.ofNullable(this.possibleOutboundIpAddresses);
}
/**
* The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
*
*/
@Import(name="resourceGroupName")
private @Nullable Output resourceGroupName;
/**
* @return The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
*
*/
public Optional> resourceGroupName() {
return Optional.ofNullable(this.resourceGroupName);
}
/**
* A `site_config` object as defined below.
*
*/
@Import(name="siteConfig")
private @Nullable Output siteConfig;
/**
* @return A `site_config` object as defined below.
*
*/
public Optional> siteConfig() {
return Optional.ofNullable(this.siteConfig);
}
/**
* A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.
*
*/
@Import(name="siteCredentials")
private @Nullable Output> siteCredentials;
/**
* @return A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.
*
*/
public Optional>> siteCredentials() {
return Optional.ofNullable(this.siteCredentials);
}
/**
* A `source_control` block, as defined below.
*
*/
@Import(name="sourceControl")
private @Nullable Output sourceControl;
/**
* @return A `source_control` block, as defined below.
*
*/
public Optional> sourceControl() {
return Optional.ofNullable(this.sourceControl);
}
/**
* The access key which will be used to access the backend storage account for the Function App.
*
* > **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`"WEBSITE_RUN_FROM_PACKAGE" = ""`, `"FUNCTIONS_WORKER_RUNTIME" = "node"` (or python, etc), `"WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1"`, `"APPINSIGHTS_INSTRUMENTATIONKEY" = ""`).
*
* > **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
*/
@Import(name="storageAccountAccessKey")
private @Nullable Output storageAccountAccessKey;
/**
* @return The access key which will be used to access the backend storage account for the Function App.
*
* > **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`"WEBSITE_RUN_FROM_PACKAGE" = ""`, `"FUNCTIONS_WORKER_RUNTIME" = "node"` (or python, etc), `"WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1"`, `"APPINSIGHTS_INSTRUMENTATIONKEY" = ""`).
*
* > **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
*/
public Optional> storageAccountAccessKey() {
return Optional.ofNullable(this.storageAccountAccessKey);
}
/**
* The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
*
*/
@Import(name="storageAccountName")
private @Nullable Output storageAccountName;
/**
* @return The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
*
*/
public Optional> storageAccountName() {
return Optional.ofNullable(this.storageAccountName);
}
/**
* A mapping of tags to assign to the resource.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags to assign to the resource.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The runtime version associated with the Function App. Defaults to `~1`.
*
*/
@Import(name="version")
private @Nullable Output version;
/**
* @return The runtime version associated with the Function App. Defaults to `~1`.
*
*/
public Optional> version() {
return Optional.ofNullable(this.version);
}
private FunctionAppState() {}
private FunctionAppState(FunctionAppState $) {
this.appServicePlanId = $.appServicePlanId;
this.appSettings = $.appSettings;
this.authSettings = $.authSettings;
this.clientCertMode = $.clientCertMode;
this.connectionStrings = $.connectionStrings;
this.customDomainVerificationId = $.customDomainVerificationId;
this.dailyMemoryTimeQuota = $.dailyMemoryTimeQuota;
this.defaultHostname = $.defaultHostname;
this.enableBuiltinLogging = $.enableBuiltinLogging;
this.enabled = $.enabled;
this.httpsOnly = $.httpsOnly;
this.identity = $.identity;
this.keyVaultReferenceIdentityId = $.keyVaultReferenceIdentityId;
this.kind = $.kind;
this.location = $.location;
this.name = $.name;
this.osType = $.osType;
this.outboundIpAddresses = $.outboundIpAddresses;
this.possibleOutboundIpAddresses = $.possibleOutboundIpAddresses;
this.resourceGroupName = $.resourceGroupName;
this.siteConfig = $.siteConfig;
this.siteCredentials = $.siteCredentials;
this.sourceControl = $.sourceControl;
this.storageAccountAccessKey = $.storageAccountAccessKey;
this.storageAccountName = $.storageAccountName;
this.tags = $.tags;
this.version = $.version;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FunctionAppState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private FunctionAppState $;
public Builder() {
$ = new FunctionAppState();
}
public Builder(FunctionAppState defaults) {
$ = new FunctionAppState(Objects.requireNonNull(defaults));
}
/**
* @param appServicePlanId The ID of the App Service Plan within which to create this Function App.
*
* @return builder
*
*/
public Builder appServicePlanId(@Nullable Output appServicePlanId) {
$.appServicePlanId = appServicePlanId;
return this;
}
/**
* @param appServicePlanId The ID of the App Service Plan within which to create this Function App.
*
* @return builder
*
*/
public Builder appServicePlanId(String appServicePlanId) {
return appServicePlanId(Output.of(appServicePlanId));
}
/**
* @param appSettings A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
*
* > **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on `storage_account_name` and `storage_account_access_key`. `FUNCTIONS_EXTENSION_VERSION` is filled based on `version`.
*
* @return builder
*
*/
public Builder appSettings(@Nullable Output> appSettings) {
$.appSettings = appSettings;
return this;
}
/**
* @param appSettings A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
*
* > **NOTE:** The values for `AzureWebJobsStorage` and `FUNCTIONS_EXTENSION_VERSION` will be filled by other input arguments and shouldn't be configured separately. `AzureWebJobsStorage` is filled based on `storage_account_name` and `storage_account_access_key`. `FUNCTIONS_EXTENSION_VERSION` is filled based on `version`.
*
* @return builder
*
*/
public Builder appSettings(Map appSettings) {
return appSettings(Output.of(appSettings));
}
/**
* @param authSettings A `auth_settings` block as defined below.
*
* @return builder
*
*/
public Builder authSettings(@Nullable Output authSettings) {
$.authSettings = authSettings;
return this;
}
/**
* @param authSettings A `auth_settings` block as defined below.
*
* @return builder
*
*/
public Builder authSettings(FunctionAppAuthSettingsArgs authSettings) {
return authSettings(Output.of(authSettings));
}
/**
* @param clientCertMode The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.
*
* @return builder
*
*/
public Builder clientCertMode(@Nullable Output clientCertMode) {
$.clientCertMode = clientCertMode;
return this;
}
/**
* @param clientCertMode The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required` and `Optional`.
*
* @return builder
*
*/
public Builder clientCertMode(String clientCertMode) {
return clientCertMode(Output.of(clientCertMode));
}
/**
* @param connectionStrings An `connection_string` block as defined below.
*
* @return builder
*
*/
public Builder connectionStrings(@Nullable Output> connectionStrings) {
$.connectionStrings = connectionStrings;
return this;
}
/**
* @param connectionStrings An `connection_string` block as defined below.
*
* @return builder
*
*/
public Builder connectionStrings(List connectionStrings) {
return connectionStrings(Output.of(connectionStrings));
}
/**
* @param connectionStrings An `connection_string` block as defined below.
*
* @return builder
*
*/
public Builder connectionStrings(FunctionAppConnectionStringArgs... connectionStrings) {
return connectionStrings(List.of(connectionStrings));
}
/**
* @param customDomainVerificationId An identifier used by App Service to perform domain ownership verification via DNS TXT record.
*
* @return builder
*
*/
public Builder customDomainVerificationId(@Nullable Output customDomainVerificationId) {
$.customDomainVerificationId = customDomainVerificationId;
return this;
}
/**
* @param customDomainVerificationId An identifier used by App Service to perform domain ownership verification via DNS TXT record.
*
* @return builder
*
*/
public Builder customDomainVerificationId(String customDomainVerificationId) {
return customDomainVerificationId(Output.of(customDomainVerificationId));
}
/**
* @param dailyMemoryTimeQuota The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
*
* @return builder
*
*/
public Builder dailyMemoryTimeQuota(@Nullable Output dailyMemoryTimeQuota) {
$.dailyMemoryTimeQuota = dailyMemoryTimeQuota;
return this;
}
/**
* @param dailyMemoryTimeQuota The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
*
* @return builder
*
*/
public Builder dailyMemoryTimeQuota(Integer dailyMemoryTimeQuota) {
return dailyMemoryTimeQuota(Output.of(dailyMemoryTimeQuota));
}
/**
* @param defaultHostname The default hostname associated with the Function App - such as `mysite.azurewebsites.net`
*
* @return builder
*
*/
public Builder defaultHostname(@Nullable Output defaultHostname) {
$.defaultHostname = defaultHostname;
return this;
}
/**
* @param defaultHostname The default hostname associated with the Function App - such as `mysite.azurewebsites.net`
*
* @return builder
*
*/
public Builder defaultHostname(String defaultHostname) {
return defaultHostname(Output.of(defaultHostname));
}
/**
* @param enableBuiltinLogging Should the built-in logging of this Function App be enabled? Defaults to `true`.
*
* @return builder
*
*/
public Builder enableBuiltinLogging(@Nullable Output enableBuiltinLogging) {
$.enableBuiltinLogging = enableBuiltinLogging;
return this;
}
/**
* @param enableBuiltinLogging Should the built-in logging of this Function App be enabled? Defaults to `true`.
*
* @return builder
*
*/
public Builder enableBuiltinLogging(Boolean enableBuiltinLogging) {
return enableBuiltinLogging(Output.of(enableBuiltinLogging));
}
/**
* @param enabled Is the Function App enabled? Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled Is the Function App enabled? Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param httpsOnly Can the Function App only be accessed via HTTPS? Defaults to `false`.
*
* @return builder
*
*/
public Builder httpsOnly(@Nullable Output httpsOnly) {
$.httpsOnly = httpsOnly;
return this;
}
/**
* @param httpsOnly Can the Function App only be accessed via HTTPS? Defaults to `false`.
*
* @return builder
*
*/
public Builder httpsOnly(Boolean httpsOnly) {
return httpsOnly(Output.of(httpsOnly));
}
/**
* @param identity An `identity` block as defined below.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity An `identity` block as defined below.
*
* @return builder
*
*/
public Builder identity(FunctionAppIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param keyVaultReferenceIdentityId The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.
*
* @return builder
*
*/
public Builder keyVaultReferenceIdentityId(@Nullable Output keyVaultReferenceIdentityId) {
$.keyVaultReferenceIdentityId = keyVaultReferenceIdentityId;
return this;
}
/**
* @param keyVaultReferenceIdentityId The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See [Access vaults with a user-assigned identity](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity) for more information.
*
* @return builder
*
*/
public Builder keyVaultReferenceIdentityId(String keyVaultReferenceIdentityId) {
return keyVaultReferenceIdentityId(Output.of(keyVaultReferenceIdentityId));
}
/**
* @param kind The Function App kind - such as `functionapp,linux,container`
*
* @return builder
*
*/
public Builder kind(@Nullable Output kind) {
$.kind = kind;
return this;
}
/**
* @param kind The Function App kind - such as `functionapp,linux,container`
*
* @return builder
*
*/
public Builder kind(String kind) {
return kind(Output.of(kind));
}
/**
* @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param name Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about [Function App naming rule](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftweb).
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param osType A string indicating the Operating System type for this function app. Possible values are `linux` and ``(empty string). Changing this forces a new resource to be created. Defaults to `""`.
*
* > **NOTE:** This value will be `linux` for Linux derivatives, or an empty string for Windows (default). When set to `linux` you must also set `azure.appservice.Plan` arguments as `kind = "Linux"` and `reserved = true`
*
* @return builder
*
*/
public Builder osType(@Nullable Output osType) {
$.osType = osType;
return this;
}
/**
* @param osType A string indicating the Operating System type for this function app. Possible values are `linux` and ``(empty string). Changing this forces a new resource to be created. Defaults to `""`.
*
* > **NOTE:** This value will be `linux` for Linux derivatives, or an empty string for Windows (default). When set to `linux` you must also set `azure.appservice.Plan` arguments as `kind = "Linux"` and `reserved = true`
*
* @return builder
*
*/
public Builder osType(String osType) {
return osType(Output.of(osType));
}
/**
* @param outboundIpAddresses A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`
*
* @return builder
*
*/
public Builder outboundIpAddresses(@Nullable Output outboundIpAddresses) {
$.outboundIpAddresses = outboundIpAddresses;
return this;
}
/**
* @param outboundIpAddresses A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12`
*
* @return builder
*
*/
public Builder outboundIpAddresses(String outboundIpAddresses) {
return outboundIpAddresses(Output.of(outboundIpAddresses));
}
/**
* @param possibleOutboundIpAddresses A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of `outbound_ip_addresses`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddresses(@Nullable Output possibleOutboundIpAddresses) {
$.possibleOutboundIpAddresses = possibleOutboundIpAddresses;
return this;
}
/**
* @param possibleOutboundIpAddresses A comma separated list of outbound IP addresses - such as `52.23.25.3,52.143.43.12,52.143.43.17` - not all of which are necessarily in use. Superset of `outbound_ip_addresses`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddresses(String possibleOutboundIpAddresses) {
return possibleOutboundIpAddresses(Output.of(possibleOutboundIpAddresses));
}
/**
* @param resourceGroupName The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(@Nullable Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param siteConfig A `site_config` object as defined below.
*
* @return builder
*
*/
public Builder siteConfig(@Nullable Output siteConfig) {
$.siteConfig = siteConfig;
return this;
}
/**
* @param siteConfig A `site_config` object as defined below.
*
* @return builder
*
*/
public Builder siteConfig(FunctionAppSiteConfigArgs siteConfig) {
return siteConfig(Output.of(siteConfig));
}
/**
* @param siteCredentials A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.
*
* @return builder
*
*/
public Builder siteCredentials(@Nullable Output> siteCredentials) {
$.siteCredentials = siteCredentials;
return this;
}
/**
* @param siteCredentials A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.
*
* @return builder
*
*/
public Builder siteCredentials(List siteCredentials) {
return siteCredentials(Output.of(siteCredentials));
}
/**
* @param siteCredentials A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.
*
* @return builder
*
*/
public Builder siteCredentials(FunctionAppSiteCredentialArgs... siteCredentials) {
return siteCredentials(List.of(siteCredentials));
}
/**
* @param sourceControl A `source_control` block, as defined below.
*
* @return builder
*
*/
public Builder sourceControl(@Nullable Output sourceControl) {
$.sourceControl = sourceControl;
return this;
}
/**
* @param sourceControl A `source_control` block, as defined below.
*
* @return builder
*
*/
public Builder sourceControl(FunctionAppSourceControlArgs sourceControl) {
return sourceControl(Output.of(sourceControl));
}
/**
* @param storageAccountAccessKey The access key which will be used to access the backend storage account for the Function App.
*
* > **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`"WEBSITE_RUN_FROM_PACKAGE" = ""`, `"FUNCTIONS_WORKER_RUNTIME" = "node"` (or python, etc), `"WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1"`, `"APPINSIGHTS_INSTRUMENTATIONKEY" = ""`).
*
* > **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
* @return builder
*
*/
public Builder storageAccountAccessKey(@Nullable Output storageAccountAccessKey) {
$.storageAccountAccessKey = storageAccountAccessKey;
return this;
}
/**
* @param storageAccountAccessKey The access key which will be used to access the backend storage account for the Function App.
*
* > **Note:** When integrating a `CI/CD pipeline` and expecting to run from a deployed package in `Azure` you must seed your `app settings` as part of the application code for function app to be successfully deployed. `Important Default key pairs`: (`"WEBSITE_RUN_FROM_PACKAGE" = ""`, `"FUNCTIONS_WORKER_RUNTIME" = "node"` (or python, etc), `"WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1"`, `"APPINSIGHTS_INSTRUMENTATIONKEY" = ""`).
*
* > **Note:** When using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
*
* @return builder
*
*/
public Builder storageAccountAccessKey(String storageAccountAccessKey) {
return storageAccountAccessKey(Output.of(storageAccountAccessKey));
}
/**
* @param storageAccountName The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder storageAccountName(@Nullable Output storageAccountName) {
$.storageAccountName = storageAccountName;
return this;
}
/**
* @param storageAccountName The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder storageAccountName(String storageAccountName) {
return storageAccountName(Output.of(storageAccountName));
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param version The runtime version associated with the Function App. Defaults to `~1`.
*
* @return builder
*
*/
public Builder version(@Nullable Output version) {
$.version = version;
return this;
}
/**
* @param version The runtime version associated with the Function App. Defaults to `~1`.
*
* @return builder
*
*/
public Builder version(String version) {
return version(Output.of(version));
}
public FunctionAppState build() {
return $;
}
}
}