Service Args
Manages an Azure SignalR service.
Example Usage
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",
}],
});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={
"name": "Free_F1",
"capacity": 1,
},
cors=[{
"allowed_origins": ["http://www.example.com"],
}],
public_network_access_enabled=False,
connectivity_logs_enabled=True,
messaging_logs_enabled=True,
service_mode="Default",
upstream_endpoints=[{
"category_patterns": [
"connections",
"messages",
],
"event_patterns": ["*"],
"hub_patterns": ["hub1"],
"url_template": "http://foo.com",
}])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",
},
},
});
});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
})
}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());
}
}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.comImport
SignalR services can be imported using the resource id, e.g.
$ pulumi import azure:signalr/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/terraform-signalr/providers/Microsoft.SignalRService/signalR/tfex-signalrConstructors
Properties
Whether to enable AAD auth? Defaults to true.
Specifies if Connectivity Logs are enabled or not. Defaults to false.
A cors block as documented below.
Specifies if Http Request Logs are enabled or not. Defaults to false.
An identity block as defined below.
A live_trace block as defined below.
Specifies if Live Trace is enabled or not. Defaults to false.
Whether to enable local auth? Defaults to true.
Specifies if Messaging Logs are enabled or not. Defaults to false.
Whether to enable public network access? Defaults to true.
The name of the resource group in which to create the SignalR service. Changing this forces a new resource to be created.
Specifies the client connection timeout. Defaults to 30.
Specifies the service mode. Possible values are Classic, Default and Serverless. Defaults to Default.
A sku block as documented below.
Whether to request client certificate during TLS handshake? Defaults to false.
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.