internal static LocationExpanded DeserializeLocationExpanded(JsonElement element)
        {
            Location loc = DeserializeLocation(element);
            Optional <LocationMetadata> metadata       = default;
            Optional <string>           id             = default;
            Optional <string>           subscriptionId = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    id = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("subscriptionId"))
                {
                    subscriptionId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("metadata"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    metadata = LocationMetadata.DeserializeLocationMetadata(property.Value);
                    continue;
                }
            }
            return(new LocationExpanded(id.Value, subscriptionId.Value, loc.Name, loc.DisplayName, loc.RegionalDisplayName, metadata.Value));
        }
        internal static LocationExpanded DeserializeLocationExpanded(JsonElement element)
        {
            Optional <string>           id                  = default;
            Optional <string>           subscriptionId      = default;
            Optional <string>           name                = default;
            Optional <LocationType>     type                = default;
            Optional <string>           displayName         = default;
            Optional <string>           regionalDisplayName = default;
            Optional <LocationMetadata> metadata            = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    id = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("subscriptionId"))
                {
                    subscriptionId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("type"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    type = property.Value.GetString().ToLocationType();
                    continue;
                }
                if (property.NameEquals("displayName"))
                {
                    displayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("regionalDisplayName"))
                {
                    regionalDisplayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("metadata"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    metadata = LocationMetadata.DeserializeLocationMetadata(property.Value);
                    continue;
                }
            }
            return(new LocationExpanded(id.Value, subscriptionId.Value, name.Value, Optional.ToNullable(type), displayName.Value, regionalDisplayName.Value, metadata.Value));
        }
        /// <summary> Initializes a new instance of LocationExpanded. </summary>
        /// <param name="name"> The location name. </param>
        /// <param name="displayName"> The display name of the location. </param>
        /// <param name="regionalDisplayName"> The display name of the location and its region. </param>
        /// <param name="metadata"> Metadata of the location, such as lat/long, paired region, and others. </param>
        /// <param name="id"></param>
        /// <param name="subscriptionId"></param>
        internal LocationExpanded(string id, string subscriptionId, string name, string displayName, string regionalDisplayName, LocationMetadata metadata)
            : base(name, displayName, regionalDisplayName)
        {
            Metadata = metadata;
            Id       = id;
            ResourceIdentifier subId = id;

            SubscriptionId = subscriptionId ?? subId.SubscriptionId;
        }
示例#4
0
        /// <summary> Initializes a new instance of LocationExpanded. </summary>
        /// <param name="id"> The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. </param>
        /// <param name="subscriptionId"> The subscription ID. </param>
        /// <param name="name"> The location name. </param>
        /// <param name="type"> The location type. </param>
        /// <param name="displayName"> The display name of the location. </param>
        /// <param name="regionalDisplayName"> The display name of the location and its region. </param>
        /// <param name="metadata"> Metadata of the location, such as lat/long, paired region, and others. </param>
        internal LocationExpanded(string id, string subscriptionId, string name, LocationType?type, string displayName, string regionalDisplayName, LocationMetadata metadata)
        {
            Id = id;
            ResourceIdentifier subId = new ResourceIdentifier(id);

            SubscriptionId      = subscriptionId ?? subId.SubscriptionId;
            Name                = name;
            Type                = type;
            DisplayName         = displayName;
            RegionalDisplayName = regionalDisplayName;
            Metadata            = metadata;
        }
        internal static Location DeserializeLocation(JsonElement element)
        {
            Optional <string>           id                  = default;
            Optional <string>           subscriptionId      = default;
            Optional <string>           name                = default;
            Optional <string>           displayName         = default;
            Optional <string>           regionalDisplayName = default;
            Optional <LocationMetadata> metadata            = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    id = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("subscriptionId"))
                {
                    subscriptionId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("displayName"))
                {
                    displayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("regionalDisplayName"))
                {
                    regionalDisplayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("metadata"))
                {
                    metadata = LocationMetadata.DeserializeLocationMetadata(property.Value);
                    continue;
                }
            }
            return(new Location(id.Value, subscriptionId.Value, name.Value, displayName.Value, regionalDisplayName.Value, metadata.Value));
        }
示例#6
0
        internal static Location DeserializeLocation(JsonElement element)
        {
            Optional <string>           name                = default;
            Optional <string>           displayName         = default;
            Optional <string>           regionalDisplayName = default;
            Optional <LocationMetadata> metadata            = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("name"))
                {
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("displayName"))
                {
                    displayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("regionalDisplayName"))
                {
                    regionalDisplayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("metadata"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    metadata = LocationMetadata.DeserializeLocationMetadata(property.Value);
                    continue;
                }
            }
            return(new Location(name.Value, displayName.Value, regionalDisplayName.Value));
        }
        internal static Location DeserializeLocation(JsonElement element)
        {
            string           id                  = default;
            string           subscriptionId      = default;
            string           name                = default;
            string           displayName         = default;
            string           regionalDisplayName = default;
            LocationMetadata metadata            = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    id = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("subscriptionId"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    subscriptionId = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("displayName"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    displayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("regionalDisplayName"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    regionalDisplayName = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("metadata"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    metadata = LocationMetadata.DeserializeLocationMetadata(property.Value);
                    continue;
                }
            }
            return(new Location(id, subscriptionId, name, displayName, regionalDisplayName, metadata));
        }