/// <summary>
 /// The operation to get all extensions of a Virtual Machine.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine containing the extension.
 /// </param>
 /// <param name='expand'>
 /// The expand expression to apply on the operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <VirtualMachineExtensionsListResultInner> ListAsync(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string expand = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListWithHttpMessagesAsync(resourceGroupName, vmName, expand, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// The operation to update the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be updated.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='extensionParameters'>
 /// Parameters supplied to the Update Virtual Machine Extension operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <VirtualMachineExtensionInner> UpdateAsync(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionUpdate extensionParameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, vmName, vmExtensionName, extensionParameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// The operation to delete the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be deleted.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <OperationStatusResponse> BeginDeleteAsync(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginDeleteWithHttpMessagesAsync(resourceGroupName, vmName, vmExtensionName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
        private static SqlVirtualMachineModel prepareMachine(SqlVirtualMachineTestContext context, SqlVirtualMachineGroup group, VirtualMachine vm, string domain, string login, string password)
        {
            // Create the sql virtual machine
            SqlVirtualMachineModel sqlVM = CreateSqlVirtualMachine(context, virtualMachine: vm);

            // Join domain
            IVirtualMachineExtensionsOperations operations = context.client.computeClient.VirtualMachineExtensions;
            VirtualMachineExtension             joinDomain = operations.CreateOrUpdate(context.resourceGroup.Name, vm.Name, "joindomain", new VirtualMachineExtension()
            {
                Location  = context.location,
                Publisher = "Microsoft.Compute",
                VirtualMachineExtensionType = "JsonADDomainExtension",
                TypeHandlerVersion          = "1.3",
                AutoUpgradeMinorVersion     = true,
                Settings = new JoinDomainSettings()
                {
                    Name    = domain + ".com",
                    OUPath  = "",
                    User    = domain + "\\" + login,
                    Restart = "true",
                    Options = "3"
                },
                ProtectedSettings = new JoinDomainProtectedSettings()
                {
                    Password = password
                }
            });

            // Join sql virtual machine group
            context.getSqlClient().SqlVirtualMachines.CreateOrUpdate(context.resourceGroup.Name, sqlVM.Name, new SqlVirtualMachineModel()
            {
                Location = context.location,
                SqlVirtualMachineGroupResourceId = group.Id,
                VirtualMachineResourceId         = sqlVM.VirtualMachineResourceId,
                WsfcDomainCredentials            = new WsfcDomainCredentials()
                {
                    ClusterBootstrapAccountPassword = password,
                    ClusterOperatorAccountPassword  = password,
                    SqlServiceAccountPassword       = password
                }
            });

            return(sqlVM);
        }
        public static AzureOperationResponse <VirtualMachineExtension> GetWithInstanceView(this IVirtualMachineExtensionsOperations iVmExtensionOperations,
                                                                                           string rgName, string vmName, string name)
        {
            string expand = "instanceView";
            var    result = iVmExtensionOperations.GetWithHttpMessagesAsync(rgName, vmName, name, expand).GetAwaiter().GetResult();

            return(result);
        }
 /// <summary>
 /// The operation to delete the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be deleted.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, vmName, vmExtensionName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// The operation to create or update the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be create or
 /// updated.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='extensionParameters'>
 /// Parameters supplied to the Create Virtual Machine Extension operation.
 /// </param>
 public static VirtualMachineExtension BeginCreateOrUpdate(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtension extensionParameters)
 {
     return(Task.Factory.StartNew(s => ((IVirtualMachineExtensionsOperations)s).BeginCreateOrUpdateAsync(resourceGroupName, vmName, vmExtensionName, extensionParameters), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
Ejemplo n.º 8
0
 /// <summary>
 /// The operation to get the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine containing the extension.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='expand'>
 /// The expand expression to apply on the operation.
 /// </param>
 public static VirtualMachineExtension Get(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, string expand = default(string))
 {
     return(Task.Factory.StartNew(s => ((IVirtualMachineExtensionsOperations)s).GetAsync(resourceGroupName, vmName, vmExtensionName, expand), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
Ejemplo n.º 9
0
 /// <summary>
 /// The operation to delete the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be deleted.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 public static void BeginDelete(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName)
 {
     Task.Factory.StartNew(s => ((IVirtualMachineExtensionsOperations)s).BeginDeleteAsync(resourceGroupName, vmName, vmExtensionName), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// The operation to delete the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be deleted.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 public static OperationStatusResponse Delete(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName)
 {
     return(operations.DeleteAsync(resourceGroupName, vmName, vmExtensionName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// The operation to create or update the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be create or
 /// updated.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='extensionParameters'>
 /// Parameters supplied to the Create Virtual Machine Extension operation.
 /// </param>
 public static VirtualMachineExtension CreateOrUpdate(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtension extensionParameters)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, vmName, vmExtensionName, extensionParameters).GetAwaiter().GetResult());
 }
 /// <summary>
 /// The operation to get the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine containing the extension.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 /// <param name='expand'>
 /// The expand expression to apply on the operation.
 /// </param>
 public static VirtualMachineExtension Get(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName, string expand = default(string))
 {
     return(operations.GetAsync(resourceGroupName, vmName, vmExtensionName, expand).GetAwaiter().GetResult());
 }
Ejemplo n.º 13
0
        public static VirtualMachineExtension CreateDomain(SqlVirtualMachineTestContext context, VirtualMachine vm, string domainName = default(string), string adminLogin = default(string), string adminPassword = default(string))
        {
            IVirtualMachineExtensionsOperations operations = context.client.computeClient.VirtualMachineExtensions;

            if (domainName == null)
            {
                domainName = Constants.domainName;
            }
            if (adminLogin == null)
            {
                adminLogin    = Constants.adminLogin;
                adminPassword = Constants.adminPassword;
            }
            VirtualMachineExtension domain = operations.CreateOrUpdate(context.resourceGroup.Name, vm.Name, "InstallDomainController", new VirtualMachineExtension
            {
                Location = context.location,
                VirtualMachineExtensionType = "DSC",

                Publisher               = "Microsoft.Powershell",
                TypeHandlerVersion      = "2.71",
                AutoUpgradeMinorVersion = true,
                Settings = new DomainSettings
                {
                    ModulesURL            = "https://sqlvirtualmachine.blob.core.windows.net/clitest/CreateADPDC.ps1.zip",
                    ConfigurationFunction = "CreateADPDC.ps1\\CreateADPDC",
                    Properties            = new DomainProperties
                    {
                        DomainName = domainName + ".com",
                        Admincreds = new DomainAdminCredentials
                        {
                            UserName = adminLogin,
                            Password = "******"
                        }
                    }
                },
                ProtectedSettings = new DomainProtectedSettings
                {
                    Items = new DomainProtectedSettingsItems
                    {
                        AdminPassword = adminPassword
                    }
                }
            });

            domain = operations.CreateOrUpdate(context.resourceGroup.Name, vm.Name, "Domain", new VirtualMachineExtension
            {
                Location = context.location,
                VirtualMachineExtensionType = "CustomScriptExtension",

                Publisher               = "Microsoft.Compute",
                TypeHandlerVersion      = "1.9",
                AutoUpgradeMinorVersion = true,

                Settings = new CustomScriptExtensionSettings
                {
                    FileUris         = new List <string>(new string[] { "https://strdstore.blob.core.windows.net/test/UPN.ps1" }),
                    CommandToExecute = "powershell -ExecutionPolicy Unrestricted -File UPN.ps1 " + adminLogin + " " + domainName + ".com " + Constants.sqlService + " " + adminPassword,
                    ContentVersion   = "1.0.0.0"
                }
            });
            return(domain);
        }
Ejemplo n.º 14
0
        public static AzureOperationResponse <VirtualMachineExtensionsListResult> ListWithInstanceView(this IVirtualMachineExtensionsOperations iVmExtensionOperations,
                                                                                                       string rgName, string vmName)
        {
            string expand = "instanceView";
            var    result = iVmExtensionOperations.ListWithHttpMessagesAsync(rgName, vmName, expand).GetAwaiter().GetResult();

            foreach (var vmExtension in result.Body.Value)
            {
                if (vmExtension.InstanceView == null)
                {
                    vmExtension.InstanceView = iVmExtensionOperations.GetWithInstanceView(rgName, vmName, vmExtension.Name).Body.InstanceView;
                }
            }

            return(result);
        }
 /// <summary>
 /// The operation to delete the extension.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='vmName'>
 /// The name of the virtual machine where the extension should be deleted.
 /// </param>
 /// <param name='vmExtensionName'>
 /// The name of the virtual machine extension.
 /// </param>
 public static void BeginDelete(this IVirtualMachineExtensionsOperations operations, string resourceGroupName, string vmName, string vmExtensionName)
 {
     operations.BeginDeleteAsync(resourceGroupName, vmName, vmExtensionName).GetAwaiter().GetResult();
 }