/// <summary> /// Initializes a new instance of the ProximityPlacementGroup class. /// </summary> /// <param name="location">Resource location</param> /// <param name="id">Resource Id</param> /// <param name="name">Resource name</param> /// <param name="type">Resource type</param> /// <param name="tags">Resource tags</param> /// <param name="proximityPlacementGroupType">Specifies the type of the /// proximity placement group. <br><br> Possible values /// are: <br><br> **Standard** : Co-locate resources within /// an Azure region or Availability Zone. <br><br> /// **Ultra** : For future use. Possible values include: 'Standard', /// 'Ultra'</param> /// <param name="virtualMachines">A list of references to all virtual /// machines in the proximity placement group.</param> /// <param name="virtualMachineScaleSets">A list of references to all /// virtual machine scale sets in the proximity placement /// group.</param> /// <param name="availabilitySets">A list of references to all /// availability sets in the proximity placement group.</param> /// <param name="colocationStatus">Describes colocation status of the /// Proximity Placement Group.</param> /// <param name="intent">Specifies the user intent of the proximity /// placement group.</param> /// <param name="zones">Specifies the Availability Zone where virtual /// machine, virtual machine scale set or availability set associated /// with the proximity placement group can be created.</param> public ProximityPlacementGroup(string location, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string proximityPlacementGroupType = default(string), IList <SubResourceWithColocationStatus> virtualMachines = default(IList <SubResourceWithColocationStatus>), IList <SubResourceWithColocationStatus> virtualMachineScaleSets = default(IList <SubResourceWithColocationStatus>), IList <SubResourceWithColocationStatus> availabilitySets = default(IList <SubResourceWithColocationStatus>), InstanceViewStatus colocationStatus = default(InstanceViewStatus), ProximityPlacementGroupPropertiesIntent intent = default(ProximityPlacementGroupPropertiesIntent), IList <string> zones = default(IList <string>)) : base(location, id, name, type, tags) { ProximityPlacementGroupType = proximityPlacementGroupType; VirtualMachines = virtualMachines; VirtualMachineScaleSets = virtualMachineScaleSets; AvailabilitySets = availabilitySets; ColocationStatus = colocationStatus; Intent = intent; Zones = zones; CustomInit(); }
/// <summary> /// Initializes a new instance of the BootDiagnosticsInstanceView /// class. /// </summary> /// <param name="consoleScreenshotBlobUri">The console screenshot blob /// URI.</param> /// <param name="serialConsoleLogBlobUri">The Linux serial console log /// blob Uri.</param> /// <param name="status">The boot diagnostics status information for /// the VM. <br><br> NOTE: It will be set only if there are /// errors encountered in enabling boot diagnostics.</param> public BootDiagnosticsInstanceView(string consoleScreenshotBlobUri = default(string), string serialConsoleLogBlobUri = default(string), InstanceViewStatus status = default(InstanceViewStatus)) { ConsoleScreenshotBlobUri = consoleScreenshotBlobUri; SerialConsoleLogBlobUri = serialConsoleLogBlobUri; Status = status; CustomInit(); }
/// <summary> /// Initializes a new instance of the /// VirtualMachineExtensionHandlerInstanceView class. /// </summary> public VirtualMachineExtensionHandlerInstanceView(string type = default(string), string typeHandlerVersion = default(string), InstanceViewStatus status = default(InstanceViewStatus)) { Type = type; TypeHandlerVersion = typeHandlerVersion; Status = status; }
/// <summary> /// Initializes a new instance of the VirtualMachineHealthStatus class. /// </summary> /// <param name="status">The health status information for the /// VM.</param> public VirtualMachineHealthStatus(InstanceViewStatus status = default(InstanceViewStatus)) { Status = status; CustomInit(); }
public void TestVMDataDiskScenario() { using (var context = UndoContext.Current) { context.Start(); EnsureClientsInitialized(); ImageReference imgageRef = GetPlatformVMImage(useWindowsImage: true); // Create resource group var rgName = TestUtilities.GenerateName(TestPrefix); string storageAccountName = TestUtilities.GenerateName(TestPrefix); string asName = TestUtilities.GenerateName("as"); VirtualMachine inputVM; bool passed = false; try { // Create Storage Account, so that both the VMs can share it var storageAccountOutput = CreateStorageAccount( rgName, storageAccountName ); Action<VirtualMachine> addDataDiskToVM = vm => { string containerName = TestUtilities.GenerateName(TestPrefix); var vhdContainer = string.Format(Constants.StorageAccountBlobUriTemplate, storageAccountName) + containerName; var vhduri = vhdContainer + string.Format("/{0}.vhd", TestUtilities.GenerateName(TestPrefix)); vm.HardwareProfile.VirtualMachineSize = VirtualMachineSizeTypes.StandardA4; vm.StorageProfile.DataDisks = new List<DataDisk>(); foreach (int index in new int[] {1, 2}) { var diskName = "dataDisk" + index; var ddUri = vhdContainer + string.Format("/{0}{1}.vhd", diskName, TestUtilities.GenerateName(TestPrefix)); var dd = new DataDisk { Caching = CachingTypes.None, SourceImage = null, DiskSizeGB = 10, CreateOption = DiskCreateOptionTypes.Empty, Lun = 1 + index, Name = diskName, VirtualHardDisk = new VirtualHardDisk { Uri = ddUri } }; vm.StorageProfile.DataDisks.Add(dd); } var testStatus = new InstanceViewStatus { Code = "test", Message = "test" }; var testStatusList = new List<InstanceViewStatus> { testStatus }; // Negative tests for a bug in 5.0.0 that read-only fields have side-effect on the request body vm.InstanceView = new VirtualMachineInstanceView { Statuses = testStatusList, VMAgent = new VirtualMachineAgentInstanceView { Statuses = testStatusList, ExtensionHandlers = new List<VirtualMachineExtensionHandlerInstanceView> { new VirtualMachineExtensionHandlerInstanceView { Status = testStatus, Type = "test", TypeHandlerVersion = "test" } }, VMAgentVersion = "test" }, Disks = new List<DiskInstanceView> { new DiskInstanceView { Statuses = testStatusList, Name = "test" } }, Extensions = new List<VirtualMachineExtensionInstanceView> { new VirtualMachineExtensionInstanceView { Statuses = testStatusList } } }; }; var vm1 = CreateVM_NoAsyncTracking(rgName, asName, storageAccountOutput, imgageRef, out inputVM, addDataDiskToVM); var getVMWithInstanceViewResponse = m_CrpClient.VirtualMachines.GetWithInstanceView(rgName, inputVM.Name); Assert.True(getVMWithInstanceViewResponse.StatusCode == HttpStatusCode.OK); Assert.True(getVMWithInstanceViewResponse.VirtualMachine != null, "VM in Get"); ValidateVMInstanceView(inputVM, getVMWithInstanceViewResponse.VirtualMachine); var vm2 = getVMWithInstanceViewResponse.VirtualMachine; var vmReCreateResponse = m_CrpClient.VirtualMachines.CreateOrUpdate(rgName, getVMWithInstanceViewResponse.VirtualMachine); Assert.True(vmReCreateResponse.Status != ComputeOperationStatus.Failed); var lroResponse = m_CrpClient.VirtualMachines.Delete(rgName, inputVM.Name); Assert.True(lroResponse.Status != OperationStatus.Failed); passed = true; } finally { var deleteResourceGroupResponse = m_ResourcesClient.ResourceGroups.Delete(rgName); Assert.True(deleteResourceGroupResponse.StatusCode == HttpStatusCode.OK); Assert.True(passed); } } }
private void VerifyNonDefaultValuesSucceed() { // Negative tests for a bug in 5.0.0 that read-only fields have side-effect on the request body var testStatus = new InstanceViewStatus { Code = "test", DisplayStatus = "test", Message = "test" }; var inputAvailabilitySet = new AvailabilitySet { Location = location, Name = TestUtilities.GenerateName("asnondefault"), Tags = new Dictionary<string, string>() { {"RG", "rg"}, {"testTag", "1"}, }, PlatformFaultDomainCount = nonDefaultFD, PlatformUpdateDomainCount = nonDefaultUD, Statuses = new List<InstanceViewStatus>() { testStatus } }; var createOrUpdateResponse = computeClient.AvailabilitySets.CreateOrUpdate( resourceGroupName, inputAvailabilitySet); // This call will also delete the Availability Set ValidateResults(createOrUpdateResponse, inputAvailabilitySet, nonDefaultFD, nonDefaultUD); }
/// <summary> /// Initializes a new instance of the DiskRestorePointReplicationStatus /// class. /// </summary> /// <param name="status">The resource status information.</param> /// <param name="completionPercent">Replication completion /// percentage.</param> public DiskRestorePointReplicationStatus(InstanceViewStatus status = default(InstanceViewStatus), int?completionPercent = default(int?)) { Status = status; CompletionPercent = completionPercent; CustomInit(); }
/// <summary> /// Initializes a new instance of the SubResourceWithColocationStatus /// class. /// </summary> /// <param name="id">Resource Id</param> /// <param name="colocationStatus">Describes colocation status of a /// resource in the Proximity Placement Group.</param> public SubResourceWithColocationStatus(string id = default(string), InstanceViewStatus colocationStatus = default(InstanceViewStatus)) : base(id) { ColocationStatus = colocationStatus; CustomInit(); }