azure-native.botservice.EnterpriseChannel
Explore with Pulumi AI
Enterprise Channel resource definition API Version: 2018-07-12.
Example Usage
Create Enterprise Channel
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var enterpriseChannel = new AzureNative.BotService.EnterpriseChannel("enterpriseChannel", new()
{
Location = "West US",
Properties = new AzureNative.BotService.Inputs.EnterpriseChannelPropertiesArgs
{
Nodes = new[]
{
new AzureNative.BotService.Inputs.EnterpriseChannelNodeArgs
{
AzureLocation = "WestUs",
AzureSku = "Int1",
Name = "Node 1",
},
},
},
ResourceGroupName = "OneResourceGroupName",
ResourceName = "contoso-dl",
Sku = new AzureNative.BotService.Inputs.SkuArgs
{
Name = "S1",
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
},
});
});
package main
import (
botservice "github.com/pulumi/pulumi-azure-native-sdk/botservice"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := botservice.NewEnterpriseChannel(ctx, "enterpriseChannel", &botservice.EnterpriseChannelArgs{
Location: pulumi.String("West US"),
Properties: botservice.EnterpriseChannelPropertiesResponse{
Nodes: botservice.EnterpriseChannelNodeArray{
&botservice.EnterpriseChannelNodeArgs{
AzureLocation: pulumi.String("WestUs"),
AzureSku: pulumi.String("Int1"),
Name: pulumi.String("Node 1"),
},
},
},
ResourceGroupName: pulumi.String("OneResourceGroupName"),
ResourceName: pulumi.String("contoso-dl"),
Sku: &botservice.SkuArgs{
Name: pulumi.String("S1"),
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
},
})
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.azurenative.botservice.EnterpriseChannel;
import com.pulumi.azurenative.botservice.EnterpriseChannelArgs;
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 enterpriseChannel = new EnterpriseChannel("enterpriseChannel", EnterpriseChannelArgs.builder()
.location("West US")
.properties(Map.of("nodes", Map.ofEntries(
Map.entry("azureLocation", "WestUs"),
Map.entry("azureSku", "Int1"),
Map.entry("name", "Node 1")
)))
.resourceGroupName("OneResourceGroupName")
.resourceName("contoso-dl")
.sku(Map.of("name", "S1"))
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2")
))
.build());
}
}
import pulumi
import pulumi_azure_native as azure_native
enterprise_channel = azure_native.botservice.EnterpriseChannel("enterpriseChannel",
location="West US",
properties=azure_native.botservice.EnterpriseChannelPropertiesResponseArgs(
nodes=[azure_native.botservice.EnterpriseChannelNodeArgs(
azure_location="WestUs",
azure_sku="Int1",
name="Node 1",
)],
),
resource_group_name="OneResourceGroupName",
resource_name_="contoso-dl",
sku=azure_native.botservice.SkuArgs(
name="S1",
),
tags={
"tag1": "value1",
"tag2": "value2",
})
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const enterpriseChannel = new azure_native.botservice.EnterpriseChannel("enterpriseChannel", {
location: "West US",
properties: {
nodes: [{
azureLocation: "WestUs",
azureSku: "Int1",
name: "Node 1",
}],
},
resourceGroupName: "OneResourceGroupName",
resourceName: "contoso-dl",
sku: {
name: "S1",
},
tags: {
tag1: "value1",
tag2: "value2",
},
});
resources:
enterpriseChannel:
type: azure-native:botservice:EnterpriseChannel
properties:
location: West US
properties:
nodes:
- azureLocation: WestUs
azureSku: Int1
name: Node 1
resourceGroupName: OneResourceGroupName
resourceName: contoso-dl
sku:
name: S1
tags:
tag1: value1
tag2: value2
Create EnterpriseChannel Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new EnterpriseChannel(name: string, args: EnterpriseChannelArgs, opts?: CustomResourceOptions);
@overload
def EnterpriseChannel(resource_name: str,
args: EnterpriseChannelArgs,
opts: Optional[ResourceOptions] = None)
@overload
def EnterpriseChannel(resource_name: str,
opts: Optional[ResourceOptions] = None,
resource_group_name: Optional[str] = None,
kind: Optional[Union[str, Kind]] = None,
location: Optional[str] = None,
properties: Optional[EnterpriseChannelPropertiesArgs] = None,
resource_name_: Optional[str] = None,
sku: Optional[SkuArgs] = None,
tags: Optional[Mapping[str, str]] = None)
func NewEnterpriseChannel(ctx *Context, name string, args EnterpriseChannelArgs, opts ...ResourceOption) (*EnterpriseChannel, error)
public EnterpriseChannel(string name, EnterpriseChannelArgs args, CustomResourceOptions? opts = null)
public EnterpriseChannel(String name, EnterpriseChannelArgs args)
public EnterpriseChannel(String name, EnterpriseChannelArgs args, CustomResourceOptions options)
type: azure-native:botservice:EnterpriseChannel
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args EnterpriseChannelArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args EnterpriseChannelArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args EnterpriseChannelArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EnterpriseChannelArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args EnterpriseChannelArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var enterpriseChannelResource = new AzureNative.Botservice.EnterpriseChannel("enterpriseChannelResource", new()
{
ResourceGroupName = "string",
Kind = "string",
Location = "string",
Properties =
{
{ "nodes", new[]
{
{
{ "azureLocation", "string" },
{ "azureSku", "string" },
{ "name", "string" },
{ "state", "string" },
},
} },
{ "state", "string" },
},
ResourceName = "string",
Sku =
{
{ "name", "string" },
},
Tags =
{
{ "string", "string" },
},
});
example, err := botservice.NewEnterpriseChannel(ctx, "enterpriseChannelResource", &botservice.EnterpriseChannelArgs{
ResourceGroupName: "string",
Kind: "string",
Location: "string",
Properties: map[string]interface{}{
"nodes": []map[string]interface{}{
map[string]interface{}{
"azureLocation": "string",
"azureSku": "string",
"name": "string",
"state": "string",
},
},
"state": "string",
},
ResourceName: "string",
Sku: map[string]interface{}{
"name": "string",
},
Tags: map[string]interface{}{
"string": "string",
},
})
var enterpriseChannelResource = new EnterpriseChannel("enterpriseChannelResource", EnterpriseChannelArgs.builder()
.resourceGroupName("string")
.kind("string")
.location("string")
.properties(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.resourceName("string")
.sku(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.tags(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build());
enterprise_channel_resource = azure_native.botservice.EnterpriseChannel("enterpriseChannelResource",
resource_group_name=string,
kind=string,
location=string,
properties={
nodes: [{
azureLocation: string,
azureSku: string,
name: string,
state: string,
}],
state: string,
},
resource_name_=string,
sku={
name: string,
},
tags={
string: string,
})
const enterpriseChannelResource = new azure_native.botservice.EnterpriseChannel("enterpriseChannelResource", {
resourceGroupName: "string",
kind: "string",
location: "string",
properties: {
nodes: [{
azureLocation: "string",
azureSku: "string",
name: "string",
state: "string",
}],
state: "string",
},
resourceName: "string",
sku: {
name: "string",
},
tags: {
string: "string",
},
});
type: azure-native:botservice:EnterpriseChannel
properties:
kind: string
location: string
properties:
nodes:
- azureLocation: string
azureSku: string
name: string
state: string
state: string
resourceGroupName: string
resourceName: string
sku:
name: string
tags:
string: string
EnterpriseChannel Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The EnterpriseChannel resource accepts the following input properties:
- Resource
Group stringName - The name of the Bot resource group in the user subscription.
- Kind
string | Pulumi.
Azure Native. Bot Service. Kind - Required. Gets or sets the Kind of the resource.
- Location string
- Specifies the location of the resource.
- Properties
Pulumi.
Azure Native. Bot Service. Inputs. Enterprise Channel Properties - The set of properties specific to an Enterprise Channel resource.
- Resource
Name string - The name of the Bot resource.
- Sku
Pulumi.
Azure Native. Bot Service. Inputs. Sku - Gets or sets the SKU of the resource.
- Dictionary<string, string>
- Contains resource tags defined as key/value pairs.
- Resource
Group stringName - The name of the Bot resource group in the user subscription.
- Kind string | Kind
- Required. Gets or sets the Kind of the resource.
- Location string
- Specifies the location of the resource.
- Properties
Enterprise
Channel Properties Args - The set of properties specific to an Enterprise Channel resource.
- Resource
Name string - The name of the Bot resource.
- Sku
Sku
Args - Gets or sets the SKU of the resource.
- map[string]string
- Contains resource tags defined as key/value pairs.
- resource
Group StringName - The name of the Bot resource group in the user subscription.
- kind String | Kind
- Required. Gets or sets the Kind of the resource.
- location String
- Specifies the location of the resource.
- properties
Enterprise
Channel Properties - The set of properties specific to an Enterprise Channel resource.
- resource
Name String - The name of the Bot resource.
- sku Sku
- Gets or sets the SKU of the resource.
- Map<String,String>
- Contains resource tags defined as key/value pairs.
- resource
Group stringName - The name of the Bot resource group in the user subscription.
- kind string | Kind
- Required. Gets or sets the Kind of the resource.
- location string
- Specifies the location of the resource.
- properties
Enterprise
Channel Properties - The set of properties specific to an Enterprise Channel resource.
- resource
Name string - The name of the Bot resource.
- sku Sku
- Gets or sets the SKU of the resource.
- {[key: string]: string}
- Contains resource tags defined as key/value pairs.
- resource_
group_ strname - The name of the Bot resource group in the user subscription.
- kind str | Kind
- Required. Gets or sets the Kind of the resource.
- location str
- Specifies the location of the resource.
- properties
Enterprise
Channel Properties Args - The set of properties specific to an Enterprise Channel resource.
- resource_
name str - The name of the Bot resource.
- sku
Sku
Args - Gets or sets the SKU of the resource.
- Mapping[str, str]
- Contains resource tags defined as key/value pairs.
- resource
Group StringName - The name of the Bot resource group in the user subscription.
- kind String | "sdk" | "designer" | "bot" | "function"
- Required. Gets or sets the Kind of the resource.
- location String
- Specifies the location of the resource.
- properties Property Map
- The set of properties specific to an Enterprise Channel resource.
- resource
Name String - The name of the Bot resource.
- sku Property Map
- Gets or sets the SKU of the resource.
- Map<String>
- Contains resource tags defined as key/value pairs.
Outputs
All input properties are implicitly available as output properties. Additionally, the EnterpriseChannel resource produces the following output properties:
Supporting Types
EnterpriseChannelNode, EnterpriseChannelNodeArgs
- Azure
Location string - The location of the Enterprise Channel Node.
- Azure
Sku string - The sku of the Enterprise Channel Node.
- Name string
- The name of the Enterprise Channel Node.
- State
string | Pulumi.
Azure Native. Bot Service. Enterprise Channel Node State - The current state of the Enterprise Channel Node.
- Azure
Location string - The location of the Enterprise Channel Node.
- Azure
Sku string - The sku of the Enterprise Channel Node.
- Name string
- The name of the Enterprise Channel Node.
- State
string | Enterprise
Channel Node State - The current state of the Enterprise Channel Node.
- azure
Location String - The location of the Enterprise Channel Node.
- azure
Sku String - The sku of the Enterprise Channel Node.
- name String
- The name of the Enterprise Channel Node.
- state
String | Enterprise
Channel Node State - The current state of the Enterprise Channel Node.
- azure
Location string - The location of the Enterprise Channel Node.
- azure
Sku string - The sku of the Enterprise Channel Node.
- name string
- The name of the Enterprise Channel Node.
- state
string | Enterprise
Channel Node State - The current state of the Enterprise Channel Node.
- azure_
location str - The location of the Enterprise Channel Node.
- azure_
sku str - The sku of the Enterprise Channel Node.
- name str
- The name of the Enterprise Channel Node.
- state
str | Enterprise
Channel Node State - The current state of the Enterprise Channel Node.
- azure
Location String - The location of the Enterprise Channel Node.
- azure
Sku String - The sku of the Enterprise Channel Node.
- name String
- The name of the Enterprise Channel Node.
- state
String | "Creating" | "Create
Failed" | "Started" | "Starting" | "Start Failed" | "Stopped" | "Stopping" | "Stop Failed" | "Deleting" | "Delete Failed" - The current state of the Enterprise Channel Node.
EnterpriseChannelNodeResponse, EnterpriseChannelNodeResponseArgs
- Azure
Location string - The location of the Enterprise Channel Node.
- Azure
Sku string - The sku of the Enterprise Channel Node.
- Id string
- Id of Enterprise Channel Node. This is generated by the Bot Framework.
- Name string
- The name of the Enterprise Channel Node.
- State string
- The current state of the Enterprise Channel Node.
- Azure
Location string - The location of the Enterprise Channel Node.
- Azure
Sku string - The sku of the Enterprise Channel Node.
- Id string
- Id of Enterprise Channel Node. This is generated by the Bot Framework.
- Name string
- The name of the Enterprise Channel Node.
- State string
- The current state of the Enterprise Channel Node.
- azure
Location String - The location of the Enterprise Channel Node.
- azure
Sku String - The sku of the Enterprise Channel Node.
- id String
- Id of Enterprise Channel Node. This is generated by the Bot Framework.
- name String
- The name of the Enterprise Channel Node.
- state String
- The current state of the Enterprise Channel Node.
- azure
Location string - The location of the Enterprise Channel Node.
- azure
Sku string - The sku of the Enterprise Channel Node.
- id string
- Id of Enterprise Channel Node. This is generated by the Bot Framework.
- name string
- The name of the Enterprise Channel Node.
- state string
- The current state of the Enterprise Channel Node.
- azure_
location str - The location of the Enterprise Channel Node.
- azure_
sku str - The sku of the Enterprise Channel Node.
- id str
- Id of Enterprise Channel Node. This is generated by the Bot Framework.
- name str
- The name of the Enterprise Channel Node.
- state str
- The current state of the Enterprise Channel Node.
- azure
Location String - The location of the Enterprise Channel Node.
- azure
Sku String - The sku of the Enterprise Channel Node.
- id String
- Id of Enterprise Channel Node. This is generated by the Bot Framework.
- name String
- The name of the Enterprise Channel Node.
- state String
- The current state of the Enterprise Channel Node.
EnterpriseChannelNodeState, EnterpriseChannelNodeStateArgs
- Creating
- Creating
- Create
Failed - CreateFailed
- Started
- Started
- Starting
- Starting
- Start
Failed - StartFailed
- Stopped
- Stopped
- Stopping
- Stopping
- Stop
Failed - StopFailed
- Deleting
- Deleting
- Delete
Failed - DeleteFailed
- Enterprise
Channel Node State Creating - Creating
- Enterprise
Channel Node State Create Failed - CreateFailed
- Enterprise
Channel Node State Started - Started
- Enterprise
Channel Node State Starting - Starting
- Enterprise
Channel Node State Start Failed - StartFailed
- Enterprise
Channel Node State Stopped - Stopped
- Enterprise
Channel Node State Stopping - Stopping
- Enterprise
Channel Node State Stop Failed - StopFailed
- Enterprise
Channel Node State Deleting - Deleting
- Enterprise
Channel Node State Delete Failed - DeleteFailed
- Creating
- Creating
- Create
Failed - CreateFailed
- Started
- Started
- Starting
- Starting
- Start
Failed - StartFailed
- Stopped
- Stopped
- Stopping
- Stopping
- Stop
Failed - StopFailed
- Deleting
- Deleting
- Delete
Failed - DeleteFailed
- Creating
- Creating
- Create
Failed - CreateFailed
- Started
- Started
- Starting
- Starting
- Start
Failed - StartFailed
- Stopped
- Stopped
- Stopping
- Stopping
- Stop
Failed - StopFailed
- Deleting
- Deleting
- Delete
Failed - DeleteFailed
- CREATING
- Creating
- CREATE_FAILED
- CreateFailed
- STARTED
- Started
- STARTING
- Starting
- START_FAILED
- StartFailed
- STOPPED
- Stopped
- STOPPING
- Stopping
- STOP_FAILED
- StopFailed
- DELETING
- Deleting
- DELETE_FAILED
- DeleteFailed
- "Creating"
- Creating
- "Create
Failed" - CreateFailed
- "Started"
- Started
- "Starting"
- Starting
- "Start
Failed" - StartFailed
- "Stopped"
- Stopped
- "Stopping"
- Stopping
- "Stop
Failed" - StopFailed
- "Deleting"
- Deleting
- "Delete
Failed" - DeleteFailed
EnterpriseChannelProperties, EnterpriseChannelPropertiesArgs
- Nodes
List<Pulumi.
Azure Native. Bot Service. Inputs. Enterprise Channel Node> - The nodes associated with the Enterprise Channel.
- State
string | Pulumi.
Azure Native. Bot Service. Enterprise Channel State - The current state of the Enterprise Channel.
- Nodes
[]Enterprise
Channel Node - The nodes associated with the Enterprise Channel.
- State
string | Enterprise
Channel State Enum - The current state of the Enterprise Channel.
- nodes
List<Enterprise
Channel Node> - The nodes associated with the Enterprise Channel.
- state
String | Enterprise
Channel State - The current state of the Enterprise Channel.
- nodes
Enterprise
Channel Node[] - The nodes associated with the Enterprise Channel.
- state
string | Enterprise
Channel State - The current state of the Enterprise Channel.
- nodes
Sequence[Enterprise
Channel Node] - The nodes associated with the Enterprise Channel.
- state
str | Enterprise
Channel State - The current state of the Enterprise Channel.
- nodes List<Property Map>
- The nodes associated with the Enterprise Channel.
- state
String | "Creating" | "Create
Failed" | "Started" | "Starting" | "Start Failed" | "Stopped" | "Stopping" | "Stop Failed" | "Deleting" | "Delete Failed" - The current state of the Enterprise Channel.
EnterpriseChannelPropertiesResponse, EnterpriseChannelPropertiesResponseArgs
- Nodes
List<Pulumi.
Azure Native. Bot Service. Inputs. Enterprise Channel Node Response> - The nodes associated with the Enterprise Channel.
- State string
- The current state of the Enterprise Channel.
- Nodes
[]Enterprise
Channel Node Response - The nodes associated with the Enterprise Channel.
- State string
- The current state of the Enterprise Channel.
- nodes
List<Enterprise
Channel Node Response> - The nodes associated with the Enterprise Channel.
- state String
- The current state of the Enterprise Channel.
- nodes
Enterprise
Channel Node Response[] - The nodes associated with the Enterprise Channel.
- state string
- The current state of the Enterprise Channel.
- nodes
Sequence[Enterprise
Channel Node Response] - The nodes associated with the Enterprise Channel.
- state str
- The current state of the Enterprise Channel.
- nodes List<Property Map>
- The nodes associated with the Enterprise Channel.
- state String
- The current state of the Enterprise Channel.
EnterpriseChannelState, EnterpriseChannelStateArgs
- Creating
- Creating
- Create
Failed - CreateFailed
- Started
- Started
- Starting
- Starting
- Start
Failed - StartFailed
- Stopped
- Stopped
- Stopping
- Stopping
- Stop
Failed - StopFailed
- Deleting
- Deleting
- Delete
Failed - DeleteFailed
- Enterprise
Channel State Creating - Creating
- Enterprise
Channel State Create Failed - CreateFailed
- Enterprise
Channel State Started - Started
- Enterprise
Channel State Starting - Starting
- Enterprise
Channel State Start Failed - StartFailed
- Enterprise
Channel State Stopped - Stopped
- Enterprise
Channel State Stopping - Stopping
- Enterprise
Channel State Stop Failed - StopFailed
- Enterprise
Channel State Deleting - Deleting
- Enterprise
Channel State Delete Failed - DeleteFailed
- Creating
- Creating
- Create
Failed - CreateFailed
- Started
- Started
- Starting
- Starting
- Start
Failed - StartFailed
- Stopped
- Stopped
- Stopping
- Stopping
- Stop
Failed - StopFailed
- Deleting
- Deleting
- Delete
Failed - DeleteFailed
- Creating
- Creating
- Create
Failed - CreateFailed
- Started
- Started
- Starting
- Starting
- Start
Failed - StartFailed
- Stopped
- Stopped
- Stopping
- Stopping
- Stop
Failed - StopFailed
- Deleting
- Deleting
- Delete
Failed - DeleteFailed
- CREATING
- Creating
- CREATE_FAILED
- CreateFailed
- STARTED
- Started
- STARTING
- Starting
- START_FAILED
- StartFailed
- STOPPED
- Stopped
- STOPPING
- Stopping
- STOP_FAILED
- StopFailed
- DELETING
- Deleting
- DELETE_FAILED
- DeleteFailed
- "Creating"
- Creating
- "Create
Failed" - CreateFailed
- "Started"
- Started
- "Starting"
- Starting
- "Start
Failed" - StartFailed
- "Stopped"
- Stopped
- "Stopping"
- Stopping
- "Stop
Failed" - StopFailed
- "Deleting"
- Deleting
- "Delete
Failed" - DeleteFailed
Kind, KindArgs
- Sdk
- sdk
- Designer
- designer
- Bot
- bot
- Function
- function
- Kind
Sdk - sdk
- Kind
Designer - designer
- Kind
Bot - bot
- Kind
Function - function
- Sdk
- sdk
- Designer
- designer
- Bot
- bot
- Function
- function
- Sdk
- sdk
- Designer
- designer
- Bot
- bot
- Function
- function
- SDK
- sdk
- DESIGNER
- designer
- BOT
- bot
- FUNCTION
- function
- "sdk"
- sdk
- "designer"
- designer
- "bot"
- bot
- "function"
- function
Sku, SkuArgs
- Name
string | Pulumi.
Azure Native. Bot Service. Sku Name - The sku name
- name String | "F0" | "S1"
- The sku name
SkuName, SkuNameArgs
- F0
- F0
- S1
- S1
- Sku
Name F0 - F0
- Sku
Name S1 - S1
- F0
- F0
- S1
- S1
- F0
- F0
- S1
- S1
- F0
- F0
- S1
- S1
- "F0"
- F0
- "S1"
- S1
SkuResponse, SkuResponseArgs
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:botservice:EnterpriseChannel myresource1 someid
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- azure-native-v1 pulumi/pulumi-azure-native
- License
- Apache-2.0