internal static BlobAnalyticsLogging DeserializeBlobAnalyticsLogging(XElement element) { string version = default; bool delete = default; bool read = default; bool write = default; BlobRetentionPolicy retentionPolicy = default; if (element.Element("Version") is XElement versionElement) { version = (string)versionElement; } if (element.Element("Delete") is XElement deleteElement) { delete = (bool)deleteElement; } if (element.Element("Read") is XElement readElement) { read = (bool)readElement; } if (element.Element("Write") is XElement writeElement) { write = (bool)writeElement; } if (element.Element("RetentionPolicy") is XElement retentionPolicyElement) { retentionPolicy = BlobRetentionPolicy.DeserializeBlobRetentionPolicy(retentionPolicyElement); } return(new BlobAnalyticsLogging(version, delete, read, write, retentionPolicy)); }
internal static BlobMetrics DeserializeBlobMetrics(XElement element) { string version = default; bool enabled = default; bool? includeApis = default; BlobRetentionPolicy retentionPolicy = default; if (element.Element("Version") is XElement versionElement) { version = (string)versionElement; } if (element.Element("Enabled") is XElement enabledElement) { enabled = (bool)enabledElement; } if (element.Element("IncludeAPIs") is XElement includeAPIsElement) { includeApis = (bool?)includeAPIsElement; } if (element.Element("RetentionPolicy") is XElement retentionPolicyElement) { retentionPolicy = BlobRetentionPolicy.DeserializeBlobRetentionPolicy(retentionPolicyElement); } return(new BlobMetrics(version, enabled, includeApis, retentionPolicy)); }
internal static BlobServiceProperties DeserializeBlobServiceProperties(XElement element) { BlobAnalyticsLogging logging = default; BlobMetrics hourMetrics = default; BlobMetrics minuteMetrics = default; string defaultServiceVersion = default; BlobRetentionPolicy deleteRetentionPolicy = default; BlobStaticWebsite staticWebsite = default; IList <BlobCorsRule> cors = default; if (element.Element("Logging") is XElement loggingElement) { logging = BlobAnalyticsLogging.DeserializeBlobAnalyticsLogging(loggingElement); } if (element.Element("HourMetrics") is XElement hourMetricsElement) { hourMetrics = BlobMetrics.DeserializeBlobMetrics(hourMetricsElement); } if (element.Element("MinuteMetrics") is XElement minuteMetricsElement) { minuteMetrics = BlobMetrics.DeserializeBlobMetrics(minuteMetricsElement); } if (element.Element("DefaultServiceVersion") is XElement defaultServiceVersionElement) { defaultServiceVersion = (string)defaultServiceVersionElement; } if (element.Element("DeleteRetentionPolicy") is XElement deleteRetentionPolicyElement) { deleteRetentionPolicy = BlobRetentionPolicy.DeserializeBlobRetentionPolicy(deleteRetentionPolicyElement); } if (element.Element("StaticWebsite") is XElement staticWebsiteElement) { staticWebsite = BlobStaticWebsite.DeserializeBlobStaticWebsite(staticWebsiteElement); } if (element.Element("Cors") is XElement corsElement) { var array = new List <BlobCorsRule>(); foreach (var e in corsElement.Elements("CorsRule")) { array.Add(BlobCorsRule.DeserializeBlobCorsRule(e)); } cors = array; } return(new BlobServiceProperties(logging, hourMetrics, minuteMetrics, cors, defaultServiceVersion, deleteRetentionPolicy, staticWebsite)); }