internal static UrlSigningActionParameters DeserializeUrlSigningActionParameters(JsonElement element) { UrlSigningActionParametersOdataType odataType = default; Optional <UrlSigningAlgorithm> algorithm = default; Optional <IList <UrlSigningParamIdentifier> > parameterNameOverride = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("@odata.type")) { odataType = new UrlSigningActionParametersOdataType(property.Value.GetString()); continue; } if (property.NameEquals("algorithm")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } algorithm = new UrlSigningAlgorithm(property.Value.GetString()); continue; } if (property.NameEquals("parameterNameOverride")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <UrlSigningParamIdentifier> array = new List <UrlSigningParamIdentifier>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(UrlSigningParamIdentifier.DeserializeUrlSigningParamIdentifier(item)); } parameterNameOverride = array; continue; } } return(new UrlSigningActionParameters(odataType, Optional.ToNullable(algorithm), Optional.ToList(parameterNameOverride))); }
internal UrlSigningActionParameters(UrlSigningActionParametersOdataType odataType, UrlSigningAlgorithm?algorithm, IList <UrlSigningParamIdentifier> parameterNameOverride) { OdataType = odataType; Algorithm = algorithm; ParameterNameOverride = parameterNameOverride; }
public UrlSigningActionParameters(UrlSigningActionParametersOdataType odataType) { OdataType = odataType; ParameterNameOverride = new ChangeTrackingList <UrlSigningParamIdentifier>(); }