internal ImageData(ResourceIdentifier id, string name, ResourceType type, IDictionary <string, string> tags, AzureLocation location, Models.ExtendedLocation extendedLocation, WritableSubResource sourceVirtualMachine, ImageStorageProfile storageProfile, string provisioningState, HyperVGenerationTypes?hyperVGeneration) : base(id, name, type, tags, location) { ExtendedLocation = extendedLocation; SourceVirtualMachine = sourceVirtualMachine; StorageProfile = storageProfile; ProvisioningState = provisioningState; HyperVGeneration = hyperVGeneration; }
private void Run() { // SourceVirtualMachine SubResource vSourceVirtualMachine = null; // StorageProfile ImageStorageProfile vStorageProfile = null; if (this.IsParameterBound(c => c.SourceVirtualMachineId)) { if (vSourceVirtualMachine == null) { vSourceVirtualMachine = new SubResource(); } vSourceVirtualMachine.Id = this.SourceVirtualMachineId; } if (this.IsParameterBound(c => c.OsDisk)) { if (vStorageProfile == null) { vStorageProfile = new ImageStorageProfile(); } vStorageProfile.OsDisk = this.OsDisk; } if (this.IsParameterBound(c => c.DataDisk)) { if (vStorageProfile == null) { vStorageProfile = new ImageStorageProfile(); } vStorageProfile.DataDisks = this.DataDisk; } if (vStorageProfile == null) { vStorageProfile = new ImageStorageProfile(); } vStorageProfile.ZoneResilient = this.ZoneResilient.IsPresent; var vImage = new PSImage { HyperVGeneration = this.IsParameterBound(c => c.HyperVGeneration) ? this.HyperVGeneration : "V1", Location = this.IsParameterBound(c => c.Location) ? this.Location : null, Tags = this.IsParameterBound(c => c.Tag) ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, SourceVirtualMachine = vSourceVirtualMachine, StorageProfile = vStorageProfile, }; WriteObject(vImage); }
private void Run() { // SourceVirtualMachine SubResource vSourceVirtualMachine = null; // StorageProfile ImageStorageProfile vStorageProfile = null; if (this.MyInvocation.BoundParameters.ContainsKey("SourceVirtualMachineId")) { if (vSourceVirtualMachine == null) { vSourceVirtualMachine = new SubResource(); } vSourceVirtualMachine.Id = this.SourceVirtualMachineId; } if (this.MyInvocation.BoundParameters.ContainsKey("OsDisk")) { if (vStorageProfile == null) { vStorageProfile = new ImageStorageProfile(); } vStorageProfile.OsDisk = this.OsDisk; } if (this.MyInvocation.BoundParameters.ContainsKey("DataDisk")) { if (vStorageProfile == null) { vStorageProfile = new ImageStorageProfile(); } vStorageProfile.DataDisks = this.DataDisk; } if (vStorageProfile == null) { vStorageProfile = new ImageStorageProfile(); } vStorageProfile.ZoneResilient = this.ZoneResilient.IsPresent; var vImage = new PSImage { Location = this.MyInvocation.BoundParameters.ContainsKey("Location") ? this.Location : null, Tags = this.MyInvocation.BoundParameters.ContainsKey("Tag") ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, SourceVirtualMachine = vSourceVirtualMachine, StorageProfile = vStorageProfile, }; WriteObject(vImage); }
internal static ImageData DeserializeImageData(JsonElement element) { Optional <ExtendedLocation> extendedLocation = default; IDictionary <string, string> tags = default; Location location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; Optional <WritableSubResource> sourceVirtualMachine = default; Optional <ImageStorageProfile> storageProfile = default; Optional <string> provisioningState = default; Optional <HyperVGenerationTypes> hyperVGeneration = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("extendedLocation")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } extendedLocation = ExtendedLocation.DeserializeExtendedLocation(property.Value); continue; } if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("sourceVirtualMachine")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } sourceVirtualMachine = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString()); continue; } if (property0.NameEquals("storageProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } storageProfile = ImageStorageProfile.DeserializeImageStorageProfile(property0.Value); continue; } if (property0.NameEquals("provisioningState")) { provisioningState = property0.Value.GetString(); continue; } if (property0.NameEquals("hyperVGeneration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } hyperVGeneration = new HyperVGenerationTypes(property0.Value.GetString()); continue; } } continue; } } return(new ImageData(id, name, type, tags, location, extendedLocation.Value, sourceVirtualMachine, storageProfile.Value, provisioningState.Value, Optional.ToNullable(hyperVGeneration))); }