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.logicapps.kotlin.inputs
import com.pulumi.azure.logicapps.inputs.StandardSiteConfigArgs.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 Logic App be loaded at all times? Defaults to `false`.
* @property appScaleLimit The number of workers this Logic App can scale out to. Only applicable to apps on the Consumption and Premium plan.
* @property autoSwapSlotName The Auto-swap slot name.
* @property cors A `cors` block as defined below.
* @property dotnetFrameworkVersion The version of the .NET framework's CLR used in this Logic 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 Logic App Only affects apps on the Premium plan.
* @property ftpsState State of FTP / FTPS service for this Logic App Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `AllAllowed`.
* @property healthCheckPath Path which will be checked for this Logic 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.
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
* @property linuxFxVersion Linux App Framework and version for the AppService, e.g. `DOCKER|(golang:latest)`. Setting this value will also set the `kind` of application deployed to `functionapp,linux,container,workflowapp`
* @property minTlsVersion The minimum supported TLS version for the Logic App Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new Logic Apps.
* @property preWarmedInstanceCount The number of pre-warmed instances for this Logic App Only affects apps on the Premium plan.
* @property publicNetworkAccessEnabled Is public network access enabled? Defaults to `true`.
* @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 SCM IP restrictions as defined below.
* > **NOTE** User has to explicitly set `scm_ip_restriction` to empty slice (`[]`) to remove it.
* @property scmMinTlsVersion Configures the minimum version of TLS required for SSL requests to the SCM site. Possible values are `1.0`, `1.1` and `1.2`.
* @property scmType The type of Source Control used by the Logic App in use by the Windows Function App. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`
* @property scmUseMainIpRestriction Should the Logic App `ip_restriction` configuration be used for the SCM too. Defaults to `false`.
* @property use32BitWorkerProcess Should the Logic 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 Should all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.
* @property websocketsEnabled Should WebSockets be enabled?
*/
public data class StandardSiteConfigArgs(
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 linuxFxVersion: Output? = null,
public val minTlsVersion: Output? = null,
public val preWarmedInstanceCount: Output? = null,
public val publicNetworkAccessEnabled: Output? = null,
public val runtimeScaleMonitoringEnabled: Output? = null,
public val scmIpRestrictions: Output>? = null,
public val scmMinTlsVersion: 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.logicapps.inputs.StandardSiteConfigArgs =
com.pulumi.azure.logicapps.inputs.StandardSiteConfigArgs.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()
})
})
}),
)
.linuxFxVersion(linuxFxVersion?.applyValue({ args0 -> args0 }))
.minTlsVersion(minTlsVersion?.applyValue({ args0 -> args0 }))
.preWarmedInstanceCount(preWarmedInstanceCount?.applyValue({ args0 -> args0 }))
.publicNetworkAccessEnabled(publicNetworkAccessEnabled?.applyValue({ args0 -> args0 }))
.runtimeScaleMonitoringEnabled(runtimeScaleMonitoringEnabled?.applyValue({ args0 -> args0 }))
.scmIpRestrictions(
scmIpRestrictions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.scmMinTlsVersion(scmMinTlsVersion?.applyValue({ args0 -> args0 }))
.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 [StandardSiteConfigArgs].
*/
@PulumiTagMarker
public class StandardSiteConfigArgsBuilder 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 linuxFxVersion: Output? = null
private var minTlsVersion: Output? = null
private var preWarmedInstanceCount: Output? = null
private var publicNetworkAccessEnabled: Output? = null
private var runtimeScaleMonitoringEnabled: Output? = null
private var scmIpRestrictions: Output>? = null
private var scmMinTlsVersion: 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 Logic App be loaded at all times? Defaults to `false`.
*/
@JvmName("nijkppfukeeqngaw")
public suspend fun alwaysOn(`value`: Output) {
this.alwaysOn = value
}
/**
* @param value The number of workers this Logic App can scale out to. Only applicable to apps on the Consumption and Premium plan.
*/
@JvmName("pkppfeqbrjwaohlw")
public suspend fun appScaleLimit(`value`: Output) {
this.appScaleLimit = value
}
/**
* @param value The Auto-swap slot name.
*/
@JvmName("aebywmkmrlqlmlxt")
public suspend fun autoSwapSlotName(`value`: Output) {
this.autoSwapSlotName = value
}
/**
* @param value A `cors` block as defined below.
*/
@JvmName("dmkhrmfrokdvvxgg")
public suspend fun cors(`value`: Output) {
this.cors = value
}
/**
* @param value The version of the .NET framework's CLR used in this Logic 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("quemblldsuxxqhoi")
public suspend fun dotnetFrameworkVersion(`value`: Output) {
this.dotnetFrameworkVersion = value
}
/**
* @param value The number of minimum instances for this Logic App Only affects apps on the Premium plan.
*/
@JvmName("qnroebsfrbdvwvyc")
public suspend fun elasticInstanceMinimum(`value`: Output) {
this.elasticInstanceMinimum = value
}
/**
* @param value State of FTP / FTPS service for this Logic App Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`. Defaults to `AllAllowed`.
*/
@JvmName("ctypwnifrbehjnjd")
public suspend fun ftpsState(`value`: Output) {
this.ftpsState = value
}
/**
* @param value Path which will be checked for this Logic App health.
*/
@JvmName("tmmoufmngqqnyxfh")
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("pgqvvjqxsqwhjmfi")
public suspend fun http2Enabled(`value`: Output) {
this.http2Enabled = value
}
/**
* @param value A list of `ip_restriction` objects representing IP restrictions as defined below.
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*/
@JvmName("awttuirjrmgwvsot")
public suspend fun ipRestrictions(`value`: Output>) {
this.ipRestrictions = value
}
@JvmName("mejpovotscjacfnc")
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.
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
*/
@JvmName("bkwypmkjmcsxidkn")
public suspend fun ipRestrictions(values: List