ServiceAzureBotArgs

data class ServiceAzureBotArgs(val cmkKeyVaultKeyUrl: Output<String>? = null, val developerAppInsightsApiKey: Output<String>? = null, val developerAppInsightsApplicationId: Output<String>? = null, val developerAppInsightsKey: Output<String>? = null, val displayName: Output<String>? = null, val endpoint: Output<String>? = null, val iconUrl: Output<String>? = null, val localAuthenticationEnabled: Output<Boolean>? = null, val location: Output<String>? = null, val luisAppIds: Output<List<String>>? = null, val luisKey: Output<String>? = null, val microsoftAppId: Output<String>? = null, val microsoftAppMsiId: Output<String>? = null, val microsoftAppTenantId: Output<String>? = null, val microsoftAppType: Output<String>? = null, val name: Output<String>? = null, val publicNetworkAccessEnabled: Output<Boolean>? = null, val resourceGroupName: Output<String>? = null, val sku: Output<String>? = null, val streamingEndpointEnabled: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ServiceAzureBotArgs>

Manages an Azure Bot Service.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleInsights = new azure.appinsights.Insights("example", {
name: "example-appinsights",
location: example.location,
resourceGroupName: example.name,
applicationType: "web",
});
const exampleApiKey = new azure.appinsights.ApiKey("example", {
name: "example-appinsightsapikey",
applicationInsightsId: exampleInsights.id,
readPermissions: [
"aggregate",
"api",
"draft",
"extendqueries",
"search",
],
});
const current = azure.core.getClientConfig({});
const exampleServiceAzureBot = new azure.bot.ServiceAzureBot("example", {
name: "exampleazurebot",
resourceGroupName: example.name,
location: "global",
microsoftAppId: current.then(current => current.clientId),
sku: "F0",
endpoint: "https://example.com",
developerAppInsightsApiKey: exampleApiKey.apiKey,
developerAppInsightsApplicationId: exampleInsights.appId,
tags: {
environment: "test",
},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_insights = azure.appinsights.Insights("example",
name="example-appinsights",
location=example.location,
resource_group_name=example.name,
application_type="web")
example_api_key = azure.appinsights.ApiKey("example",
name="example-appinsightsapikey",
application_insights_id=example_insights.id,
read_permissions=[
"aggregate",
"api",
"draft",
"extendqueries",
"search",
])
current = azure.core.get_client_config()
example_service_azure_bot = azure.bot.ServiceAzureBot("example",
name="exampleazurebot",
resource_group_name=example.name,
location="global",
microsoft_app_id=current.client_id,
sku="F0",
endpoint="https://example.com",
developer_app_insights_api_key=example_api_key.api_key,
developer_app_insights_application_id=example_insights.app_id,
tags={
"environment": "test",
})
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 = "example-resources",
Location = "West Europe",
});
var exampleInsights = new Azure.AppInsights.Insights("example", new()
{
Name = "example-appinsights",
Location = example.Location,
ResourceGroupName = example.Name,
ApplicationType = "web",
});
var exampleApiKey = new Azure.AppInsights.ApiKey("example", new()
{
Name = "example-appinsightsapikey",
ApplicationInsightsId = exampleInsights.Id,
ReadPermissions = new[]
{
"aggregate",
"api",
"draft",
"extendqueries",
"search",
},
});
var current = Azure.Core.GetClientConfig.Invoke();
var exampleServiceAzureBot = new Azure.Bot.ServiceAzureBot("example", new()
{
Name = "exampleazurebot",
ResourceGroupName = example.Name,
Location = "global",
MicrosoftAppId = current.Apply(getClientConfigResult => getClientConfigResult.ClientId),
Sku = "F0",
Endpoint = "https://example.com",
DeveloperAppInsightsApiKey = exampleApiKey.ApiKey,
DeveloperAppInsightsApplicationId = exampleInsights.AppId,
Tags =
{
{ "environment", "test" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appinsights"
"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 {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleInsights, err := appinsights.NewInsights(ctx, "example", &appinsights.InsightsArgs{
Name: pulumi.String("example-appinsights"),
Location: example.Location,
ResourceGroupName: example.Name,
ApplicationType: pulumi.String("web"),
})
if err != nil {
return err
}
exampleApiKey, err := appinsights.NewApiKey(ctx, "example", &appinsights.ApiKeyArgs{
Name: pulumi.String("example-appinsightsapikey"),
ApplicationInsightsId: exampleInsights.ID(),
ReadPermissions: pulumi.StringArray{
pulumi.String("aggregate"),
pulumi.String("api"),
pulumi.String("draft"),
pulumi.String("extendqueries"),
pulumi.String("search"),
},
})
if err != nil {
return err
}
current, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
_, err = bot.NewServiceAzureBot(ctx, "example", &bot.ServiceAzureBotArgs{
Name: pulumi.String("exampleazurebot"),
ResourceGroupName: example.Name,
Location: pulumi.String("global"),
MicrosoftAppId: pulumi.String(current.ClientId),
Sku: pulumi.String("F0"),
Endpoint: pulumi.String("https://example.com"),
DeveloperAppInsightsApiKey: exampleApiKey.ApiKey,
DeveloperAppInsightsApplicationId: exampleInsights.AppId,
Tags: pulumi.StringMap{
"environment": pulumi.String("test"),
},
})
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.appinsights.Insights;
import com.pulumi.azure.appinsights.InsightsArgs;
import com.pulumi.azure.appinsights.ApiKey;
import com.pulumi.azure.appinsights.ApiKeyArgs;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.bot.ServiceAzureBot;
import com.pulumi.azure.bot.ServiceAzureBotArgs;
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("example-resources")
.location("West Europe")
.build());
var exampleInsights = new Insights("exampleInsights", InsightsArgs.builder()
.name("example-appinsights")
.location(example.location())
.resourceGroupName(example.name())
.applicationType("web")
.build());
var exampleApiKey = new ApiKey("exampleApiKey", ApiKeyArgs.builder()
.name("example-appinsightsapikey")
.applicationInsightsId(exampleInsights.id())
.readPermissions(
"aggregate",
"api",
"draft",
"extendqueries",
"search")
.build());
final var current = CoreFunctions.getClientConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);
var exampleServiceAzureBot = new ServiceAzureBot("exampleServiceAzureBot", ServiceAzureBotArgs.builder()
.name("exampleazurebot")
.resourceGroupName(example.name())
.location("global")
.microsoftAppId(current.clientId())
.sku("F0")
.endpoint("https://example.com")
.developerAppInsightsApiKey(exampleApiKey.apiKey())
.developerAppInsightsApplicationId(exampleInsights.appId())
.tags(Map.of("environment", "test"))
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleInsights:
type: azure:appinsights:Insights
name: example
properties:
name: example-appinsights
location: ${example.location}
resourceGroupName: ${example.name}
applicationType: web
exampleApiKey:
type: azure:appinsights:ApiKey
name: example
properties:
name: example-appinsightsapikey
applicationInsightsId: ${exampleInsights.id}
readPermissions:
- aggregate
- api
- draft
- extendqueries
- search
exampleServiceAzureBot:
type: azure:bot:ServiceAzureBot
name: example
properties:
name: exampleazurebot
resourceGroupName: ${example.name}
location: global
microsoftAppId: ${current.clientId}
sku: F0
endpoint: https://example.com
developerAppInsightsApiKey: ${exampleApiKey.apiKey}
developerAppInsightsApplicationId: ${exampleInsights.appId}
tags:
environment: test
variables:
current:
fn::invoke:
function: azure:core:getClientConfig
arguments: {}

Import

Azure Bot Services can be imported using the resource id, e.g.

$ pulumi import azure:bot/serviceAzureBot:ServiceAzureBot example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.BotService/botServices/botService1

Constructors

Link copied to clipboard
constructor(cmkKeyVaultKeyUrl: Output<String>? = null, developerAppInsightsApiKey: Output<String>? = null, developerAppInsightsApplicationId: Output<String>? = null, developerAppInsightsKey: Output<String>? = null, displayName: Output<String>? = null, endpoint: Output<String>? = null, iconUrl: Output<String>? = null, localAuthenticationEnabled: Output<Boolean>? = null, location: Output<String>? = null, luisAppIds: Output<List<String>>? = null, luisKey: Output<String>? = null, microsoftAppId: Output<String>? = null, microsoftAppMsiId: Output<String>? = null, microsoftAppTenantId: Output<String>? = null, microsoftAppType: Output<String>? = null, name: Output<String>? = null, publicNetworkAccessEnabled: Output<Boolean>? = null, resourceGroupName: Output<String>? = null, sku: Output<String>? = null, streamingEndpointEnabled: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val cmkKeyVaultKeyUrl: Output<String>? = null

The CMK Key Vault Key URL that will be used to encrypt the Bot with the Customer Managed Encryption Key.

Link copied to clipboard
val developerAppInsightsApiKey: Output<String>? = null

The Application Insights API Key to associate with this Azure Bot Service.

Link copied to clipboard

The resource ID of the Application Insights instance to associate with this Azure Bot Service.

Link copied to clipboard
val developerAppInsightsKey: Output<String>? = null

The Application Insight Key to associate with this Azure Bot Service.

Link copied to clipboard
val displayName: Output<String>? = null

The name that the Azure Bot Service will be displayed as. This defaults to the value set for name if not specified.

Link copied to clipboard
val endpoint: Output<String>? = null

The Azure Bot Service endpoint.

Link copied to clipboard
val iconUrl: Output<String>? = null

The Icon Url of the Azure Bot Service. Defaults to https://docs.botframework.com/static/devportal/client/images/bot-framework-default.png.

Link copied to clipboard
val localAuthenticationEnabled: Output<Boolean>? = null

Is local authentication enabled? Defaults to true.

Link copied to clipboard
val location: Output<String>? = null

The supported Azure location where the Azure Bot Service should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val luisAppIds: Output<List<String>>? = null

A list of LUIS App IDs to associate with this Azure Bot Service.

Link copied to clipboard
val luisKey: Output<String>? = null

The LUIS key to associate with this Azure Bot Service.

Link copied to clipboard
val microsoftAppId: Output<String>? = null

The Microsoft Application ID for the Azure Bot Service. Changing this forces a new resource to be created.

Link copied to clipboard
val microsoftAppMsiId: Output<String>? = null

The ID of the Microsoft App Managed Identity for this Azure Bot Service. Changing this forces a new resource to be created.

Link copied to clipboard
val microsoftAppTenantId: Output<String>? = null

The Tenant ID of the Microsoft App for this Azure Bot Service. Changing this forces a new resource to be created.

Link copied to clipboard
val microsoftAppType: Output<String>? = null

The Microsoft App Type for this Azure Bot Service. Possible values are MultiTenant, SingleTenant and UserAssignedMSI. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

The name which should be used for this Azure Bot Service. Changing this forces a new resource to be created.

Link copied to clipboard
val publicNetworkAccessEnabled: Output<Boolean>? = null

Whether public network access is enabled. Defaults to true.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the Resource Group where the Azure Bot Service should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val sku: Output<String>? = null

The SKU of the Azure Bot Service. Accepted values are F0 or S1. Changing this forces a new resource to be created.

Link copied to clipboard
val streamingEndpointEnabled: Output<Boolean>? = null

Is the streaming endpoint enabled for this Azure Bot Service. Defaults to false.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags which should be assigned to this Azure Bot Service.

Functions

Link copied to clipboard
open override fun toJava(): ServiceAzureBotArgs