/// <summary>
 /// Creates a new Comment for the Issue in an API or updates an existing one.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 /// <param name='parameters'>
 /// Create parameters.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the Issue Entity. ETag should match the current entity state from
 /// the header response of the GET request or it should be * for unconditional
 /// update.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IssueCommentContract> CreateOrUpdateAsync(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId, IssueCommentContract parameters, string ifMatch = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, issueId, commentId, parameters, ifMatch, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists all comments for the Issue associated with the specified API.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <IssueCommentContract> > ListByServiceAsync(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, ODataQuery <IssueCommentContract> odataQuery = default(ODataQuery <IssueCommentContract>), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByServiceWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, issueId, odataQuery, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets the details of the issue Comment for an API specified by its
 /// identifier.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IssueCommentContract> GetAsync(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, issueId, commentId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists all comments for the Issue associated with the specified API.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 public static IPage <IssueCommentContract> ListByService(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, ODataQuery <IssueCommentContract> odataQuery = default(ODataQuery <IssueCommentContract>))
 {
     return(operations.ListByServiceAsync(resourceGroupName, serviceName, apiId, issueId, odataQuery).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Lists all comments for the Issue associated with the specified API.
 /// </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 <IssueCommentContract> > ListByServiceNextAsync(this IApiIssueCommentOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByServiceNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists all comments for the Issue associated with the specified API.
 /// </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 <IssueCommentContract> ListByServiceNext(this IApiIssueCommentOperations operations, string nextPageLink)
 {
     return(operations.ListByServiceNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes the specified comment from an Issue.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the Issue Entity. ETag should match the current entity state from
 /// the header response of the GET request or it should be * for unconditional
 /// update.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId, string ifMatch, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, issueId, commentId, ifMatch, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Deletes the specified comment from an Issue.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the Issue Entity. ETag should match the current entity state from
 /// the header response of the GET request or it should be * for unconditional
 /// update.
 /// </param>
 public static void Delete(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId, string ifMatch)
 {
     operations.DeleteAsync(resourceGroupName, serviceName, apiId, issueId, commentId, ifMatch).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Creates a new Comment for the Issue in an API or updates an existing one.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 /// <param name='parameters'>
 /// Create parameters.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the Issue Entity. ETag should match the current entity state from
 /// the header response of the GET request or it should be * for unconditional
 /// update.
 /// </param>
 public static IssueCommentContract CreateOrUpdate(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId, IssueCommentContract parameters, string ifMatch = default(string))
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, serviceName, apiId, issueId, commentId, parameters, ifMatch).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the details of the issue Comment for an API specified by its
 /// identifier.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 public static IssueCommentContract Get(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId)
 {
     return(operations.GetAsync(resourceGroupName, serviceName, apiId, issueId, commentId).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the entity state (Etag) version of the issue Comment for an API
 /// specified by its identifier.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='apiId'>
 /// API identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='issueId'>
 /// Issue identifier. Must be unique in the current API Management service
 /// instance.
 /// </param>
 /// <param name='commentId'>
 /// Comment identifier within an Issue. Must be unique in the current Issue.
 /// </param>
 public static ApiIssueCommentGetEntityTagHeaders GetEntityTag(this IApiIssueCommentOperations operations, string resourceGroupName, string serviceName, string apiId, string issueId, string commentId)
 {
     return(operations.GetEntityTagAsync(resourceGroupName, serviceName, apiId, issueId, commentId).GetAwaiter().GetResult());
 }