Please wait. This can take some minutes ...
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.
com.pulumi.azure.signalr.kotlin.ServiceArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.signalr.kotlin
import com.pulumi.azure.signalr.ServiceArgs.builder
import com.pulumi.azure.signalr.kotlin.inputs.ServiceCorArgs
import com.pulumi.azure.signalr.kotlin.inputs.ServiceCorArgsBuilder
import com.pulumi.azure.signalr.kotlin.inputs.ServiceIdentityArgs
import com.pulumi.azure.signalr.kotlin.inputs.ServiceIdentityArgsBuilder
import com.pulumi.azure.signalr.kotlin.inputs.ServiceLiveTraceArgs
import com.pulumi.azure.signalr.kotlin.inputs.ServiceLiveTraceArgsBuilder
import com.pulumi.azure.signalr.kotlin.inputs.ServiceSkuArgs
import com.pulumi.azure.signalr.kotlin.inputs.ServiceSkuArgsBuilder
import com.pulumi.azure.signalr.kotlin.inputs.ServiceUpstreamEndpointArgs
import com.pulumi.azure.signalr.kotlin.inputs.ServiceUpstreamEndpointArgsBuilder
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.Deprecated
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Manages an Azure SignalR service.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = new azure.core.ResourceGroup("example", {
* name: "my-signalr",
* location: "West US",
* });
* const exampleService = new azure.signalr.Service("example", {
* name: "tfex-signalr",
* location: example.location,
* resourceGroupName: example.name,
* sku: {
* name: "Free_F1",
* capacity: 1,
* },
* cors: [{
* allowedOrigins: ["http://www.example.com"],
* }],
* publicNetworkAccessEnabled: false,
* connectivityLogsEnabled: true,
* messagingLogsEnabled: true,
* serviceMode: "Default",
* upstreamEndpoints: [{
* categoryPatterns: [
* "connections",
* "messages",
* ],
* eventPatterns: ["*"],
* hubPatterns: ["hub1"],
* urlTemplate: "http://foo.com",
* }],
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.core.ResourceGroup("example",
* name="my-signalr",
* location="West US")
* example_service = azure.signalr.Service("example",
* name="tfex-signalr",
* location=example.location,
* resource_group_name=example.name,
* sku=azure.signalr.ServiceSkuArgs(
* name="Free_F1",
* capacity=1,
* ),
* cors=[azure.signalr.ServiceCorArgs(
* allowed_origins=["http://www.example.com"],
* )],
* public_network_access_enabled=False,
* connectivity_logs_enabled=True,
* messaging_logs_enabled=True,
* service_mode="Default",
* upstream_endpoints=[azure.signalr.ServiceUpstreamEndpointArgs(
* category_patterns=[
* "connections",
* "messages",
* ],
* event_patterns=["*"],
* hub_patterns=["hub1"],
* url_template="http://foo.com",
* )])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var example = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "my-signalr",
* Location = "West US",
* });
* var exampleService = new Azure.SignalR.Service("example", new()
* {
* Name = "tfex-signalr",
* Location = example.Location,
* ResourceGroupName = example.Name,
* Sku = new Azure.SignalR.Inputs.ServiceSkuArgs
* {
* Name = "Free_F1",
* Capacity = 1,
* },
* Cors = new[]
* {
* new Azure.SignalR.Inputs.ServiceCorArgs
* {
* AllowedOrigins = new[]
* {
* "http://www.example.com",
* },
* },
* },
* PublicNetworkAccessEnabled = false,
* ConnectivityLogsEnabled = true,
* MessagingLogsEnabled = true,
* ServiceMode = "Default",
* UpstreamEndpoints = new[]
* {
* new Azure.SignalR.Inputs.ServiceUpstreamEndpointArgs
* {
* CategoryPatterns = new[]
* {
* "connections",
* "messages",
* },
* EventPatterns = new[]
* {
* "*",
* },
* HubPatterns = new[]
* {
* "hub1",
* },
* UrlTemplate = "http://foo.com",
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/signalr"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("my-signalr"),
* Location: pulumi.String("West US"),
* })
* if err != nil {
* return err
* }
* _, err = signalr.NewService(ctx, "example", &signalr.ServiceArgs{
* Name: pulumi.String("tfex-signalr"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* Sku: &signalr.ServiceSkuArgs{
* Name: pulumi.String("Free_F1"),
* Capacity: pulumi.Int(1),
* },
* Cors: signalr.ServiceCorArray{
* &signalr.ServiceCorArgs{
* AllowedOrigins: pulumi.StringArray{
* pulumi.String("http://www.example.com"),
* },
* },
* },
* PublicNetworkAccessEnabled: pulumi.Bool(false),
* ConnectivityLogsEnabled: pulumi.Bool(true),
* MessagingLogsEnabled: pulumi.Bool(true),
* ServiceMode: pulumi.String("Default"),
* UpstreamEndpoints: signalr.ServiceUpstreamEndpointArray{
* &signalr.ServiceUpstreamEndpointArgs{
* CategoryPatterns: pulumi.StringArray{
* pulumi.String("connections"),
* pulumi.String("messages"),
* },
* EventPatterns: pulumi.StringArray{
* pulumi.String("*"),
* },
* HubPatterns: pulumi.StringArray{
* pulumi.String("hub1"),
* },
* UrlTemplate: pulumi.String("http://foo.com"),
* },
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azure.core.ResourceGroup;
* import com.pulumi.azure.core.ResourceGroupArgs;
* import com.pulumi.azure.signalr.Service;
* import com.pulumi.azure.signalr.ServiceArgs;
* import com.pulumi.azure.signalr.inputs.ServiceSkuArgs;
* import com.pulumi.azure.signalr.inputs.ServiceCorArgs;
* import com.pulumi.azure.signalr.inputs.ServiceUpstreamEndpointArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("my-signalr")
* .location("West US")
* .build());
* var exampleService = new Service("exampleService", ServiceArgs.builder()
* .name("tfex-signalr")
* .location(example.location())
* .resourceGroupName(example.name())
* .sku(ServiceSkuArgs.builder()
* .name("Free_F1")
* .capacity(1)
* .build())
* .cors(ServiceCorArgs.builder()
* .allowedOrigins("http://www.example.com")
* .build())
* .publicNetworkAccessEnabled(false)
* .connectivityLogsEnabled(true)
* .messagingLogsEnabled(true)
* .serviceMode("Default")
* .upstreamEndpoints(ServiceUpstreamEndpointArgs.builder()
* .categoryPatterns(
* "connections",
* "messages")
* .eventPatterns("*")
* .hubPatterns("hub1")
* .urlTemplate("http://foo.com")
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: my-signalr
* location: West US
* exampleService:
* type: azure:signalr:Service
* name: example
* properties:
* name: tfex-signalr
* location: ${example.location}
* resourceGroupName: ${example.name}
* sku:
* name: Free_F1
* capacity: 1
* cors:
* - allowedOrigins:
* - http://www.example.com
* publicNetworkAccessEnabled: false
* connectivityLogsEnabled: true
* messagingLogsEnabled: true
* serviceMode: Default
* upstreamEndpoints:
* - categoryPatterns:
* - connections
* - messages
* eventPatterns:
* - '*'
* hubPatterns:
* - hub1
* urlTemplate: http://foo.com
* ```
*
* ## Import
* SignalR services can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:signalr/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/terraform-signalr/providers/Microsoft.SignalRService/signalR/tfex-signalr
* ```
* @property aadAuthEnabled Whether to enable AAD auth? Defaults to `true`.
* @property connectivityLogsEnabled Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
* @property cors A `cors` block as documented below.
* @property httpRequestLogsEnabled Specifies if Http Request Logs are enabled or not. Defaults to `false`.
* @property identity An `identity` block as defined below.
* @property liveTrace A `live_trace` block as defined below.
* @property liveTraceEnabled Specifies if Live Trace is enabled or not. Defaults to `false`.
* @property localAuthEnabled Whether to enable local auth? Defaults to `true`.
* @property location Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
* @property messagingLogsEnabled Specifies if Messaging Logs are enabled or not. Defaults to `false`.
* @property name The name of the SignalR service. Changing this forces a new resource to be created.
* @property publicNetworkAccessEnabled Whether to enable public network access? Defaults to `true`.
* > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
* @property resourceGroupName The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
* @property serverlessConnectionTimeoutInSeconds Specifies the client connection timeout. Defaults to `30`.
* @property serviceMode Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
* @property sku A `sku` block as documented below.
* @property tags A mapping of tags to assign to the resource.
* @property tlsClientCertEnabled Whether to request client certificate during TLS handshake? Defaults to `false`.
* > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
* @property upstreamEndpoints An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
public data class ServiceArgs(
public val aadAuthEnabled: Output? = null,
public val connectivityLogsEnabled: Output? = null,
public val cors: Output>? = null,
public val httpRequestLogsEnabled: Output? = null,
public val identity: Output? = null,
public val liveTrace: Output? = null,
@Deprecated(
message = """
`live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
""",
)
public val liveTraceEnabled: Output? = null,
public val localAuthEnabled: Output? = null,
public val location: Output? = null,
public val messagingLogsEnabled: Output? = null,
public val name: Output? = null,
public val publicNetworkAccessEnabled: Output? = null,
public val resourceGroupName: Output? = null,
public val serverlessConnectionTimeoutInSeconds: Output? = null,
public val serviceMode: Output? = null,
public val sku: Output? = null,
public val tags: Output>? = null,
public val tlsClientCertEnabled: Output? = null,
public val upstreamEndpoints: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.signalr.ServiceArgs =
com.pulumi.azure.signalr.ServiceArgs.builder()
.aadAuthEnabled(aadAuthEnabled?.applyValue({ args0 -> args0 }))
.connectivityLogsEnabled(connectivityLogsEnabled?.applyValue({ args0 -> args0 }))
.cors(cors?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.httpRequestLogsEnabled(httpRequestLogsEnabled?.applyValue({ args0 -> args0 }))
.identity(identity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.liveTrace(liveTrace?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.liveTraceEnabled(liveTraceEnabled?.applyValue({ args0 -> args0 }))
.localAuthEnabled(localAuthEnabled?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.messagingLogsEnabled(messagingLogsEnabled?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.publicNetworkAccessEnabled(publicNetworkAccessEnabled?.applyValue({ args0 -> args0 }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.serverlessConnectionTimeoutInSeconds(
serverlessConnectionTimeoutInSeconds?.applyValue({ args0 ->
args0
}),
)
.serviceMode(serviceMode?.applyValue({ args0 -> args0 }))
.sku(sku?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.tlsClientCertEnabled(tlsClientCertEnabled?.applyValue({ args0 -> args0 }))
.upstreamEndpoints(
upstreamEndpoints?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ServiceArgs].
*/
@PulumiTagMarker
public class ServiceArgsBuilder internal constructor() {
private var aadAuthEnabled: Output? = null
private var connectivityLogsEnabled: Output? = null
private var cors: Output>? = null
private var httpRequestLogsEnabled: Output? = null
private var identity: Output? = null
private var liveTrace: Output? = null
private var liveTraceEnabled: Output? = null
private var localAuthEnabled: Output? = null
private var location: Output? = null
private var messagingLogsEnabled: Output? = null
private var name: Output? = null
private var publicNetworkAccessEnabled: Output? = null
private var resourceGroupName: Output? = null
private var serverlessConnectionTimeoutInSeconds: Output? = null
private var serviceMode: Output? = null
private var sku: Output? = null
private var tags: Output>? = null
private var tlsClientCertEnabled: Output? = null
private var upstreamEndpoints: Output>? = null
/**
* @param value Whether to enable AAD auth? Defaults to `true`.
*/
@JvmName("rhfatrswbuwycaih")
public suspend fun aadAuthEnabled(`value`: Output) {
this.aadAuthEnabled = value
}
/**
* @param value Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
*/
@JvmName("etbnjgmibpyfihiv")
public suspend fun connectivityLogsEnabled(`value`: Output) {
this.connectivityLogsEnabled = value
}
/**
* @param value A `cors` block as documented below.
*/
@JvmName("uqniahixohvdlwwj")
public suspend fun cors(`value`: Output>) {
this.cors = value
}
@JvmName("unlwwgqpxqhatmpq")
public suspend fun cors(vararg values: Output) {
this.cors = Output.all(values.asList())
}
/**
* @param values A `cors` block as documented below.
*/
@JvmName("atmaucjgnnnppnuo")
public suspend fun cors(values: List>) {
this.cors = Output.all(values)
}
/**
* @param value Specifies if Http Request Logs are enabled or not. Defaults to `false`.
*/
@JvmName("sknptkhbiawblgnx")
public suspend fun httpRequestLogsEnabled(`value`: Output) {
this.httpRequestLogsEnabled = value
}
/**
* @param value An `identity` block as defined below.
*/
@JvmName("ttijyumvbquandvm")
public suspend fun identity(`value`: Output) {
this.identity = value
}
/**
* @param value A `live_trace` block as defined below.
*/
@JvmName("ktqcmopgvhxvlkyg")
public suspend fun liveTrace(`value`: Output) {
this.liveTrace = value
}
/**
* @param value Specifies if Live Trace is enabled or not. Defaults to `false`.
*/
@Deprecated(
message = """
`live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
""",
)
@JvmName("wgnfgrhmajbejawu")
public suspend fun liveTraceEnabled(`value`: Output) {
this.liveTraceEnabled = value
}
/**
* @param value Whether to enable local auth? Defaults to `true`.
*/
@JvmName("awtcchmbwacbfdou")
public suspend fun localAuthEnabled(`value`: Output) {
this.localAuthEnabled = value
}
/**
* @param value Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
*/
@JvmName("qtirxbwbivjekyny")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Specifies if Messaging Logs are enabled or not. Defaults to `false`.
*/
@JvmName("cfqgceebomsucajm")
public suspend fun messagingLogsEnabled(`value`: Output) {
this.messagingLogsEnabled = value
}
/**
* @param value The name of the SignalR service. Changing this forces a new resource to be created.
*/
@JvmName("jngyrahenidhomcd")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Whether to enable public network access? Defaults to `true`.
* > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
*/
@JvmName("kaknhsipxjdyhrvq")
public suspend fun publicNetworkAccessEnabled(`value`: Output) {
this.publicNetworkAccessEnabled = value
}
/**
* @param value The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
*/
@JvmName("mgryfcwbssbordxr")
public suspend fun resourceGroupName(`value`: Output) {
this.resourceGroupName = value
}
/**
* @param value Specifies the client connection timeout. Defaults to `30`.
*/
@JvmName("fendoxwgtglkblqj")
public suspend fun serverlessConnectionTimeoutInSeconds(`value`: Output) {
this.serverlessConnectionTimeoutInSeconds = value
}
/**
* @param value Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
*/
@JvmName("nrjmketearnhvlcc")
public suspend fun serviceMode(`value`: Output) {
this.serviceMode = value
}
/**
* @param value A `sku` block as documented below.
*/
@JvmName("bvdfmajmdsqetrur")
public suspend fun sku(`value`: Output) {
this.sku = value
}
/**
* @param value A mapping of tags to assign to the resource.
*/
@JvmName("tlcrtejrhfhovkam")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Whether to request client certificate during TLS handshake? Defaults to `false`.
* > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
*/
@JvmName("ofrhofpjylcvfpuv")
public suspend fun tlsClientCertEnabled(`value`: Output) {
this.tlsClientCertEnabled = value
}
/**
* @param value An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("rbdujwudodeehdnr")
public suspend fun upstreamEndpoints(`value`: Output>) {
this.upstreamEndpoints = value
}
@JvmName("jasmugifbtgkbmln")
public suspend fun upstreamEndpoints(vararg values: Output) {
this.upstreamEndpoints = Output.all(values.asList())
}
/**
* @param values An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("wfjyodomqqxehlpo")
public suspend fun upstreamEndpoints(values: List>) {
this.upstreamEndpoints = Output.all(values)
}
/**
* @param value Whether to enable AAD auth? Defaults to `true`.
*/
@JvmName("pskdguynpxpoqxfj")
public suspend fun aadAuthEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.aadAuthEnabled = mapped
}
/**
* @param value Specifies if Connectivity Logs are enabled or not. Defaults to `false`.
*/
@JvmName("hmxjemtqmgkduadr")
public suspend fun connectivityLogsEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectivityLogsEnabled = mapped
}
/**
* @param value A `cors` block as documented below.
*/
@JvmName("vbrxouypkfvuutsf")
public suspend fun cors(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cors = mapped
}
/**
* @param argument A `cors` block as documented below.
*/
@JvmName("iybjwhsthwncwxyc")
public suspend fun cors(argument: List Unit>) {
val toBeMapped = argument.toList().map { ServiceCorArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.cors = mapped
}
/**
* @param argument A `cors` block as documented below.
*/
@JvmName("aeygyyultwpemnhk")
public suspend fun cors(vararg argument: suspend ServiceCorArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map { ServiceCorArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.cors = mapped
}
/**
* @param argument A `cors` block as documented below.
*/
@JvmName("nmvdjindhmkjdxcl")
public suspend fun cors(argument: suspend ServiceCorArgsBuilder.() -> Unit) {
val toBeMapped = listOf(ServiceCorArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.cors = mapped
}
/**
* @param values A `cors` block as documented below.
*/
@JvmName("qwwqfdyghidagisj")
public suspend fun cors(vararg values: ServiceCorArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.cors = mapped
}
/**
* @param value Specifies if Http Request Logs are enabled or not. Defaults to `false`.
*/
@JvmName("vcqputganetfxvho")
public suspend fun httpRequestLogsEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.httpRequestLogsEnabled = mapped
}
/**
* @param value An `identity` block as defined below.
*/
@JvmName("yysrdwjhvtypryxl")
public suspend fun identity(`value`: ServiceIdentityArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.identity = mapped
}
/**
* @param argument An `identity` block as defined below.
*/
@JvmName("ipymfclrcasywkkv")
public suspend fun identity(argument: suspend ServiceIdentityArgsBuilder.() -> Unit) {
val toBeMapped = ServiceIdentityArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.identity = mapped
}
/**
* @param value A `live_trace` block as defined below.
*/
@JvmName("bicyymvporqgvgws")
public suspend fun liveTrace(`value`: ServiceLiveTraceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.liveTrace = mapped
}
/**
* @param argument A `live_trace` block as defined below.
*/
@JvmName("cxofwyrtcfkxafex")
public suspend fun liveTrace(argument: suspend ServiceLiveTraceArgsBuilder.() -> Unit) {
val toBeMapped = ServiceLiveTraceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.liveTrace = mapped
}
/**
* @param value Specifies if Live Trace is enabled or not. Defaults to `false`.
*/
@Deprecated(
message = """
`live_trace_enabled` has been deprecated in favor of `live_trace` and will be removed in 4.0.
""",
)
@JvmName("gcilcqnsmbyrbsrn")
public suspend fun liveTraceEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.liveTraceEnabled = mapped
}
/**
* @param value Whether to enable local auth? Defaults to `true`.
*/
@JvmName("lfohrxikiuqdjehv")
public suspend fun localAuthEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.localAuthEnabled = mapped
}
/**
* @param value Specifies the supported Azure location where the SignalR service exists. Changing this forces a new resource to be created.
*/
@JvmName("hrudvqobayvavome")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value Specifies if Messaging Logs are enabled or not. Defaults to `false`.
*/
@JvmName("gypiucqghnjxlwvm")
public suspend fun messagingLogsEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.messagingLogsEnabled = mapped
}
/**
* @param value The name of the SignalR service. Changing this forces a new resource to be created.
*/
@JvmName("sabbbrpwoxoavsno")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Whether to enable public network access? Defaults to `true`.
* > **Note:** `public_network_access_enabled` cannot be set to `false` in `Free` sku tier.
*/
@JvmName("udlvfxagwmlqrmjw")
public suspend fun publicNetworkAccessEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.publicNetworkAccessEnabled = mapped
}
/**
* @param value The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
*/
@JvmName("gjtproympdoyotjk")
public suspend fun resourceGroupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupName = mapped
}
/**
* @param value Specifies the client connection timeout. Defaults to `30`.
*/
@JvmName("mjmjhkbkrjcpbyyn")
public suspend fun serverlessConnectionTimeoutInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serverlessConnectionTimeoutInSeconds = mapped
}
/**
* @param value Specifies the service mode. Possible values are `Classic`, `Default` and `Serverless`. Defaults to `Default`.
*/
@JvmName("lsypbxsqxgnfaymo")
public suspend fun serviceMode(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceMode = mapped
}
/**
* @param value A `sku` block as documented below.
*/
@JvmName("ysrufxjcexooyvdv")
public suspend fun sku(`value`: ServiceSkuArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sku = mapped
}
/**
* @param argument A `sku` block as documented below.
*/
@JvmName("mvblkcgtahtuhfav")
public suspend fun sku(argument: suspend ServiceSkuArgsBuilder.() -> Unit) {
val toBeMapped = ServiceSkuArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.sku = mapped
}
/**
* @param value A mapping of tags to assign to the resource.
*/
@JvmName("klsilerbwvemrguk")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values A mapping of tags to assign to the resource.
*/
@JvmName("nfnslxthtvbgsxgo")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value Whether to request client certificate during TLS handshake? Defaults to `false`.
* > **Note:** `tls_client_cert_enabled` cannot be set to `true` in `Free` sku tier.
*/
@JvmName("parkccgoujvvweiq")
public suspend fun tlsClientCertEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tlsClientCertEnabled = mapped
}
/**
* @param value An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("xvnoeuyasnytcfms")
public suspend fun upstreamEndpoints(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.upstreamEndpoints = mapped
}
/**
* @param argument An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("miyogwavnfnixirm")
public suspend
fun upstreamEndpoints(argument: List Unit>) {
val toBeMapped = argument.toList().map {
ServiceUpstreamEndpointArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.upstreamEndpoints = mapped
}
/**
* @param argument An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("ryeqoqjivbupxjno")
public suspend fun upstreamEndpoints(
vararg
argument: suspend ServiceUpstreamEndpointArgsBuilder.() -> Unit,
) {
val toBeMapped = argument.toList().map {
ServiceUpstreamEndpointArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.upstreamEndpoints = mapped
}
/**
* @param argument An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("bjkqolntupcpdoub")
public suspend
fun upstreamEndpoints(argument: suspend ServiceUpstreamEndpointArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
ServiceUpstreamEndpointArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.upstreamEndpoints = mapped
}
/**
* @param values An `upstream_endpoint` block as documented below. Using this block requires the SignalR service to be Serverless. When creating multiple blocks they will be processed in the order they are defined in.
*/
@JvmName("nxmemufuhypxgppv")
public suspend fun upstreamEndpoints(vararg values: ServiceUpstreamEndpointArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.upstreamEndpoints = mapped
}
internal fun build(): ServiceArgs = ServiceArgs(
aadAuthEnabled = aadAuthEnabled,
connectivityLogsEnabled = connectivityLogsEnabled,
cors = cors,
httpRequestLogsEnabled = httpRequestLogsEnabled,
identity = identity,
liveTrace = liveTrace,
liveTraceEnabled = liveTraceEnabled,
localAuthEnabled = localAuthEnabled,
location = location,
messagingLogsEnabled = messagingLogsEnabled,
name = name,
publicNetworkAccessEnabled = publicNetworkAccessEnabled,
resourceGroupName = resourceGroupName,
serverlessConnectionTimeoutInSeconds = serverlessConnectionTimeoutInSeconds,
serviceMode = serviceMode,
sku = sku,
tags = tags,
tlsClientCertEnabled = tlsClientCertEnabled,
upstreamEndpoints = upstreamEndpoints,
)
}