/// <summary>
 /// Updates a Channel registration for a Bot Service
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Channel resource. Possible values include:
 /// 'FacebookChannel', 'EmailChannel', 'KikChannel', 'TelegramChannel',
 /// 'SlackChannel', 'MsTeamsChannel', 'SkypeChannel', 'WebChatChannel',
 /// 'DirectLineChannel', 'SmsChannel'
 /// </param>
 /// <param name='location'>
 /// Specifies the location of the resource.
 /// </param>
 /// <param name='tags'>
 /// Contains resource tags defined as key/value pairs.
 /// </param>
 /// <param name='sku'>
 /// Gets or sets the SKU of the resource.
 /// </param>
 /// <param name='kind'>
 /// Required. Gets or sets the Kind of the resource. Possible values include:
 /// 'sdk', 'designer', 'bot', 'function'
 /// </param>
 /// <param name='etag'>
 /// Entity Tag
 /// </param>
 /// <param name='properties'>
 /// The set of properties specific to bot channel resource
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <BotChannel> UpdateAsync(this IChannelsOperations operations, string resourceGroupName, string resourceName, ChannelName channelName, string location = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), string kind = default(string), string etag = default(string), Channel properties = default(Channel), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, resourceName, channelName, location, tags, sku, kind, etag, properties, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Creates a Channel registration for a Bot Service
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Channel resource. Possible values include:
 /// 'FacebookChannel', 'EmailChannel', 'KikChannel', 'TelegramChannel',
 /// 'SlackChannel', 'MsTeamsChannel', 'SkypeChannel', 'WebChatChannel',
 /// 'DirectLineChannel', 'SmsChannel'
 /// </param>
 /// <param name='parameters'>
 /// The parameters to provide for the created bot.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <BotChannel> CreateAsync(this IChannelsOperations operations, string resourceGroupName, string resourceName, ChannelName channelName, BotChannel parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateWithHttpMessagesAsync(resourceGroupName, resourceName, channelName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Returns all the Channel registrations of a particular BotService resource
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='nextPageLink'>
 /// The NextLink from the previous successful call to List operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <BotChannel> > ListByResourceGroupNextAsync(this IChannelsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByResourceGroupNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List channels.
 /// </summary>
 /// <remarks>
 /// List all the channels in a partner namespace.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='filter'>
 /// The query used to filter the search results using OData syntax. Filtering
 /// is permitted on the 'name' property only and with limited number of OData
 /// operations. These operations are: the 'contains' function as well as the
 /// following logical operations: not, and, or, eq (for equal), and ne (for not
 /// equal). No arithmetic operations are supported. The following is a valid
 /// filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'.
 /// The following is not a valid filter example: $filter=location eq 'westus'.
 /// </param>
 /// <param name='top'>
 /// The number of results to return per page for the list operation. Valid
 /// range for top parameter is 1 to 100. If not specified, the default number
 /// of results to be returned is 20 items per page.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <Channel> > ListByPartnerNamespaceAsync(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string filter = default(string), int?top = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByPartnerNamespaceWithHttpMessagesAsync(resourceGroupName, partnerNamespaceName, filter, top, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Get a channel.
 /// </summary>
 /// <remarks>
 /// Get properties of a channel.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='channelName'>
 /// Name of the channel.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Channel> GetAsync(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string channelName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, partnerNamespaceName, channelName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Returns all the Channel registrations of a particular BotService resource
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='nextPageLink'>
 /// The NextLink from the previous successful call to List operation.
 /// </param>
 public static IPage <BotChannel> ListByResourceGroupNext(this IChannelsOperations operations, string nextPageLink)
 {
     return(operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Returns all the Channel registrations of a particular BotService resource
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 public static IPage <BotChannel> ListByResourceGroup(this IChannelsOperations operations, string resourceGroupName, string resourceName)
 {
     return(operations.ListByResourceGroupAsync(resourceGroupName, resourceName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Lists a Channel registration for a Bot Service including secrets
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Channel resource. Possible values include:
 /// 'FacebookChannel', 'EmailChannel', 'KikChannel', 'TelegramChannel',
 /// 'SlackChannel', 'MsTeamsChannel', 'SkypeChannel', 'WebChatChannel',
 /// 'DirectLineChannel', 'SmsChannel'
 /// </param>
 public static BotChannel ListWithKeys(this IChannelsOperations operations, string resourceGroupName, string resourceName, ChannelName channelName)
 {
     return(operations.ListWithKeysAsync(resourceGroupName, resourceName, channelName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Returns a BotService Channel registration specified by the parameters.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Bot resource.
 /// </param>
 public static BotChannel Get(this IChannelsOperations operations, string resourceGroupName, string resourceName, string channelName)
 {
     return(operations.GetAsync(resourceGroupName, resourceName, channelName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a Channel registration from a Bot Service
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IChannelsOperations operations, string resourceGroupName, string resourceName, string channelName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, resourceName, channelName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Update a Channel.
 /// </summary>
 /// <remarks>
 /// Synchronously updates a channel with the specified parameters.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='channelName'>
 /// Name of the channel.
 /// </param>
 /// <param name='channelUpdateParameters'>
 /// Channel update information.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task UpdateAsync(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string channelName, ChannelUpdateParameters channelUpdateParameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.UpdateWithHttpMessagesAsync(resourceGroupName, partnerNamespaceName, channelName, channelUpdateParameters, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Updates a Channel registration for a Bot Service
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Channel resource. Possible values include:
 /// 'FacebookChannel', 'EmailChannel', 'KikChannel', 'TelegramChannel',
 /// 'SlackChannel', 'MsTeamsChannel', 'SkypeChannel', 'WebChatChannel',
 /// 'DirectLineChannel', 'SmsChannel'
 /// </param>
 /// <param name='location'>
 /// Specifies the location of the resource.
 /// </param>
 /// <param name='tags'>
 /// Contains resource tags defined as key/value pairs.
 /// </param>
 /// <param name='sku'>
 /// Gets or sets the SKU of the resource.
 /// </param>
 /// <param name='kind'>
 /// Required. Gets or sets the Kind of the resource. Possible values include:
 /// 'sdk', 'designer', 'bot', 'function'
 /// </param>
 /// <param name='etag'>
 /// Entity Tag
 /// </param>
 /// <param name='properties'>
 /// The set of properties specific to bot channel resource
 /// </param>
 public static BotChannel Update(this IChannelsOperations operations, string resourceGroupName, string resourceName, ChannelName channelName, string location = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), Sku sku = default(Sku), string kind = default(string), string etag = default(string), Channel properties = default(Channel))
 {
     return(operations.UpdateAsync(resourceGroupName, resourceName, channelName, location, tags, sku, kind, etag, properties).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Create or update a channel.
 /// </summary>
 /// <remarks>
 /// Synchronously creates or updates a new channel with the specified
 /// parameters.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='channelName'>
 /// Name of the channel.
 /// </param>
 /// <param name='channelInfo'>
 /// Channel information.
 /// </param>
 public static Channel CreateOrUpdate(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string channelName, Channel channelInfo)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, partnerNamespaceName, channelName, channelInfo).GetAwaiter().GetResult());
 }
 /// <summary>
 /// List channels.
 /// </summary>
 /// <remarks>
 /// List all the channels in a partner namespace.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='nextPageLink'>
 /// The NextLink from the previous successful call to List operation.
 /// </param>
 public static IPage <Channel> ListByPartnerNamespaceNext(this IChannelsOperations operations, string nextPageLink)
 {
     return(operations.ListByPartnerNamespaceNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Delete a channel.
 /// </summary>
 /// <remarks>
 /// Delete an existing channel.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='channelName'>
 /// Name of the channel.
 /// </param>
 public static void BeginDelete(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string channelName)
 {
     operations.BeginDeleteAsync(resourceGroupName, partnerNamespaceName, channelName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Get full URL of partner destination channel.
 /// </summary>
 /// <remarks>
 /// Get the full endpoint URL of a partner destination channel.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='channelName'>
 /// Name of the Channel.
 /// </param>
 public static EventSubscriptionFullUrl GetFullUrl(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string channelName)
 {
     return(operations.GetFullUrlAsync(resourceGroupName, partnerNamespaceName, channelName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates a Channel registration for a Bot Service
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Channel resource. Possible values include:
 /// 'FacebookChannel', 'EmailChannel', 'KikChannel', 'TelegramChannel',
 /// 'SlackChannel', 'MsTeamsChannel', 'SkypeChannel', 'WebChatChannel',
 /// 'DirectLineChannel', 'SmsChannel'
 /// </param>
 /// <param name='parameters'>
 /// The parameters to provide for the created bot.
 /// </param>
 public static BotChannel Create(this IChannelsOperations operations, string resourceGroupName, string resourceName, ChannelName channelName, BotChannel parameters)
 {
     return(operations.CreateAsync(resourceGroupName, resourceName, channelName, parameters).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a Channel registration from a Bot Service
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the user's subscription.
 /// </param>
 /// <param name='resourceName'>
 /// The name of the Bot resource.
 /// </param>
 /// <param name='channelName'>
 /// The name of the Bot resource.
 /// </param>
 public static void Delete(this IChannelsOperations operations, string resourceGroupName, string resourceName, string channelName)
 {
     operations.DeleteAsync(resourceGroupName, resourceName, channelName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Update a Channel.
 /// </summary>
 /// <remarks>
 /// Synchronously updates a channel with the specified parameters.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='channelName'>
 /// Name of the channel.
 /// </param>
 /// <param name='channelUpdateParameters'>
 /// Channel update information.
 /// </param>
 public static void Update(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string channelName, ChannelUpdateParameters channelUpdateParameters)
 {
     operations.UpdateAsync(resourceGroupName, partnerNamespaceName, channelName, channelUpdateParameters).GetAwaiter().GetResult();
 }
 /// <summary>
 /// List channels.
 /// </summary>
 /// <remarks>
 /// List all the channels in a partner namespace.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group within the partners subscription.
 /// </param>
 /// <param name='partnerNamespaceName'>
 /// Name of the partner namespace.
 /// </param>
 /// <param name='filter'>
 /// The query used to filter the search results using OData syntax. Filtering
 /// is permitted on the 'name' property only and with limited number of OData
 /// operations. These operations are: the 'contains' function as well as the
 /// following logical operations: not, and, or, eq (for equal), and ne (for not
 /// equal). No arithmetic operations are supported. The following is a valid
 /// filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'.
 /// The following is not a valid filter example: $filter=location eq 'westus'.
 /// </param>
 /// <param name='top'>
 /// The number of results to return per page for the list operation. Valid
 /// range for top parameter is 1 to 100. If not specified, the default number
 /// of results to be returned is 20 items per page.
 /// </param>
 public static IPage <Channel> ListByPartnerNamespace(this IChannelsOperations operations, string resourceGroupName, string partnerNamespaceName, string filter = default(string), int?top = default(int?))
 {
     return(operations.ListByPartnerNamespaceAsync(resourceGroupName, partnerNamespaceName, filter, top).GetAwaiter().GetResult());
 }