All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** 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 $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy