internal CommunityGalleryImageVersionData(string name, AzureLocation?location, ResourceType?resourceType, string uniqueId, DateTimeOffset?publishedOn, DateTimeOffset?endOfLifeOn, bool?excludeFromLatest, SharedGalleryImageVersionStorageProfile storageProfile) : base(name, location, resourceType, uniqueId) { PublishedOn = publishedOn; EndOfLifeOn = endOfLifeOn; ExcludeFromLatest = excludeFromLatest; StorageProfile = storageProfile; }
internal static SharedGalleryImageVersionData DeserializeSharedGalleryImageVersionData(JsonElement element) { Optional <string> name = default; Optional <AzureLocation> location = default; Optional <DateTimeOffset> publishedDate = default; Optional <DateTimeOffset> endOfLifeDate = default; Optional <bool> excludeFromLatest = default; Optional <SharedGalleryImageVersionStorageProfile> storageProfile = default; Optional <string> uniqueId = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("location")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } location = new AzureLocation(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("publishedDate")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } publishedDate = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("endOfLifeDate")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } endOfLifeDate = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("excludeFromLatest")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } excludeFromLatest = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("storageProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } storageProfile = SharedGalleryImageVersionStorageProfile.DeserializeSharedGalleryImageVersionStorageProfile(property0.Value); continue; } } continue; } if (property.NameEquals("identifier")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("uniqueId")) { uniqueId = property0.Value.GetString(); continue; } } continue; } } return(new SharedGalleryImageVersionData(name.Value, Optional.ToNullable(location), uniqueId.Value, Optional.ToNullable(publishedDate), Optional.ToNullable(endOfLifeDate), Optional.ToNullable(excludeFromLatest), storageProfile.Value)); }