lib/azure/service_bus/queue.rb in stuartpreston-azure-sdk-for-ruby-0.7.1 vs lib/azure/service_bus/queue.rb in stuartpreston-azure-sdk-for-ruby-0.7.2
- old
+ new
@@ -1,230 +1,230 @@
-#-------------------------------------------------------------------------
-# # Copyright (c) Microsoft and contributors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#--------------------------------------------------------------------------
-require 'azure/service_bus/resource'
-
-module Azure
- module ServiceBus
- class Queue < Resource
- # Public: Initialize the queue.
- #
- # ==== Attributes
- #
- # * +name+ - A String with the name of the queue.
- # * +options+ - The resource options Hash
- #
- # ==== Options
- #
- # Accepted key/value pairs in options parameter are:
- # * +:default_message_time_to_live+ - XML datetime. Determines how long a message lives in the associated subscriptions.
- # * +:duplicate_detection_history_time_window+ - XML datetime. Specifies the time span during which the Service Bus will detect message duplication.
- # * +:enable_batched_operations+ - Boolean. Enables or disables service side batching behavior when performing operations for the specific queue.
- # * +:dead_lettering_on_message_expiration:+ - Boolean. This field controls how the Service Bus handles a message whose TTL has expired.
- # * +:lock_duration+ - XML datetime. Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
- # * +:max_delivery_count+ - Number. A message is automatically deadlettered after this number of deliveries.
- # * +:max_size_in_megabytes+ - Number. Specifies the maximum topic size in megabytes
- # * +:message_count+ - Number. Displays the number of messages currently in the queue.
- # * +:requires_duplicate_detection+ - Boolean. If enabled, the topic will detect duplicate messages within the time span specified by the DuplicateDetectionHistoryTimeWindow property
- # * +:requires_session+ - Boolean. If set to true, the queue will be session-aware and only SessionReceiver will be supported.
- # * +:size_in_bytes+ - Number. Reflects the actual bytes toward the topic quota that messages in the topic currently occupy.
- #
- def initialize(name, options = {})
- normalized_options = {}
- normalized_options["DefaultMessageTimeToLive"] = options[:default_message_time_to_live].to_s if options.has_key?(:default_message_time_to_live)
- normalized_options["DuplicateDetectionHistoryTimeWindow"] = options[:duplicate_detection_history_time_window].to_s if options.has_key?(:duplicate_detection_history_time_window)
- normalized_options["EnableBatchedOperations"] = options[:enable_batched_operations].to_s if options.has_key?(:enable_batched_operations)
- normalized_options["DeadLetteringOnMessageExpiration"] = options[:dead_lettering_on_message_expiration].to_s if options.has_key?(:dead_lettering_on_message_expiration)
- normalized_options["LockDuration"] = options[:lock_duration].to_s if options.has_key?(:lock_duration)
- normalized_options["MaxDeliveryCount"] = options[:max_delivery_count].to_s if options.has_key?(:max_delivery_count)
- normalized_options["MaxSizeInMegabytes"] = options[:max_size_in_megabytes].to_s if options.has_key?(:max_size_in_megabytes)
- normalized_options["MessageCount"] = options[:message_count].to_s if options.has_key?(:message_count)
- normalized_options["RequiresDuplicateDetection"] = options[:requires_duplicate_detection].to_s if options.has_key?(:requires_duplicate_detection)
- normalized_options["RequiresSession"] = options[:requires_session].to_s if options.has_key?(:requires_session)
- normalized_options["SizeInBytes"] = options[:size_in_bytes].to_s if options.has_key?(:size_in_bytes)
-
- super(name, normalized_options)
- end
-
- # MessageCount: Number
- #
- # Displays the number of messages currently in the queue.
- def message_count
- to_i description['MessageCount']
- end
-
- def message_count=(val)
- _set 'MessageCount', val
- end
-
- # LockDuration: XML datetime
- #
- # Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
- # After this period, the message is unlocked and available for consumption by the next receiver. Settable
- # only at queue creation time:
- #
- # Range: 0 - 5 minutes. 0 means that the message is not locked
- # Default: 30 seconds
- def lock_duration
- to_interval description['LockDuration']
- end
-
- def lock_duration=(val)
- _set 'LockDuration', val
- end
-
- # RequiresSession: True, False
- #
- # Settable only at queue creation time. If set to true, the queue will be session-aware and only SessionReceiver
- # will be supported. Session-aware queues are not supported through REST.
- #
- # Default for durable queue: false
- def requires_session
- to_bool description['RequiresSession']
- end
-
- def requires_session=(val)
- _set 'RequiresSession', val
- end
-
- # DeadLetteringOnMessageExpiration: True, False
- #
- # This field controls how the Service Bus handles a message whose TTL has expired. If it is enabled and a message
- # expires, the Service Bus moves the message from the queue into the queue's dead-letter sub-queue. If disabled,
- # message will be permanently deleted from the queue. Settable only at queue creation time.
- #
- # Default: false
- def dead_lettering_on_message_expiration
- to_bool description['DeadLetteringOnMessageExpiration']
- end
-
- def enable_dead_lettering_on_message_expiration=(val)
- _set 'DeadLetteringOnMessageExpiration', val
- end
-
- # MaxDeliveryCount: Number
- #
- # A message is automatically deadlettered after this number of deliveries.
- def max_delivery_count
- to_i description['MaxDeliveryCount']
- end
-
- def max_delivery_count=(val)
- _set 'MaxDeliveryCount', val
- end
-
- # MaxSizeInMegaBytes: Number
- #
- # Specifies the maximum queue size in megabytes. Any attempt to enqueue a message that will cause the queue to
- # exceed this value will fail. You can only set this parameter at queue creation time using the following values:
- #
- # Range: 1 - 1024 (valid values are 1024, 2048, 3072, 4096, 5120)
- # Default: 1*1024 (valid values are 1024, 2048, 3072, 4096, 5120)
- def max_size_in_megabytes
- to_i description['MaxSizeInMegabytes']
- end
-
- def max_size_in_megabytes=(val)
- _set 'MaxSizeInMegabytes', val
- end
-
- # SizeinBytes: Number
- #
- # Reflects the actual bytes that messages in the queue currently occupy toward the queue's quota.
- #
- # Range: 0 - MaxTopicSizeinMegaBytes
- def size_in_bytes
- to_i description['SizeInBytes']
- end
-
- def size_in_bytes=(val)
- _set 'SizeInBytes', val
- end
-
-
- # DefaultMessageTimeToLive: XML datetime
- #
- # Depending on whether DeadLettering is enabled, a message is automatically moved to the DeadLetterQueue or
- # deleted if it has been stored in the queue for longer than the specified time. This value is overwritten
- # by a TTL specified on the message if and only if the message TTL is smaller than the TTL set on the queue.
- # This value is immutable after the Queue has been created:
- #
- # Range: 1 second - TimeSpan.MaxValue
- # Default: TimeSpan.MaxValue
- def default_message_time_to_live
- to_interval description['DefaultMessageTimeToLive']
- end
-
- def default_message_time_to_live=(val)
- _set 'DefaultMessageTimeToLive', val
- end
-
- # RequiresDuplicateDetection: True, False
- #
- # Settable only at queue creation time.
- #
- # Default for durable queue: false
- def requires_duplicate_detection
- to_bool description['RequiresDuplicateDetection']
- end
-
- def requires_duplicate_detection=(val)
- _set 'RequiresDuplicateDetection', val
- end
-
- # DuplicateDetectionHistoryTimeWindow
- #
- # Specifies the time span during which the Service Bus will detect message duplication.
- #
- # Range: 1 second - 7 days
- # Default: 10 minutes
- def duplicate_detection_history_time_window
- to_interval description['DuplicateDetectionHistoryTimeWindow']
- end
-
- def duplicate_detection_history_time_window=(val)
- _set 'DuplicateDetectionHistoryTimeWindow', val
- end
-
- # EnableBatchedOperations
- #
- # Enables or disables service side batching behavior when performing operations for the specific queue. When
- # enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
- #
- # If user wants lower operation latency then they can disable this feature.
- def enable_batched_operations
- to_bool description['EnableBatchedOperations']
- end
-
- def enable_batched_operations=(val)
- _set 'EnableBatchedOperations', val
- end
-
- def ordered_props
- [
- 'LockDuration',
- 'MaxSizeInMegabytes',
- 'RequiresDuplicateDetection',
- 'RequiresSession',
- 'DefaultMessageTimeToLive',
- 'DeadLetteringOnMessageExpiration',
- 'DuplicateDetectionHistoryTimeWindow',
- 'MaxDeliveryCount',
- 'EnableBatchedOperations',
- 'SizeInBytes',
- 'MessageCount'
- ]
- end
- end
- end
+#-------------------------------------------------------------------------
+# # Copyright (c) Microsoft and contributors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#--------------------------------------------------------------------------
+require 'azure/service_bus/resource'
+
+module Azure
+ module ServiceBus
+ class Queue < Resource
+ # Public: Initialize the queue.
+ #
+ # ==== Attributes
+ #
+ # * +name+ - A String with the name of the queue.
+ # * +options+ - The resource options Hash
+ #
+ # ==== Options
+ #
+ # Accepted key/value pairs in options parameter are:
+ # * +:default_message_time_to_live+ - XML datetime. Determines how long a message lives in the associated subscriptions.
+ # * +:duplicate_detection_history_time_window+ - XML datetime. Specifies the time span during which the Service Bus will detect message duplication.
+ # * +:enable_batched_operations+ - Boolean. Enables or disables service side batching behavior when performing operations for the specific queue.
+ # * +:dead_lettering_on_message_expiration:+ - Boolean. This field controls how the Service Bus handles a message whose TTL has expired.
+ # * +:lock_duration+ - XML datetime. Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
+ # * +:max_delivery_count+ - Number. A message is automatically deadlettered after this number of deliveries.
+ # * +:max_size_in_megabytes+ - Number. Specifies the maximum topic size in megabytes
+ # * +:message_count+ - Number. Displays the number of messages currently in the queue.
+ # * +:requires_duplicate_detection+ - Boolean. If enabled, the topic will detect duplicate messages within the time span specified by the DuplicateDetectionHistoryTimeWindow property
+ # * +:requires_session+ - Boolean. If set to true, the queue will be session-aware and only SessionReceiver will be supported.
+ # * +:size_in_bytes+ - Number. Reflects the actual bytes toward the topic quota that messages in the topic currently occupy.
+ #
+ def initialize(name, options = {})
+ normalized_options = {}
+ normalized_options["DefaultMessageTimeToLive"] = options[:default_message_time_to_live].to_s if options.has_key?(:default_message_time_to_live)
+ normalized_options["DuplicateDetectionHistoryTimeWindow"] = options[:duplicate_detection_history_time_window].to_s if options.has_key?(:duplicate_detection_history_time_window)
+ normalized_options["EnableBatchedOperations"] = options[:enable_batched_operations].to_s if options.has_key?(:enable_batched_operations)
+ normalized_options["DeadLetteringOnMessageExpiration"] = options[:dead_lettering_on_message_expiration].to_s if options.has_key?(:dead_lettering_on_message_expiration)
+ normalized_options["LockDuration"] = options[:lock_duration].to_s if options.has_key?(:lock_duration)
+ normalized_options["MaxDeliveryCount"] = options[:max_delivery_count].to_s if options.has_key?(:max_delivery_count)
+ normalized_options["MaxSizeInMegabytes"] = options[:max_size_in_megabytes].to_s if options.has_key?(:max_size_in_megabytes)
+ normalized_options["MessageCount"] = options[:message_count].to_s if options.has_key?(:message_count)
+ normalized_options["RequiresDuplicateDetection"] = options[:requires_duplicate_detection].to_s if options.has_key?(:requires_duplicate_detection)
+ normalized_options["RequiresSession"] = options[:requires_session].to_s if options.has_key?(:requires_session)
+ normalized_options["SizeInBytes"] = options[:size_in_bytes].to_s if options.has_key?(:size_in_bytes)
+
+ super(name, normalized_options)
+ end
+
+ # MessageCount: Number
+ #
+ # Displays the number of messages currently in the queue.
+ def message_count
+ to_i description['MessageCount']
+ end
+
+ def message_count=(val)
+ _set 'MessageCount', val
+ end
+
+ # LockDuration: XML datetime
+ #
+ # Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
+ # After this period, the message is unlocked and available for consumption by the next receiver. Settable
+ # only at queue creation time:
+ #
+ # Range: 0 - 5 minutes. 0 means that the message is not locked
+ # Default: 30 seconds
+ def lock_duration
+ to_interval description['LockDuration']
+ end
+
+ def lock_duration=(val)
+ _set 'LockDuration', val
+ end
+
+ # RequiresSession: True, False
+ #
+ # Settable only at queue creation time. If set to true, the queue will be session-aware and only SessionReceiver
+ # will be supported. Session-aware queues are not supported through REST.
+ #
+ # Default for durable queue: false
+ def requires_session
+ to_bool description['RequiresSession']
+ end
+
+ def requires_session=(val)
+ _set 'RequiresSession', val
+ end
+
+ # DeadLetteringOnMessageExpiration: True, False
+ #
+ # This field controls how the Service Bus handles a message whose TTL has expired. If it is enabled and a message
+ # expires, the Service Bus moves the message from the queue into the queue's dead-letter sub-queue. If disabled,
+ # message will be permanently deleted from the queue. Settable only at queue creation time.
+ #
+ # Default: false
+ def dead_lettering_on_message_expiration
+ to_bool description['DeadLetteringOnMessageExpiration']
+ end
+
+ def enable_dead_lettering_on_message_expiration=(val)
+ _set 'DeadLetteringOnMessageExpiration', val
+ end
+
+ # MaxDeliveryCount: Number
+ #
+ # A message is automatically deadlettered after this number of deliveries.
+ def max_delivery_count
+ to_i description['MaxDeliveryCount']
+ end
+
+ def max_delivery_count=(val)
+ _set 'MaxDeliveryCount', val
+ end
+
+ # MaxSizeInMegaBytes: Number
+ #
+ # Specifies the maximum queue size in megabytes. Any attempt to enqueue a message that will cause the queue to
+ # exceed this value will fail. You can only set this parameter at queue creation time using the following values:
+ #
+ # Range: 1 - 1024 (valid values are 1024, 2048, 3072, 4096, 5120)
+ # Default: 1*1024 (valid values are 1024, 2048, 3072, 4096, 5120)
+ def max_size_in_megabytes
+ to_i description['MaxSizeInMegabytes']
+ end
+
+ def max_size_in_megabytes=(val)
+ _set 'MaxSizeInMegabytes', val
+ end
+
+ # SizeinBytes: Number
+ #
+ # Reflects the actual bytes that messages in the queue currently occupy toward the queue's quota.
+ #
+ # Range: 0 - MaxTopicSizeinMegaBytes
+ def size_in_bytes
+ to_i description['SizeInBytes']
+ end
+
+ def size_in_bytes=(val)
+ _set 'SizeInBytes', val
+ end
+
+
+ # DefaultMessageTimeToLive: XML datetime
+ #
+ # Depending on whether DeadLettering is enabled, a message is automatically moved to the DeadLetterQueue or
+ # deleted if it has been stored in the queue for longer than the specified time. This value is overwritten
+ # by a TTL specified on the message if and only if the message TTL is smaller than the TTL set on the queue.
+ # This value is immutable after the Queue has been created:
+ #
+ # Range: 1 second - TimeSpan.MaxValue
+ # Default: TimeSpan.MaxValue
+ def default_message_time_to_live
+ to_interval description['DefaultMessageTimeToLive']
+ end
+
+ def default_message_time_to_live=(val)
+ _set 'DefaultMessageTimeToLive', val
+ end
+
+ # RequiresDuplicateDetection: True, False
+ #
+ # Settable only at queue creation time.
+ #
+ # Default for durable queue: false
+ def requires_duplicate_detection
+ to_bool description['RequiresDuplicateDetection']
+ end
+
+ def requires_duplicate_detection=(val)
+ _set 'RequiresDuplicateDetection', val
+ end
+
+ # DuplicateDetectionHistoryTimeWindow
+ #
+ # Specifies the time span during which the Service Bus will detect message duplication.
+ #
+ # Range: 1 second - 7 days
+ # Default: 10 minutes
+ def duplicate_detection_history_time_window
+ to_interval description['DuplicateDetectionHistoryTimeWindow']
+ end
+
+ def duplicate_detection_history_time_window=(val)
+ _set 'DuplicateDetectionHistoryTimeWindow', val
+ end
+
+ # EnableBatchedOperations
+ #
+ # Enables or disables service side batching behavior when performing operations for the specific queue. When
+ # enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
+ #
+ # If user wants lower operation latency then they can disable this feature.
+ def enable_batched_operations
+ to_bool description['EnableBatchedOperations']
+ end
+
+ def enable_batched_operations=(val)
+ _set 'EnableBatchedOperations', val
+ end
+
+ def ordered_props
+ [
+ 'LockDuration',
+ 'MaxSizeInMegabytes',
+ 'RequiresDuplicateDetection',
+ 'RequiresSession',
+ 'DefaultMessageTimeToLive',
+ 'DeadLetteringOnMessageExpiration',
+ 'DuplicateDetectionHistoryTimeWindow',
+ 'MaxDeliveryCount',
+ 'EnableBatchedOperations',
+ 'SizeInBytes',
+ 'MessageCount'
+ ]
+ end
+ end
+ end
end
\ No newline at end of file