internal static StorageAccount DeserializeStorageAccount(JsonElement element) { Optional <Sku> sku = default; Optional <Kind> kind = default; Optional <Identity> identity = default; Optional <IDictionary <string, string> > tags = default; string location = default; Optional <string> id = default; Optional <string> name = default; Optional <string> type = default; Optional <ProvisioningState> provisioningState = default; Optional <Endpoints> primaryEndpoints = default; Optional <string> primaryLocation = default; Optional <AccountStatus> statusOfPrimary = default; Optional <DateTimeOffset> lastGeoFailoverTime = default; Optional <string> secondaryLocation = default; Optional <AccountStatus> statusOfSecondary = default; Optional <DateTimeOffset> creationTime = default; Optional <CustomDomain> customDomain = default; Optional <Endpoints> secondaryEndpoints = default; Optional <Encryption> encryption = default; Optional <AccessTier> accessTier = default; Optional <AzureFilesIdentityBasedAuthentication> azureFilesIdentityBasedAuthentication = default; Optional <bool> supportsHttpsTrafficOnly = default; Optional <NetworkRuleSet> networkAcls = default; Optional <bool> isHnsEnabled = default; Optional <GeoReplicationStats> geoReplicationStats = default; Optional <bool> failoverInProgress = default; Optional <LargeFileSharesState> largeFileSharesState = default; Optional <IReadOnlyList <PrivateEndpointConnection> > privateEndpointConnections = default; Optional <RoutingPreference> routingPreference = default; Optional <BlobRestoreStatus> blobRestoreStatus = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sku")) { sku = Sku.DeserializeSku(property.Value); continue; } if (property.NameEquals("kind")) { kind = new Kind(property.Value.GetString()); continue; } if (property.NameEquals("identity")) { identity = Identity.DeserializeIdentity(property.Value); continue; } if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("provisioningState")) { provisioningState = property0.Value.GetString().ToProvisioningState(); continue; } if (property0.NameEquals("primaryEndpoints")) { primaryEndpoints = Endpoints.DeserializeEndpoints(property0.Value); continue; } if (property0.NameEquals("primaryLocation")) { primaryLocation = property0.Value.GetString(); continue; } if (property0.NameEquals("statusOfPrimary")) { statusOfPrimary = property0.Value.GetString().ToAccountStatus(); continue; } if (property0.NameEquals("lastGeoFailoverTime")) { lastGeoFailoverTime = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("secondaryLocation")) { secondaryLocation = property0.Value.GetString(); continue; } if (property0.NameEquals("statusOfSecondary")) { statusOfSecondary = property0.Value.GetString().ToAccountStatus(); continue; } if (property0.NameEquals("creationTime")) { creationTime = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("customDomain")) { customDomain = CustomDomain.DeserializeCustomDomain(property0.Value); continue; } if (property0.NameEquals("secondaryEndpoints")) { secondaryEndpoints = Endpoints.DeserializeEndpoints(property0.Value); continue; } if (property0.NameEquals("encryption")) { encryption = Encryption.DeserializeEncryption(property0.Value); continue; } if (property0.NameEquals("accessTier")) { accessTier = property0.Value.GetString().ToAccessTier(); continue; } if (property0.NameEquals("azureFilesIdentityBasedAuthentication")) { azureFilesIdentityBasedAuthentication = AzureFilesIdentityBasedAuthentication.DeserializeAzureFilesIdentityBasedAuthentication(property0.Value); continue; } if (property0.NameEquals("supportsHttpsTrafficOnly")) { supportsHttpsTrafficOnly = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("networkAcls")) { networkAcls = NetworkRuleSet.DeserializeNetworkRuleSet(property0.Value); continue; } if (property0.NameEquals("isHnsEnabled")) { isHnsEnabled = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("geoReplicationStats")) { geoReplicationStats = GeoReplicationStats.DeserializeGeoReplicationStats(property0.Value); continue; } if (property0.NameEquals("failoverInProgress")) { failoverInProgress = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("largeFileSharesState")) { largeFileSharesState = new LargeFileSharesState(property0.Value.GetString()); continue; } if (property0.NameEquals("privateEndpointConnections")) { List <PrivateEndpointConnection> array = new List <PrivateEndpointConnection>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(PrivateEndpointConnection.DeserializePrivateEndpointConnection(item)); } privateEndpointConnections = array; continue; } if (property0.NameEquals("routingPreference")) { routingPreference = RoutingPreference.DeserializeRoutingPreference(property0.Value); continue; } if (property0.NameEquals("blobRestoreStatus")) { blobRestoreStatus = BlobRestoreStatus.DeserializeBlobRestoreStatus(property0.Value); continue; } } continue; } } return(new StorageAccount(id.Value, name.Value, type.Value, Optional.ToDictionary(tags), location, sku.Value, Optional.ToNullable(kind), identity.Value, Optional.ToNullable(provisioningState), primaryEndpoints.Value, primaryLocation.Value, Optional.ToNullable(statusOfPrimary), Optional.ToNullable(lastGeoFailoverTime), secondaryLocation.Value, Optional.ToNullable(statusOfSecondary), Optional.ToNullable(creationTime), customDomain.Value, secondaryEndpoints.Value, encryption.Value, Optional.ToNullable(accessTier), azureFilesIdentityBasedAuthentication.Value, Optional.ToNullable(supportsHttpsTrafficOnly), networkAcls.Value, Optional.ToNullable(isHnsEnabled), geoReplicationStats.Value, Optional.ToNullable(failoverInProgress), Optional.ToNullable(largeFileSharesState), Optional.ToList(privateEndpointConnections), routingPreference.Value, blobRestoreStatus.Value)); }
internal static StorageAccount DeserializeStorageAccount(JsonElement element) { Sku sku = default; Kind? kind = default; Identity identity = default; IDictionary <string, string> tags = default; string location = default; string id = default; string name = default; string type = default; ProvisioningState?provisioningState = default; Endpoints primaryEndpoints = default; string primaryLocation = default; AccountStatus? statusOfPrimary = default; DateTimeOffset? lastGeoFailoverTime = default; string secondaryLocation = default; AccountStatus? statusOfSecondary = default; DateTimeOffset? creationTime = default; CustomDomain customDomain = default; Endpoints secondaryEndpoints = default; Encryption encryption = default; AccessTier? accessTier = default; AzureFilesIdentityBasedAuthentication azureFilesIdentityBasedAuthentication = default; bool? supportsHttpsTrafficOnly = default; NetworkRuleSet networkAcls = default; bool? isHnsEnabled = default; GeoReplicationStats geoReplicationStats = default; bool? failoverInProgress = default; LargeFileSharesState?largeFileSharesState = default; IList <PrivateEndpointConnection> privateEndpointConnections = default; RoutingPreference routingPreference = default; BlobRestoreStatus blobRestoreStatus = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sku")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } sku = Sku.DeserializeSku(property.Value); continue; } if (property.NameEquals("kind")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } kind = new Kind(property.Value.GetString()); continue; } if (property.NameEquals("identity")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } identity = Identity.DeserializeIdentity(property.Value); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { if (property0.Value.ValueKind == JsonValueKind.Null) { dictionary.Add(property0.Name, null); } else { dictionary.Add(property0.Name, property0.Value.GetString()); } } tags = dictionary; continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } type = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } provisioningState = property0.Value.GetString().ToProvisioningState(); continue; } if (property0.NameEquals("primaryEndpoints")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } primaryEndpoints = Endpoints.DeserializeEndpoints(property0.Value); continue; } if (property0.NameEquals("primaryLocation")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } primaryLocation = property0.Value.GetString(); continue; } if (property0.NameEquals("statusOfPrimary")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } statusOfPrimary = property0.Value.GetString().ToAccountStatus(); continue; } if (property0.NameEquals("lastGeoFailoverTime")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } lastGeoFailoverTime = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("secondaryLocation")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } secondaryLocation = property0.Value.GetString(); continue; } if (property0.NameEquals("statusOfSecondary")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } statusOfSecondary = property0.Value.GetString().ToAccountStatus(); continue; } if (property0.NameEquals("creationTime")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } creationTime = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("customDomain")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } customDomain = CustomDomain.DeserializeCustomDomain(property0.Value); continue; } if (property0.NameEquals("secondaryEndpoints")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } secondaryEndpoints = Endpoints.DeserializeEndpoints(property0.Value); continue; } if (property0.NameEquals("encryption")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } encryption = Encryption.DeserializeEncryption(property0.Value); continue; } if (property0.NameEquals("accessTier")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } accessTier = property0.Value.GetString().ToAccessTier(); continue; } if (property0.NameEquals("azureFilesIdentityBasedAuthentication")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } azureFilesIdentityBasedAuthentication = AzureFilesIdentityBasedAuthentication.DeserializeAzureFilesIdentityBasedAuthentication(property0.Value); continue; } if (property0.NameEquals("supportsHttpsTrafficOnly")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } supportsHttpsTrafficOnly = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("networkAcls")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } networkAcls = NetworkRuleSet.DeserializeNetworkRuleSet(property0.Value); continue; } if (property0.NameEquals("isHnsEnabled")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } isHnsEnabled = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("geoReplicationStats")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } geoReplicationStats = GeoReplicationStats.DeserializeGeoReplicationStats(property0.Value); continue; } if (property0.NameEquals("failoverInProgress")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } failoverInProgress = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("largeFileSharesState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } largeFileSharesState = new LargeFileSharesState(property0.Value.GetString()); continue; } if (property0.NameEquals("privateEndpointConnections")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } List <PrivateEndpointConnection> array = new List <PrivateEndpointConnection>(); foreach (var item in property0.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(PrivateEndpointConnection.DeserializePrivateEndpointConnection(item)); } } privateEndpointConnections = array; continue; } if (property0.NameEquals("routingPreference")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } routingPreference = RoutingPreference.DeserializeRoutingPreference(property0.Value); continue; } if (property0.NameEquals("blobRestoreStatus")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } blobRestoreStatus = BlobRestoreStatus.DeserializeBlobRestoreStatus(property0.Value); continue; } } continue; } } return(new StorageAccount(id, name, type, tags, location, sku, kind, identity, provisioningState, primaryEndpoints, primaryLocation, statusOfPrimary, lastGeoFailoverTime, secondaryLocation, statusOfSecondary, creationTime, customDomain, secondaryEndpoints, encryption, accessTier, azureFilesIdentityBasedAuthentication, supportsHttpsTrafficOnly, networkAcls, isHnsEnabled, geoReplicationStats, failoverInProgress, largeFileSharesState, privateEndpointConnections, routingPreference, blobRestoreStatus)); }