Channel Slack Args
data class ChannelSlackArgs(val botName: Output<String>? = null, val clientId: Output<String>? = null, val clientSecret: Output<String>? = null, val landingPageUrl: Output<String>? = null, val location: Output<String>? = null, val resourceGroupName: Output<String>? = null, val signingSecret: Output<String>? = null, val verificationToken: Output<String>? = null) : ConvertibleToJava<ChannelSlackArgs>
Manages a Slack integration for a Bot Channel
Note: A bot can only have a single Slack Channel associated with it.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const current = azure.core.getClientConfig({});
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleChannelsRegistration = new azure.bot.ChannelsRegistration("example", {
name: "example",
location: "global",
resourceGroupName: example.name,
sku: "F0",
microsoftAppId: current.then(current => current.clientId),
});
const exampleChannelSlack = new azure.bot.ChannelSlack("example", {
botName: exampleChannelsRegistration.name,
location: exampleChannelsRegistration.location,
resourceGroupName: example.name,
clientId: "exampleId",
clientSecret: "exampleSecret",
verificationToken: "exampleVerificationToken",
});
Content copied to clipboard
import pulumi
import pulumi_azure as azure
current = azure.core.get_client_config()
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_channels_registration = azure.bot.ChannelsRegistration("example",
name="example",
location="global",
resource_group_name=example.name,
sku="F0",
microsoft_app_id=current.client_id)
example_channel_slack = azure.bot.ChannelSlack("example",
bot_name=example_channels_registration.name,
location=example_channels_registration.location,
resource_group_name=example.name,
client_id="exampleId",
client_secret="exampleSecret",
verification_token="exampleVerificationToken")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var current = Azure.Core.GetClientConfig.Invoke();
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration("example", new()
{
Name = "example",
Location = "global",
ResourceGroupName = example.Name,
Sku = "F0",
MicrosoftAppId = current.Apply(getClientConfigResult => getClientConfigResult.ClientId),
});
var exampleChannelSlack = new Azure.Bot.ChannelSlack("example", new()
{
BotName = exampleChannelsRegistration.Name,
Location = exampleChannelsRegistration.Location,
ResourceGroupName = example.Name,
ClientId = "exampleId",
ClientSecret = "exampleSecret",
VerificationToken = "exampleVerificationToken",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/bot"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, "example", &bot.ChannelsRegistrationArgs{
Name: pulumi.String("example"),
Location: pulumi.String("global"),
ResourceGroupName: example.Name,
Sku: pulumi.String("F0"),
MicrosoftAppId: pulumi.String(current.ClientId),
})
if err != nil {
return err
}
_, err = bot.NewChannelSlack(ctx, "example", &bot.ChannelSlackArgs{
BotName: exampleChannelsRegistration.Name,
Location: exampleChannelsRegistration.Location,
ResourceGroupName: example.Name,
ClientId: pulumi.String("exampleId"),
ClientSecret: pulumi.String("exampleSecret"),
VerificationToken: pulumi.String("exampleVerificationToken"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.bot.ChannelsRegistration;
import com.pulumi.azure.bot.ChannelsRegistrationArgs;
import com.pulumi.azure.bot.ChannelSlack;
import com.pulumi.azure.bot.ChannelSlackArgs;
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) {
final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleChannelsRegistration = new ChannelsRegistration("exampleChannelsRegistration", ChannelsRegistrationArgs.builder()
.name("example")
.location("global")
.resourceGroupName(example.name())
.sku("F0")
.microsoftAppId(current.clientId())
.build());
var exampleChannelSlack = new ChannelSlack("exampleChannelSlack", ChannelSlackArgs.builder()
.botName(exampleChannelsRegistration.name())
.location(exampleChannelsRegistration.location())
.resourceGroupName(example.name())
.clientId("exampleId")
.clientSecret("exampleSecret")
.verificationToken("exampleVerificationToken")
.build());
}
}
Content copied to clipboard
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleChannelsRegistration:
type: azure:bot:ChannelsRegistration
name: example
properties:
name: example
location: global
resourceGroupName: ${example.name}
sku: F0
microsoftAppId: ${current.clientId}
exampleChannelSlack:
type: azure:bot:ChannelSlack
name: example
properties:
botName: ${exampleChannelsRegistration.name}
location: ${exampleChannelsRegistration.location}
resourceGroupName: ${example.name}
clientId: exampleId
clientSecret: exampleSecret
verificationToken: exampleVerificationToken
variables:
current:
fn::invoke:
function: azure:core:getClientConfig
arguments: {}
Content copied to clipboard
Import
The Slack Integration for a Bot Channel can be imported using the resource id
, e.g.
$ pulumi import azure:bot/channelSlack:ChannelSlack example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.BotService/botServices/example/channels/SlackChannel
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(botName: Output<String>? = null, clientId: Output<String>? = null, clientSecret: Output<String>? = null, landingPageUrl: Output<String>? = null, location: Output<String>? = null, resourceGroupName: Output<String>? = null, signingSecret: Output<String>? = null, verificationToken: Output<String>? = null)
Properties
Link copied to clipboard
The Client Secret that will be used to authenticate with Slack.
Link copied to clipboard
The Slack Landing Page URL.
Link copied to clipboard
The name of the resource group in which to create the Bot Channel. Changing this forces a new resource to be created.
Link copied to clipboard
The Signing Secret that will be used to sign the requests.
Link copied to clipboard
The Verification Token that will be used to authenticate with Slack.