/// <summary>
 /// Get a partner topic.
 /// </summary>
 /// <remarks>
 /// Get properties of a partner topic.
 /// </remarks>
 /// <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='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <PartnerTopic> GetAsync(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, partnerTopicName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List partner topics under an Azure subscription.
 /// </summary>
 /// <remarks>
 /// List all the partner topics under an Azure subscription.
 /// </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>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <PartnerTopic> > ListBySubscriptionNextAsync(this IPartnerTopicsOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListBySubscriptionNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List partner topics under a resource group.
 /// </summary>
 /// <remarks>
 /// List all the partner topics under a resource group.
 /// </remarks>
 /// <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='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 <PartnerTopic> > ListByResourceGroupAsync(this IPartnerTopicsOperations operations, string resourceGroupName, string filter = default(string), int?top = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByResourceGroupWithHttpMessagesAsync(resourceGroupName, filter, top, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Update a partner topic.
 /// </summary>
 /// <remarks>
 /// Asynchronously updates a partner topic 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 user's subscription.
 /// </param>
 /// <param name='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 /// <param name='tags'>
 /// Tags of the partner topic.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <PartnerTopic> UpdateAsync(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName, IDictionary <string, string> tags = default(IDictionary <string, string>), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, partnerTopicName, tags, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Create a partner topic.
 /// </summary>
 /// <remarks>
 /// Asynchronously creates a new partner topic 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 user's subscription.
 /// </param>
 /// <param name='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 /// <param name='partnerTopicInfo'>
 /// Partner Topic information.
 /// </param>
 public static PartnerTopic CreateOrUpdate(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName, PartnerTopic partnerTopicInfo)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, partnerTopicName, partnerTopicInfo).GetAwaiter().GetResult());
 }
 /// <summary>
 /// List partner topics under a resource group.
 /// </summary>
 /// <remarks>
 /// List all the partner topics under a resource group.
 /// </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 <PartnerTopic> ListByResourceGroupNext(this IPartnerTopicsOperations operations, string nextPageLink)
 {
     return(operations.ListByResourceGroupNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Delete a partner topic.
 /// </summary>
 /// <remarks>
 /// Delete existing partner topic.
 /// </remarks>
 /// <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='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task BeginDeleteAsync(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.BeginDeleteWithHttpMessagesAsync(resourceGroupName, partnerTopicName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Delete a partner topic.
 /// </summary>
 /// <remarks>
 /// Delete existing partner topic.
 /// </remarks>
 /// <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='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 public static void BeginDelete(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName)
 {
     operations.BeginDeleteAsync(resourceGroupName, partnerTopicName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Deactivate a partner topic.
 /// </summary>
 /// <remarks>
 /// Deactivate specific partner topic.
 /// </remarks>
 /// <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='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 public static PartnerTopic Deactivate(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName)
 {
     return(operations.DeactivateAsync(resourceGroupName, partnerTopicName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// List partner topics under a resource group.
 /// </summary>
 /// <remarks>
 /// List all the partner topics under a resource group.
 /// </remarks>
 /// <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='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 <PartnerTopic> ListByResourceGroup(this IPartnerTopicsOperations operations, string resourceGroupName, string filter = default(string), int?top = default(int?))
 {
     return(operations.ListByResourceGroupAsync(resourceGroupName, filter, top).GetAwaiter().GetResult());
 }
 /// <summary>
 /// List partner topics under an Azure subscription.
 /// </summary>
 /// <remarks>
 /// List all the partner topics under an Azure subscription.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </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 <PartnerTopic> ListBySubscription(this IPartnerTopicsOperations operations, string filter = default(string), int?top = default(int?))
 {
     return(operations.ListBySubscriptionAsync(filter, top).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Update a partner topic.
 /// </summary>
 /// <remarks>
 /// Asynchronously updates a partner topic 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 user's subscription.
 /// </param>
 /// <param name='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 /// <param name='partnerTopicUpdateParameters'>
 /// PartnerTopic update information.
 /// </param>
 public static PartnerTopic Update(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName, PartnerTopicUpdateParameters partnerTopicUpdateParameters)
 {
     return(operations.UpdateAsync(resourceGroupName, partnerTopicName, partnerTopicUpdateParameters).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Update a partner topic.
 /// </summary>
 /// <remarks>
 /// Asynchronously updates a partner topic 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 user's subscription.
 /// </param>
 /// <param name='partnerTopicName'>
 /// Name of the partner topic.
 /// </param>
 /// <param name='tags'>
 /// Tags of the partner topic.
 /// </param>
 public static PartnerTopic Update(this IPartnerTopicsOperations operations, string resourceGroupName, string partnerTopicName, IDictionary <string, string> tags = default(IDictionary <string, string>))
 {
     return(operations.UpdateAsync(resourceGroupName, partnerTopicName, tags).GetAwaiter().GetResult());
 }