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.bot.kotlin.ChannelFacebookArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.bot.kotlin
import com.pulumi.azure.bot.ChannelFacebookArgs.builder
import com.pulumi.azure.bot.kotlin.inputs.ChannelFacebookPageArgs
import com.pulumi.azure.bot.kotlin.inputs.ChannelFacebookPageArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Manages a Facebook integration for a Bot Channel
* > **Note** A bot can only have a single Facebook Channel associated with it.
* ## Example Usage
*
* ```typescript
* 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-bcr",
* location: "global",
* resourceGroupName: example.name,
* sku: "F0",
* microsoftAppId: current.then(current => current.clientId),
* });
* const exampleChannelFacebook = new azure.bot.ChannelFacebook("example", {
* botName: exampleChannelsRegistration.name,
* location: exampleChannelsRegistration.location,
* resourceGroupName: example.name,
* facebookApplicationId: "563490254873576",
* facebookApplicationSecret: "8976d2536445ad5b976dee8437b9beb0",
* pages: [{
* id: "876248795081953",
* accessToken: "CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD",
* }],
* });
* ```
* ```python
* 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-bcr",
* location="global",
* resource_group_name=example.name,
* sku="F0",
* microsoft_app_id=current.client_id)
* example_channel_facebook = azure.bot.ChannelFacebook("example",
* bot_name=example_channels_registration.name,
* location=example_channels_registration.location,
* resource_group_name=example.name,
* facebook_application_id="563490254873576",
* facebook_application_secret="8976d2536445ad5b976dee8437b9beb0",
* pages=[{
* "id": "876248795081953",
* "access_token": "CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD",
* }])
* ```
* ```csharp
* 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-bcr",
* Location = "global",
* ResourceGroupName = example.Name,
* Sku = "F0",
* MicrosoftAppId = current.Apply(getClientConfigResult => getClientConfigResult.ClientId),
* });
* var exampleChannelFacebook = new Azure.Bot.ChannelFacebook("example", new()
* {
* BotName = exampleChannelsRegistration.Name,
* Location = exampleChannelsRegistration.Location,
* ResourceGroupName = example.Name,
* FacebookApplicationId = "563490254873576",
* FacebookApplicationSecret = "8976d2536445ad5b976dee8437b9beb0",
* Pages = new[]
* {
* new Azure.Bot.Inputs.ChannelFacebookPageArgs
* {
* Id = "876248795081953",
* AccessToken = "CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD",
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/bot"
* "github.com/pulumi/pulumi-azure/sdk/v5/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, nil, 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-bcr"),
* Location: pulumi.String("global"),
* ResourceGroupName: example.Name,
* Sku: pulumi.String("F0"),
* MicrosoftAppId: pulumi.String(current.ClientId),
* })
* if err != nil {
* return err
* }
* _, err = bot.NewChannelFacebook(ctx, "example", &bot.ChannelFacebookArgs{
* BotName: exampleChannelsRegistration.Name,
* Location: exampleChannelsRegistration.Location,
* ResourceGroupName: example.Name,
* FacebookApplicationId: pulumi.String("563490254873576"),
* FacebookApplicationSecret: pulumi.String("8976d2536445ad5b976dee8437b9beb0"),
* Pages: bot.ChannelFacebookPageArray{
* &bot.ChannelFacebookPageArgs{
* Id: pulumi.String("876248795081953"),
* AccessToken: pulumi.String("CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD"),
* },
* },
* })
* 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.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.ChannelFacebook;
* import com.pulumi.azure.bot.ChannelFacebookArgs;
* import com.pulumi.azure.bot.inputs.ChannelFacebookPageArgs;
* 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();
* var example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
* var exampleChannelsRegistration = new ChannelsRegistration("exampleChannelsRegistration", ChannelsRegistrationArgs.builder()
* .name("example-bcr")
* .location("global")
* .resourceGroupName(example.name())
* .sku("F0")
* .microsoftAppId(current.applyValue(getClientConfigResult -> getClientConfigResult.clientId()))
* .build());
* var exampleChannelFacebook = new ChannelFacebook("exampleChannelFacebook", ChannelFacebookArgs.builder()
* .botName(exampleChannelsRegistration.name())
* .location(exampleChannelsRegistration.location())
* .resourceGroupName(example.name())
* .facebookApplicationId("563490254873576")
* .facebookApplicationSecret("8976d2536445ad5b976dee8437b9beb0")
* .pages(ChannelFacebookPageArgs.builder()
* .id("876248795081953")
* .accessToken("CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD")
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West Europe
* exampleChannelsRegistration:
* type: azure:bot:ChannelsRegistration
* name: example
* properties:
* name: example-bcr
* location: global
* resourceGroupName: ${example.name}
* sku: F0
* microsoftAppId: ${current.clientId}
* exampleChannelFacebook:
* type: azure:bot:ChannelFacebook
* name: example
* properties:
* botName: ${exampleChannelsRegistration.name}
* location: ${exampleChannelsRegistration.location}
* resourceGroupName: ${example.name}
* facebookApplicationId: '563490254873576'
* facebookApplicationSecret: 8976d2536445ad5b976dee8437b9beb0
* pages:
* - id: '876248795081953'
* accessToken: CGGCec3UAFPMBAKwK3Ft8SEpO8ZCuvpNBI5DClaJCDfqJj2BgEHCKxcY0FDarmUQap6XxpZC9GWCW4nZCzjcKosAZAP7SO44X8Q8gAntbDIXgYUBGp9xtS8wUkwgKPobUePcOOVFkvClxvYZByuiQxoTiK9fQ9jZCPEorbmZCsKDZAx4VLnrNwCTZAPUwXxO61gfq4ZD
* variables:
* current:
* fn::invoke:
* Function: azure:core:getClientConfig
* Arguments: {}
* ```
*
* ## Import
* The Facebook Integration for a Bot Channel can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:bot/channelFacebook:ChannelFacebook example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.BotService/botServices/botService1/channels/FacebookChannel
* ```
* @property botName The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.
* @property facebookApplicationId The Facebook Application ID for the Facebook Channel.
* @property facebookApplicationSecret The Facebook Application Secret for the Facebook Channel.
* @property location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
* @property pages One or more `page` blocks as defined below.
* @property resourceGroupName The name of the resource group where the Facebook Channel should be created. Changing this forces a new resource to be created.
*/
public data class ChannelFacebookArgs(
public val botName: Output? = null,
public val facebookApplicationId: Output? = null,
public val facebookApplicationSecret: Output? = null,
public val location: Output? = null,
public val pages: Output>? = null,
public val resourceGroupName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.bot.ChannelFacebookArgs =
com.pulumi.azure.bot.ChannelFacebookArgs.builder()
.botName(botName?.applyValue({ args0 -> args0 }))
.facebookApplicationId(facebookApplicationId?.applyValue({ args0 -> args0 }))
.facebookApplicationSecret(facebookApplicationSecret?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.pages(pages?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ChannelFacebookArgs].
*/
@PulumiTagMarker
public class ChannelFacebookArgsBuilder internal constructor() {
private var botName: Output? = null
private var facebookApplicationId: Output? = null
private var facebookApplicationSecret: Output? = null
private var location: Output? = null
private var pages: Output>? = null
private var resourceGroupName: Output? = null
/**
* @param value The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.
*/
@JvmName("pchycdpbdpdsfrer")
public suspend fun botName(`value`: Output) {
this.botName = value
}
/**
* @param value The Facebook Application ID for the Facebook Channel.
*/
@JvmName("hghmeqdhsjxruukl")
public suspend fun facebookApplicationId(`value`: Output) {
this.facebookApplicationId = value
}
/**
* @param value The Facebook Application Secret for the Facebook Channel.
*/
@JvmName("eosnbwitdjlymcsb")
public suspend fun facebookApplicationSecret(`value`: Output) {
this.facebookApplicationSecret = value
}
/**
* @param value Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*/
@JvmName("whcejdcswxsyyfah")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value One or more `page` blocks as defined below.
*/
@JvmName("lipsbdklnbxqccuo")
public suspend fun pages(`value`: Output>) {
this.pages = value
}
@JvmName("ggdrekqemwdkwntx")
public suspend fun pages(vararg values: Output) {
this.pages = Output.all(values.asList())
}
/**
* @param values One or more `page` blocks as defined below.
*/
@JvmName("jtqsqdrijfmmewfj")
public suspend fun pages(values: List>) {
this.pages = Output.all(values)
}
/**
* @param value The name of the resource group where the Facebook Channel should be created. Changing this forces a new resource to be created.
*/
@JvmName("usrwkphjvvaiohjd")
public suspend fun resourceGroupName(`value`: Output) {
this.resourceGroupName = value
}
/**
* @param value The name of the Bot Resource this channel will be associated with. Changing this forces a new resource to be created.
*/
@JvmName("mmvkoemqafthpkaj")
public suspend fun botName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.botName = mapped
}
/**
* @param value The Facebook Application ID for the Facebook Channel.
*/
@JvmName("fllftfoddylsfxdj")
public suspend fun facebookApplicationId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.facebookApplicationId = mapped
}
/**
* @param value The Facebook Application Secret for the Facebook Channel.
*/
@JvmName("gnnhguhrrobgrury")
public suspend fun facebookApplicationSecret(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.facebookApplicationSecret = mapped
}
/**
* @param value Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
*/
@JvmName("qljgavbgfrkokcuw")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value One or more `page` blocks as defined below.
*/
@JvmName("uiglnrjlvlboeatm")
public suspend fun pages(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pages = mapped
}
/**
* @param argument One or more `page` blocks as defined below.
*/
@JvmName("jyyoxlxhtisyyhxj")
public suspend fun pages(argument: List Unit>) {
val toBeMapped = argument.toList().map {
ChannelFacebookPageArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.pages = mapped
}
/**
* @param argument One or more `page` blocks as defined below.
*/
@JvmName("pttswwvnamxyiquv")
public suspend fun pages(vararg argument: suspend ChannelFacebookPageArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
ChannelFacebookPageArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.pages = mapped
}
/**
* @param argument One or more `page` blocks as defined below.
*/
@JvmName("wbphiykxqbadytdi")
public suspend fun pages(argument: suspend ChannelFacebookPageArgsBuilder.() -> Unit) {
val toBeMapped = listOf(ChannelFacebookPageArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.pages = mapped
}
/**
* @param values One or more `page` blocks as defined below.
*/
@JvmName("apjvqyobhemrlwgs")
public suspend fun pages(vararg values: ChannelFacebookPageArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pages = mapped
}
/**
* @param value The name of the resource group where the Facebook Channel should be created. Changing this forces a new resource to be created.
*/
@JvmName("qlageguaysqvqwhm")
public suspend fun resourceGroupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupName = mapped
}
internal fun build(): ChannelFacebookArgs = ChannelFacebookArgs(
botName = botName,
facebookApplicationId = facebookApplicationId,
facebookApplicationSecret = facebookApplicationSecret,
location = location,
pages = pages,
resourceGroupName = resourceGroupName,
)
}