BlobSignedIdentifier
signed identifier.
using Azure.Core;
using System;
using System.Xml;
using System.Xml.Linq;
namespace Azure.Storage.Blobs.Models
{
[CodeGenModel("SignedIdentifier")]
public class BlobSignedIdentifier : IXmlSerializable
{
public string Id { get; set; }
public BlobAccessPolicy AccessPolicy { get; set; }
void IXmlSerializable.Write(XmlWriter writer, string nameHint)
{
writer.WriteStartElement(nameHint ?? "SignedIdentifier");
writer.WriteStartElement("Id");
writer.WriteValue(Id);
writer.WriteEndElement();
writer.WriteObjectValue(AccessPolicy, "AccessPolicy");
writer.WriteEndElement();
}
internal static BlobSignedIdentifier DeserializeBlobSignedIdentifier(XElement element)
{
string id = null;
BlobAccessPolicy accessPolicy = null;
XElement xElement = element.Element("Id");
if (xElement != null)
id = (string)xElement;
XElement xElement2 = element.Element("AccessPolicy");
if (xElement2 != null)
accessPolicy = BlobAccessPolicy.DeserializeBlobAccessPolicy(xElement2);
return new BlobSignedIdentifier(id, accessPolicy);
}
internal BlobSignedIdentifier(string id, BlobAccessPolicy accessPolicy)
{
if (id == null)
throw new ArgumentNullException("id");
Id = id;
AccessPolicy = accessPolicy;
}
public BlobSignedIdentifier()
: this(false)
{
}
internal BlobSignedIdentifier(bool skipInitialization)
{
if (!skipInitialization)
AccessPolicy = new BlobAccessPolicy();
}
}
}