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.LinuxFunctionAppSlotState 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.LinuxFunctionAppSlotAuthSettingsArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotAuthSettingsV2Args;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotBackupArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotConnectionStringArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotIdentityArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteCredentialArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotStorageAccountArgs;
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 LinuxFunctionAppSlotState extends com.pulumi.resources.ResourceArgs {
public static final LinuxFunctionAppSlotState Empty = new LinuxFunctionAppSlotState();
/**
* A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
*
*/
@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.
*
*/
public Optional>> appSettings() {
return Optional.ofNullable(this.appSettings);
}
/**
* an `auth_settings` block as detailed below.
*
*/
@Import(name="authSettings")
private @Nullable Output authSettings;
/**
* @return an `auth_settings` block as detailed below.
*
*/
public Optional> authSettings() {
return Optional.ofNullable(this.authSettings);
}
/**
* an `auth_settings_v2` block as detailed below.
*
*/
@Import(name="authSettingsV2")
private @Nullable Output authSettingsV2;
/**
* @return an `auth_settings_v2` block as detailed below.
*
*/
public Optional> authSettingsV2() {
return Optional.ofNullable(this.authSettingsV2);
}
/**
* a `backup` block as detailed below.
*
*/
@Import(name="backup")
private @Nullable Output backup;
/**
* @return a `backup` block as detailed below.
*
*/
public Optional> backup() {
return Optional.ofNullable(this.backup);
}
/**
* Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to `true`.
*
*/
@Import(name="builtinLoggingEnabled")
private @Nullable Output builtinLoggingEnabled;
/**
* @return Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to `true`.
*
*/
public Optional> builtinLoggingEnabled() {
return Optional.ofNullable(this.builtinLoggingEnabled);
}
/**
* Should the Function App Slot use Client Certificates.
*
*/
@Import(name="clientCertificateEnabled")
private @Nullable Output clientCertificateEnabled;
/**
* @return Should the Function App Slot use Client Certificates.
*
*/
public Optional> clientCertificateEnabled() {
return Optional.ofNullable(this.clientCertificateEnabled);
}
/**
* Paths to exclude when using client certificates, separated by ;
*
*/
@Import(name="clientCertificateExclusionPaths")
private @Nullable Output clientCertificateExclusionPaths;
/**
* @return Paths to exclude when using client certificates, separated by ;
*
*/
public Optional> clientCertificateExclusionPaths() {
return Optional.ofNullable(this.clientCertificateExclusionPaths);
}
/**
* The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.
*
*/
@Import(name="clientCertificateMode")
private @Nullable Output clientCertificateMode;
/**
* @return The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.
*
*/
public Optional> clientCertificateMode() {
return Optional.ofNullable(this.clientCertificateMode);
}
/**
* a `connection_string` block as detailed below.
*
*/
@Import(name="connectionStrings")
private @Nullable Output> connectionStrings;
/**
* @return a `connection_string` block as detailed below.
*
*/
public Optional>> connectionStrings() {
return Optional.ofNullable(this.connectionStrings);
}
/**
* Force disable the content share settings.
*
*/
@Import(name="contentShareForceDisabled")
private @Nullable Output contentShareForceDisabled;
/**
* @return Force disable the content share settings.
*
*/
public Optional> contentShareForceDisabled() {
return Optional.ofNullable(this.contentShareForceDisabled);
}
/**
* The identifier used by App Service to perform domain ownership verification via DNS TXT record.
*
*/
@Import(name="customDomainVerificationId")
private @Nullable Output customDomainVerificationId;
/**
* @return The 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 in Consumption Plans. Defaults to `0`.
*
*/
@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 in Consumption Plans. Defaults to `0`.
*
*/
public Optional> dailyMemoryTimeQuota() {
return Optional.ofNullable(this.dailyMemoryTimeQuota);
}
/**
* The default hostname of the Linux Function App Slot.
*
*/
@Import(name="defaultHostname")
private @Nullable Output defaultHostname;
/**
* @return The default hostname of the Linux Function App Slot.
*
*/
public Optional> defaultHostname() {
return Optional.ofNullable(this.defaultHostname);
}
/**
* Is the Linux Function App Slot enabled. Defaults to `true`.
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return Is the Linux Function App Slot enabled. Defaults to `true`.
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* Are the default FTP Basic Authentication publishing credentials enabled. Defaults to `true`.
*
*/
@Import(name="ftpPublishBasicAuthenticationEnabled")
private @Nullable Output ftpPublishBasicAuthenticationEnabled;
/**
* @return Are the default FTP Basic Authentication publishing credentials enabled. Defaults to `true`.
*
*/
public Optional> ftpPublishBasicAuthenticationEnabled() {
return Optional.ofNullable(this.ftpPublishBasicAuthenticationEnabled);
}
/**
* The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.
*
*/
@Import(name="functionAppId")
private @Nullable Output functionAppId;
/**
* @return The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.
*
*/
public Optional> functionAppId() {
return Optional.ofNullable(this.functionAppId);
}
/**
* The runtime version associated with the Function App Slot. Defaults to `~4`.
*
*/
@Import(name="functionsExtensionVersion")
private @Nullable Output functionsExtensionVersion;
/**
* @return The runtime version associated with the Function App Slot. Defaults to `~4`.
*
*/
public Optional> functionsExtensionVersion() {
return Optional.ofNullable(this.functionsExtensionVersion);
}
/**
* The ID of the App Service Environment used by Function App Slot.
*
*/
@Import(name="hostingEnvironmentId")
private @Nullable Output hostingEnvironmentId;
/**
* @return The ID of the App Service Environment used by Function App Slot.
*
*/
public Optional> hostingEnvironmentId() {
return Optional.ofNullable(this.hostingEnvironmentId);
}
/**
* Can the Function App Slot only be accessed via HTTPS?. Defaults to `false`.
*
*/
@Import(name="httpsOnly")
private @Nullable Output httpsOnly;
/**
* @return Can the Function App Slot only be accessed via HTTPS?. Defaults to `false`.
*
*/
public Optional> httpsOnly() {
return Optional.ofNullable(this.httpsOnly);
}
/**
* An `identity` block as detailed below.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return An `identity` block as detailed below.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the `identity` block. [For more information 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)
*
*/
@Import(name="keyVaultReferenceIdentityId")
private @Nullable Output keyVaultReferenceIdentityId;
/**
* @return The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the `identity` block. [For more information 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)
*
*/
public Optional> keyVaultReferenceIdentityId() {
return Optional.ofNullable(this.keyVaultReferenceIdentityId);
}
/**
* The Kind value for this Linux Function App Slot.
*
*/
@Import(name="kind")
private @Nullable Output kind;
/**
* @return The Kind value for this Linux Function App Slot.
*
*/
public Optional> kind() {
return Optional.ofNullable(this.kind);
}
/**
* Specifies the name of the Function App Slot. Changing this forces a new resource to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Specifies the name of the Function App Slot. Changing this forces a new resource to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* A list of outbound IP addresses. For example `["52.23.25.3", "52.143.43.12"]`
*
*/
@Import(name="outboundIpAddressLists")
private @Nullable Output> outboundIpAddressLists;
/**
* @return A list of outbound IP addresses. For example `["52.23.25.3", "52.143.43.12"]`
*
*/
public Optional>> outboundIpAddressLists() {
return Optional.ofNullable(this.outboundIpAddressLists);
}
/**
* A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.
*
*/
@Import(name="outboundIpAddresses")
private @Nullable Output outboundIpAddresses;
/**
* @return A comma separated list of outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12`.
*
*/
public Optional> outboundIpAddresses() {
return Optional.ofNullable(this.outboundIpAddresses);
}
/**
* A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of `outbound_ip_address_list`. For example `["52.23.25.3", "52.143.43.12"]`.
*
*/
@Import(name="possibleOutboundIpAddressLists")
private @Nullable Output> possibleOutboundIpAddressLists;
/**
* @return A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of `outbound_ip_address_list`. For example `["52.23.25.3", "52.143.43.12"]`.
*
*/
public Optional>> possibleOutboundIpAddressLists() {
return Optional.ofNullable(this.possibleOutboundIpAddressLists);
}
/**
* A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of `outbound_ip_addresses`. For example `["52.23.25.3", "52.143.43.12","52.143.43.17"]`.
*
*/
@Import(name="possibleOutboundIpAddresses")
private @Nullable Output possibleOutboundIpAddresses;
/**
* @return A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of `outbound_ip_addresses`. For example `["52.23.25.3", "52.143.43.12","52.143.43.17"]`.
*
*/
public Optional> possibleOutboundIpAddresses() {
return Optional.ofNullable(this.possibleOutboundIpAddresses);
}
/**
* Should public network access be enabled for the Function App. Defaults to `true`.
*
*/
@Import(name="publicNetworkAccessEnabled")
private @Nullable Output publicNetworkAccessEnabled;
/**
* @return Should public network access be enabled for the Function App. Defaults to `true`.
*
*/
public Optional> publicNetworkAccessEnabled() {
return Optional.ofNullable(this.publicNetworkAccessEnabled);
}
/**
* The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.
*
*/
@Import(name="servicePlanId")
private @Nullable Output servicePlanId;
/**
* @return The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.
*
*/
public Optional> servicePlanId() {
return Optional.ofNullable(this.servicePlanId);
}
/**
* a `site_config` block as detailed below.
*
*/
@Import(name="siteConfig")
private @Nullable Output siteConfig;
/**
* @return a `site_config` block as detailed below.
*
*/
public Optional> siteConfig() {
return Optional.ofNullable(this.siteConfig);
}
/**
* A `site_credential` block as defined below.
*
*/
@Import(name="siteCredentials")
private @Nullable Output> siteCredentials;
/**
* @return A `site_credential` block as defined below.
*
*/
public Optional>> siteCredentials() {
return Optional.ofNullable(this.siteCredentials);
}
/**
* The access key which will be used to access the storage account for the Function App Slot.
*
*/
@Import(name="storageAccountAccessKey")
private @Nullable Output storageAccountAccessKey;
/**
* @return The access key which will be used to access the storage account for the Function App Slot.
*
*/
public Optional> storageAccountAccessKey() {
return Optional.ofNullable(this.storageAccountAccessKey);
}
/**
* The backend storage account name which will be used by this Function App Slot.
*
*/
@Import(name="storageAccountName")
private @Nullable Output storageAccountName;
/**
* @return The backend storage account name which will be used by this Function App Slot.
*
*/
public Optional> storageAccountName() {
return Optional.ofNullable(this.storageAccountName);
}
/**
* One or more `storage_account` blocks as defined below.
*
*/
@Import(name="storageAccounts")
private @Nullable Output> storageAccounts;
/**
* @return One or more `storage_account` blocks as defined below.
*
*/
public Optional>> storageAccounts() {
return Optional.ofNullable(this.storageAccounts);
}
/**
* The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.
*
* > **NOTE:** `storage_key_vault_secret_id` cannot be used with `storage_account_name`.
*
* > **NOTE:** `storage_key_vault_secret_id` used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.
*
*/
@Import(name="storageKeyVaultSecretId")
private @Nullable Output storageKeyVaultSecretId;
/**
* @return The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.
*
* > **NOTE:** `storage_key_vault_secret_id` cannot be used with `storage_account_name`.
*
* > **NOTE:** `storage_key_vault_secret_id` used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.
*
*/
public Optional> storageKeyVaultSecretId() {
return Optional.ofNullable(this.storageKeyVaultSecretId);
}
/**
* Should the Function App Slot use its Managed Identity to access storage.
*
* > **NOTE:** One of `storage_account_access_key` or `storage_uses_managed_identity` must be specified when using `storage_account_name`.
*
*/
@Import(name="storageUsesManagedIdentity")
private @Nullable Output storageUsesManagedIdentity;
/**
* @return Should the Function App Slot use its Managed Identity to access storage.
*
* > **NOTE:** One of `storage_account_access_key` or `storage_uses_managed_identity` must be specified when using `storage_account_name`.
*
*/
public Optional> storageUsesManagedIdentity() {
return Optional.ofNullable(this.storageUsesManagedIdentity);
}
/**
* A mapping of tags which should be assigned to the Linux Function App.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags which should be assigned to the Linux Function App.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
@Import(name="virtualNetworkSubnetId")
private @Nullable Output virtualNetworkSubnetId;
public Optional> virtualNetworkSubnetId() {
return Optional.ofNullable(this.virtualNetworkSubnetId);
}
/**
* Is container image pull over virtual network enabled? Defaults to `false`.
*
*/
@Import(name="vnetImagePullEnabled")
private @Nullable Output vnetImagePullEnabled;
/**
* @return Is container image pull over virtual network enabled? Defaults to `false`.
*
*/
public Optional> vnetImagePullEnabled() {
return Optional.ofNullable(this.vnetImagePullEnabled);
}
/**
* Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to `true`.
*
*/
@Import(name="webdeployPublishBasicAuthenticationEnabled")
private @Nullable Output webdeployPublishBasicAuthenticationEnabled;
/**
* @return Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to `true`.
*
*/
public Optional> webdeployPublishBasicAuthenticationEnabled() {
return Optional.ofNullable(this.webdeployPublishBasicAuthenticationEnabled);
}
private LinuxFunctionAppSlotState() {}
private LinuxFunctionAppSlotState(LinuxFunctionAppSlotState $) {
this.appSettings = $.appSettings;
this.authSettings = $.authSettings;
this.authSettingsV2 = $.authSettingsV2;
this.backup = $.backup;
this.builtinLoggingEnabled = $.builtinLoggingEnabled;
this.clientCertificateEnabled = $.clientCertificateEnabled;
this.clientCertificateExclusionPaths = $.clientCertificateExclusionPaths;
this.clientCertificateMode = $.clientCertificateMode;
this.connectionStrings = $.connectionStrings;
this.contentShareForceDisabled = $.contentShareForceDisabled;
this.customDomainVerificationId = $.customDomainVerificationId;
this.dailyMemoryTimeQuota = $.dailyMemoryTimeQuota;
this.defaultHostname = $.defaultHostname;
this.enabled = $.enabled;
this.ftpPublishBasicAuthenticationEnabled = $.ftpPublishBasicAuthenticationEnabled;
this.functionAppId = $.functionAppId;
this.functionsExtensionVersion = $.functionsExtensionVersion;
this.hostingEnvironmentId = $.hostingEnvironmentId;
this.httpsOnly = $.httpsOnly;
this.identity = $.identity;
this.keyVaultReferenceIdentityId = $.keyVaultReferenceIdentityId;
this.kind = $.kind;
this.name = $.name;
this.outboundIpAddressLists = $.outboundIpAddressLists;
this.outboundIpAddresses = $.outboundIpAddresses;
this.possibleOutboundIpAddressLists = $.possibleOutboundIpAddressLists;
this.possibleOutboundIpAddresses = $.possibleOutboundIpAddresses;
this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled;
this.servicePlanId = $.servicePlanId;
this.siteConfig = $.siteConfig;
this.siteCredentials = $.siteCredentials;
this.storageAccountAccessKey = $.storageAccountAccessKey;
this.storageAccountName = $.storageAccountName;
this.storageAccounts = $.storageAccounts;
this.storageKeyVaultSecretId = $.storageKeyVaultSecretId;
this.storageUsesManagedIdentity = $.storageUsesManagedIdentity;
this.tags = $.tags;
this.virtualNetworkSubnetId = $.virtualNetworkSubnetId;
this.vnetImagePullEnabled = $.vnetImagePullEnabled;
this.webdeployPublishBasicAuthenticationEnabled = $.webdeployPublishBasicAuthenticationEnabled;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(LinuxFunctionAppSlotState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private LinuxFunctionAppSlotState $;
public Builder() {
$ = new LinuxFunctionAppSlotState();
}
public Builder(LinuxFunctionAppSlotState defaults) {
$ = new LinuxFunctionAppSlotState(Objects.requireNonNull(defaults));
}
/**
* @param appSettings A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
*
* @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.
*
* @return builder
*
*/
public Builder appSettings(Map appSettings) {
return appSettings(Output.of(appSettings));
}
/**
* @param authSettings an `auth_settings` block as detailed below.
*
* @return builder
*
*/
public Builder authSettings(@Nullable Output authSettings) {
$.authSettings = authSettings;
return this;
}
/**
* @param authSettings an `auth_settings` block as detailed below.
*
* @return builder
*
*/
public Builder authSettings(LinuxFunctionAppSlotAuthSettingsArgs authSettings) {
return authSettings(Output.of(authSettings));
}
/**
* @param authSettingsV2 an `auth_settings_v2` block as detailed below.
*
* @return builder
*
*/
public Builder authSettingsV2(@Nullable Output authSettingsV2) {
$.authSettingsV2 = authSettingsV2;
return this;
}
/**
* @param authSettingsV2 an `auth_settings_v2` block as detailed below.
*
* @return builder
*
*/
public Builder authSettingsV2(LinuxFunctionAppSlotAuthSettingsV2Args authSettingsV2) {
return authSettingsV2(Output.of(authSettingsV2));
}
/**
* @param backup a `backup` block as detailed below.
*
* @return builder
*
*/
public Builder backup(@Nullable Output backup) {
$.backup = backup;
return this;
}
/**
* @param backup a `backup` block as detailed below.
*
* @return builder
*
*/
public Builder backup(LinuxFunctionAppSlotBackupArgs backup) {
return backup(Output.of(backup));
}
/**
* @param builtinLoggingEnabled Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to `true`.
*
* @return builder
*
*/
public Builder builtinLoggingEnabled(@Nullable Output builtinLoggingEnabled) {
$.builtinLoggingEnabled = builtinLoggingEnabled;
return this;
}
/**
* @param builtinLoggingEnabled Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to `true`.
*
* @return builder
*
*/
public Builder builtinLoggingEnabled(Boolean builtinLoggingEnabled) {
return builtinLoggingEnabled(Output.of(builtinLoggingEnabled));
}
/**
* @param clientCertificateEnabled Should the Function App Slot use Client Certificates.
*
* @return builder
*
*/
public Builder clientCertificateEnabled(@Nullable Output clientCertificateEnabled) {
$.clientCertificateEnabled = clientCertificateEnabled;
return this;
}
/**
* @param clientCertificateEnabled Should the Function App Slot use Client Certificates.
*
* @return builder
*
*/
public Builder clientCertificateEnabled(Boolean clientCertificateEnabled) {
return clientCertificateEnabled(Output.of(clientCertificateEnabled));
}
/**
* @param clientCertificateExclusionPaths Paths to exclude when using client certificates, separated by ;
*
* @return builder
*
*/
public Builder clientCertificateExclusionPaths(@Nullable Output clientCertificateExclusionPaths) {
$.clientCertificateExclusionPaths = clientCertificateExclusionPaths;
return this;
}
/**
* @param clientCertificateExclusionPaths Paths to exclude when using client certificates, separated by ;
*
* @return builder
*
*/
public Builder clientCertificateExclusionPaths(String clientCertificateExclusionPaths) {
return clientCertificateExclusionPaths(Output.of(clientCertificateExclusionPaths));
}
/**
* @param clientCertificateMode The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.
*
* @return builder
*
*/
public Builder clientCertificateMode(@Nullable Output clientCertificateMode) {
$.clientCertificateMode = clientCertificateMode;
return this;
}
/**
* @param clientCertificateMode The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.
*
* @return builder
*
*/
public Builder clientCertificateMode(String clientCertificateMode) {
return clientCertificateMode(Output.of(clientCertificateMode));
}
/**
* @param connectionStrings a `connection_string` block as detailed below.
*
* @return builder
*
*/
public Builder connectionStrings(@Nullable Output> connectionStrings) {
$.connectionStrings = connectionStrings;
return this;
}
/**
* @param connectionStrings a `connection_string` block as detailed below.
*
* @return builder
*
*/
public Builder connectionStrings(List connectionStrings) {
return connectionStrings(Output.of(connectionStrings));
}
/**
* @param connectionStrings a `connection_string` block as detailed below.
*
* @return builder
*
*/
public Builder connectionStrings(LinuxFunctionAppSlotConnectionStringArgs... connectionStrings) {
return connectionStrings(List.of(connectionStrings));
}
/**
* @param contentShareForceDisabled Force disable the content share settings.
*
* @return builder
*
*/
public Builder contentShareForceDisabled(@Nullable Output contentShareForceDisabled) {
$.contentShareForceDisabled = contentShareForceDisabled;
return this;
}
/**
* @param contentShareForceDisabled Force disable the content share settings.
*
* @return builder
*
*/
public Builder contentShareForceDisabled(Boolean contentShareForceDisabled) {
return contentShareForceDisabled(Output.of(contentShareForceDisabled));
}
/**
* @param customDomainVerificationId The 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 The 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 in Consumption Plans. Defaults to `0`.
*
* @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 in Consumption Plans. Defaults to `0`.
*
* @return builder
*
*/
public Builder dailyMemoryTimeQuota(Integer dailyMemoryTimeQuota) {
return dailyMemoryTimeQuota(Output.of(dailyMemoryTimeQuota));
}
/**
* @param defaultHostname The default hostname of the Linux Function App Slot.
*
* @return builder
*
*/
public Builder defaultHostname(@Nullable Output defaultHostname) {
$.defaultHostname = defaultHostname;
return this;
}
/**
* @param defaultHostname The default hostname of the Linux Function App Slot.
*
* @return builder
*
*/
public Builder defaultHostname(String defaultHostname) {
return defaultHostname(Output.of(defaultHostname));
}
/**
* @param enabled Is the Linux Function App Slot enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled Is the Linux Function App Slot enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param ftpPublishBasicAuthenticationEnabled Are the default FTP Basic Authentication publishing credentials enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder ftpPublishBasicAuthenticationEnabled(@Nullable Output ftpPublishBasicAuthenticationEnabled) {
$.ftpPublishBasicAuthenticationEnabled = ftpPublishBasicAuthenticationEnabled;
return this;
}
/**
* @param ftpPublishBasicAuthenticationEnabled Are the default FTP Basic Authentication publishing credentials enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder ftpPublishBasicAuthenticationEnabled(Boolean ftpPublishBasicAuthenticationEnabled) {
return ftpPublishBasicAuthenticationEnabled(Output.of(ftpPublishBasicAuthenticationEnabled));
}
/**
* @param functionAppId The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder functionAppId(@Nullable Output functionAppId) {
$.functionAppId = functionAppId;
return this;
}
/**
* @param functionAppId The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder functionAppId(String functionAppId) {
return functionAppId(Output.of(functionAppId));
}
/**
* @param functionsExtensionVersion The runtime version associated with the Function App Slot. Defaults to `~4`.
*
* @return builder
*
*/
public Builder functionsExtensionVersion(@Nullable Output functionsExtensionVersion) {
$.functionsExtensionVersion = functionsExtensionVersion;
return this;
}
/**
* @param functionsExtensionVersion The runtime version associated with the Function App Slot. Defaults to `~4`.
*
* @return builder
*
*/
public Builder functionsExtensionVersion(String functionsExtensionVersion) {
return functionsExtensionVersion(Output.of(functionsExtensionVersion));
}
/**
* @param hostingEnvironmentId The ID of the App Service Environment used by Function App Slot.
*
* @return builder
*
*/
public Builder hostingEnvironmentId(@Nullable Output hostingEnvironmentId) {
$.hostingEnvironmentId = hostingEnvironmentId;
return this;
}
/**
* @param hostingEnvironmentId The ID of the App Service Environment used by Function App Slot.
*
* @return builder
*
*/
public Builder hostingEnvironmentId(String hostingEnvironmentId) {
return hostingEnvironmentId(Output.of(hostingEnvironmentId));
}
/**
* @param httpsOnly Can the Function App Slot 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 Slot 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 detailed below.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity An `identity` block as detailed below.
*
* @return builder
*
*/
public Builder identity(LinuxFunctionAppSlotIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param keyVaultReferenceIdentityId The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the `identity` block. [For more information 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)
*
* @return builder
*
*/
public Builder keyVaultReferenceIdentityId(@Nullable Output keyVaultReferenceIdentityId) {
$.keyVaultReferenceIdentityId = keyVaultReferenceIdentityId;
return this;
}
/**
* @param keyVaultReferenceIdentityId The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the `identity` block. [For more information 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)
*
* @return builder
*
*/
public Builder keyVaultReferenceIdentityId(String keyVaultReferenceIdentityId) {
return keyVaultReferenceIdentityId(Output.of(keyVaultReferenceIdentityId));
}
/**
* @param kind The Kind value for this Linux Function App Slot.
*
* @return builder
*
*/
public Builder kind(@Nullable Output kind) {
$.kind = kind;
return this;
}
/**
* @param kind The Kind value for this Linux Function App Slot.
*
* @return builder
*
*/
public Builder kind(String kind) {
return kind(Output.of(kind));
}
/**
* @param name Specifies the name of the Function App Slot. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Specifies the name of the Function App Slot. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param outboundIpAddressLists A list of outbound IP addresses. For example `["52.23.25.3", "52.143.43.12"]`
*
* @return builder
*
*/
public Builder outboundIpAddressLists(@Nullable Output> outboundIpAddressLists) {
$.outboundIpAddressLists = outboundIpAddressLists;
return this;
}
/**
* @param outboundIpAddressLists A list of outbound IP addresses. For example `["52.23.25.3", "52.143.43.12"]`
*
* @return builder
*
*/
public Builder outboundIpAddressLists(List outboundIpAddressLists) {
return outboundIpAddressLists(Output.of(outboundIpAddressLists));
}
/**
* @param outboundIpAddressLists A list of outbound IP addresses. For example `["52.23.25.3", "52.143.43.12"]`
*
* @return builder
*
*/
public Builder outboundIpAddressLists(String... outboundIpAddressLists) {
return outboundIpAddressLists(List.of(outboundIpAddressLists));
}
/**
* @param outboundIpAddresses A comma separated list of outbound IP addresses as a string. For example `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 as a string. For example `52.23.25.3,52.143.43.12`.
*
* @return builder
*
*/
public Builder outboundIpAddresses(String outboundIpAddresses) {
return outboundIpAddresses(Output.of(outboundIpAddresses));
}
/**
* @param possibleOutboundIpAddressLists A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of `outbound_ip_address_list`. For example `["52.23.25.3", "52.143.43.12"]`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddressLists(@Nullable Output> possibleOutboundIpAddressLists) {
$.possibleOutboundIpAddressLists = possibleOutboundIpAddressLists;
return this;
}
/**
* @param possibleOutboundIpAddressLists A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of `outbound_ip_address_list`. For example `["52.23.25.3", "52.143.43.12"]`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddressLists(List possibleOutboundIpAddressLists) {
return possibleOutboundIpAddressLists(Output.of(possibleOutboundIpAddressLists));
}
/**
* @param possibleOutboundIpAddressLists A list of possible outbound IP addresses, not all of which are necessarily in use. This is a superset of `outbound_ip_address_list`. For example `["52.23.25.3", "52.143.43.12"]`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddressLists(String... possibleOutboundIpAddressLists) {
return possibleOutboundIpAddressLists(List.of(possibleOutboundIpAddressLists));
}
/**
* @param possibleOutboundIpAddresses A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of `outbound_ip_addresses`. For example `["52.23.25.3", "52.143.43.12","52.143.43.17"]`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddresses(@Nullable Output possibleOutboundIpAddresses) {
$.possibleOutboundIpAddresses = possibleOutboundIpAddresses;
return this;
}
/**
* @param possibleOutboundIpAddresses A comma separated list of possible outbound IP addresses as a string. For example `52.23.25.3,52.143.43.12,52.143.43.17`. This is a superset of `outbound_ip_addresses`. For example `["52.23.25.3", "52.143.43.12","52.143.43.17"]`.
*
* @return builder
*
*/
public Builder possibleOutboundIpAddresses(String possibleOutboundIpAddresses) {
return possibleOutboundIpAddresses(Output.of(possibleOutboundIpAddresses));
}
/**
* @param publicNetworkAccessEnabled Should public network access be enabled for the Function App. Defaults to `true`.
*
* @return builder
*
*/
public Builder publicNetworkAccessEnabled(@Nullable Output publicNetworkAccessEnabled) {
$.publicNetworkAccessEnabled = publicNetworkAccessEnabled;
return this;
}
/**
* @param publicNetworkAccessEnabled Should public network access be enabled for the Function App. Defaults to `true`.
*
* @return builder
*
*/
public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) {
return publicNetworkAccessEnabled(Output.of(publicNetworkAccessEnabled));
}
/**
* @param servicePlanId The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.
*
* @return builder
*
*/
public Builder servicePlanId(@Nullable Output servicePlanId) {
$.servicePlanId = servicePlanId;
return this;
}
/**
* @param servicePlanId The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.
*
* @return builder
*
*/
public Builder servicePlanId(String servicePlanId) {
return servicePlanId(Output.of(servicePlanId));
}
/**
* @param siteConfig a `site_config` block as detailed below.
*
* @return builder
*
*/
public Builder siteConfig(@Nullable Output siteConfig) {
$.siteConfig = siteConfig;
return this;
}
/**
* @param siteConfig a `site_config` block as detailed below.
*
* @return builder
*
*/
public Builder siteConfig(LinuxFunctionAppSlotSiteConfigArgs siteConfig) {
return siteConfig(Output.of(siteConfig));
}
/**
* @param siteCredentials A `site_credential` block as defined below.
*
* @return builder
*
*/
public Builder siteCredentials(@Nullable Output> siteCredentials) {
$.siteCredentials = siteCredentials;
return this;
}
/**
* @param siteCredentials A `site_credential` block as defined below.
*
* @return builder
*
*/
public Builder siteCredentials(List siteCredentials) {
return siteCredentials(Output.of(siteCredentials));
}
/**
* @param siteCredentials A `site_credential` block as defined below.
*
* @return builder
*
*/
public Builder siteCredentials(LinuxFunctionAppSlotSiteCredentialArgs... siteCredentials) {
return siteCredentials(List.of(siteCredentials));
}
/**
* @param storageAccountAccessKey The access key which will be used to access the storage account for the Function App Slot.
*
* @return builder
*
*/
public Builder storageAccountAccessKey(@Nullable Output storageAccountAccessKey) {
$.storageAccountAccessKey = storageAccountAccessKey;
return this;
}
/**
* @param storageAccountAccessKey The access key which will be used to access the storage account for the Function App Slot.
*
* @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 Slot.
*
* @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 Slot.
*
* @return builder
*
*/
public Builder storageAccountName(String storageAccountName) {
return storageAccountName(Output.of(storageAccountName));
}
/**
* @param storageAccounts One or more `storage_account` blocks as defined below.
*
* @return builder
*
*/
public Builder storageAccounts(@Nullable Output> storageAccounts) {
$.storageAccounts = storageAccounts;
return this;
}
/**
* @param storageAccounts One or more `storage_account` blocks as defined below.
*
* @return builder
*
*/
public Builder storageAccounts(List storageAccounts) {
return storageAccounts(Output.of(storageAccounts));
}
/**
* @param storageAccounts One or more `storage_account` blocks as defined below.
*
* @return builder
*
*/
public Builder storageAccounts(LinuxFunctionAppSlotStorageAccountArgs... storageAccounts) {
return storageAccounts(List.of(storageAccounts));
}
/**
* @param storageKeyVaultSecretId The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.
*
* > **NOTE:** `storage_key_vault_secret_id` cannot be used with `storage_account_name`.
*
* > **NOTE:** `storage_key_vault_secret_id` used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.
*
* @return builder
*
*/
public Builder storageKeyVaultSecretId(@Nullable Output storageKeyVaultSecretId) {
$.storageKeyVaultSecretId = storageKeyVaultSecretId;
return this;
}
/**
* @param storageKeyVaultSecretId The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.
*
* > **NOTE:** `storage_key_vault_secret_id` cannot be used with `storage_account_name`.
*
* > **NOTE:** `storage_key_vault_secret_id` used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.
*
* @return builder
*
*/
public Builder storageKeyVaultSecretId(String storageKeyVaultSecretId) {
return storageKeyVaultSecretId(Output.of(storageKeyVaultSecretId));
}
/**
* @param storageUsesManagedIdentity Should the Function App Slot use its Managed Identity to access storage.
*
* > **NOTE:** One of `storage_account_access_key` or `storage_uses_managed_identity` must be specified when using `storage_account_name`.
*
* @return builder
*
*/
public Builder storageUsesManagedIdentity(@Nullable Output storageUsesManagedIdentity) {
$.storageUsesManagedIdentity = storageUsesManagedIdentity;
return this;
}
/**
* @param storageUsesManagedIdentity Should the Function App Slot use its Managed Identity to access storage.
*
* > **NOTE:** One of `storage_account_access_key` or `storage_uses_managed_identity` must be specified when using `storage_account_name`.
*
* @return builder
*
*/
public Builder storageUsesManagedIdentity(Boolean storageUsesManagedIdentity) {
return storageUsesManagedIdentity(Output.of(storageUsesManagedIdentity));
}
/**
* @param tags A mapping of tags which should be assigned to the Linux Function App.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags which should be assigned to the Linux Function App.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public Builder virtualNetworkSubnetId(@Nullable Output virtualNetworkSubnetId) {
$.virtualNetworkSubnetId = virtualNetworkSubnetId;
return this;
}
public Builder virtualNetworkSubnetId(String virtualNetworkSubnetId) {
return virtualNetworkSubnetId(Output.of(virtualNetworkSubnetId));
}
/**
* @param vnetImagePullEnabled Is container image pull over virtual network enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder vnetImagePullEnabled(@Nullable Output vnetImagePullEnabled) {
$.vnetImagePullEnabled = vnetImagePullEnabled;
return this;
}
/**
* @param vnetImagePullEnabled Is container image pull over virtual network enabled? Defaults to `false`.
*
* @return builder
*
*/
public Builder vnetImagePullEnabled(Boolean vnetImagePullEnabled) {
return vnetImagePullEnabled(Output.of(vnetImagePullEnabled));
}
/**
* @param webdeployPublishBasicAuthenticationEnabled Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder webdeployPublishBasicAuthenticationEnabled(@Nullable Output webdeployPublishBasicAuthenticationEnabled) {
$.webdeployPublishBasicAuthenticationEnabled = webdeployPublishBasicAuthenticationEnabled;
return this;
}
/**
* @param webdeployPublishBasicAuthenticationEnabled Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder webdeployPublishBasicAuthenticationEnabled(Boolean webdeployPublishBasicAuthenticationEnabled) {
return webdeployPublishBasicAuthenticationEnabled(Output.of(webdeployPublishBasicAuthenticationEnabled));
}
public LinuxFunctionAppSlotState build() {
return $;
}
}
}