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

com.pulumi.azure.appservice.kotlin.outputs.WindowsFunctionAppSiteConfig.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.appservice.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property alwaysOn If this Windows Function App is Always On enabled. Defaults to `false`.
 * > **NOTE:** when running in a Consumption or Premium Plan, `always_on` feature should be turned off. Please turn it off before upgrading the service plan from standard to premium.
 * @property apiDefinitionUrl The URL of the API definition that describes this Windows Function App.
 * @property apiManagementApiId The ID of the API Management API for this Windows Function App.
 * @property appCommandLine The App command line to launch.
 * @property appScaleLimit The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
 * @property appServiceLogs An `app_service_logs` block as defined above.
 * @property applicationInsightsConnectionString The Connection String for linking the Windows Function App to Application Insights.
 * @property applicationInsightsKey The Instrumentation Key for connecting the Windows Function App to Application Insights.
 * @property applicationStack An `application_stack` block as defined above.
 * > **Note:** If this is set, there must not be an application setting `FUNCTIONS_WORKER_RUNTIME`.
 * @property cors A `cors` block as defined above.
 * @property defaultDocuments Specifies a list of Default Documents for the Windows Function App.
 * @property detailedErrorLoggingEnabled Is detailed error logging enabled
 * @property elasticInstanceMinimum The number of minimum instances for this Windows Function App. Only affects apps on Elastic Premium plans.
 * @property ftpsState State of FTP / FTPS service for this Windows Function App. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `Disabled`.
 * @property healthCheckEvictionTimeInMin The amount of time in minutes that a node can be unhealthy before being removed from the load balancer. Possible values are between `2` and `10`. Only valid in conjunction with `health_check_path`.
 * @property healthCheckPath The path to be checked for this Windows Function App health.
 * @property http2Enabled Specifies if the HTTP2 protocol should be enabled. Defaults to `false`.
 * @property ipRestrictionDefaultAction The Default action for traffic that does not match any `ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
 * @property ipRestrictions One or more `ip_restriction` blocks as defined above.
 * @property loadBalancingMode The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.
 * @property managedPipelineMode Managed pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.
 * @property minimumTlsVersion Configures the minimum version of TLS required for SSL requests. Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
 * @property preWarmedInstanceCount The number of pre-warmed instances for this Windows Function App. Only affects apps on an Elastic Premium plan.
 * @property remoteDebuggingEnabled Should Remote Debugging be enabled. Defaults to `false`.
 * @property remoteDebuggingVersion The Remote Debugging Version. Possible values include `VS2017`, `VS2019`, and `VS2022`.
 * @property runtimeScaleMonitoringEnabled Should Scale Monitoring of the Functions Runtime be enabled?
 * > **NOTE:** Functions runtime scale monitoring can only be enabled for Elastic Premium Function Apps or Workflow Standard Logic Apps and requires a minimum prewarmed instance count of 1.
 * @property scmIpRestrictionDefaultAction The Default action for traffic that does not match any `scm_ip_restriction` rule. possible values include `Allow` and `Deny`. Defaults to `Allow`.
 * @property scmIpRestrictions One or more `scm_ip_restriction` blocks as defined above.
 * @property scmMinimumTlsVersion Configures the minimum version of TLS required for SSL requests to the SCM site. Possible values include: `1.0`, `1.1`, and `1.2`. Defaults to `1.2`.
 * @property scmType The SCM Type in use by the Windows Function App.
 * @property scmUseMainIpRestriction Should the Windows Function App `ip_restriction` configuration be used for the SCM also.
 * @property use32BitWorker Should the Windows Function App use a 32-bit worker process. Defaults to `true`.
 * @property vnetRouteAllEnabled Should all outbound traffic to have NAT Gateways, Network Security Groups and User Defined Routes applied? Defaults to `false`.
 * @property websocketsEnabled Should Web Sockets be enabled. Defaults to `false`.
 * @property windowsFxVersion The Windows FX Version string.
 * @property workerCount The number of Workers for this Windows Function App.
 */
public data class WindowsFunctionAppSiteConfig(
    public val alwaysOn: Boolean? = null,
    public val apiDefinitionUrl: String? = null,
    public val apiManagementApiId: String? = null,
    public val appCommandLine: String? = null,
    public val appScaleLimit: Int? = null,
    public val appServiceLogs: WindowsFunctionAppSiteConfigAppServiceLogs? = null,
    public val applicationInsightsConnectionString: String? = null,
    public val applicationInsightsKey: String? = null,
    public val applicationStack: WindowsFunctionAppSiteConfigApplicationStack? = null,
    public val cors: WindowsFunctionAppSiteConfigCors? = null,
    public val defaultDocuments: List? = null,
    public val detailedErrorLoggingEnabled: Boolean? = null,
    public val elasticInstanceMinimum: Int? = null,
    public val ftpsState: String? = null,
    public val healthCheckEvictionTimeInMin: Int? = null,
    public val healthCheckPath: String? = null,
    public val http2Enabled: Boolean? = null,
    public val ipRestrictionDefaultAction: String? = null,
    public val ipRestrictions: List? = null,
    public val loadBalancingMode: String? = null,
    public val managedPipelineMode: String? = null,
    public val minimumTlsVersion: String? = null,
    public val preWarmedInstanceCount: Int? = null,
    public val remoteDebuggingEnabled: Boolean? = null,
    public val remoteDebuggingVersion: String? = null,
    public val runtimeScaleMonitoringEnabled: Boolean? = null,
    public val scmIpRestrictionDefaultAction: String? = null,
    public val scmIpRestrictions: List? = null,
    public val scmMinimumTlsVersion: String? = null,
    public val scmType: String? = null,
    public val scmUseMainIpRestriction: Boolean? = null,
    public val use32BitWorker: Boolean? = null,
    public val vnetRouteAllEnabled: Boolean? = null,
    public val websocketsEnabled: Boolean? = null,
    public val windowsFxVersion: String? = null,
    public val workerCount: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.appservice.outputs.WindowsFunctionAppSiteConfig):
            WindowsFunctionAppSiteConfig = WindowsFunctionAppSiteConfig(
            alwaysOn = javaType.alwaysOn().map({ args0 -> args0 }).orElse(null),
            apiDefinitionUrl = javaType.apiDefinitionUrl().map({ args0 -> args0 }).orElse(null),
            apiManagementApiId = javaType.apiManagementApiId().map({ args0 -> args0 }).orElse(null),
            appCommandLine = javaType.appCommandLine().map({ args0 -> args0 }).orElse(null),
            appScaleLimit = javaType.appScaleLimit().map({ args0 -> args0 }).orElse(null),
            appServiceLogs = javaType.appServiceLogs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.WindowsFunctionAppSiteConfigAppServiceLogs.Companion.toKotlin(args0)
                })
            }).orElse(null),
            applicationInsightsConnectionString = javaType.applicationInsightsConnectionString().map({ args0 ->
                args0
            }).orElse(null),
            applicationInsightsKey = javaType.applicationInsightsKey().map({ args0 -> args0 }).orElse(null),
            applicationStack = javaType.applicationStack().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.WindowsFunctionAppSiteConfigApplicationStack.Companion.toKotlin(args0)
                })
            }).orElse(null),
            cors = javaType.cors().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.WindowsFunctionAppSiteConfigCors.Companion.toKotlin(args0)
                })
            }).orElse(null),
            defaultDocuments = javaType.defaultDocuments().map({ args0 -> args0 }),
            detailedErrorLoggingEnabled = javaType.detailedErrorLoggingEnabled().map({ args0 ->
                args0
            }).orElse(null),
            elasticInstanceMinimum = javaType.elasticInstanceMinimum().map({ args0 -> args0 }).orElse(null),
            ftpsState = javaType.ftpsState().map({ args0 -> args0 }).orElse(null),
            healthCheckEvictionTimeInMin = javaType.healthCheckEvictionTimeInMin().map({ args0 ->
                args0
            }).orElse(null),
            healthCheckPath = javaType.healthCheckPath().map({ args0 -> args0 }).orElse(null),
            http2Enabled = javaType.http2Enabled().map({ args0 -> args0 }).orElse(null),
            ipRestrictionDefaultAction = javaType.ipRestrictionDefaultAction().map({ args0 ->
                args0
            }).orElse(null),
            ipRestrictions = javaType.ipRestrictions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.WindowsFunctionAppSiteConfigIpRestriction.Companion.toKotlin(args0)
                })
            }),
            loadBalancingMode = javaType.loadBalancingMode().map({ args0 -> args0 }).orElse(null),
            managedPipelineMode = javaType.managedPipelineMode().map({ args0 -> args0 }).orElse(null),
            minimumTlsVersion = javaType.minimumTlsVersion().map({ args0 -> args0 }).orElse(null),
            preWarmedInstanceCount = javaType.preWarmedInstanceCount().map({ args0 -> args0 }).orElse(null),
            remoteDebuggingEnabled = javaType.remoteDebuggingEnabled().map({ args0 -> args0 }).orElse(null),
            remoteDebuggingVersion = javaType.remoteDebuggingVersion().map({ args0 -> args0 }).orElse(null),
            runtimeScaleMonitoringEnabled = javaType.runtimeScaleMonitoringEnabled().map({ args0 ->
                args0
            }).orElse(null),
            scmIpRestrictionDefaultAction = javaType.scmIpRestrictionDefaultAction().map({ args0 ->
                args0
            }).orElse(null),
            scmIpRestrictions = javaType.scmIpRestrictions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.appservice.kotlin.outputs.WindowsFunctionAppSiteConfigScmIpRestriction.Companion.toKotlin(args0)
                })
            }),
            scmMinimumTlsVersion = javaType.scmMinimumTlsVersion().map({ args0 -> args0 }).orElse(null),
            scmType = javaType.scmType().map({ args0 -> args0 }).orElse(null),
            scmUseMainIpRestriction = javaType.scmUseMainIpRestriction().map({ args0 -> args0 }).orElse(null),
            use32BitWorker = javaType.use32BitWorker().map({ args0 -> args0 }).orElse(null),
            vnetRouteAllEnabled = javaType.vnetRouteAllEnabled().map({ args0 -> args0 }).orElse(null),
            websocketsEnabled = javaType.websocketsEnabled().map({ args0 -> args0 }).orElse(null),
            windowsFxVersion = javaType.windowsFxVersion().map({ args0 -> args0 }).orElse(null),
            workerCount = javaType.workerCount().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy