public PSQueueAttributes CreateUpdateQueue(string resourceGroupName, string namespaceName, string queueName, PSQueueAttributes queue) { SBQueue parameters = new SBQueue(); if (queue.LockDuration != null) { parameters.LockDuration = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(queue.LockDuration); } if (queue.AutoDeleteOnIdle != null) { parameters.AutoDeleteOnIdle = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(queue.AutoDeleteOnIdle); } if (queue.DefaultMessageTimeToLive != null) { parameters.DefaultMessageTimeToLive = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(queue.DefaultMessageTimeToLive); } if (queue.DuplicateDetectionHistoryTimeWindow != null) { parameters.DuplicateDetectionHistoryTimeWindow = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(queue.DuplicateDetectionHistoryTimeWindow); } if (queue.DeadLetteringOnMessageExpiration.HasValue) { parameters.DeadLetteringOnMessageExpiration = queue.DeadLetteringOnMessageExpiration; } if (queue.EnableExpress.HasValue) { parameters.EnableExpress = queue.EnableExpress; } if (queue.EnablePartitioning.HasValue) { parameters.EnablePartitioning = queue.EnablePartitioning; } if (queue.MaxDeliveryCount.HasValue) { parameters.MaxDeliveryCount = queue.MaxDeliveryCount; } if (queue.MaxSizeInMegabytes.HasValue) { parameters.MaxSizeInMegabytes = queue.MaxSizeInMegabytes; } if (queue.RequiresDuplicateDetection.HasValue) { parameters.RequiresDuplicateDetection = queue.RequiresDuplicateDetection; } if (queue.RequiresSession.HasValue) { parameters.RequiresSession = queue.RequiresSession; } if (queue.Status.HasValue) { parameters.Status = queue.Status; } SBQueue response = Client.Queues.CreateOrUpdate(resourceGroupName, namespaceName, queueName, parameters); return(new PSQueueAttributes(response)); }
public PSSubscriptionAttributes CreateUpdateSubscription(string resourceGroupName, string namespaceName, string topicName, string subscriptionName, PSSubscriptionAttributes subscription) { var parameters = new SBSubscription(); if (subscription.AutoDeleteOnIdle != null) { parameters.AutoDeleteOnIdle = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(subscription.AutoDeleteOnIdle); } if (subscription.DefaultMessageTimeToLive != null) { parameters.DefaultMessageTimeToLive = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(subscription.DefaultMessageTimeToLive); } if (subscription.LockDuration != null) { parameters.LockDuration = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(subscription.LockDuration); } if (subscription.DeadLetteringOnMessageExpiration.HasValue) { parameters.DeadLetteringOnMessageExpiration = subscription.DeadLetteringOnMessageExpiration; } if (subscription.DeadLetteringOnFilterEvaluationExceptions.HasValue) { parameters.DeadLetteringOnFilterEvaluationExceptions = subscription.DeadLetteringOnFilterEvaluationExceptions; } if (subscription.EnableBatchedOperations.HasValue) { parameters.EnableBatchedOperations = subscription.EnableBatchedOperations; } if (subscription.MaxDeliveryCount.HasValue) { parameters.MaxDeliveryCount = subscription.MaxDeliveryCount; } if (subscription.RequiresSession.HasValue) { parameters.RequiresSession = subscription.RequiresSession; } if (subscription.Status.HasValue) { parameters.Status = subscription.Status; } if (!string.IsNullOrEmpty(subscription.ForwardTo)) { parameters.ForwardTo = subscription.ForwardTo; } if (!string.IsNullOrEmpty(subscription.ForwardDeadLetteredMessagesTo)) { parameters.ForwardDeadLetteredMessagesTo = subscription.ForwardDeadLetteredMessagesTo; } var response = Client.Subscriptions.CreateOrUpdate(resourceGroupName, namespaceName, topicName, subscriptionName, parameters); return(new PSSubscriptionAttributes(response)); }
public PSTopicAttributes CreateUpdateTopic(string resourceGroupName, string namespaceName, string topicName, PSTopicAttributes topic) { var parameters = new SBTopic(); if (topic.AutoDeleteOnIdle != null) { parameters.AutoDeleteOnIdle = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(topic.AutoDeleteOnIdle); } if (topic.DefaultMessageTimeToLive != null) { parameters.DefaultMessageTimeToLive = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(topic.DefaultMessageTimeToLive); } if (topic.DuplicateDetectionHistoryTimeWindow != null) { parameters.DuplicateDetectionHistoryTimeWindow = (TimeSpan?)AzureServiceBusCmdletBase.ParseTimespan(topic.DuplicateDetectionHistoryTimeWindow); } if (topic.EnableBatchedOperations != null) { parameters.EnableBatchedOperations = topic.EnableBatchedOperations; } if (topic.EnableExpress != null) { parameters.EnableExpress = topic.EnableExpress; } if (topic.EnablePartitioning != null) { parameters.EnablePartitioning = topic.EnablePartitioning; } if (topic.MaxSizeInMegabytes != null) { parameters.MaxSizeInMegabytes = topic.MaxSizeInMegabytes; } if (topic.RequiresDuplicateDetection != null) { parameters.RequiresDuplicateDetection = topic.RequiresDuplicateDetection; } if (topic.Status != null) { parameters.Status = topic.Status; } if (topic.SupportOrdering != null) { parameters.SupportOrdering = topic.SupportOrdering; } var response = Client.Topics.CreateOrUpdate(resourceGroupName, namespaceName, topicName, parameters); return(new PSTopicAttributes(response)); }