/// <summary>
 /// Determines whether or not the given data source exists in the Azure Search service.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name="dataSourceName">
 /// The name of the data source.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <returns>
 /// <c>true</c> if the data source exists; <c>false</c> otherwise.
 /// </returns>
 public static bool Exists(
     this IDataSourcesOperations operations,
     string dataSourceName,
     SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 {
     return(Task.Factory.StartNew(s => ((IDataSourcesOperations)s).ExistsAsync(dataSourceName, searchRequestOptions), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Determines whether or not the given data source exists in the Azure Search service.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name="dataSourceName">
 /// The name of the data source.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation.
 /// </param>
 /// <returns>
 /// <c>true</c> if the data source exists; <c>false</c> otherwise.
 /// </returns>
 public static bool Exists(
     this IDataSourcesOperations operations,
     string dataSourceName,
     SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 {
     return(operations.ExistsAsync(dataSourceName, searchRequestOptions).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the first page of data source instances in a workspace with the link
 /// to the next page.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// The workspace that contains the data sources.
 /// </param>
 /// <param name='skiptoken'>
 /// Starting point of the collection of data source instances.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <DataSource> > ListByWorkspaceAsync(this IDataSourcesOperations operations, ODataQuery <DataSourceFilter> odataQuery, string resourceGroupName, string workspaceName, string skiptoken = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByWorkspaceWithHttpMessagesAsync(odataQuery, resourceGroupName, workspaceName, skiptoken, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists all datasources available for an Azure Search service.
 /// <see href="https://msdn.microsoft.com/library/azure/dn946878.aspx" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <DataSourceListResult> ListAsync(this IDataSourcesOperations operations, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListWithHttpMessagesAsync(searchRequestOptions, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Creates a new Azure Search datasource or updates a datasource if it already
 /// exists.
 /// <see href="https://docs.microsoft.com/rest/api/searchservice/Update-Data-Source" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSource'>
 /// The definition of the datasource to create or update.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='accessCondition'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 /// <returns>
 /// The datasource that was created or updated.
 /// </returns>
 public static async Task <DataSource> CreateOrUpdateAsync(this IDataSourcesOperations operations, DataSource dataSource, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), AccessCondition accessCondition = default(AccessCondition), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(dataSource, searchRequestOptions, accessCondition, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Create or update a data source.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that will contain the datasource
 /// </param>
 /// <param name='dataSourceName'>
 /// The name of the datasource resource.
 /// </param>
 /// <param name='parameters'>
 /// The parameters required to create or update a datasource.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <DataSource> CreateOrUpdateAsync(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName, DataSource parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, workspaceName, dataSourceName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets a datasource instance.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that contains the datasource.
 /// </param>
 /// <param name='dataSourceName'>
 /// Name of the datasource
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async System.Threading.Tasks.Task <DataSource> GetAsync(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(resourceGroupName, workspaceName, dataSourceName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets the first page of data source instances in a workspace with the link
 /// to the next page.
 /// </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 <DataSource> > ListByWorkspaceNextAsync(this IDataSourcesOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByWorkspaceNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
        /// <summary>
        /// Determines whether or not the given data source exists in the Azure Search service.
        /// </summary>
        /// <param name='operations'>
        /// The operations group for this extension method.
        /// </param>
        /// <param name="dataSourceName">
        /// The name of the data source.
        /// </param>
        /// <param name='searchRequestOptions'>
        /// Additional parameters for the operation.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        /// <returns>
        /// <c>true</c> if the data source exists; <c>false</c> otherwise.
        /// </returns>
        public static async Task <bool> ExistsAsync(
            this IDataSourcesOperations operations,
            string dataSourceName,
            SearchRequestOptions searchRequestOptions = default(SearchRequestOptions),
            CancellationToken cancellationToken       = default(CancellationToken))
        {
            AzureOperationResponse <bool> result = await operations.ExistsWithHttpMessagesAsync(dataSourceName, searchRequestOptions, null, cancellationToken).ConfigureAwait(false);

            return(result.Body);
        }
 /// <summary>
 /// Lists all datasources available for an Azure Search service.
 /// <see href="https://msdn.microsoft.com/library/azure/dn946878.aspx" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 public static DataSourceListResult List(this IDataSourcesOperations operations, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 {
     return(Task.Factory.StartNew(s => ((IDataSourcesOperations)s).ListAsync(searchRequestOptions), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes an Azure Search datasource.
 /// <see href="https://msdn.microsoft.com/library/azure/dn946881.aspx" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// The name of the datasource to delete.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='accessCondition'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IDataSourcesOperations operations, string dataSourceName, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), AccessCondition accessCondition = default(AccessCondition), CancellationToken cancellationToken = default(CancellationToken))
 {
     await operations.DeleteWithHttpMessagesAsync(dataSourceName, searchRequestOptions, accessCondition, null, cancellationToken).ConfigureAwait(false);
 }
 /// <summary>
 /// Gets a datasource instance.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that contains the datasource.
 /// </param>
 /// <param name='dataSourceName'>
 /// Name of the datasource
 /// </param>
 public static DataSource Get(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName)
 {
     return(operations.GetAsync(resourceGroupName, workspaceName, dataSourceName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates a new Azure Search datasource or updates a datasource if it
 /// already exists.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSource'>
 /// The definition of the datasource to create or update.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='accessCondition'>
 /// Additional parameters for the operation
 /// </param>
 public static DataSource CreateOrUpdate(this IDataSourcesOperations operations, DataSource dataSource, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), AccessCondition accessCondition = default(AccessCondition))
 {
     return(Task.Factory.StartNew(s => ((IDataSourcesOperations)s).CreateOrUpdateAsync(dataSource, searchRequestOptions, accessCondition), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a data source instance.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that contains the datasource.
 /// </param>
 /// <param name='dataSourceName'>
 /// Name of the datasource.
 /// </param>
 public static void Delete(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName)
 {
     operations.DeleteAsync(resourceGroupName, workspaceName, dataSourceName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Create or update a data source.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that will contain the datasource
 /// </param>
 /// <param name='dataSourceName'>
 /// The name of the datasource resource.
 /// </param>
 /// <param name='parameters'>
 /// The parameters required to create or update a datasource.
 /// </param>
 public static DataSource CreateOrUpdate(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName, DataSource parameters)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, workspaceName, dataSourceName, parameters).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the first page of data source instances in a workspace with the link
 /// to the next page.
 /// </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 <DataSource> ListByWorkspaceNext(this IDataSourcesOperations operations, string nextPageLink)
 {
     return(operations.ListByWorkspaceNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes an Azure Search datasource.
 /// <see href="https://msdn.microsoft.com/library/azure/dn946881.aspx" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// The name of the datasource to delete.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='accessCondition'>
 /// Additional parameters for the operation
 /// </param>
 public static void Delete(this IDataSourcesOperations operations, string dataSourceName, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), AccessCondition accessCondition = default(AccessCondition))
 {
     Task.Factory.StartNew(s => ((IDataSourcesOperations)s).DeleteAsync(dataSourceName, searchRequestOptions, accessCondition), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Deletes a data source instance.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that contains the datasource.
 /// </param>
 /// <param name='dataSourceName'>
 /// Name of the datasource.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async System.Threading.Tasks.Task DeleteAsync(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     await operations.DeleteWithHttpMessagesAsync(resourceGroupName, workspaceName, dataSourceName, null, cancellationToken).ConfigureAwait(false);
 }
 /// <summary>
 /// Gets the first page of data source instances in a workspace with the link
 /// to the next page.
 /// </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 Microsoft.Rest.Azure.IPage <DataSource> ListByWorkspaceNext(this IDataSourcesOperations operations, string nextPageLink)
 {
     return(System.Threading.Tasks.Task.Factory.StartNew(s => ((IDataSourcesOperations)s).ListByWorkspaceNextAsync(nextPageLink), operations, System.Threading.CancellationToken.None, System.Threading.Tasks.TaskCreationOptions.None, System.Threading.Tasks.TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the first page of data source instances in a workspace with the link
 /// to the next page.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// The workspace that contains the data sources.
 /// </param>
 /// <param name='skiptoken'>
 /// Starting point of the collection of data source instances.
 /// </param>
 public static Microsoft.Rest.Azure.IPage <DataSource> ListByWorkspace(this IDataSourcesOperations operations, Microsoft.Rest.Azure.OData.ODataQuery <DataSourceFilter> odataQuery, string resourceGroupName, string workspaceName, string skiptoken = default(string))
 {
     return(System.Threading.Tasks.Task.Factory.StartNew(s => ((IDataSourcesOperations)s).ListByWorkspaceAsync(odataQuery, resourceGroupName, workspaceName, skiptoken), operations, System.Threading.CancellationToken.None, System.Threading.Tasks.TaskCreationOptions.None, System.Threading.Tasks.TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the first page of data source instances in a workspace with the link
 /// to the next page.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// The workspace that contains the data sources.
 /// </param>
 /// <param name='skiptoken'>
 /// Starting point of the collection of data source instances.
 /// </param>
 public static IPage <DataSource> ListByWorkspace(this IDataSourcesOperations operations, ODataQuery <DataSourceFilter> odataQuery, string resourceGroupName, string workspaceName, string skiptoken = default(string))
 {
     return(operations.ListByWorkspaceAsync(odataQuery, resourceGroupName, workspaceName, skiptoken).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a data source instance.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that contains the datasource.
 /// </param>
 /// <param name='dataSourceName'>
 /// Name of the datasource.
 /// </param>
 public static void Delete(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName)
 {
     System.Threading.Tasks.Task.Factory.StartNew(s => ((IDataSourcesOperations)s).DeleteAsync(resourceGroupName, workspaceName, dataSourceName), operations, System.Threading.CancellationToken.None, System.Threading.Tasks.TaskCreationOptions.None, System.Threading.Tasks.TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Lists all datasources available for a search service.
 /// <see href="https://docs.microsoft.com/rest/api/searchservice/List-Data-Sources" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 public static DataSourceListResult List(this IDataSourcesOperations operations, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 {
     return(operations.ListAsync(searchRequestOptions).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates a new Azure Search datasource or updates a datasource if it already
 /// exists.
 /// <see href="https://docs.microsoft.com/rest/api/searchservice/Update-Data-Source" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSource'>
 /// The definition of the datasource to create or update.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation.
 /// </param>
 /// <param name='accessCondition'>
 /// Additional parameters for the operation.
 /// </param>
 /// <returns>
 /// The datasource that was created or updated.
 /// </returns>
 public static DataSource CreateOrUpdate(this IDataSourcesOperations operations, DataSource dataSource, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), AccessCondition accessCondition = default(AccessCondition))
 {
     return(operations.CreateOrUpdateAsync(dataSource, searchRequestOptions, accessCondition).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates a new datasource.
 /// <see href="https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSource'>
 /// The definition of the datasource to create.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 public static DataSource Create(this IDataSourcesOperations operations, DataSource dataSource, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 {
     return(operations.CreateAsync(dataSource, searchRequestOptions).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a datasource.
 /// <see href="https://docs.microsoft.com/rest/api/searchservice/Delete-Data-Source" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// The name of the datasource to delete.
 /// </param>
 /// <param name='searchRequestOptions'>
 /// Additional parameters for the operation
 /// </param>
 /// <param name='accessCondition'>
 /// Additional parameters for the operation
 /// </param>
 public static void Delete(this IDataSourcesOperations operations, string dataSourceName, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), AccessCondition accessCondition = default(AccessCondition))
 {
     operations.DeleteAsync(dataSourceName, searchRequestOptions, accessCondition).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Deletes a data source instance.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group to get. The name is case insensitive.
 /// </param>
 /// <param name='workspaceName'>
 /// Name of the Log Analytics Workspace that contains the datasource.
 /// </param>
 /// <param name='dataSourceName'>
 /// Name of the datasource.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IDataSourcesOperations operations, string resourceGroupName, string workspaceName, string dataSourceName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, workspaceName, dataSourceName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }