/// <summary> /// Initializes client properties. /// </summary> private void Initialize() { Operations = new Operations(this); AvailabilitySets = new AvailabilitySetsOperations(this); ProximityPlacementGroups = new ProximityPlacementGroupsOperations(this); DedicatedHostGroups = new DedicatedHostGroupsOperations(this); DedicatedHosts = new DedicatedHostsOperations(this); SshPublicKeys = new SshPublicKeysOperations(this); VirtualMachineExtensionImages = new VirtualMachineExtensionImagesOperations(this); VirtualMachineExtensions = new VirtualMachineExtensionsOperations(this); VirtualMachineImages = new VirtualMachineImagesOperations(this); VirtualMachineImagesEdgeZone = new VirtualMachineImagesEdgeZoneOperations(this); Usage = new UsageOperations(this); VirtualMachines = new VirtualMachinesOperations(this); VirtualMachineScaleSets = new VirtualMachineScaleSetsOperations(this); VirtualMachineSizes = new VirtualMachineSizesOperations(this); Images = new ImagesOperations(this); RestorePointCollections = new RestorePointCollectionsOperations(this); RestorePoints = new RestorePointsOperations(this); VirtualMachineScaleSetExtensions = new VirtualMachineScaleSetExtensionsOperations(this); VirtualMachineScaleSetRollingUpgrades = new VirtualMachineScaleSetRollingUpgradesOperations(this); VirtualMachineScaleSetVMExtensions = new VirtualMachineScaleSetVMExtensionsOperations(this); VirtualMachineScaleSetVMs = new VirtualMachineScaleSetVMsOperations(this); LogAnalytics = new LogAnalyticsOperations(this); VirtualMachineRunCommands = new VirtualMachineRunCommandsOperations(this); VirtualMachineScaleSetVMRunCommands = new VirtualMachineScaleSetVMRunCommandsOperations(this); ResourceSkus = new ResourceSkusOperations(this); Disks = new DisksOperations(this); Snapshots = new SnapshotsOperations(this); DiskEncryptionSets = new DiskEncryptionSetsOperations(this); DiskAccesses = new DiskAccessesOperations(this); DiskRestorePoint = new DiskRestorePointOperations(this); Galleries = new GalleriesOperations(this); GalleryImages = new GalleryImagesOperations(this); GalleryImageVersions = new GalleryImageVersionsOperations(this); GalleryApplications = new GalleryApplicationsOperations(this); GalleryApplicationVersions = new GalleryApplicationVersionsOperations(this); GallerySharingProfile = new GallerySharingProfileOperations(this); SharedGalleries = new SharedGalleriesOperations(this); SharedGalleryImages = new SharedGalleryImagesOperations(this); SharedGalleryImageVersions = new SharedGalleryImageVersionsOperations(this); CloudServiceRoleInstances = new CloudServiceRoleInstancesOperations(this); CloudServiceRoles = new CloudServiceRolesOperations(this); CloudServices = new CloudServicesOperations(this); CloudServicesUpdateDomain = new CloudServicesUpdateDomainOperations(this); CloudServiceOperatingSystems = new CloudServiceOperatingSystemsOperations(this); BaseUri = new System.Uri("https://management.azure.com"); AcceptLanguage = "en-US"; LongRunningOperationRetryTimeout = 30; GenerateClientRequestId = true; SerializationSettings = new JsonSerializerSettings { Formatting = Newtonsoft.Json.Formatting.Indented, DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; SerializationSettings.Converters.Add(new TransformationJsonConverter()); DeserializationSettings = new JsonSerializerSettings { DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; CustomInitialize(); DeserializationSettings.Converters.Add(new TransformationJsonConverter()); DeserializationSettings.Converters.Add(new CloudErrorJsonConverter()); }
public async Task TestDedicatedHostOperations() { EnsureClientsInitialized(LocationEastUs2UpperCase.ToLower()); string baseRGName = Recording.GenerateAssetName(TestPrefix); string rgName = baseRGName + "DH"; string dhgName = "DHG-1"; string dhName = "DH-1"; // Create a dedicated host group, then get the dedicated host group and validate that they match DedicatedHostGroup createdDHG = await CreateDedicatedHostGroup(rgName, dhgName); DedicatedHostGroup returnedDHG = await DedicatedHostGroupsOperations.GetAsync(rgName, dhgName); ValidateDedicatedHostGroup(createdDHG, returnedDHG); // Update existing dedicated host group DedicatedHostGroupUpdate updateDHGInput = new DedicatedHostGroupUpdate() { Tags = { { "testKey", "testValue" } } }; createdDHG.Tags.InitializeFrom(updateDHGInput.Tags); updateDHGInput.PlatformFaultDomainCount = returnedDHG.PlatformFaultDomainCount; // There is a bug in PATCH. PlatformFaultDomainCount is a required property now. returnedDHG = await DedicatedHostGroupsOperations.UpdateAsync(rgName, dhgName, updateDHGInput); ValidateDedicatedHostGroup(createdDHG, returnedDHG); //List DedicatedHostGroups by subscription and by resourceGroup var listDHGsResponse = DedicatedHostGroupsOperations.ListByResourceGroupAsync(rgName); var listDHGsResponseRes = await listDHGsResponse.ToEnumerableAsync(); Assert.IsTrue(listDHGsResponseRes.Count() == 1); //Assert.Single(listDHGsResponse); ValidateDedicatedHostGroup(createdDHG, listDHGsResponseRes.First()); listDHGsResponse = DedicatedHostGroupsOperations.ListBySubscriptionAsync(); listDHGsResponseRes = await listDHGsResponse.ToEnumerableAsync(); //There might be multiple dedicated host groups in the subscription, we only care about the one that we created. returnedDHG = listDHGsResponseRes.First(dhg => dhg.Id == createdDHG.Id); Assert.NotNull(returnedDHG); ValidateDedicatedHostGroup(createdDHG, returnedDHG); //Create DedicatedHost within the DedicatedHostGroup and validate var createdDH = await CreateDedicatedHost(rgName, dhgName, dhName); var returnedDH = await DedicatedHostsOperations.GetAsync(rgName, dhgName, dhName); ValidateDedicatedHost(createdDH, returnedDH); //List DedicatedHosts var listDHsResponse = DedicatedHostsOperations.ListByHostGroupAsync(rgName, dhgName); var listDHsResponseRes = await listDHsResponse.ToEnumerableAsync(); Assert.IsTrue(listDHsResponseRes.Count() == 1); ValidateDedicatedHost(createdDH, listDHsResponseRes.First()); //Delete DedicatedHosts and DedicatedHostGroups await WaitForCompletionAsync(await DedicatedHostsOperations.StartDeleteAsync(rgName, dhgName, dhName)); await DedicatedHostGroupsOperations.DeleteAsync(rgName, dhgName); WaitMinutes(1); }