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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/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.com
Import
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-signalr
Constructors
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.
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.