stuartpreston-azure-sdk-for-ruby 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +11 -11
- data/.travis.yml +10 -10
- data/ChangeLog.txt +70 -68
- data/Gemfile +15 -15
- data/README.md +618 -618
- data/Rakefile +133 -133
- data/azure.gemspec +44 -44
- data/lib/azure.rb +52 -52
- data/lib/azure/base_management/affinity_group.rb +32 -32
- data/lib/azure/base_management/base_management_service.rb +304 -304
- data/lib/azure/base_management/location.rb +27 -27
- data/lib/azure/base_management/management_http_request.rb +171 -171
- data/lib/azure/base_management/serialization.rb +129 -129
- data/lib/azure/base_management/sql_management_http_request.rb +45 -45
- data/lib/azure/blob/blob.rb +31 -31
- data/lib/azure/blob/blob_service.rb +1423 -1423
- data/lib/azure/blob/block.rb +30 -30
- data/lib/azure/blob/container.rb +31 -31
- data/lib/azure/blob/serialization.rb +284 -284
- data/lib/azure/cloud_service_management/cloud_service.rb +38 -38
- data/lib/azure/cloud_service_management/cloud_service_management_service.rb +140 -140
- data/lib/azure/cloud_service_management/serialization.rb +117 -117
- data/lib/azure/core.rb +39 -39
- data/lib/azure/core/auth/authorizer.rb +36 -36
- data/lib/azure/core/auth/shared_key.rb +110 -110
- data/lib/azure/core/auth/shared_key_lite.rb +48 -48
- data/lib/azure/core/auth/signer.rb +48 -48
- data/lib/azure/core/configuration.rb +211 -211
- data/lib/azure/core/error.rb +22 -22
- data/lib/azure/core/filtered_service.rb +43 -43
- data/lib/azure/core/http/debug_filter.rb +35 -35
- data/lib/azure/core/http/http_error.rb +88 -88
- data/lib/azure/core/http/http_filter.rb +52 -52
- data/lib/azure/core/http/http_request.rb +157 -157
- data/lib/azure/core/http/http_response.rb +140 -140
- data/lib/azure/core/http/retry_policy.rb +73 -73
- data/lib/azure/core/http/signer_filter.rb +33 -33
- data/lib/azure/core/service.rb +62 -62
- data/lib/azure/core/signed_service.rb +42 -42
- data/lib/azure/core/utility.rb +190 -190
- data/lib/azure/queue/message.rb +29 -29
- data/lib/azure/queue/queue.rb +28 -28
- data/lib/azure/queue/queue_service.rb +567 -567
- data/lib/azure/queue/serialization.rb +106 -106
- data/lib/azure/service/access_policy.rb +25 -25
- data/lib/azure/service/cors.rb +11 -11
- data/lib/azure/service/cors_rule.rb +15 -15
- data/lib/azure/service/enumeration_results.rb +20 -20
- data/lib/azure/service/logging.rb +31 -31
- data/lib/azure/service/metrics.rb +30 -30
- data/lib/azure/service/retention_policy.rb +24 -24
- data/lib/azure/service/serialization.rb +297 -297
- data/lib/azure/service/signed_identifier.rb +29 -29
- data/lib/azure/service/storage_service.rb +82 -82
- data/lib/azure/service/storage_service_properties.rb +37 -37
- data/lib/azure/service_bus/action.rb +21 -21
- data/lib/azure/service_bus/auth/wrap_service.rb +88 -88
- data/lib/azure/service_bus/auth/wrap_signer.rb +68 -68
- data/lib/azure/service_bus/brokered_message.rb +123 -123
- data/lib/azure/service_bus/brokered_message_serializer.rb +159 -159
- data/lib/azure/service_bus/correlation_filter.rb +45 -45
- data/lib/azure/service_bus/empty_rule_action.rb +29 -29
- data/lib/azure/service_bus/false_filter.rb +38 -38
- data/lib/azure/service_bus/filter.rb +21 -21
- data/lib/azure/service_bus/interval.rb +103 -103
- data/lib/azure/service_bus/queue.rb +229 -229
- data/lib/azure/service_bus/relay.rb +87 -87
- data/lib/azure/service_bus/resource.rb +108 -108
- data/lib/azure/service_bus/rule.rb +97 -97
- data/lib/azure/service_bus/rule_aspect.rb +34 -34
- data/lib/azure/service_bus/serialization.rb +161 -161
- data/lib/azure/service_bus/service_bus_service.rb +896 -896
- data/lib/azure/service_bus/sql_filter.rb +50 -50
- data/lib/azure/service_bus/sql_rule_action.rb +50 -50
- data/lib/azure/service_bus/subscription.rb +183 -183
- data/lib/azure/service_bus/topic.rb +186 -186
- data/lib/azure/service_bus/true_filter.rb +38 -38
- data/lib/azure/sql_database_management/serialization.rb +111 -111
- data/lib/azure/sql_database_management/sql_database.rb +31 -31
- data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -200
- data/lib/azure/storage_management/serialization.rb +184 -184
- data/lib/azure/storage_management/storage_account.rb +40 -40
- data/lib/azure/storage_management/storage_management_service.rb +166 -166
- data/lib/azure/table/auth/shared_key.rb +92 -92
- data/lib/azure/table/auth/shared_key_lite.rb +44 -44
- data/lib/azure/table/batch.rb +329 -329
- data/lib/azure/table/batch_response.rb +118 -118
- data/lib/azure/table/edmtype.rb +126 -126
- data/lib/azure/table/entity.rb +30 -30
- data/lib/azure/table/guid.rb +23 -23
- data/lib/azure/table/query.rb +111 -111
- data/lib/azure/table/serialization.rb +107 -107
- data/lib/azure/table/table_service.rb +559 -559
- data/lib/azure/version.rb +31 -31
- data/lib/azure/virtual_machine_image_management/serialization.rb +66 -66
- data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -25
- data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -25
- data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +94 -94
- data/lib/azure/virtual_machine_management/serialization.rb +462 -462
- data/lib/azure/virtual_machine_management/virtual_machine.rb +45 -45
- data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +588 -588
- data/lib/azure/virtual_network_management/serialization.rb +190 -190
- data/lib/azure/virtual_network_management/virtual_network.rb +37 -37
- data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -109
- data/test/fixtures/affinity_group.xml +33 -33
- data/test/fixtures/all_containers.xml +20 -20
- data/test/fixtures/all_tables.xml +22 -22
- data/test/fixtures/certificate.pem +21 -21
- data/test/fixtures/container_acl.xml +11 -11
- data/test/fixtures/create_sql_database_server.xml +1 -1
- data/test/fixtures/create_storage_desc_error.xml +5 -5
- data/test/fixtures/create_storage_extendedprop_error.xml +8 -8
- data/test/fixtures/create_storage_extendedpropname_error.xml +6 -6
- data/test/fixtures/create_storage_full_error.xml +6 -6
- data/test/fixtures/create_storage_label_error.xml +5 -5
- data/test/fixtures/create_storage_location_error.xml +5 -5
- data/test/fixtures/create_storage_name_error.xml +6 -6
- data/test/fixtures/create_table_response_entry.xml +15 -15
- data/test/fixtures/delete_storage_container_error.xml +5 -5
- data/test/fixtures/delete_storage_error.xml +5 -5
- data/test/fixtures/deployment_error.xml +5 -5
- data/test/fixtures/get_storage_account_error.xml +5 -5
- data/test/fixtures/get_storage_account_properties.xml +31 -31
- data/test/fixtures/get_storage_account_properties_new.xml +31 -31
- data/test/fixtures/http_error.xml +5 -5
- data/test/fixtures/insert_entity_response_entry.xml +25 -25
- data/test/fixtures/list_affinity_groups.xml +22 -22
- data/test/fixtures/list_blobs.xml +120 -120
- data/test/fixtures/list_block_all_with_none_committed.xml +21 -21
- data/test/fixtures/list_blocks_all.xml +22 -22
- data/test/fixtures/list_blocks_committed.xml +12 -12
- data/test/fixtures/list_cloud_services.xml +38 -38
- data/test/fixtures/list_containers.xml +37 -37
- data/test/fixtures/list_firewall_management_endpoint.xml +27 -27
- data/test/fixtures/list_images.xml +110 -110
- data/test/fixtures/list_locations.xml +62 -62
- data/test/fixtures/list_page_ranges.xml +10 -10
- data/test/fixtures/list_sql_database.xml +36 -36
- data/test/fixtures/list_sql_server_firewall.xml +23 -23
- data/test/fixtures/list_storage_account_single.xml +24 -24
- data/test/fixtures/list_storage_accounts.xml +45 -45
- data/test/fixtures/list_virtual_networks.xml +92 -92
- data/test/fixtures/logging.xml +11 -11
- data/test/fixtures/management_certificate.pem +55 -55
- data/test/fixtures/messages.xml +12 -12
- data/test/fixtures/metrics.xml +10 -10
- data/test/fixtures/privatekey.key +28 -28
- data/test/fixtures/query_entities_empty_response.xml +7 -7
- data/test/fixtures/query_entities_response.xml +45 -45
- data/test/fixtures/queue_service_properties.xml +22 -22
- data/test/fixtures/queue_service_properties_original.xml +19 -19
- data/test/fixtures/queues.xml +16 -16
- data/test/fixtures/retention_policy.xml +5 -5
- data/test/fixtures/sb_default_create_queue_response.xml +23 -23
- data/test/fixtures/sb_default_create_relay_response.xml +15 -15
- data/test/fixtures/sb_default_create_topic_response.xml +18 -18
- data/test/fixtures/sb_get_access_token_response.txt +1 -1
- data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -9
- data/test/fixtures/storage_service_properties.xml +54 -54
- data/test/fixtures/update_storage_account.xml +16 -16
- data/test/fixtures/update_storage_error.xml +4 -4
- data/test/fixtures/updated_storage_accounts.xml +52 -52
- data/test/fixtures/virtual_machine.xml +113 -113
- data/test/fixtures/windows_virtual_machine.xml +106 -106
- data/test/integration/affinity_group/Affinity_test.rb +55 -55
- data/test/integration/affinity_group/Create_Affinity_test.rb +63 -63
- data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -56
- data/test/integration/affinity_group/List_Affinity_test.rb +41 -41
- data/test/integration/affinity_group/Update_Affinity_test.rb +82 -82
- data/test/integration/blob/blob_gb18030_test.rb +199 -199
- data/test/integration/blob/blob_metadata_test.rb +75 -75
- data/test/integration/blob/blob_pages_test.rb +119 -119
- data/test/integration/blob/blob_properties_test.rb +77 -77
- data/test/integration/blob/block_blob_test.rb +254 -254
- data/test/integration/blob/container/container_acl_test.rb +69 -69
- data/test/integration/blob/container/container_metadata_test.rb +50 -50
- data/test/integration/blob/container/create_container_test.rb +60 -60
- data/test/integration/blob/container/delete_container_test.rb +39 -39
- data/test/integration/blob/container/get_container_properties_test.rb +48 -48
- data/test/integration/blob/container/list_containers_test.rb +79 -79
- data/test/integration/blob/container/root_container_test.rb +53 -53
- data/test/integration/blob/copy_blob_test.rb +113 -113
- data/test/integration/blob/create_blob_snapshot_test.rb +80 -80
- data/test/integration/blob/create_page_blob_test.rb +83 -83
- data/test/integration/blob/delete_blob_test.rb +159 -159
- data/test/integration/blob/get_blob_test.rb +65 -65
- data/test/integration/blob/informative_errors_test.rb +38 -38
- data/test/integration/blob/lease/acquire_lease_test.rb +36 -36
- data/test/integration/blob/lease/break_lease_test.rb +40 -40
- data/test/integration/blob/lease/release_lease_test.rb +40 -40
- data/test/integration/blob/lease/renew_lease_test.rb +42 -42
- data/test/integration/blob/list_blobs_test.rb +113 -113
- data/test/integration/cloud_service/Cloud_Create_test.rb +44 -44
- data/test/integration/cloud_service/Cloud_Delete_test.rb +44 -44
- data/test/integration/database/create_sql_server_firewall_test.rb +86 -86
- data/test/integration/database/create_sql_server_test.rb +53 -53
- data/test/integration/database/delete_sql_server_firewall_test.rb +70 -70
- data/test/integration/database/delete_sql_server_test.rb +58 -58
- data/test/integration/database/list_sql_server_firewall_test.rb +45 -45
- data/test/integration/database/list_sql_servers_test.rb +44 -44
- data/test/integration/database/reset_password_sql_server_test.rb +55 -55
- data/test/integration/location/Location_List_test.rb +39 -39
- data/test/integration/queue/clear_messages_test.rb +42 -42
- data/test/integration/queue/create_message_test.rb +75 -75
- data/test/integration/queue/create_queue_test.rb +50 -50
- data/test/integration/queue/delete_message_test.rb +67 -67
- data/test/integration/queue/delete_queue_test.rb +45 -45
- data/test/integration/queue/informative_errors_test.rb +41 -41
- data/test/integration/queue/list_messages_encoded_test.rb +79 -79
- data/test/integration/queue/list_messages_test.rb +79 -79
- data/test/integration/queue/list_queues_test.rb +44 -44
- data/test/integration/queue/peek_messages_test.rb +59 -59
- data/test/integration/queue/queue_gb18030_test.rb +131 -131
- data/test/integration/queue/queue_metadata_test.rb +40 -40
- data/test/integration/queue/update_message_test.rb +74 -74
- data/test/integration/service_bus/informative_errors_test.rb +36 -36
- data/test/integration/service_bus/queues_scenario_test.rb +200 -200
- data/test/integration/service_bus/queues_test.rb +265 -265
- data/test/integration/service_bus/relay_test.rb +131 -131
- data/test/integration/service_bus/rules_test.rb +144 -144
- data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -182
- data/test/integration/service_bus/scenario_test.rb +101 -101
- data/test/integration/service_bus/subscriptions_test.rb +211 -211
- data/test/integration/service_bus/topics_scenario_test.rb +406 -406
- data/test/integration/service_bus/topics_test.rb +129 -129
- data/test/integration/storage_management/storage_management_test.rb +160 -160
- data/test/integration/table/create_table_test.rb +35 -35
- data/test/integration/table/delete_entity_batch_test.rb +106 -106
- data/test/integration/table/delete_entity_test.rb +93 -93
- data/test/integration/table/delete_table_test.rb +39 -39
- data/test/integration/table/get_table_test.rb +36 -36
- data/test/integration/table/informative_errors_test.rb +38 -38
- data/test/integration/table/insert_entity_batch_test.rb +99 -99
- data/test/integration/table/insert_entity_test.rb +87 -87
- data/test/integration/table/insert_or_merge_entity_batch_test.rb +158 -158
- data/test/integration/table/insert_or_merge_entity_test.rb +142 -142
- data/test/integration/table/insert_or_replace_entity_batch_test.rb +151 -151
- data/test/integration/table/insert_or_replace_entity_test.rb +136 -136
- data/test/integration/table/merge_entity_batch_test.rb +127 -127
- data/test/integration/table/merge_entity_test.rb +112 -112
- data/test/integration/table/query_entities_test.rb +194 -194
- data/test/integration/table/query_tables_test.rb +42 -42
- data/test/integration/table/query_test.rb +250 -250
- data/test/integration/table/table_acl_test.rb +51 -51
- data/test/integration/table/table_gb18030_test.rb +355 -355
- data/test/integration/table/update_entity_batch_test.rb +148 -148
- data/test/integration/table/update_entity_test.rb +130 -130
- data/test/integration/test_helper.rb +42 -42
- data/test/integration/vm/VM_Create_test.rb +260 -260
- data/test/integration/vm/VM_Delete_test.rb +55 -55
- data/test/integration/vm/VM_Operations_test.rb +173 -173
- data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -37
- data/test/integration/vm_image/virtual_machine_image_test.rb +36 -36
- data/test/integration/vnet/Virtual_Network_Create_test.rb +122 -122
- data/test/integration/vnet/Virtual_Network_list_test.rb +53 -53
- data/test/support/env.rb +19 -19
- data/test/support/fixtures.rb +36 -36
- data/test/support/name_generator.rb +168 -168
- data/test/support/stubs.rb +42 -42
- data/test/support/virtual_machine_name_generator.rb +102 -102
- data/test/support/virtual_network_helper.rb +73 -73
- data/test/test_helper.rb +53 -53
- data/test/unit/affinity_group/affinity_group_test.rb +192 -192
- data/test/unit/affinity_group/serialization_test.rb +88 -88
- data/test/unit/base_management/location_test.rb +57 -57
- data/test/unit/blob/blob_service_test.rb +1946 -1946
- data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +94 -94
- data/test/unit/cloud_service_management/serialization_test.rb +169 -169
- data/test/unit/core/auth/shared_key_lite_test.rb +51 -51
- data/test/unit/core/auth/shared_key_test.rb +58 -58
- data/test/unit/core/auth/signer_test.rb +30 -30
- data/test/unit/core/http/http_error_test.rb +57 -57
- data/test/unit/core/http/http_request_test.rb +66 -66
- data/test/unit/core/http/http_response_test.rb +45 -45
- data/test/unit/core/http/retry_policy_test.rb +23 -23
- data/test/unit/database/serialization_test.rb +97 -97
- data/test/unit/database/sql_database_server_service_test.rb +288 -288
- data/test/unit/service/serialization_test.rb +532 -532
- data/test/unit/service/storage_service_test.rb +292 -292
- data/test/unit/storage_management/serialization_test.rb +232 -232
- data/test/unit/storage_management/storage_management_service_test.rb +261 -261
- data/test/unit/table/edmtype_test.rb +107 -107
- data/test/unit/virtual_machine_image_management/serialization_test.rb +35 -35
- data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +65 -65
- data/test/unit/virtual_machine_management/serialization_test.rb +258 -258
- data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +440 -440
- data/test/unit/vnet/serialization_test.rb +187 -187
- data/test/unit/vnet/virtual_network_management_service_test.rb +131 -131
- metadata +34 -27
@@ -1,230 +1,230 @@
|
|
1
|
-
#-------------------------------------------------------------------------
|
2
|
-
# # Copyright (c) Microsoft and contributors. All rights reserved.
|
3
|
-
#
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
# you may not use this file except in compliance with the License.
|
6
|
-
# You may obtain a copy of the License at
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
#--------------------------------------------------------------------------
|
15
|
-
require 'azure/service_bus/resource'
|
16
|
-
|
17
|
-
module Azure
|
18
|
-
module ServiceBus
|
19
|
-
class Queue < Resource
|
20
|
-
# Public: Initialize the queue.
|
21
|
-
#
|
22
|
-
# ==== Attributes
|
23
|
-
#
|
24
|
-
# * +name+ - A String with the name of the queue.
|
25
|
-
# * +options+ - The resource options Hash
|
26
|
-
#
|
27
|
-
# ==== Options
|
28
|
-
#
|
29
|
-
# Accepted key/value pairs in options parameter are:
|
30
|
-
# * +:default_message_time_to_live+ - XML datetime. Determines how long a message lives in the associated subscriptions.
|
31
|
-
# * +:duplicate_detection_history_time_window+ - XML datetime. Specifies the time span during which the Service Bus will detect message duplication.
|
32
|
-
# * +:enable_batched_operations+ - Boolean. Enables or disables service side batching behavior when performing operations for the specific queue.
|
33
|
-
# * +:dead_lettering_on_message_expiration:+ - Boolean. This field controls how the Service Bus handles a message whose TTL has expired.
|
34
|
-
# * +:lock_duration+ - XML datetime. Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
|
35
|
-
# * +:max_delivery_count+ - Number. A message is automatically deadlettered after this number of deliveries.
|
36
|
-
# * +:max_size_in_megabytes+ - Number. Specifies the maximum topic size in megabytes
|
37
|
-
# * +:message_count+ - Number. Displays the number of messages currently in the queue.
|
38
|
-
# * +:requires_duplicate_detection+ - Boolean. If enabled, the topic will detect duplicate messages within the time span specified by the DuplicateDetectionHistoryTimeWindow property
|
39
|
-
# * +:requires_session+ - Boolean. If set to true, the queue will be session-aware and only SessionReceiver will be supported.
|
40
|
-
# * +:size_in_bytes+ - Number. Reflects the actual bytes toward the topic quota that messages in the topic currently occupy.
|
41
|
-
#
|
42
|
-
def initialize(name, options = {})
|
43
|
-
normalized_options = {}
|
44
|
-
normalized_options["DefaultMessageTimeToLive"] = options[:default_message_time_to_live].to_s if options.has_key?(:default_message_time_to_live)
|
45
|
-
normalized_options["DuplicateDetectionHistoryTimeWindow"] = options[:duplicate_detection_history_time_window].to_s if options.has_key?(:duplicate_detection_history_time_window)
|
46
|
-
normalized_options["EnableBatchedOperations"] = options[:enable_batched_operations].to_s if options.has_key?(:enable_batched_operations)
|
47
|
-
normalized_options["DeadLetteringOnMessageExpiration"] = options[:dead_lettering_on_message_expiration].to_s if options.has_key?(:dead_lettering_on_message_expiration)
|
48
|
-
normalized_options["LockDuration"] = options[:lock_duration].to_s if options.has_key?(:lock_duration)
|
49
|
-
normalized_options["MaxDeliveryCount"] = options[:max_delivery_count].to_s if options.has_key?(:max_delivery_count)
|
50
|
-
normalized_options["MaxSizeInMegabytes"] = options[:max_size_in_megabytes].to_s if options.has_key?(:max_size_in_megabytes)
|
51
|
-
normalized_options["MessageCount"] = options[:message_count].to_s if options.has_key?(:message_count)
|
52
|
-
normalized_options["RequiresDuplicateDetection"] = options[:requires_duplicate_detection].to_s if options.has_key?(:requires_duplicate_detection)
|
53
|
-
normalized_options["RequiresSession"] = options[:requires_session].to_s if options.has_key?(:requires_session)
|
54
|
-
normalized_options["SizeInBytes"] = options[:size_in_bytes].to_s if options.has_key?(:size_in_bytes)
|
55
|
-
|
56
|
-
super(name, normalized_options)
|
57
|
-
end
|
58
|
-
|
59
|
-
# MessageCount: Number
|
60
|
-
#
|
61
|
-
# Displays the number of messages currently in the queue.
|
62
|
-
def message_count
|
63
|
-
to_i description['MessageCount']
|
64
|
-
end
|
65
|
-
|
66
|
-
def message_count=(val)
|
67
|
-
_set 'MessageCount', val
|
68
|
-
end
|
69
|
-
|
70
|
-
# LockDuration: XML datetime
|
71
|
-
#
|
72
|
-
# Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
|
73
|
-
# After this period, the message is unlocked and available for consumption by the next receiver. Settable
|
74
|
-
# only at queue creation time:
|
75
|
-
#
|
76
|
-
# Range: 0 - 5 minutes. 0 means that the message is not locked
|
77
|
-
# Default: 30 seconds
|
78
|
-
def lock_duration
|
79
|
-
to_interval description['LockDuration']
|
80
|
-
end
|
81
|
-
|
82
|
-
def lock_duration=(val)
|
83
|
-
_set 'LockDuration', val
|
84
|
-
end
|
85
|
-
|
86
|
-
# RequiresSession: True, False
|
87
|
-
#
|
88
|
-
# Settable only at queue creation time. If set to true, the queue will be session-aware and only SessionReceiver
|
89
|
-
# will be supported. Session-aware queues are not supported through REST.
|
90
|
-
#
|
91
|
-
# Default for durable queue: false
|
92
|
-
def requires_session
|
93
|
-
to_bool description['RequiresSession']
|
94
|
-
end
|
95
|
-
|
96
|
-
def requires_session=(val)
|
97
|
-
_set 'RequiresSession', val
|
98
|
-
end
|
99
|
-
|
100
|
-
# DeadLetteringOnMessageExpiration: True, False
|
101
|
-
#
|
102
|
-
# This field controls how the Service Bus handles a message whose TTL has expired. If it is enabled and a message
|
103
|
-
# expires, the Service Bus moves the message from the queue into the queue's dead-letter sub-queue. If disabled,
|
104
|
-
# message will be permanently deleted from the queue. Settable only at queue creation time.
|
105
|
-
#
|
106
|
-
# Default: false
|
107
|
-
def dead_lettering_on_message_expiration
|
108
|
-
to_bool description['DeadLetteringOnMessageExpiration']
|
109
|
-
end
|
110
|
-
|
111
|
-
def enable_dead_lettering_on_message_expiration=(val)
|
112
|
-
_set 'DeadLetteringOnMessageExpiration', val
|
113
|
-
end
|
114
|
-
|
115
|
-
# MaxDeliveryCount: Number
|
116
|
-
#
|
117
|
-
# A message is automatically deadlettered after this number of deliveries.
|
118
|
-
def max_delivery_count
|
119
|
-
to_i description['MaxDeliveryCount']
|
120
|
-
end
|
121
|
-
|
122
|
-
def max_delivery_count=(val)
|
123
|
-
_set 'MaxDeliveryCount', val
|
124
|
-
end
|
125
|
-
|
126
|
-
# MaxSizeInMegaBytes: Number
|
127
|
-
#
|
128
|
-
# Specifies the maximum queue size in megabytes. Any attempt to enqueue a message that will cause the queue to
|
129
|
-
# exceed this value will fail. You can only set this parameter at queue creation time using the following values:
|
130
|
-
#
|
131
|
-
# Range: 1 - 1024 (valid values are 1024, 2048, 3072, 4096, 5120)
|
132
|
-
# Default: 1*1024 (valid values are 1024, 2048, 3072, 4096, 5120)
|
133
|
-
def max_size_in_megabytes
|
134
|
-
to_i description['MaxSizeInMegabytes']
|
135
|
-
end
|
136
|
-
|
137
|
-
def max_size_in_megabytes=(val)
|
138
|
-
_set 'MaxSizeInMegabytes', val
|
139
|
-
end
|
140
|
-
|
141
|
-
# SizeinBytes: Number
|
142
|
-
#
|
143
|
-
# Reflects the actual bytes that messages in the queue currently occupy toward the queue's quota.
|
144
|
-
#
|
145
|
-
# Range: 0 - MaxTopicSizeinMegaBytes
|
146
|
-
def size_in_bytes
|
147
|
-
to_i description['SizeInBytes']
|
148
|
-
end
|
149
|
-
|
150
|
-
def size_in_bytes=(val)
|
151
|
-
_set 'SizeInBytes', val
|
152
|
-
end
|
153
|
-
|
154
|
-
|
155
|
-
# DefaultMessageTimeToLive: XML datetime
|
156
|
-
#
|
157
|
-
# Depending on whether DeadLettering is enabled, a message is automatically moved to the DeadLetterQueue or
|
158
|
-
# deleted if it has been stored in the queue for longer than the specified time. This value is overwritten
|
159
|
-
# by a TTL specified on the message if and only if the message TTL is smaller than the TTL set on the queue.
|
160
|
-
# This value is immutable after the Queue has been created:
|
161
|
-
#
|
162
|
-
# Range: 1 second - TimeSpan.MaxValue
|
163
|
-
# Default: TimeSpan.MaxValue
|
164
|
-
def default_message_time_to_live
|
165
|
-
to_interval description['DefaultMessageTimeToLive']
|
166
|
-
end
|
167
|
-
|
168
|
-
def default_message_time_to_live=(val)
|
169
|
-
_set 'DefaultMessageTimeToLive', val
|
170
|
-
end
|
171
|
-
|
172
|
-
# RequiresDuplicateDetection: True, False
|
173
|
-
#
|
174
|
-
# Settable only at queue creation time.
|
175
|
-
#
|
176
|
-
# Default for durable queue: false
|
177
|
-
def requires_duplicate_detection
|
178
|
-
to_bool description['RequiresDuplicateDetection']
|
179
|
-
end
|
180
|
-
|
181
|
-
def requires_duplicate_detection=(val)
|
182
|
-
_set 'RequiresDuplicateDetection', val
|
183
|
-
end
|
184
|
-
|
185
|
-
# DuplicateDetectionHistoryTimeWindow
|
186
|
-
#
|
187
|
-
# Specifies the time span during which the Service Bus will detect message duplication.
|
188
|
-
#
|
189
|
-
# Range: 1 second - 7 days
|
190
|
-
# Default: 10 minutes
|
191
|
-
def duplicate_detection_history_time_window
|
192
|
-
to_interval description['DuplicateDetectionHistoryTimeWindow']
|
193
|
-
end
|
194
|
-
|
195
|
-
def duplicate_detection_history_time_window=(val)
|
196
|
-
_set 'DuplicateDetectionHistoryTimeWindow', val
|
197
|
-
end
|
198
|
-
|
199
|
-
# EnableBatchedOperations
|
200
|
-
#
|
201
|
-
# Enables or disables service side batching behavior when performing operations for the specific queue. When
|
202
|
-
# enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
|
203
|
-
#
|
204
|
-
# If user wants lower operation latency then they can disable this feature.
|
205
|
-
def enable_batched_operations
|
206
|
-
to_bool description['EnableBatchedOperations']
|
207
|
-
end
|
208
|
-
|
209
|
-
def enable_batched_operations=(val)
|
210
|
-
_set 'EnableBatchedOperations', val
|
211
|
-
end
|
212
|
-
|
213
|
-
def ordered_props
|
214
|
-
[
|
215
|
-
'LockDuration',
|
216
|
-
'MaxSizeInMegabytes',
|
217
|
-
'RequiresDuplicateDetection',
|
218
|
-
'RequiresSession',
|
219
|
-
'DefaultMessageTimeToLive',
|
220
|
-
'DeadLetteringOnMessageExpiration',
|
221
|
-
'DuplicateDetectionHistoryTimeWindow',
|
222
|
-
'MaxDeliveryCount',
|
223
|
-
'EnableBatchedOperations',
|
224
|
-
'SizeInBytes',
|
225
|
-
'MessageCount'
|
226
|
-
]
|
227
|
-
end
|
228
|
-
end
|
229
|
-
end
|
1
|
+
#-------------------------------------------------------------------------
|
2
|
+
# # Copyright (c) Microsoft and contributors. All rights reserved.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
#--------------------------------------------------------------------------
|
15
|
+
require 'azure/service_bus/resource'
|
16
|
+
|
17
|
+
module Azure
|
18
|
+
module ServiceBus
|
19
|
+
class Queue < Resource
|
20
|
+
# Public: Initialize the queue.
|
21
|
+
#
|
22
|
+
# ==== Attributes
|
23
|
+
#
|
24
|
+
# * +name+ - A String with the name of the queue.
|
25
|
+
# * +options+ - The resource options Hash
|
26
|
+
#
|
27
|
+
# ==== Options
|
28
|
+
#
|
29
|
+
# Accepted key/value pairs in options parameter are:
|
30
|
+
# * +:default_message_time_to_live+ - XML datetime. Determines how long a message lives in the associated subscriptions.
|
31
|
+
# * +:duplicate_detection_history_time_window+ - XML datetime. Specifies the time span during which the Service Bus will detect message duplication.
|
32
|
+
# * +:enable_batched_operations+ - Boolean. Enables or disables service side batching behavior when performing operations for the specific queue.
|
33
|
+
# * +:dead_lettering_on_message_expiration:+ - Boolean. This field controls how the Service Bus handles a message whose TTL has expired.
|
34
|
+
# * +:lock_duration+ - XML datetime. Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
|
35
|
+
# * +:max_delivery_count+ - Number. A message is automatically deadlettered after this number of deliveries.
|
36
|
+
# * +:max_size_in_megabytes+ - Number. Specifies the maximum topic size in megabytes
|
37
|
+
# * +:message_count+ - Number. Displays the number of messages currently in the queue.
|
38
|
+
# * +:requires_duplicate_detection+ - Boolean. If enabled, the topic will detect duplicate messages within the time span specified by the DuplicateDetectionHistoryTimeWindow property
|
39
|
+
# * +:requires_session+ - Boolean. If set to true, the queue will be session-aware and only SessionReceiver will be supported.
|
40
|
+
# * +:size_in_bytes+ - Number. Reflects the actual bytes toward the topic quota that messages in the topic currently occupy.
|
41
|
+
#
|
42
|
+
def initialize(name, options = {})
|
43
|
+
normalized_options = {}
|
44
|
+
normalized_options["DefaultMessageTimeToLive"] = options[:default_message_time_to_live].to_s if options.has_key?(:default_message_time_to_live)
|
45
|
+
normalized_options["DuplicateDetectionHistoryTimeWindow"] = options[:duplicate_detection_history_time_window].to_s if options.has_key?(:duplicate_detection_history_time_window)
|
46
|
+
normalized_options["EnableBatchedOperations"] = options[:enable_batched_operations].to_s if options.has_key?(:enable_batched_operations)
|
47
|
+
normalized_options["DeadLetteringOnMessageExpiration"] = options[:dead_lettering_on_message_expiration].to_s if options.has_key?(:dead_lettering_on_message_expiration)
|
48
|
+
normalized_options["LockDuration"] = options[:lock_duration].to_s if options.has_key?(:lock_duration)
|
49
|
+
normalized_options["MaxDeliveryCount"] = options[:max_delivery_count].to_s if options.has_key?(:max_delivery_count)
|
50
|
+
normalized_options["MaxSizeInMegabytes"] = options[:max_size_in_megabytes].to_s if options.has_key?(:max_size_in_megabytes)
|
51
|
+
normalized_options["MessageCount"] = options[:message_count].to_s if options.has_key?(:message_count)
|
52
|
+
normalized_options["RequiresDuplicateDetection"] = options[:requires_duplicate_detection].to_s if options.has_key?(:requires_duplicate_detection)
|
53
|
+
normalized_options["RequiresSession"] = options[:requires_session].to_s if options.has_key?(:requires_session)
|
54
|
+
normalized_options["SizeInBytes"] = options[:size_in_bytes].to_s if options.has_key?(:size_in_bytes)
|
55
|
+
|
56
|
+
super(name, normalized_options)
|
57
|
+
end
|
58
|
+
|
59
|
+
# MessageCount: Number
|
60
|
+
#
|
61
|
+
# Displays the number of messages currently in the queue.
|
62
|
+
def message_count
|
63
|
+
to_i description['MessageCount']
|
64
|
+
end
|
65
|
+
|
66
|
+
def message_count=(val)
|
67
|
+
_set 'MessageCount', val
|
68
|
+
end
|
69
|
+
|
70
|
+
# LockDuration: XML datetime
|
71
|
+
#
|
72
|
+
# Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
|
73
|
+
# After this period, the message is unlocked and available for consumption by the next receiver. Settable
|
74
|
+
# only at queue creation time:
|
75
|
+
#
|
76
|
+
# Range: 0 - 5 minutes. 0 means that the message is not locked
|
77
|
+
# Default: 30 seconds
|
78
|
+
def lock_duration
|
79
|
+
to_interval description['LockDuration']
|
80
|
+
end
|
81
|
+
|
82
|
+
def lock_duration=(val)
|
83
|
+
_set 'LockDuration', val
|
84
|
+
end
|
85
|
+
|
86
|
+
# RequiresSession: True, False
|
87
|
+
#
|
88
|
+
# Settable only at queue creation time. If set to true, the queue will be session-aware and only SessionReceiver
|
89
|
+
# will be supported. Session-aware queues are not supported through REST.
|
90
|
+
#
|
91
|
+
# Default for durable queue: false
|
92
|
+
def requires_session
|
93
|
+
to_bool description['RequiresSession']
|
94
|
+
end
|
95
|
+
|
96
|
+
def requires_session=(val)
|
97
|
+
_set 'RequiresSession', val
|
98
|
+
end
|
99
|
+
|
100
|
+
# DeadLetteringOnMessageExpiration: True, False
|
101
|
+
#
|
102
|
+
# This field controls how the Service Bus handles a message whose TTL has expired. If it is enabled and a message
|
103
|
+
# expires, the Service Bus moves the message from the queue into the queue's dead-letter sub-queue. If disabled,
|
104
|
+
# message will be permanently deleted from the queue. Settable only at queue creation time.
|
105
|
+
#
|
106
|
+
# Default: false
|
107
|
+
def dead_lettering_on_message_expiration
|
108
|
+
to_bool description['DeadLetteringOnMessageExpiration']
|
109
|
+
end
|
110
|
+
|
111
|
+
def enable_dead_lettering_on_message_expiration=(val)
|
112
|
+
_set 'DeadLetteringOnMessageExpiration', val
|
113
|
+
end
|
114
|
+
|
115
|
+
# MaxDeliveryCount: Number
|
116
|
+
#
|
117
|
+
# A message is automatically deadlettered after this number of deliveries.
|
118
|
+
def max_delivery_count
|
119
|
+
to_i description['MaxDeliveryCount']
|
120
|
+
end
|
121
|
+
|
122
|
+
def max_delivery_count=(val)
|
123
|
+
_set 'MaxDeliveryCount', val
|
124
|
+
end
|
125
|
+
|
126
|
+
# MaxSizeInMegaBytes: Number
|
127
|
+
#
|
128
|
+
# Specifies the maximum queue size in megabytes. Any attempt to enqueue a message that will cause the queue to
|
129
|
+
# exceed this value will fail. You can only set this parameter at queue creation time using the following values:
|
130
|
+
#
|
131
|
+
# Range: 1 - 1024 (valid values are 1024, 2048, 3072, 4096, 5120)
|
132
|
+
# Default: 1*1024 (valid values are 1024, 2048, 3072, 4096, 5120)
|
133
|
+
def max_size_in_megabytes
|
134
|
+
to_i description['MaxSizeInMegabytes']
|
135
|
+
end
|
136
|
+
|
137
|
+
def max_size_in_megabytes=(val)
|
138
|
+
_set 'MaxSizeInMegabytes', val
|
139
|
+
end
|
140
|
+
|
141
|
+
# SizeinBytes: Number
|
142
|
+
#
|
143
|
+
# Reflects the actual bytes that messages in the queue currently occupy toward the queue's quota.
|
144
|
+
#
|
145
|
+
# Range: 0 - MaxTopicSizeinMegaBytes
|
146
|
+
def size_in_bytes
|
147
|
+
to_i description['SizeInBytes']
|
148
|
+
end
|
149
|
+
|
150
|
+
def size_in_bytes=(val)
|
151
|
+
_set 'SizeInBytes', val
|
152
|
+
end
|
153
|
+
|
154
|
+
|
155
|
+
# DefaultMessageTimeToLive: XML datetime
|
156
|
+
#
|
157
|
+
# Depending on whether DeadLettering is enabled, a message is automatically moved to the DeadLetterQueue or
|
158
|
+
# deleted if it has been stored in the queue for longer than the specified time. This value is overwritten
|
159
|
+
# by a TTL specified on the message if and only if the message TTL is smaller than the TTL set on the queue.
|
160
|
+
# This value is immutable after the Queue has been created:
|
161
|
+
#
|
162
|
+
# Range: 1 second - TimeSpan.MaxValue
|
163
|
+
# Default: TimeSpan.MaxValue
|
164
|
+
def default_message_time_to_live
|
165
|
+
to_interval description['DefaultMessageTimeToLive']
|
166
|
+
end
|
167
|
+
|
168
|
+
def default_message_time_to_live=(val)
|
169
|
+
_set 'DefaultMessageTimeToLive', val
|
170
|
+
end
|
171
|
+
|
172
|
+
# RequiresDuplicateDetection: True, False
|
173
|
+
#
|
174
|
+
# Settable only at queue creation time.
|
175
|
+
#
|
176
|
+
# Default for durable queue: false
|
177
|
+
def requires_duplicate_detection
|
178
|
+
to_bool description['RequiresDuplicateDetection']
|
179
|
+
end
|
180
|
+
|
181
|
+
def requires_duplicate_detection=(val)
|
182
|
+
_set 'RequiresDuplicateDetection', val
|
183
|
+
end
|
184
|
+
|
185
|
+
# DuplicateDetectionHistoryTimeWindow
|
186
|
+
#
|
187
|
+
# Specifies the time span during which the Service Bus will detect message duplication.
|
188
|
+
#
|
189
|
+
# Range: 1 second - 7 days
|
190
|
+
# Default: 10 minutes
|
191
|
+
def duplicate_detection_history_time_window
|
192
|
+
to_interval description['DuplicateDetectionHistoryTimeWindow']
|
193
|
+
end
|
194
|
+
|
195
|
+
def duplicate_detection_history_time_window=(val)
|
196
|
+
_set 'DuplicateDetectionHistoryTimeWindow', val
|
197
|
+
end
|
198
|
+
|
199
|
+
# EnableBatchedOperations
|
200
|
+
#
|
201
|
+
# Enables or disables service side batching behavior when performing operations for the specific queue. When
|
202
|
+
# enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
|
203
|
+
#
|
204
|
+
# If user wants lower operation latency then they can disable this feature.
|
205
|
+
def enable_batched_operations
|
206
|
+
to_bool description['EnableBatchedOperations']
|
207
|
+
end
|
208
|
+
|
209
|
+
def enable_batched_operations=(val)
|
210
|
+
_set 'EnableBatchedOperations', val
|
211
|
+
end
|
212
|
+
|
213
|
+
def ordered_props
|
214
|
+
[
|
215
|
+
'LockDuration',
|
216
|
+
'MaxSizeInMegabytes',
|
217
|
+
'RequiresDuplicateDetection',
|
218
|
+
'RequiresSession',
|
219
|
+
'DefaultMessageTimeToLive',
|
220
|
+
'DeadLetteringOnMessageExpiration',
|
221
|
+
'DuplicateDetectionHistoryTimeWindow',
|
222
|
+
'MaxDeliveryCount',
|
223
|
+
'EnableBatchedOperations',
|
224
|
+
'SizeInBytes',
|
225
|
+
'MessageCount'
|
226
|
+
]
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
230
230
|
end
|