/// <summary> /// Initializes client properties. /// </summary> private void Initialize() { Operations = new Operations(this); AvailabilitySets = new AvailabilitySetsOperations(this); ProximityPlacementGroups = new ProximityPlacementGroupsOperations(this); VirtualMachineExtensionImages = new VirtualMachineExtensionImagesOperations(this); VirtualMachineExtensions = new VirtualMachineExtensionsOperations(this); VirtualMachineImages = new VirtualMachineImagesOperations(this); Usage = new UsageOperations(this); VirtualMachines = new VirtualMachinesOperations(this); VirtualMachineSizes = new VirtualMachineSizesOperations(this); Images = new ImagesOperations(this); VirtualMachineScaleSets = new VirtualMachineScaleSetsOperations(this); VirtualMachineScaleSetExtensions = new VirtualMachineScaleSetExtensionsOperations(this); VirtualMachineScaleSetRollingUpgrades = new VirtualMachineScaleSetRollingUpgradesOperations(this); VirtualMachineScaleSetVMs = new VirtualMachineScaleSetVMsOperations(this); LogAnalytics = new LogAnalyticsOperations(this); VirtualMachineRunCommands = new VirtualMachineRunCommandsOperations(this); ResourceSkus = new ResourceSkusOperations(this); Disks = new DisksOperations(this); Snapshots = new SnapshotsOperations(this); Galleries = new GalleriesOperations(this); GalleryImages = new GalleryImagesOperations(this); GalleryImageVersions = new GalleryImageVersionsOperations(this); ContainerServices = new ContainerServicesOperations(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()); }
/// <summary> /// Initializes client properties. /// </summary> private void Initialize() { Operations = new Operations(this); NetAppResource = new NetAppResourceOperations(this); NetAppResourceQuotaLimits = new NetAppResourceQuotaLimitsOperations(this); Accounts = new AccountsOperations(this); Pools = new PoolsOperations(this); Volumes = new VolumesOperations(this); Snapshots = new SnapshotsOperations(this); SnapshotPolicies = new SnapshotPoliciesOperations(this); Backups = new BackupsOperations(this); AccountBackups = new AccountBackupsOperations(this); BackupPolicies = new BackupPoliciesOperations(this); Vaults = new VaultsOperations(this); VolumeGroups = new VolumeGroupsOperations(this); Subvolumes = new SubvolumesOperations(this); BaseUri = new System.Uri("https://management.azure.com"); ApiVersion = "2021-10-01"; 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()); }
/// <summary> /// Generates a disk used when the DiskCreateOption is Copy /// </summary> /// <returns></returns> private async Task <Disk> GenerateCopyDisk(string rgName, int diskSizeGB, string location) { // Create an empty disk Disk originalDisk = await GenerateDefaultDisk("Empty", rgName, diskSizeGB : diskSizeGB); await ResourceGroupsOperations.CreateOrUpdateAsync(rgName, new ResourceGroup(location)); Disk diskOut = await WaitForCompletionAsync((await DisksOperations.StartCreateOrUpdateAsync(rgName, Recording.GenerateAssetName(DiskNamePrefix + "_original"), originalDisk))); Snapshot snapshot = GenerateDefaultSnapshot(diskOut.Id); Snapshot snapshotOut = await WaitForCompletionAsync((await SnapshotsOperations.StartCreateOrUpdateAsync(rgName, "snapshotswaaggertest", snapshot))); Disk copyDisk = GenerateBaseDisk("Import"); copyDisk.CreationData.SourceResourceId = snapshotOut.Id; return(copyDisk); }
protected async Task Snapshot_List_Execute(string diskCreateOption, string methodName, int?diskSizeGB = null) { EnsureClientsInitialized(DefaultLocation); // Data var rgName1 = Recording.GenerateAssetName(TestPrefix); var rgName2 = Recording.GenerateAssetName(TestPrefix); var diskName1 = Recording.GenerateAssetName(DiskNamePrefix); var diskName2 = Recording.GenerateAssetName(DiskNamePrefix); var snapshotName1 = Recording.GenerateAssetName(DiskNamePrefix); var snapshotName2 = Recording.GenerateAssetName(DiskNamePrefix); Disk disk1 = await GenerateDefaultDisk(diskCreateOption, rgName1, diskSizeGB); Disk disk2 = await GenerateDefaultDisk(diskCreateOption, rgName2, diskSizeGB); // ********** // SETUP // ********** // Create resource groups await ResourceGroupsOperations.CreateOrUpdateAsync(rgName1, new ResourceGroup(DiskRPLocation)); await ResourceGroupsOperations.CreateOrUpdateAsync(rgName2, new ResourceGroup(DiskRPLocation)); // Put 4 disks, 2 in each resource group Disk diskOut11 = await WaitForCompletionAsync(await DisksOperations.StartCreateOrUpdateAsync(rgName1, diskName1, disk1)); Disk diskOut12 = await WaitForCompletionAsync(await DisksOperations.StartCreateOrUpdateAsync(rgName1, diskName2, disk2)); Disk diskOut21 = await WaitForCompletionAsync(await DisksOperations.StartCreateOrUpdateAsync(rgName2, diskName1, disk1)); Disk diskOut22 = await WaitForCompletionAsync(await DisksOperations.StartCreateOrUpdateAsync(rgName2, diskName2, disk2)); // Generate 4 snapshots using disks info Snapshot snapshot11 = GenerateDefaultSnapshot(diskOut11.Id); Snapshot snapshot12 = GenerateDefaultSnapshot(diskOut12.Id, SnapshotStorageAccountTypes.StandardZRS.ToString()); Snapshot snapshot21 = GenerateDefaultSnapshot(diskOut21.Id); Snapshot snapshot22 = GenerateDefaultSnapshot(diskOut22.Id); // Put 4 snapshots, 2 in each resource group await WaitForCompletionAsync(await SnapshotsOperations.StartCreateOrUpdateAsync(rgName1, snapshotName1, snapshot11)); await WaitForCompletionAsync(await SnapshotsOperations.StartCreateOrUpdateAsync(rgName1, snapshotName2, snapshot12)); await WaitForCompletionAsync(await SnapshotsOperations.StartCreateOrUpdateAsync(rgName2, snapshotName1, snapshot21)); await WaitForCompletionAsync(await SnapshotsOperations.StartCreateOrUpdateAsync(rgName2, snapshotName2, snapshot22)); // ********** // TEST // ********** // List snapshots under resource group //IPage<Snapshot> snapshotsOut = await SnapshotsClient.ListByResourceGroupAsync(rgName1); var snapshotsOut = await SnapshotsOperations.ListByResourceGroupAsync(rgName1).ToEnumerableAsync(); Assert.AreEqual(2, snapshotsOut.Count()); //Assert.Null(snapshotsOut.NextPageLink); snapshotsOut = await SnapshotsOperations.ListByResourceGroupAsync(rgName2).ToEnumerableAsync(); Assert.AreEqual(2, snapshotsOut.Count()); //Assert.Null(snapshotsOut.NextPageLink); // List snapshots under subscription snapshotsOut = await SnapshotsOperations.ListAsync().ToEnumerableAsync(); Assert.True(snapshotsOut.Count() >= 4); //if (snapshotsOut.NextPageLink != null) //{ // snapshotsOut = await SnapshotsClient.ListNext(snapshotsOut.NextPageLink); // Assert.True(snapshotsOut.Any()); //} }
protected async Task Snapshot_CRUD_Execute(string diskCreateOption, string methodName, int?diskSizeGB = null, string location = null, bool incremental = false) { EnsureClientsInitialized(DefaultLocation); DiskRPLocation = location ?? DiskRPLocation; // Data var rgName = Recording.GenerateAssetName(TestPrefix); var diskName = Recording.GenerateAssetName(DiskNamePrefix); var snapshotName = Recording.GenerateAssetName(DiskNamePrefix); Disk sourceDisk = await GenerateDefaultDisk(diskCreateOption, rgName, diskSizeGB); // ********** // SETUP // ********** // Create resource group await ResourceGroupsOperations.CreateOrUpdateAsync(rgName, new ResourceGroup(DiskRPLocation)); // Put disk Disk diskOut = await WaitForCompletionAsync(await DisksOperations.StartCreateOrUpdateAsync(rgName, diskName, sourceDisk)); Validate(sourceDisk, diskOut, DiskRPLocation); // Generate snapshot using disk info Snapshot snapshot = GenerateDefaultSnapshot(diskOut.Id, incremental: incremental); // ********** // TEST // ********** // Put Snapshot snapshotOut = await WaitForCompletionAsync(await SnapshotsOperations.StartCreateOrUpdateAsync(rgName, snapshotName, snapshot)); Validate(snapshot, snapshotOut, incremental: incremental); // Get snapshotOut = (await SnapshotsOperations.GetAsync(rgName, snapshotName)).Value; Validate(snapshot, snapshotOut, incremental: incremental); // Get access AccessUri accessUri = await WaitForCompletionAsync((await SnapshotsOperations.StartGrantAccessAsync(rgName, snapshotName, new GrantAccessData(AccessDataDefault.Access, AccessDataDefault.DurationInSeconds)))); Assert.NotNull(accessUri.AccessSAS); // Get snapshotOut = (await SnapshotsOperations.GetAsync(rgName, snapshotName)).Value; Validate(snapshot, snapshotOut, incremental: incremental); // Patch var updatesnapshot = new SnapshotUpdate(); const string tagKey = "tageKey"; updatesnapshot.Tags = new Dictionary <string, string>() { { tagKey, "tagvalue" } }; snapshotOut = await WaitForCompletionAsync(await SnapshotsOperations.StartUpdateAsync(rgName, snapshotName, updatesnapshot)); Validate(snapshot, snapshotOut, incremental: incremental); // Get snapshotOut = (await SnapshotsOperations.GetAsync(rgName, snapshotName)).Value; Validate(snapshot, snapshotOut, incremental: incremental); // End access await WaitForCompletionAsync(await SnapshotsOperations.StartRevokeAccessAsync(rgName, snapshotName)); // Delete await WaitForCompletionAsync(await SnapshotsOperations.StartDeleteAsync(rgName, snapshotName)); try { // Ensure it was really deleted await SnapshotsOperations.GetAsync(rgName, snapshotName); Assert.False(true); } catch (Exception ex) { Assert.NotNull(ex); //Assert.AreEqual(HttpStatusCode.NotFound, ex.Response.StatusCode); } }
/// <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); CapacityReservationGroups = new CapacityReservationGroupsOperations(this); CapacityReservations = new CapacityReservationsOperations(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); CommunityGalleries = new CommunityGalleriesOperations(this); CommunityGalleryImages = new CommunityGalleryImagesOperations(this); CommunityGalleryImageVersions = new CommunityGalleryImageVersionsOperations(this); CloudServiceRoleInstances = new CloudServiceRoleInstancesOperations(this); CloudServiceRoles = new CloudServiceRolesOperations(this); CloudServices = new CloudServicesOperations(this); CloudServicesUpdateDomain = new CloudServicesUpdateDomainOperations(this); CloudServiceOperatingSystems = new CloudServiceOperatingSystemsOperations(this); DiagnosticOperations = new DiagnosticOperations(this); DiskInspection = new DiskInspectionOperations(this); Diagnostics = new DiagnosticsOperations(this); DiskInspectionStorageConfiguration = new DiskInspectionStorageConfigurationOperations(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()); }