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.
Files changed (290) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -11
  3. data/.travis.yml +10 -10
  4. data/ChangeLog.txt +70 -68
  5. data/Gemfile +15 -15
  6. data/README.md +618 -618
  7. data/Rakefile +133 -133
  8. data/azure.gemspec +44 -44
  9. data/lib/azure.rb +52 -52
  10. data/lib/azure/base_management/affinity_group.rb +32 -32
  11. data/lib/azure/base_management/base_management_service.rb +304 -304
  12. data/lib/azure/base_management/location.rb +27 -27
  13. data/lib/azure/base_management/management_http_request.rb +171 -171
  14. data/lib/azure/base_management/serialization.rb +129 -129
  15. data/lib/azure/base_management/sql_management_http_request.rb +45 -45
  16. data/lib/azure/blob/blob.rb +31 -31
  17. data/lib/azure/blob/blob_service.rb +1423 -1423
  18. data/lib/azure/blob/block.rb +30 -30
  19. data/lib/azure/blob/container.rb +31 -31
  20. data/lib/azure/blob/serialization.rb +284 -284
  21. data/lib/azure/cloud_service_management/cloud_service.rb +38 -38
  22. data/lib/azure/cloud_service_management/cloud_service_management_service.rb +140 -140
  23. data/lib/azure/cloud_service_management/serialization.rb +117 -117
  24. data/lib/azure/core.rb +39 -39
  25. data/lib/azure/core/auth/authorizer.rb +36 -36
  26. data/lib/azure/core/auth/shared_key.rb +110 -110
  27. data/lib/azure/core/auth/shared_key_lite.rb +48 -48
  28. data/lib/azure/core/auth/signer.rb +48 -48
  29. data/lib/azure/core/configuration.rb +211 -211
  30. data/lib/azure/core/error.rb +22 -22
  31. data/lib/azure/core/filtered_service.rb +43 -43
  32. data/lib/azure/core/http/debug_filter.rb +35 -35
  33. data/lib/azure/core/http/http_error.rb +88 -88
  34. data/lib/azure/core/http/http_filter.rb +52 -52
  35. data/lib/azure/core/http/http_request.rb +157 -157
  36. data/lib/azure/core/http/http_response.rb +140 -140
  37. data/lib/azure/core/http/retry_policy.rb +73 -73
  38. data/lib/azure/core/http/signer_filter.rb +33 -33
  39. data/lib/azure/core/service.rb +62 -62
  40. data/lib/azure/core/signed_service.rb +42 -42
  41. data/lib/azure/core/utility.rb +190 -190
  42. data/lib/azure/queue/message.rb +29 -29
  43. data/lib/azure/queue/queue.rb +28 -28
  44. data/lib/azure/queue/queue_service.rb +567 -567
  45. data/lib/azure/queue/serialization.rb +106 -106
  46. data/lib/azure/service/access_policy.rb +25 -25
  47. data/lib/azure/service/cors.rb +11 -11
  48. data/lib/azure/service/cors_rule.rb +15 -15
  49. data/lib/azure/service/enumeration_results.rb +20 -20
  50. data/lib/azure/service/logging.rb +31 -31
  51. data/lib/azure/service/metrics.rb +30 -30
  52. data/lib/azure/service/retention_policy.rb +24 -24
  53. data/lib/azure/service/serialization.rb +297 -297
  54. data/lib/azure/service/signed_identifier.rb +29 -29
  55. data/lib/azure/service/storage_service.rb +82 -82
  56. data/lib/azure/service/storage_service_properties.rb +37 -37
  57. data/lib/azure/service_bus/action.rb +21 -21
  58. data/lib/azure/service_bus/auth/wrap_service.rb +88 -88
  59. data/lib/azure/service_bus/auth/wrap_signer.rb +68 -68
  60. data/lib/azure/service_bus/brokered_message.rb +123 -123
  61. data/lib/azure/service_bus/brokered_message_serializer.rb +159 -159
  62. data/lib/azure/service_bus/correlation_filter.rb +45 -45
  63. data/lib/azure/service_bus/empty_rule_action.rb +29 -29
  64. data/lib/azure/service_bus/false_filter.rb +38 -38
  65. data/lib/azure/service_bus/filter.rb +21 -21
  66. data/lib/azure/service_bus/interval.rb +103 -103
  67. data/lib/azure/service_bus/queue.rb +229 -229
  68. data/lib/azure/service_bus/relay.rb +87 -87
  69. data/lib/azure/service_bus/resource.rb +108 -108
  70. data/lib/azure/service_bus/rule.rb +97 -97
  71. data/lib/azure/service_bus/rule_aspect.rb +34 -34
  72. data/lib/azure/service_bus/serialization.rb +161 -161
  73. data/lib/azure/service_bus/service_bus_service.rb +896 -896
  74. data/lib/azure/service_bus/sql_filter.rb +50 -50
  75. data/lib/azure/service_bus/sql_rule_action.rb +50 -50
  76. data/lib/azure/service_bus/subscription.rb +183 -183
  77. data/lib/azure/service_bus/topic.rb +186 -186
  78. data/lib/azure/service_bus/true_filter.rb +38 -38
  79. data/lib/azure/sql_database_management/serialization.rb +111 -111
  80. data/lib/azure/sql_database_management/sql_database.rb +31 -31
  81. data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -200
  82. data/lib/azure/storage_management/serialization.rb +184 -184
  83. data/lib/azure/storage_management/storage_account.rb +40 -40
  84. data/lib/azure/storage_management/storage_management_service.rb +166 -166
  85. data/lib/azure/table/auth/shared_key.rb +92 -92
  86. data/lib/azure/table/auth/shared_key_lite.rb +44 -44
  87. data/lib/azure/table/batch.rb +329 -329
  88. data/lib/azure/table/batch_response.rb +118 -118
  89. data/lib/azure/table/edmtype.rb +126 -126
  90. data/lib/azure/table/entity.rb +30 -30
  91. data/lib/azure/table/guid.rb +23 -23
  92. data/lib/azure/table/query.rb +111 -111
  93. data/lib/azure/table/serialization.rb +107 -107
  94. data/lib/azure/table/table_service.rb +559 -559
  95. data/lib/azure/version.rb +31 -31
  96. data/lib/azure/virtual_machine_image_management/serialization.rb +66 -66
  97. data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -25
  98. data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -25
  99. data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +94 -94
  100. data/lib/azure/virtual_machine_management/serialization.rb +462 -462
  101. data/lib/azure/virtual_machine_management/virtual_machine.rb +45 -45
  102. data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +588 -588
  103. data/lib/azure/virtual_network_management/serialization.rb +190 -190
  104. data/lib/azure/virtual_network_management/virtual_network.rb +37 -37
  105. data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -109
  106. data/test/fixtures/affinity_group.xml +33 -33
  107. data/test/fixtures/all_containers.xml +20 -20
  108. data/test/fixtures/all_tables.xml +22 -22
  109. data/test/fixtures/certificate.pem +21 -21
  110. data/test/fixtures/container_acl.xml +11 -11
  111. data/test/fixtures/create_sql_database_server.xml +1 -1
  112. data/test/fixtures/create_storage_desc_error.xml +5 -5
  113. data/test/fixtures/create_storage_extendedprop_error.xml +8 -8
  114. data/test/fixtures/create_storage_extendedpropname_error.xml +6 -6
  115. data/test/fixtures/create_storage_full_error.xml +6 -6
  116. data/test/fixtures/create_storage_label_error.xml +5 -5
  117. data/test/fixtures/create_storage_location_error.xml +5 -5
  118. data/test/fixtures/create_storage_name_error.xml +6 -6
  119. data/test/fixtures/create_table_response_entry.xml +15 -15
  120. data/test/fixtures/delete_storage_container_error.xml +5 -5
  121. data/test/fixtures/delete_storage_error.xml +5 -5
  122. data/test/fixtures/deployment_error.xml +5 -5
  123. data/test/fixtures/get_storage_account_error.xml +5 -5
  124. data/test/fixtures/get_storage_account_properties.xml +31 -31
  125. data/test/fixtures/get_storage_account_properties_new.xml +31 -31
  126. data/test/fixtures/http_error.xml +5 -5
  127. data/test/fixtures/insert_entity_response_entry.xml +25 -25
  128. data/test/fixtures/list_affinity_groups.xml +22 -22
  129. data/test/fixtures/list_blobs.xml +120 -120
  130. data/test/fixtures/list_block_all_with_none_committed.xml +21 -21
  131. data/test/fixtures/list_blocks_all.xml +22 -22
  132. data/test/fixtures/list_blocks_committed.xml +12 -12
  133. data/test/fixtures/list_cloud_services.xml +38 -38
  134. data/test/fixtures/list_containers.xml +37 -37
  135. data/test/fixtures/list_firewall_management_endpoint.xml +27 -27
  136. data/test/fixtures/list_images.xml +110 -110
  137. data/test/fixtures/list_locations.xml +62 -62
  138. data/test/fixtures/list_page_ranges.xml +10 -10
  139. data/test/fixtures/list_sql_database.xml +36 -36
  140. data/test/fixtures/list_sql_server_firewall.xml +23 -23
  141. data/test/fixtures/list_storage_account_single.xml +24 -24
  142. data/test/fixtures/list_storage_accounts.xml +45 -45
  143. data/test/fixtures/list_virtual_networks.xml +92 -92
  144. data/test/fixtures/logging.xml +11 -11
  145. data/test/fixtures/management_certificate.pem +55 -55
  146. data/test/fixtures/messages.xml +12 -12
  147. data/test/fixtures/metrics.xml +10 -10
  148. data/test/fixtures/privatekey.key +28 -28
  149. data/test/fixtures/query_entities_empty_response.xml +7 -7
  150. data/test/fixtures/query_entities_response.xml +45 -45
  151. data/test/fixtures/queue_service_properties.xml +22 -22
  152. data/test/fixtures/queue_service_properties_original.xml +19 -19
  153. data/test/fixtures/queues.xml +16 -16
  154. data/test/fixtures/retention_policy.xml +5 -5
  155. data/test/fixtures/sb_default_create_queue_response.xml +23 -23
  156. data/test/fixtures/sb_default_create_relay_response.xml +15 -15
  157. data/test/fixtures/sb_default_create_topic_response.xml +18 -18
  158. data/test/fixtures/sb_get_access_token_response.txt +1 -1
  159. data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -9
  160. data/test/fixtures/storage_service_properties.xml +54 -54
  161. data/test/fixtures/update_storage_account.xml +16 -16
  162. data/test/fixtures/update_storage_error.xml +4 -4
  163. data/test/fixtures/updated_storage_accounts.xml +52 -52
  164. data/test/fixtures/virtual_machine.xml +113 -113
  165. data/test/fixtures/windows_virtual_machine.xml +106 -106
  166. data/test/integration/affinity_group/Affinity_test.rb +55 -55
  167. data/test/integration/affinity_group/Create_Affinity_test.rb +63 -63
  168. data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -56
  169. data/test/integration/affinity_group/List_Affinity_test.rb +41 -41
  170. data/test/integration/affinity_group/Update_Affinity_test.rb +82 -82
  171. data/test/integration/blob/blob_gb18030_test.rb +199 -199
  172. data/test/integration/blob/blob_metadata_test.rb +75 -75
  173. data/test/integration/blob/blob_pages_test.rb +119 -119
  174. data/test/integration/blob/blob_properties_test.rb +77 -77
  175. data/test/integration/blob/block_blob_test.rb +254 -254
  176. data/test/integration/blob/container/container_acl_test.rb +69 -69
  177. data/test/integration/blob/container/container_metadata_test.rb +50 -50
  178. data/test/integration/blob/container/create_container_test.rb +60 -60
  179. data/test/integration/blob/container/delete_container_test.rb +39 -39
  180. data/test/integration/blob/container/get_container_properties_test.rb +48 -48
  181. data/test/integration/blob/container/list_containers_test.rb +79 -79
  182. data/test/integration/blob/container/root_container_test.rb +53 -53
  183. data/test/integration/blob/copy_blob_test.rb +113 -113
  184. data/test/integration/blob/create_blob_snapshot_test.rb +80 -80
  185. data/test/integration/blob/create_page_blob_test.rb +83 -83
  186. data/test/integration/blob/delete_blob_test.rb +159 -159
  187. data/test/integration/blob/get_blob_test.rb +65 -65
  188. data/test/integration/blob/informative_errors_test.rb +38 -38
  189. data/test/integration/blob/lease/acquire_lease_test.rb +36 -36
  190. data/test/integration/blob/lease/break_lease_test.rb +40 -40
  191. data/test/integration/blob/lease/release_lease_test.rb +40 -40
  192. data/test/integration/blob/lease/renew_lease_test.rb +42 -42
  193. data/test/integration/blob/list_blobs_test.rb +113 -113
  194. data/test/integration/cloud_service/Cloud_Create_test.rb +44 -44
  195. data/test/integration/cloud_service/Cloud_Delete_test.rb +44 -44
  196. data/test/integration/database/create_sql_server_firewall_test.rb +86 -86
  197. data/test/integration/database/create_sql_server_test.rb +53 -53
  198. data/test/integration/database/delete_sql_server_firewall_test.rb +70 -70
  199. data/test/integration/database/delete_sql_server_test.rb +58 -58
  200. data/test/integration/database/list_sql_server_firewall_test.rb +45 -45
  201. data/test/integration/database/list_sql_servers_test.rb +44 -44
  202. data/test/integration/database/reset_password_sql_server_test.rb +55 -55
  203. data/test/integration/location/Location_List_test.rb +39 -39
  204. data/test/integration/queue/clear_messages_test.rb +42 -42
  205. data/test/integration/queue/create_message_test.rb +75 -75
  206. data/test/integration/queue/create_queue_test.rb +50 -50
  207. data/test/integration/queue/delete_message_test.rb +67 -67
  208. data/test/integration/queue/delete_queue_test.rb +45 -45
  209. data/test/integration/queue/informative_errors_test.rb +41 -41
  210. data/test/integration/queue/list_messages_encoded_test.rb +79 -79
  211. data/test/integration/queue/list_messages_test.rb +79 -79
  212. data/test/integration/queue/list_queues_test.rb +44 -44
  213. data/test/integration/queue/peek_messages_test.rb +59 -59
  214. data/test/integration/queue/queue_gb18030_test.rb +131 -131
  215. data/test/integration/queue/queue_metadata_test.rb +40 -40
  216. data/test/integration/queue/update_message_test.rb +74 -74
  217. data/test/integration/service_bus/informative_errors_test.rb +36 -36
  218. data/test/integration/service_bus/queues_scenario_test.rb +200 -200
  219. data/test/integration/service_bus/queues_test.rb +265 -265
  220. data/test/integration/service_bus/relay_test.rb +131 -131
  221. data/test/integration/service_bus/rules_test.rb +144 -144
  222. data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -182
  223. data/test/integration/service_bus/scenario_test.rb +101 -101
  224. data/test/integration/service_bus/subscriptions_test.rb +211 -211
  225. data/test/integration/service_bus/topics_scenario_test.rb +406 -406
  226. data/test/integration/service_bus/topics_test.rb +129 -129
  227. data/test/integration/storage_management/storage_management_test.rb +160 -160
  228. data/test/integration/table/create_table_test.rb +35 -35
  229. data/test/integration/table/delete_entity_batch_test.rb +106 -106
  230. data/test/integration/table/delete_entity_test.rb +93 -93
  231. data/test/integration/table/delete_table_test.rb +39 -39
  232. data/test/integration/table/get_table_test.rb +36 -36
  233. data/test/integration/table/informative_errors_test.rb +38 -38
  234. data/test/integration/table/insert_entity_batch_test.rb +99 -99
  235. data/test/integration/table/insert_entity_test.rb +87 -87
  236. data/test/integration/table/insert_or_merge_entity_batch_test.rb +158 -158
  237. data/test/integration/table/insert_or_merge_entity_test.rb +142 -142
  238. data/test/integration/table/insert_or_replace_entity_batch_test.rb +151 -151
  239. data/test/integration/table/insert_or_replace_entity_test.rb +136 -136
  240. data/test/integration/table/merge_entity_batch_test.rb +127 -127
  241. data/test/integration/table/merge_entity_test.rb +112 -112
  242. data/test/integration/table/query_entities_test.rb +194 -194
  243. data/test/integration/table/query_tables_test.rb +42 -42
  244. data/test/integration/table/query_test.rb +250 -250
  245. data/test/integration/table/table_acl_test.rb +51 -51
  246. data/test/integration/table/table_gb18030_test.rb +355 -355
  247. data/test/integration/table/update_entity_batch_test.rb +148 -148
  248. data/test/integration/table/update_entity_test.rb +130 -130
  249. data/test/integration/test_helper.rb +42 -42
  250. data/test/integration/vm/VM_Create_test.rb +260 -260
  251. data/test/integration/vm/VM_Delete_test.rb +55 -55
  252. data/test/integration/vm/VM_Operations_test.rb +173 -173
  253. data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -37
  254. data/test/integration/vm_image/virtual_machine_image_test.rb +36 -36
  255. data/test/integration/vnet/Virtual_Network_Create_test.rb +122 -122
  256. data/test/integration/vnet/Virtual_Network_list_test.rb +53 -53
  257. data/test/support/env.rb +19 -19
  258. data/test/support/fixtures.rb +36 -36
  259. data/test/support/name_generator.rb +168 -168
  260. data/test/support/stubs.rb +42 -42
  261. data/test/support/virtual_machine_name_generator.rb +102 -102
  262. data/test/support/virtual_network_helper.rb +73 -73
  263. data/test/test_helper.rb +53 -53
  264. data/test/unit/affinity_group/affinity_group_test.rb +192 -192
  265. data/test/unit/affinity_group/serialization_test.rb +88 -88
  266. data/test/unit/base_management/location_test.rb +57 -57
  267. data/test/unit/blob/blob_service_test.rb +1946 -1946
  268. data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +94 -94
  269. data/test/unit/cloud_service_management/serialization_test.rb +169 -169
  270. data/test/unit/core/auth/shared_key_lite_test.rb +51 -51
  271. data/test/unit/core/auth/shared_key_test.rb +58 -58
  272. data/test/unit/core/auth/signer_test.rb +30 -30
  273. data/test/unit/core/http/http_error_test.rb +57 -57
  274. data/test/unit/core/http/http_request_test.rb +66 -66
  275. data/test/unit/core/http/http_response_test.rb +45 -45
  276. data/test/unit/core/http/retry_policy_test.rb +23 -23
  277. data/test/unit/database/serialization_test.rb +97 -97
  278. data/test/unit/database/sql_database_server_service_test.rb +288 -288
  279. data/test/unit/service/serialization_test.rb +532 -532
  280. data/test/unit/service/storage_service_test.rb +292 -292
  281. data/test/unit/storage_management/serialization_test.rb +232 -232
  282. data/test/unit/storage_management/storage_management_service_test.rb +261 -261
  283. data/test/unit/table/edmtype_test.rb +107 -107
  284. data/test/unit/virtual_machine_image_management/serialization_test.rb +35 -35
  285. data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +65 -65
  286. data/test/unit/virtual_machine_management/serialization_test.rb +258 -258
  287. data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +440 -440
  288. data/test/unit/vnet/serialization_test.rb +187 -187
  289. data/test/unit/vnet/virtual_network_management_service_test.rb +131 -131
  290. 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