internal static UrlSigningActionParameters DeserializeUrlSigningActionParameters(JsonElement element) { UrlSigningActionParametersTypeName typeName = default; Optional <UrlSigningAlgorithm> algorithm = default; Optional <IList <UrlSigningParamIdentifier> > parameterNameOverride = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("typeName")) { typeName = new UrlSigningActionParametersTypeName(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(typeName, Optional.ToNullable(algorithm), Optional.ToList(parameterNameOverride))); }
internal UrlSigningActionParameters(UrlSigningActionParametersTypeName typeName, UrlSigningAlgorithm?algorithm, IList <UrlSigningParamIdentifier> parameterNameOverride) { TypeName = typeName; Algorithm = algorithm; ParameterNameOverride = parameterNameOverride; }
public UrlSigningActionParameters(UrlSigningActionParametersTypeName typeName) { TypeName = typeName; ParameterNameOverride = new ChangeTrackingList <UrlSigningParamIdentifier>(); }