Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }