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.WindowsFunctionAppSlotArgs Maven / Gradle / Ivy
// *** 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;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotAuthSettingsArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotAuthSettingsV2Args;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotBackupArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotConnectionStringArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotIdentityArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotStorageAccountArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 WindowsFunctionAppSlotArgs extends com.pulumi.resources.ResourceArgs {
public static final WindowsFunctionAppSlotArgs Empty = new WindowsFunctionAppSlotArgs();
/**
* 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 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);
}
/**
* Is the Windows Function App Slot enabled. Defaults to `true`.
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return Is the Windows Function App Slot enabled. Defaults to `true`.
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* Should the default FTP Basic Authentication publishing profile be enabled. Defaults to `true`.
*
*/
@Import(name="ftpPublishBasicAuthenticationEnabled")
private @Nullable Output ftpPublishBasicAuthenticationEnabled;
/**
* @return Should the default FTP Basic Authentication publishing profile be enabled. Defaults to `true`.
*
*/
public Optional> ftpPublishBasicAuthenticationEnabled() {
return Optional.ofNullable(this.ftpPublishBasicAuthenticationEnabled);
}
/**
* The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.
*
*/
@Import(name="functionAppId", required=true)
private Output functionAppId;
/**
* @return The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.
*
*/
public Output functionAppId() {
return 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);
}
/**
* 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);
}
/**
* Specifies the name of the Windows 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 Windows Function App Slot. Changing this forces a new resource to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* 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 Windows 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 Windows Function App will be used.
*
*/
public Optional> servicePlanId() {
return Optional.ofNullable(this.servicePlanId);
}
/**
* a `site_config` block as detailed below.
*
*/
@Import(name="siteConfig", required=true)
private Output siteConfig;
/**
* @return a `site_config` block as detailed below.
*
*/
public Output siteConfig() {
return this.siteConfig;
}
/**
* 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 Slot.
*
* > **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 Slot.
*
* > **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 Windows Function App Slot.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags which should be assigned to the Windows Function App Slot.
*
*/
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 WindowsFunctionAppSlotArgs() {}
private WindowsFunctionAppSlotArgs(WindowsFunctionAppSlotArgs $) {
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.dailyMemoryTimeQuota = $.dailyMemoryTimeQuota;
this.enabled = $.enabled;
this.ftpPublishBasicAuthenticationEnabled = $.ftpPublishBasicAuthenticationEnabled;
this.functionAppId = $.functionAppId;
this.functionsExtensionVersion = $.functionsExtensionVersion;
this.httpsOnly = $.httpsOnly;
this.identity = $.identity;
this.keyVaultReferenceIdentityId = $.keyVaultReferenceIdentityId;
this.name = $.name;
this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled;
this.servicePlanId = $.servicePlanId;
this.siteConfig = $.siteConfig;
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(WindowsFunctionAppSlotArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private WindowsFunctionAppSlotArgs $;
public Builder() {
$ = new WindowsFunctionAppSlotArgs();
}
public Builder(WindowsFunctionAppSlotArgs defaults) {
$ = new WindowsFunctionAppSlotArgs(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(WindowsFunctionAppSlotAuthSettingsArgs 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(WindowsFunctionAppSlotAuthSettingsV2Args 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(WindowsFunctionAppSlotBackupArgs 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(WindowsFunctionAppSlotConnectionStringArgs... 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 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 enabled Is the Windows Function App Slot enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled Is the Windows Function App Slot enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param ftpPublishBasicAuthenticationEnabled Should the default FTP Basic Authentication publishing profile be enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder ftpPublishBasicAuthenticationEnabled(@Nullable Output ftpPublishBasicAuthenticationEnabled) {
$.ftpPublishBasicAuthenticationEnabled = ftpPublishBasicAuthenticationEnabled;
return this;
}
/**
* @param ftpPublishBasicAuthenticationEnabled Should the default FTP Basic Authentication publishing profile be enabled. Defaults to `true`.
*
* @return builder
*
*/
public Builder ftpPublishBasicAuthenticationEnabled(Boolean ftpPublishBasicAuthenticationEnabled) {
return ftpPublishBasicAuthenticationEnabled(Output.of(ftpPublishBasicAuthenticationEnabled));
}
/**
* @param functionAppId The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder functionAppId(Output functionAppId) {
$.functionAppId = functionAppId;
return this;
}
/**
* @param functionAppId The name of the Windows 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 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(WindowsFunctionAppSlotIdentityArgs 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 name Specifies the name of the Windows 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 Windows 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 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 Windows 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 Windows 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(Output siteConfig) {
$.siteConfig = siteConfig;
return this;
}
/**
* @param siteConfig a `site_config` block as detailed below.
*
* @return builder
*
*/
public Builder siteConfig(WindowsFunctionAppSlotSiteConfigArgs siteConfig) {
return siteConfig(Output.of(siteConfig));
}
/**
* @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(WindowsFunctionAppSlotStorageAccountArgs... 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 Slot.
*
* > **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 Slot.
*
* > **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 Windows Function App Slot.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags which should be assigned to the Windows Function App Slot.
*
* @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 WindowsFunctionAppSlotArgs build() {
if ($.functionAppId == null) {
throw new MissingRequiredPropertyException("WindowsFunctionAppSlotArgs", "functionAppId");
}
if ($.siteConfig == null) {
throw new MissingRequiredPropertyException("WindowsFunctionAppSlotArgs", "siteConfig");
}
return $;
}
}
}