internal ServiceBusSubscriptionData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, long?messageCount, DateTimeOffset?createdAt, DateTimeOffset?accessedAt, DateTimeOffset?updatedAt, MessageCountDetails countDetails, TimeSpan?lockDuration, bool?requiresSession, TimeSpan?defaultMessageTimeToLive, bool?deadLetteringOnFilterEvaluationExceptions, bool?deadLetteringOnMessageExpiration, TimeSpan?duplicateDetectionHistoryTimeWindow, int?maxDeliveryCount, EntityStatus?status, bool?enableBatchedOperations, TimeSpan?autoDeleteOnIdle, string forwardTo, string forwardDeadLetteredMessagesTo, bool?isClientAffine, ServiceBusClientAffineProperties clientAffineProperties) : base(id, name, resourceType, systemData) { MessageCount = messageCount; CreatedAt = createdAt; AccessedAt = accessedAt; UpdatedAt = updatedAt; CountDetails = countDetails; LockDuration = lockDuration; RequiresSession = requiresSession; DefaultMessageTimeToLive = defaultMessageTimeToLive; DeadLetteringOnFilterEvaluationExceptions = deadLetteringOnFilterEvaluationExceptions; DeadLetteringOnMessageExpiration = deadLetteringOnMessageExpiration; DuplicateDetectionHistoryTimeWindow = duplicateDetectionHistoryTimeWindow; MaxDeliveryCount = maxDeliveryCount; Status = status; EnableBatchedOperations = enableBatchedOperations; AutoDeleteOnIdle = autoDeleteOnIdle; ForwardTo = forwardTo; ForwardDeadLetteredMessagesTo = forwardDeadLetteredMessagesTo; IsClientAffine = isClientAffine; ClientAffineProperties = clientAffineProperties; }
internal static ServiceBusSubscriptionData DeserializeServiceBusSubscriptionData(JsonElement element) { ResourceIdentifier id = default; string name = default; ResourceType type = default; SystemData systemData = default; Optional <long> messageCount = default; Optional <DateTimeOffset> createdAt = default; Optional <DateTimeOffset> accessedAt = default; Optional <DateTimeOffset> updatedAt = default; Optional <MessageCountDetails> countDetails = default; Optional <TimeSpan> lockDuration = default; Optional <bool> requiresSession = default; Optional <TimeSpan> defaultMessageTimeToLive = default; Optional <bool> deadLetteringOnFilterEvaluationExceptions = default; Optional <bool> deadLetteringOnMessageExpiration = default; Optional <TimeSpan> duplicateDetectionHistoryTimeWindow = default; Optional <int> maxDeliveryCount = default; Optional <EntityStatus> status = default; Optional <bool> enableBatchedOperations = default; Optional <TimeSpan> autoDeleteOnIdle = default; Optional <string> forwardTo = default; Optional <string> forwardDeadLetteredMessagesTo = default; Optional <bool> isClientAffine = default; Optional <ServiceBusClientAffineProperties> clientAffineProperties = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = new ResourceIdentifier(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("systemData")) { systemData = JsonSerializer.Deserialize <SystemData>(property.Value.ToString()); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("messageCount")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } messageCount = property0.Value.GetInt64(); continue; } if (property0.NameEquals("createdAt")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } createdAt = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("accessedAt")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } accessedAt = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("updatedAt")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } updatedAt = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("countDetails")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } countDetails = MessageCountDetails.DeserializeMessageCountDetails(property0.Value); continue; } if (property0.NameEquals("lockDuration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } lockDuration = property0.Value.GetTimeSpan("P"); continue; } if (property0.NameEquals("requiresSession")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } requiresSession = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("defaultMessageTimeToLive")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } defaultMessageTimeToLive = property0.Value.GetTimeSpan("P"); continue; } if (property0.NameEquals("deadLetteringOnFilterEvaluationExceptions")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } deadLetteringOnFilterEvaluationExceptions = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("deadLetteringOnMessageExpiration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } deadLetteringOnMessageExpiration = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("duplicateDetectionHistoryTimeWindow")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } duplicateDetectionHistoryTimeWindow = property0.Value.GetTimeSpan("P"); continue; } if (property0.NameEquals("maxDeliveryCount")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } maxDeliveryCount = property0.Value.GetInt32(); continue; } if (property0.NameEquals("status")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } status = property0.Value.GetString().ToEntityStatus(); continue; } if (property0.NameEquals("enableBatchedOperations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } enableBatchedOperations = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("autoDeleteOnIdle")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } autoDeleteOnIdle = property0.Value.GetTimeSpan("P"); continue; } if (property0.NameEquals("forwardTo")) { forwardTo = property0.Value.GetString(); continue; } if (property0.NameEquals("forwardDeadLetteredMessagesTo")) { forwardDeadLetteredMessagesTo = property0.Value.GetString(); continue; } if (property0.NameEquals("isClientAffine")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } isClientAffine = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("clientAffineProperties")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } clientAffineProperties = ServiceBusClientAffineProperties.DeserializeServiceBusClientAffineProperties(property0.Value); continue; } } continue; } } return(new ServiceBusSubscriptionData(id, name, type, systemData, Optional.ToNullable(messageCount), Optional.ToNullable(createdAt), Optional.ToNullable(accessedAt), Optional.ToNullable(updatedAt), countDetails.Value, Optional.ToNullable(lockDuration), Optional.ToNullable(requiresSession), Optional.ToNullable(defaultMessageTimeToLive), Optional.ToNullable(deadLetteringOnFilterEvaluationExceptions), Optional.ToNullable(deadLetteringOnMessageExpiration), Optional.ToNullable(duplicateDetectionHistoryTimeWindow), Optional.ToNullable(maxDeliveryCount), Optional.ToNullable(status), Optional.ToNullable(enableBatchedOperations), Optional.ToNullable(autoDeleteOnIdle), forwardTo.Value, forwardDeadLetteredMessagesTo.Value, Optional.ToNullable(isClientAffine), clientAffineProperties.Value)); }