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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appservice.kotlin.inputs
import com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs.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 acrUseManagedIdentityCredentials Are Managed Identity Credentials used for Azure Container Registry pull
* @property acrUserManagedIdentityClientId If using User Managed Identity, the User Managed Identity Client Id
* > **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)
* @property alwaysOn Should the slot be loaded at all times? Defaults to `false`.
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `always_on` must be set to `false`.
* @property appCommandLine App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.
* @property autoSwapSlotName The name of the slot to automatically swap to during deployment
* @property cors A `cors` block as defined below.
* @property defaultDocuments The ordering of default documents to load, if an address isn't specified.
* @property dotnetFrameworkVersion The version of the .NET framework's CLR used in this App Service Slot. Possible values are `v2.0` (which will use the latest version of the .NET framework for the .NET CLR v2 - currently `.net 3.5`), `v4.0` (which corresponds to the latest version of the .NET CLR v4 - which at the time of writing is `.net 4.7.1`), `v5.0` and `v6.0`. [For more information on which .NET CLR version to use based on the .NET framework you're targeting - please see this table](https://en.wikipedia.org/wiki/.NET_Framework_version_history#Overview). Defaults to `v4.0`.
* @property ftpsState State of FTP / FTPS service for this App Service Slot. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.
* @property healthCheckPath The health check path to be pinged by App Service Slot. [For more information - please see App Service health check announcement](https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html).
* @property http2Enabled Is HTTP2 Enabled on this App Service? Defaults to `false`.
* @property ipRestrictions A list of objects representing ip restrictions as defined below.
* > **NOTE** User has to explicitly set `ip_restriction` to empty slice (`[]`) to remove it.
* @property javaContainer The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.
* @property javaContainerVersion The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.
* @property javaVersion The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8`, and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)
* @property linuxFxVersion Linux App Framework and version for the App Service Slot. Possible options are a Docker container (`DOCKER|`), a base-64 encoded Docker Compose file (`COMPOSE|${filebase64("compose.yml")}`) or a base-64 encoded Kubernetes Manifest (`KUBE|${filebase64("kubernetes.yml")}`).
* > **NOTE:** To set this property the App Service Plan to which the App belongs must be configured with `kind = "Linux"`, and `reserved = true` or the API will reject any value supplied.
* @property localMysqlEnabled Is "MySQL In App" Enabled? This runs a local MySQL instance with your app and shares resources from the App Service plan.
* > **NOTE:** MySQL In App is not intended for production environments and will not scale beyond a single instance. Instead you may wish to use Azure Database for MySQL.
* @property managedPipelineMode The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.
* @property minTlsVersion The minimum supported TLS version for the app service. Possible values are `1.0`, `1.1`, and `1.2`. Defaults to `1.2` for new app services.
* @property numberOfWorkers The scaled number of workers (for per site scaling) of this App Service Slot. Requires that `per_site_scaling` is enabled on the `azure.appservice.Plan`. [For more information - please see Microsoft documentation on high-density hosting](https://docs.microsoft.com/azure/app-service/manage-scale-per-app).
* @property phpVersion The version of PHP to use in this App Service Slot. Possible values are `5.5`, `5.6`, `7.0`, `7.1`, `7.2`, `7.3`, and `7.4`.
* @property pythonVersion The version of Python to use in this App Service Slot. Possible values are `2.7` and `3.4`.
* @property remoteDebuggingEnabled Is Remote Debugging Enabled? Defaults to `false`.
* @property remoteDebuggingVersion Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2017`, `VS2019`, and `VS2022`.
* @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 enabled for this App Service Slot. Defaults to `None`. Possible values are: `BitbucketGit`, `BitbucketHg`, `CodePlexGit`, `CodePlexHg`, `Dropbox`, `ExternalGit`, `ExternalHg`, `GitHub`, `LocalGit`, `None`, `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`
* @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 App Service Slot run in 32 bit mode, rather than 64 bit mode?
* > **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?
* @property windowsFxVersion The Windows Docker container image (`DOCKER|`)
* Additional examples of how to run Containers via the `azure.appservice.Slot` resource can be found in the `./examples/app-service` directory within the GitHub Repository.
*/
public data class SlotSiteConfigArgs(
public val acrUseManagedIdentityCredentials: Output? = null,
public val acrUserManagedIdentityClientId: Output? = null,
public val alwaysOn: Output? = null,
public val appCommandLine: Output? = null,
public val autoSwapSlotName: Output? = null,
public val cors: Output? = null,
public val defaultDocuments: Output>? = null,
public val dotnetFrameworkVersion: Output? = null,
public val ftpsState: Output? = null,
public val healthCheckPath: Output? = null,
public val http2Enabled: Output? = null,
public val ipRestrictions: Output>? = null,
public val javaContainer: Output? = null,
public val javaContainerVersion: Output? = null,
public val javaVersion: Output? = null,
public val linuxFxVersion: Output? = null,
public val localMysqlEnabled: Output? = null,
public val managedPipelineMode: Output? = null,
public val minTlsVersion: Output? = null,
public val numberOfWorkers: Output? = null,
public val phpVersion: Output? = null,
public val pythonVersion: Output? = null,
public val remoteDebuggingEnabled: Output? = null,
public val remoteDebuggingVersion: 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,
public val windowsFxVersion: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs =
com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs.builder()
.acrUseManagedIdentityCredentials(acrUseManagedIdentityCredentials?.applyValue({ args0 -> args0 }))
.acrUserManagedIdentityClientId(acrUserManagedIdentityClientId?.applyValue({ args0 -> args0 }))
.alwaysOn(alwaysOn?.applyValue({ args0 -> args0 }))
.appCommandLine(appCommandLine?.applyValue({ args0 -> args0 }))
.autoSwapSlotName(autoSwapSlotName?.applyValue({ args0 -> args0 }))
.cors(cors?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.defaultDocuments(defaultDocuments?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.dotnetFrameworkVersion(dotnetFrameworkVersion?.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()
})
})
}),
)
.javaContainer(javaContainer?.applyValue({ args0 -> args0 }))
.javaContainerVersion(javaContainerVersion?.applyValue({ args0 -> args0 }))
.javaVersion(javaVersion?.applyValue({ args0 -> args0 }))
.linuxFxVersion(linuxFxVersion?.applyValue({ args0 -> args0 }))
.localMysqlEnabled(localMysqlEnabled?.applyValue({ args0 -> args0 }))
.managedPipelineMode(managedPipelineMode?.applyValue({ args0 -> args0 }))
.minTlsVersion(minTlsVersion?.applyValue({ args0 -> args0 }))
.numberOfWorkers(numberOfWorkers?.applyValue({ args0 -> args0 }))
.phpVersion(phpVersion?.applyValue({ args0 -> args0 }))
.pythonVersion(pythonVersion?.applyValue({ args0 -> args0 }))
.remoteDebuggingEnabled(remoteDebuggingEnabled?.applyValue({ args0 -> args0 }))
.remoteDebuggingVersion(remoteDebuggingVersion?.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 }))
.windowsFxVersion(windowsFxVersion?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SlotSiteConfigArgs].
*/
@PulumiTagMarker
public class SlotSiteConfigArgsBuilder internal constructor() {
private var acrUseManagedIdentityCredentials: Output? = null
private var acrUserManagedIdentityClientId: Output? = null
private var alwaysOn: Output? = null
private var appCommandLine: Output? = null
private var autoSwapSlotName: Output? = null
private var cors: Output? = null
private var defaultDocuments: Output>? = null
private var dotnetFrameworkVersion: Output? = null
private var ftpsState: Output? = null
private var healthCheckPath: Output? = null
private var http2Enabled: Output? = null
private var ipRestrictions: Output>? = null
private var javaContainer: Output? = null
private var javaContainerVersion: Output? = null
private var javaVersion: Output? = null
private var linuxFxVersion: Output? = null
private var localMysqlEnabled: Output? = null
private var managedPipelineMode: Output? = null
private var minTlsVersion: Output? = null
private var numberOfWorkers: Output? = null
private var phpVersion: Output? = null
private var pythonVersion: Output? = null
private var remoteDebuggingEnabled: Output? = null
private var remoteDebuggingVersion: 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
private var windowsFxVersion: Output? = null
/**
* @param value Are Managed Identity Credentials used for Azure Container Registry pull
*/
@JvmName("lbvtpaixdauuefrk")
public suspend fun acrUseManagedIdentityCredentials(`value`: Output) {
this.acrUseManagedIdentityCredentials = value
}
/**
* @param value If using User Managed Identity, the User Managed Identity Client Id
* > **NOTE:** When using User Managed Identity with Azure Container Registry the Identity will need to have the [ACRPull role assigned](https://docs.microsoft.com/azure/container-registry/container-registry-authentication-managed-identity#example-1-access-with-a-user-assigned-identity)
*/
@JvmName("maadpsvkkpyitdbh")
public suspend fun acrUserManagedIdentityClientId(`value`: Output) {
this.acrUserManagedIdentityClientId = value
}
/**
* @param value Should the slot be loaded at all times? Defaults to `false`.
* > **NOTE:** when using an App Service Plan in the `Free` or `Shared` Tiers `always_on` must be set to `false`.
*/
@JvmName("lvfpghomfimcnmvi")
public suspend fun alwaysOn(`value`: Output) {
this.alwaysOn = value
}
/**
* @param value App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.
*/
@JvmName("lwiuupbhkgekwbro")
public suspend fun appCommandLine(`value`: Output) {
this.appCommandLine = value
}
/**
* @param value The name of the slot to automatically swap to during deployment
*/
@JvmName("lhfojlimspyjjikl")
public suspend fun autoSwapSlotName(`value`: Output) {
this.autoSwapSlotName = value
}
/**
* @param value A `cors` block as defined below.
*/
@JvmName("ccpxmxnsfvptulos")
public suspend fun cors(`value`: Output) {
this.cors = value
}
/**
* @param value The ordering of default documents to load, if an address isn't specified.
*/
@JvmName("wwwcehnqdyrbxgsn")
public suspend fun defaultDocuments(`value`: Output>) {
this.defaultDocuments = value
}
@JvmName("vdjxcltroxxjnewf")
public suspend fun defaultDocuments(vararg values: Output) {
this.defaultDocuments = Output.all(values.asList())
}
/**
* @param values The ordering of default documents to load, if an address isn't specified.
*/
@JvmName("mjgftuugmqcbpbow")
public suspend fun defaultDocuments(values: List