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.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appservice.kotlin.inputs
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property alwaysOn If this Linux Web App is Always On enabled. Defaults to `false`.
* @property apiDefinitionUrl The URL of the API definition that describes this Linux Function App.
* @property apiManagementApiId The ID of the API Management API for this Linux Function App.
* @property appCommandLine The program and any arguments used to launch this app via the command line. (Example `node myapp.js`).
* @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 detailed below.
* @property applicationInsightsConnectionString The Connection String for linking the Linux Function App to Application Insights.
* @property applicationInsightsKey The Instrumentation Key for connecting the Linux Function App to Application Insights.
* @property applicationStack an `application_stack` block as detailed below.
* @property autoSwapSlotName The name of the slot to automatically swap with when this slot is successfully deployed.
* @property containerRegistryManagedIdentityClientId The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.
* @property containerRegistryUseManagedIdentity Should connections for Azure Container Registry use Managed Identity.
* @property cors a `cors` block as detailed below.
* @property defaultDocuments Specifies a list of Default Documents for the Linux Web App.
* @property detailedErrorLoggingEnabled Is detailed error logging enabled
* @property elasticInstanceMinimum The number of minimum instances for this Linux Function App. Only affects apps on Elastic Premium plans.
* @property ftpsState State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `Disabled`.
* @property healthCheckEvictionTimeInMin The amount of time in minutes that a node is unhealthy before being removed from the load balancer. Possible values are between `2` and `10`. Defaults to `0`. Only valid in conjunction with `health_check_path`.
* @property healthCheckPath The path to be checked for this 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 an `ip_restriction` block as detailed below.
* @property linuxFxVersion The Linux FX Version
* @property loadBalancingMode The Site load balancing mode. Possible values include: `WeightedRoundRobin`, `LeastRequests`, `LeastResponseTime`, `WeightedTotalTraffic`, `RequestHash`, `PerSiteRoundRobin`. Defaults to `LeastRequests` if omitted.
* @property managedPipelineMode The Managed Pipeline mode. Possible values include: `Integrated`, `Classic`. Defaults to `Integrated`.
* @property minimumTlsVersion The 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 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 Functions Runtime Scale Monitoring 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 a `scm_ip_restriction` block as detailed below.
* @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 Linux Function App.
* @property scmUseMainIpRestriction Should the Linux Function App `ip_restriction` configuration be used for the SCM also.
* @property use32BitWorker Should the Linux Web App use a 32-bit worker.
* @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 workerCount The number of Workers for this Linux Function App.
*/
public data class LinuxFunctionAppSlotSiteConfigArgs(
public val alwaysOn: Output? = null,
public val apiDefinitionUrl: Output? = null,
public val apiManagementApiId: Output? = null,
public val appCommandLine: Output? = null,
public val appScaleLimit: Output? = null,
public val appServiceLogs: Output? = null,
public val applicationInsightsConnectionString: Output? = null,
public val applicationInsightsKey: Output? = null,
public val applicationStack: Output? = null,
public val autoSwapSlotName: Output? = null,
public val containerRegistryManagedIdentityClientId: Output? = null,
public val containerRegistryUseManagedIdentity: Output? = null,
public val cors: Output? = null,
public val defaultDocuments: Output>? = null,
public val detailedErrorLoggingEnabled: Output? = null,
public val elasticInstanceMinimum: Output? = null,
public val ftpsState: Output? = null,
public val healthCheckEvictionTimeInMin: Output? = null,
public val healthCheckPath: Output? = null,
public val http2Enabled: Output? = null,
public val ipRestrictionDefaultAction: Output? = null,
public val ipRestrictions: Output>? = null,
public val linuxFxVersion: Output? = null,
public val loadBalancingMode: Output? = null,
public val managedPipelineMode: Output? = null,
public val minimumTlsVersion: Output? = null,
public val preWarmedInstanceCount: Output? = null,
public val remoteDebuggingEnabled: Output? = null,
public val remoteDebuggingVersion: Output? = null,
public val runtimeScaleMonitoringEnabled: Output? = null,
public val scmIpRestrictionDefaultAction: Output? = null,
public val scmIpRestrictions: Output>? =
null,
public val scmMinimumTlsVersion: Output? = null,
public val scmType: Output? = null,
public val scmUseMainIpRestriction: Output? = null,
public val use32BitWorker: Output? = null,
public val vnetRouteAllEnabled: Output? = null,
public val websocketsEnabled: Output? = null,
public val workerCount: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs =
com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs.builder()
.alwaysOn(alwaysOn?.applyValue({ args0 -> args0 }))
.apiDefinitionUrl(apiDefinitionUrl?.applyValue({ args0 -> args0 }))
.apiManagementApiId(apiManagementApiId?.applyValue({ args0 -> args0 }))
.appCommandLine(appCommandLine?.applyValue({ args0 -> args0 }))
.appScaleLimit(appScaleLimit?.applyValue({ args0 -> args0 }))
.appServiceLogs(appServiceLogs?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.applicationInsightsConnectionString(
applicationInsightsConnectionString?.applyValue({ args0 ->
args0
}),
)
.applicationInsightsKey(applicationInsightsKey?.applyValue({ args0 -> args0 }))
.applicationStack(applicationStack?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.autoSwapSlotName(autoSwapSlotName?.applyValue({ args0 -> args0 }))
.containerRegistryManagedIdentityClientId(
containerRegistryManagedIdentityClientId?.applyValue({ args0 ->
args0
}),
)
.containerRegistryUseManagedIdentity(
containerRegistryUseManagedIdentity?.applyValue({ args0 ->
args0
}),
)
.cors(cors?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.defaultDocuments(defaultDocuments?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.detailedErrorLoggingEnabled(detailedErrorLoggingEnabled?.applyValue({ args0 -> args0 }))
.elasticInstanceMinimum(elasticInstanceMinimum?.applyValue({ args0 -> args0 }))
.ftpsState(ftpsState?.applyValue({ args0 -> args0 }))
.healthCheckEvictionTimeInMin(healthCheckEvictionTimeInMin?.applyValue({ args0 -> args0 }))
.healthCheckPath(healthCheckPath?.applyValue({ args0 -> args0 }))
.http2Enabled(http2Enabled?.applyValue({ args0 -> args0 }))
.ipRestrictionDefaultAction(ipRestrictionDefaultAction?.applyValue({ args0 -> args0 }))
.ipRestrictions(
ipRestrictions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.linuxFxVersion(linuxFxVersion?.applyValue({ args0 -> args0 }))
.loadBalancingMode(loadBalancingMode?.applyValue({ args0 -> args0 }))
.managedPipelineMode(managedPipelineMode?.applyValue({ args0 -> args0 }))
.minimumTlsVersion(minimumTlsVersion?.applyValue({ args0 -> args0 }))
.preWarmedInstanceCount(preWarmedInstanceCount?.applyValue({ args0 -> args0 }))
.remoteDebuggingEnabled(remoteDebuggingEnabled?.applyValue({ args0 -> args0 }))
.remoteDebuggingVersion(remoteDebuggingVersion?.applyValue({ args0 -> args0 }))
.runtimeScaleMonitoringEnabled(runtimeScaleMonitoringEnabled?.applyValue({ args0 -> args0 }))
.scmIpRestrictionDefaultAction(scmIpRestrictionDefaultAction?.applyValue({ args0 -> args0 }))
.scmIpRestrictions(
scmIpRestrictions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.scmMinimumTlsVersion(scmMinimumTlsVersion?.applyValue({ args0 -> args0 }))
.scmType(scmType?.applyValue({ args0 -> args0 }))
.scmUseMainIpRestriction(scmUseMainIpRestriction?.applyValue({ args0 -> args0 }))
.use32BitWorker(use32BitWorker?.applyValue({ args0 -> args0 }))
.vnetRouteAllEnabled(vnetRouteAllEnabled?.applyValue({ args0 -> args0 }))
.websocketsEnabled(websocketsEnabled?.applyValue({ args0 -> args0 }))
.workerCount(workerCount?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LinuxFunctionAppSlotSiteConfigArgs].
*/
@PulumiTagMarker
public class LinuxFunctionAppSlotSiteConfigArgsBuilder internal constructor() {
private var alwaysOn: Output? = null
private var apiDefinitionUrl: Output? = null
private var apiManagementApiId: Output? = null
private var appCommandLine: Output? = null
private var appScaleLimit: Output? = null
private var appServiceLogs: Output? = null
private var applicationInsightsConnectionString: Output? = null
private var applicationInsightsKey: Output? = null
private var applicationStack: Output? = null
private var autoSwapSlotName: Output? = null
private var containerRegistryManagedIdentityClientId: Output? = null
private var containerRegistryUseManagedIdentity: Output? = null
private var cors: Output? = null
private var defaultDocuments: Output>? = null
private var detailedErrorLoggingEnabled: Output? = null
private var elasticInstanceMinimum: Output? = null
private var ftpsState: Output? = null
private var healthCheckEvictionTimeInMin: Output? = null
private var healthCheckPath: Output? = null
private var http2Enabled: Output? = null
private var ipRestrictionDefaultAction: Output? = null
private var ipRestrictions: Output>? = null
private var linuxFxVersion: Output? = null
private var loadBalancingMode: Output? = null
private var managedPipelineMode: Output? = null
private var minimumTlsVersion: Output? = null
private var preWarmedInstanceCount: Output? = null
private var remoteDebuggingEnabled: Output? = null
private var remoteDebuggingVersion: Output? = null
private var runtimeScaleMonitoringEnabled: Output? = null
private var scmIpRestrictionDefaultAction: Output? = null
private var scmIpRestrictions: Output>? =
null
private var scmMinimumTlsVersion: Output? = null
private var scmType: Output? = null
private var scmUseMainIpRestriction: Output? = null
private var use32BitWorker: Output? = null
private var vnetRouteAllEnabled: Output? = null
private var websocketsEnabled: Output? = null
private var workerCount: Output? = null
/**
* @param value If this Linux Web App is Always On enabled. Defaults to `false`.
*/
@JvmName("vdoscldrmnwyjdct")
public suspend fun alwaysOn(`value`: Output) {
this.alwaysOn = value
}
/**
* @param value The URL of the API definition that describes this Linux Function App.
*/
@JvmName("hoksffmnjfjrsvpl")
public suspend fun apiDefinitionUrl(`value`: Output) {
this.apiDefinitionUrl = value
}
/**
* @param value The ID of the API Management API for this Linux Function App.
*/
@JvmName("ryvskmijneqtvjqq")
public suspend fun apiManagementApiId(`value`: Output) {
this.apiManagementApiId = value
}
/**
* @param value The program and any arguments used to launch this app via the command line. (Example `node myapp.js`).
*/
@JvmName("cbgisdnpkctvrorx")
public suspend fun appCommandLine(`value`: Output) {
this.appCommandLine = value
}
/**
* @param value The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
*/
@JvmName("cvwikvyvukcatugx")
public suspend fun appScaleLimit(`value`: Output) {
this.appScaleLimit = value
}
/**
* @param value an `app_service_logs` block as detailed below.
*/
@JvmName("uofqyngdhdlgdccf")
public suspend
fun appServiceLogs(`value`: Output) {
this.appServiceLogs = value
}
/**
* @param value The Connection String for linking the Linux Function App to Application Insights.
*/
@JvmName("ajwmqdvfihpecean")
public suspend fun applicationInsightsConnectionString(`value`: Output) {
this.applicationInsightsConnectionString = value
}
/**
* @param value The Instrumentation Key for connecting the Linux Function App to Application Insights.
*/
@JvmName("ghmmuqfuiwjciocy")
public suspend fun applicationInsightsKey(`value`: Output) {
this.applicationInsightsKey = value
}
/**
* @param value an `application_stack` block as detailed below.
*/
@JvmName("kgrkurqaxnbffcwd")
public suspend
fun applicationStack(`value`: Output) {
this.applicationStack = value
}
/**
* @param value The name of the slot to automatically swap with when this slot is successfully deployed.
*/
@JvmName("vddjhtnfkmdxjnqn")
public suspend fun autoSwapSlotName(`value`: Output) {
this.autoSwapSlotName = value
}
/**
* @param value The Client ID of the Managed Service Identity to use for connections to the Azure Container Registry.
*/
@JvmName("udacrtjefsgdmfla")
public suspend fun containerRegistryManagedIdentityClientId(`value`: Output) {
this.containerRegistryManagedIdentityClientId = value
}
/**
* @param value Should connections for Azure Container Registry use Managed Identity.
*/
@JvmName("wwmyiraokeghfvrv")
public suspend fun containerRegistryUseManagedIdentity(`value`: Output) {
this.containerRegistryUseManagedIdentity = value
}
/**
* @param value a `cors` block as detailed below.
*/
@JvmName("pdcwyrhxpxwfmckv")
public suspend fun cors(`value`: Output) {
this.cors = value
}
/**
* @param value Specifies a list of Default Documents for the Linux Web App.
*/
@JvmName("aglevegjhrjroean")
public suspend fun defaultDocuments(`value`: Output>) {
this.defaultDocuments = value
}
@JvmName("rtebxgmwvsgoworp")
public suspend fun defaultDocuments(vararg values: Output) {
this.defaultDocuments = Output.all(values.asList())
}
/**
* @param values Specifies a list of Default Documents for the Linux Web App.
*/
@JvmName("mpurolowtgruvpbf")
public suspend fun defaultDocuments(values: List