/// <summary>
 /// Updates the details of the operation in the 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 /// <param name='parameters'>
 /// API Operation Update parameters.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the 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 <OperationContract> UpdateAsync(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId, OperationUpdateContract parameters, string ifMatch, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, operationId, parameters, ifMatch, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists a collection of the operations for 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='tags'>
 /// Include tags in the response.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <OperationContract> > ListByApiAsync(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, ODataQuery <OperationContract> odataQuery = default(ODataQuery <OperationContract>), string tags = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByApiWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, odataQuery, tags, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists a collection of the operations for 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 <OperationContract> > ListByApiNextAsync(this IApiOperationOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByApiNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets the entity state (Etag) version of the API operation 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ApiOperationGetEntityTagHeaders> GetEntityTagAsync(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetEntityTagWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, operationId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Headers);
     }
 }
 /// <summary>
 /// Lists a collection of the operations for 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='tags'>
 /// Include tags in the response.
 /// </param>
 public static IPage <OperationContract> ListByApi(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, ODataQuery <OperationContract> odataQuery = default(ODataQuery <OperationContract>), string tags = default(string))
 {
     return(operations.ListByApiAsync(resourceGroupName, serviceName, apiId, odataQuery, tags).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Lists a collection of the operations for 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 <OperationContract> ListByApiNext(this IApiOperationOperations operations, string nextPageLink)
 {
     return(operations.ListByApiNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes the specified operation in the 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the 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 IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId, string ifMatch, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, serviceName, apiId, operationId, ifMatch, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Deletes the specified operation in the 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the 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 IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId, string ifMatch)
 {
     operations.DeleteAsync(resourceGroupName, serviceName, apiId, operationId, ifMatch).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Updates the details of the operation in the 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 /// <param name='parameters'>
 /// API Operation Update parameters.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the 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 OperationContract Update(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId, OperationUpdateContract parameters, string ifMatch)
 {
     return(operations.UpdateAsync(resourceGroupName, serviceName, apiId, operationId, parameters, ifMatch).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the details of the API Operation 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 public static OperationContract Get(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId)
 {
     return(operations.GetAsync(resourceGroupName, serviceName, apiId, operationId).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the entity state (Etag) version of the API operation 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 revision identifier. Must be unique in the current API Management
 /// service instance. Non-current revision has ;rev=n as a suffix where n is
 /// the revision number.
 /// </param>
 /// <param name='operationId'>
 /// Operation identifier within an API. Must be unique in the current API
 /// Management service instance.
 /// </param>
 public static ApiOperationGetEntityTagHeaders GetEntityTag(this IApiOperationOperations operations, string resourceGroupName, string serviceName, string apiId, string operationId)
 {
     return(operations.GetEntityTagAsync(resourceGroupName, serviceName, apiId, operationId).GetAwaiter().GetResult());
 }