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.FunctionAppSlotSiteConfigArgs.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 Should the Function App be loaded at all times? Defaults to `false`.
* @property appScaleLimit The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
* @property autoSwapSlotName The name of the slot to automatically swap to during deployment
* @property cors A `cors` block as defined below.
* @property dotnetFrameworkVersion The version of the .NET framework's CLR used in this function app. Possible values are `v4.0` (including .NET Core 2.1 and 3.1), `v5.0` and `v6.0`. [For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table](https://docs.microsoft.com/azure/azure-functions/functions-dotnet-class-library#supported-versions). Defaults to `v4.0`.
* @property elasticInstanceMinimum The number of minimum instances for this function app. Only applicable to apps on the Premium plan.
* @property ftpsState State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
* @property healthCheckPath Path which will be checked for this function app health.
* @property http2Enabled Specifies whether or not the HTTP2 protocol should be enabled. Defaults to `false`.
* @property ipRestrictions A list of `ip_restriction` objects representing IP restrictions as defined below.
* @property javaVersion Java version hosted by the function app in Azure. Possible values are `1.8`, `11` & `17` (In-Preview).
* @property linuxFxVersion Linux App Framework and version for the AppService, e.g. `DOCKER|(golang:latest)`.
* @property minTlsVersion The minimum supported TLS version for the function app. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new function apps.
* @property preWarmedInstanceCount The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
* @property runtimeScaleMonitoringEnabled Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to `false`.
* @property scmIpRestrictions A list of `scm_ip_restriction` objects representing IP restrictions as defined below.
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
* @property scmType The type of Source Control used by this function App. Valid values include: `BitBucketGit`, `BitBucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None` (default), `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`.
* > **NOTE:** This setting is incompatible with the `source_control` block which updates this value based on the setting provided.
* @property scmUseMainIpRestriction IP security restrictions for scm to use main. Defaults to `false`.
* > **NOTE** Any `scm_ip_restriction` blocks configured are ignored by the service when `scm_use_main_ip_restriction` is set to `true`. Any scm restrictions will become active if this is subsequently set to `false` or removed.
* @property use32BitWorkerProcess Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to `true`.
* > **Note:** when using an App Service Plan in the `Free` or `Shared` Tiers `use_32_bit_worker_process` must be set to `true`.
* @property vnetRouteAllEnabled
* @property websocketsEnabled Should WebSockets be enabled?
*/
public data class FunctionAppSlotSiteConfigArgs(
public val alwaysOn: Output? = null,
public val appScaleLimit: Output? = null,
public val autoSwapSlotName: Output? = null,
public val cors: Output? = null,
public val dotnetFrameworkVersion: Output? = null,
public val elasticInstanceMinimum: Output? = null,
public val ftpsState: Output? = null,
public val healthCheckPath: Output? = null,
public val http2Enabled: Output? = null,
public val ipRestrictions: Output>? = null,
public val javaVersion: Output? = null,
public val linuxFxVersion: Output? = null,
public val minTlsVersion: Output? = null,
public val preWarmedInstanceCount: Output? = null,
public val runtimeScaleMonitoringEnabled: Output? = null,
public val scmIpRestrictions: Output>? = null,
public val scmType: Output? = null,
public val scmUseMainIpRestriction: Output? = null,
public val use32BitWorkerProcess: Output? = null,
public val vnetRouteAllEnabled: Output? = null,
public val websocketsEnabled: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.appservice.inputs.FunctionAppSlotSiteConfigArgs =
com.pulumi.azure.appservice.inputs.FunctionAppSlotSiteConfigArgs.builder()
.alwaysOn(alwaysOn?.applyValue({ args0 -> args0 }))
.appScaleLimit(appScaleLimit?.applyValue({ args0 -> args0 }))
.autoSwapSlotName(autoSwapSlotName?.applyValue({ args0 -> args0 }))
.cors(cors?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dotnetFrameworkVersion(dotnetFrameworkVersion?.applyValue({ args0 -> args0 }))
.elasticInstanceMinimum(elasticInstanceMinimum?.applyValue({ args0 -> args0 }))
.ftpsState(ftpsState?.applyValue({ args0 -> args0 }))
.healthCheckPath(healthCheckPath?.applyValue({ args0 -> args0 }))
.http2Enabled(http2Enabled?.applyValue({ args0 -> args0 }))
.ipRestrictions(
ipRestrictions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.javaVersion(javaVersion?.applyValue({ args0 -> args0 }))
.linuxFxVersion(linuxFxVersion?.applyValue({ args0 -> args0 }))
.minTlsVersion(minTlsVersion?.applyValue({ args0 -> args0 }))
.preWarmedInstanceCount(preWarmedInstanceCount?.applyValue({ args0 -> args0 }))
.runtimeScaleMonitoringEnabled(runtimeScaleMonitoringEnabled?.applyValue({ args0 -> args0 }))
.scmIpRestrictions(
scmIpRestrictions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.scmType(scmType?.applyValue({ args0 -> args0 }))
.scmUseMainIpRestriction(scmUseMainIpRestriction?.applyValue({ args0 -> args0 }))
.use32BitWorkerProcess(use32BitWorkerProcess?.applyValue({ args0 -> args0 }))
.vnetRouteAllEnabled(vnetRouteAllEnabled?.applyValue({ args0 -> args0 }))
.websocketsEnabled(websocketsEnabled?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [FunctionAppSlotSiteConfigArgs].
*/
@PulumiTagMarker
public class FunctionAppSlotSiteConfigArgsBuilder internal constructor() {
private var alwaysOn: Output? = null
private var appScaleLimit: Output? = null
private var autoSwapSlotName: Output? = null
private var cors: Output? = null
private var dotnetFrameworkVersion: Output? = null
private var elasticInstanceMinimum: Output? = null
private var ftpsState: Output? = null
private var healthCheckPath: Output? = null
private var http2Enabled: Output? = null
private var ipRestrictions: Output>? = null
private var javaVersion: Output? = null
private var linuxFxVersion: Output? = null
private var minTlsVersion: Output? = null
private var preWarmedInstanceCount: Output? = null
private var runtimeScaleMonitoringEnabled: Output? = null
private var scmIpRestrictions: Output>? = null
private var scmType: Output? = null
private var scmUseMainIpRestriction: Output? = null
private var use32BitWorkerProcess: Output? = null
private var vnetRouteAllEnabled: Output? = null
private var websocketsEnabled: Output? = null
/**
* @param value Should the Function App be loaded at all times? Defaults to `false`.
*/
@JvmName("qrfcvgyudufywhei")
public suspend fun alwaysOn(`value`: Output) {
this.alwaysOn = 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("pjwyqfsmeyetwjcd")
public suspend fun appScaleLimit(`value`: Output) {
this.appScaleLimit = value
}
/**
* @param value The name of the slot to automatically swap to during deployment
*/
@JvmName("fcfbihvjtycamapa")
public suspend fun autoSwapSlotName(`value`: Output) {
this.autoSwapSlotName = value
}
/**
* @param value A `cors` block as defined below.
*/
@JvmName("hxlymabnkrdijfly")
public suspend fun cors(`value`: Output) {
this.cors = value
}
/**
* @param value The version of the .NET framework's CLR used in this function app. Possible values are `v4.0` (including .NET Core 2.1 and 3.1), `v5.0` and `v6.0`. [For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table](https://docs.microsoft.com/azure/azure-functions/functions-dotnet-class-library#supported-versions). Defaults to `v4.0`.
*/
@JvmName("emcgaogsnvaiuxjj")
public suspend fun dotnetFrameworkVersion(`value`: Output) {
this.dotnetFrameworkVersion = value
}
/**
* @param value The number of minimum instances for this function app. Only applicable to apps on the Premium plan.
*/
@JvmName("jmfriqbrqjnwinku")
public suspend fun elasticInstanceMinimum(`value`: Output) {
this.elasticInstanceMinimum = value
}
/**
* @param value State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
*/
@JvmName("dcgwajfqcqmstmfg")
public suspend fun ftpsState(`value`: Output) {
this.ftpsState = value
}
/**
* @param value Path which will be checked for this function app health.
*/
@JvmName("ejyjxmjptsftksik")
public suspend fun healthCheckPath(`value`: Output) {
this.healthCheckPath = value
}
/**
* @param value Specifies whether or not the HTTP2 protocol should be enabled. Defaults to `false`.
*/
@JvmName("pgxdsowcebccwjxd")
public suspend fun http2Enabled(`value`: Output) {
this.http2Enabled = value
}
/**
* @param value A list of `ip_restriction` objects representing IP restrictions as defined below.
*/
@JvmName("nwwothvycuoiurgj")
public suspend fun ipRestrictions(`value`: Output>) {
this.ipRestrictions = value
}
@JvmName("hsjfkxoaqwvlknxt")
public suspend fun ipRestrictions(vararg values: Output) {
this.ipRestrictions = Output.all(values.asList())
}
/**
* @param values A list of `ip_restriction` objects representing IP restrictions as defined below.
*/
@JvmName("nrcbqmyotrpeoipn")
public suspend fun ipRestrictions(values: List