azure 0.6.0 → 0.6.1

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