/// <summary>
 /// Create the configuration identified by configuration name.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='configurationName'>
 /// The create or update parameters for configuration.
 /// </param>
 /// <param name='parameters'>
 /// The create or update parameters for configuration.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <DscConfiguration> UpdateAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, string configurationName, DscConfigurationUpdateParameters parameters = default(DscConfigurationUpdateParameters), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, automationAccountName, configurationName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Initializes a new instance of the AutomationManagementClient class.
 /// </summary>
 /// <param name='httpClient'>
 /// The Http client
 /// </param>
 public AutomationManagementClient(HttpClient httpClient)
     : base(httpClient)
 {
     this._activities = new ActivityOperations(this);
     this._agentRegistrationInformation = new AgentRegistrationOperation(this);
     this._automationAccounts           = new AutomationAccountOperations(this);
     this._certificates       = new CertificateOperations(this);
     this._connections        = new ConnectionOperations(this);
     this._connectionTypes    = new ConnectionTypeOperations(this);
     this._psCredentials      = new CredentialOperations(this);
     this._compilationJobs    = new DscCompilationJobOperations(this);
     this._configurations     = new DscConfigurationOperations(this);
     this._nodeConfigurations = new DscNodeConfigurationOperations(this);
     this._nodes       = new DscNodeOperations(this);
     this._nodeReports = new DscNodeReportsOperations(this);
     this._hybridRunbookWorkerGroups = new HybridRunbookWorkerGroupOperations(this);
     this._jobs              = new JobOperations(this);
     this._jobSchedules      = new JobScheduleOperations(this);
     this._jobStreams        = new JobStreamOperations(this);
     this._modules           = new ModuleOperations(this);
     this._runbookDraft      = new RunbookDraftOperations(this);
     this._runbooks          = new RunbookOperations(this);
     this._schedules         = new ScheduleOperations(this);
     this._statistics        = new StatisticsOperations(this);
     this._testJobs          = new TestJobOperations(this);
     this._typeFields        = new TypeFieldOperations(this);
     this._usages            = new UsageOperations(this);
     this._variables         = new VariableOperations(this);
     this._webhooks          = new WebhookOperations(this);
     this._resourceNamespace = "Microsoft.Automation";
     this._apiVersion        = "2014-06-01";
     this._longRunningOperationInitialTimeout = -1;
     this._longRunningOperationRetryTimeout   = -1;
     this.HttpClient.Timeout = TimeSpan.FromSeconds(300);
 }
 /// <summary>
 /// Retrieve the configuration script identified by configuration name.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='configurationName'>
 /// The configuration name.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <string> GetContentAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, string configurationName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetContentWithHttpMessagesAsync(resourceGroupName, automationAccountName, configurationName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Retrieve the configuration script identified by configuration name.
 /// (see http://aka.ms/azureautomationsdk/configurationoperations for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='automationAccount'>
 /// Required. The automation account name.
 /// </param>
 /// <param name='configurationName'>
 /// Required. The configuration name.
 /// </param>
 /// <returns>
 /// The response model for the get configuration operation.
 /// </returns>
 public static DscConfigurationGetContentResponse GetContent(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccount, string configurationName)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDscConfigurationOperations)s).GetContentAsync(resourceGroupName, automationAccount, configurationName);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Create the configuration identified by configuration name.  (see
 /// http://aka.ms/azureautomationsdk/configurationoperations for more
 /// information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='automationAccount'>
 /// Required. The automation account name.
 /// </param>
 /// <param name='parameters'>
 /// Required. The create or update parameters for configuration.
 /// </param>
 /// <returns>
 /// The response model for the configuration create response.
 /// </returns>
 public static DscConfigurationCreateOrUpdateResponse CreateOrUpdate(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccount, DscConfigurationCreateOrUpdateParameters parameters)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDscConfigurationOperations)s).CreateOrUpdateAsync(resourceGroupName, automationAccount, parameters);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Retrieve next list of configurations.  (see
 /// http://aka.ms/azureautomationsdk/configurationoperations for more
 /// information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='nextLink'>
 /// Required. The link to retrieve next set of items.
 /// </param>
 /// <returns>
 /// The response model for the list configuration operation.
 /// </returns>
 public static DscConfigurationListResponse ListNext(this IDscConfigurationOperations operations, string nextLink)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDscConfigurationOperations)s).ListNextAsync(nextLink);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Retrieve a list of configurations.  (see
 /// http://aka.ms/azureautomationsdk/configurationoperations for more
 /// information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='automationAccount'>
 /// Required. The automation account name.
 /// </param>
 /// <returns>
 /// The response model for the list configuration operation.
 /// </returns>
 public static Task <DscConfigurationListResponse> ListAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccount)
 {
     return(operations.ListAsync(resourceGroupName, automationAccount, CancellationToken.None));
 }
 /// <summary>
 /// Retrieve the configuration script identified by configuration name.
 /// (see http://aka.ms/azureautomationsdk/configurationoperations for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='automationAccount'>
 /// Required. The automation account name.
 /// </param>
 /// <param name='configurationName'>
 /// Required. The configuration name.
 /// </param>
 /// <returns>
 /// The response model for the get configuration operation.
 /// </returns>
 public static Task <DscConfigurationGetContentResponse> GetContentAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccount, string configurationName)
 {
     return(operations.GetContentAsync(resourceGroupName, automationAccount, configurationName, CancellationToken.None));
 }
 /// <summary>
 /// Delete the dsc configuration identified by configuration name.
 /// (see http://aka.ms/azureautomationsdk/configurationoperations for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='automationAccount'>
 /// Required. The automation account name.
 /// </param>
 /// <param name='configurationName'>
 /// Required. The configuration name.
 /// </param>
 /// <returns>
 /// A standard service response including an HTTP status code and
 /// request ID.
 /// </returns>
 public static Task <AzureOperationResponse> DeleteAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccount, string configurationName)
 {
     return(operations.DeleteAsync(resourceGroupName, automationAccount, configurationName, CancellationToken.None));
 }
 /// <summary>
 /// Delete the dsc configuration identified by configuration name.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='configurationName'>
 /// The configuration name.
 /// </param>
 public static void Delete(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, string configurationName)
 {
     operations.DeleteAsync(resourceGroupName, automationAccountName, configurationName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Retrieve a list of configurations.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </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 <DscConfiguration> > ListByAutomationAccountNextAsync(this IDscConfigurationOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByAutomationAccountNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Retrieve a list of configurations.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </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 <DscConfiguration> ListByAutomationAccountNext(this IDscConfigurationOperations operations, string nextPageLink)
 {
     return(operations.ListByAutomationAccountNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Retrieve a list of configurations.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='inlinecount'>
 /// Return total rows.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <DscConfiguration> > ListByAutomationAccountAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, ODataQuery <DscConfiguration> odataQuery = default(ODataQuery <DscConfiguration>), string inlinecount = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByAutomationAccountWithHttpMessagesAsync(resourceGroupName, automationAccountName, odataQuery, inlinecount, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Retrieve a list of configurations.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='inlinecount'>
 /// Return total rows.
 /// </param>
 public static IPage <DscConfiguration> ListByAutomationAccount(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, ODataQuery <DscConfiguration> odataQuery = default(ODataQuery <DscConfiguration>), string inlinecount = default(string))
 {
     return(operations.ListByAutomationAccountAsync(resourceGroupName, automationAccountName, odataQuery, inlinecount).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Delete the dsc configuration identified by configuration name.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='configurationName'>
 /// The configuration name.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, string configurationName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, automationAccountName, configurationName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Retrieve next list of configurations.  (see
 /// http://aka.ms/azureautomationsdk/configurationoperations for more
 /// information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='nextLink'>
 /// Required. The link to retrieve next set of items.
 /// </param>
 /// <returns>
 /// The response model for the list configuration operation.
 /// </returns>
 public static Task <DscConfigurationListResponse> ListNextAsync(this IDscConfigurationOperations operations, string nextLink)
 {
     return(operations.ListNextAsync(nextLink, CancellationToken.None));
 }
 /// <summary>
 /// Retrieve the configuration identified by configuration name.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='configurationName'>
 /// The configuration name.
 /// </param>
 public static DscConfiguration Get(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, string configurationName)
 {
     return(operations.GetAsync(resourceGroupName, automationAccountName, configurationName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Create the configuration identified by configuration name.  (see
 /// http://aka.ms/azureautomationsdk/configurationoperations for more
 /// information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IDscConfigurationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='automationAccount'>
 /// Required. The automation account name.
 /// </param>
 /// <param name='parameters'>
 /// Required. The create or update parameters for configuration.
 /// </param>
 /// <returns>
 /// The response model for the configuration create response.
 /// </returns>
 public static Task <DscConfigurationCreateOrUpdateResponse> CreateOrUpdateAsync(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccount, DscConfigurationCreateOrUpdateParameters parameters)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, automationAccount, parameters, CancellationToken.None));
 }
 /// <summary>
 /// Create the configuration identified by configuration name.
 /// <see href="http://aka.ms/azureautomationsdk/configurationoperations" />
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of an Azure Resource group.
 /// </param>
 /// <param name='automationAccountName'>
 /// The name of the automation account.
 /// </param>
 /// <param name='configurationName'>
 /// The create or update parameters for configuration.
 /// </param>
 /// <param name='parameters'>
 /// The create or update parameters for configuration.
 /// </param>
 public static DscConfiguration Update(this IDscConfigurationOperations operations, string resourceGroupName, string automationAccountName, string configurationName, DscConfigurationUpdateParameters parameters = default(DscConfigurationUpdateParameters))
 {
     return(operations.UpdateAsync(resourceGroupName, automationAccountName, configurationName, parameters).GetAwaiter().GetResult());
 }