azure-plus 0.6.5
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 +7 -0
- data/.gitignore +13 -0
- data/.travis.yml +11 -0
- data/ChangeLog.txt +40 -0
- data/Gemfile +16 -0
- data/README.md +590 -0
- data/Rakefile +129 -0
- data/azure.gemspec +47 -0
- data/lib/azure.rb +52 -0
- data/lib/azure/base_management/affinity_group.rb +32 -0
- data/lib/azure/base_management/base_management_service.rb +238 -0
- data/lib/azure/base_management/location.rb +27 -0
- data/lib/azure/base_management/management_http_request.rb +244 -0
- data/lib/azure/base_management/serialization.rb +129 -0
- data/lib/azure/base_management/sql_management_http_request.rb +45 -0
- data/lib/azure/blob/blob.rb +32 -0
- data/lib/azure/blob/blob_service.rb +1424 -0
- data/lib/azure/blob/block.rb +31 -0
- data/lib/azure/blob/container.rb +32 -0
- data/lib/azure/blob/serialization.rb +285 -0
- data/lib/azure/cloud_service_management/cloud_service.rb +38 -0
- data/lib/azure/cloud_service_management/cloud_service_management_service.rb +361 -0
- data/lib/azure/cloud_service_management/configuration_set.rb +28 -0
- data/lib/azure/cloud_service_management/deployment.rb +64 -0
- data/lib/azure/cloud_service_management/input_endpoint.rb +29 -0
- data/lib/azure/cloud_service_management/instance_endpoint.rb +31 -0
- data/lib/azure/cloud_service_management/persistent_vm_downtime.rb +29 -0
- data/lib/azure/cloud_service_management/role.rb +30 -0
- data/lib/azure/cloud_service_management/role_instance.rb +40 -0
- data/lib/azure/cloud_service_management/serialization.rb +329 -0
- data/lib/azure/cloud_service_management/virtual_ip.rb +29 -0
- data/lib/azure/core.rb +39 -0
- data/lib/azure/core/auth/authorizer.rb +36 -0
- data/lib/azure/core/auth/shared_key.rb +110 -0
- data/lib/azure/core/auth/shared_key_lite.rb +48 -0
- data/lib/azure/core/auth/signer.rb +48 -0
- data/lib/azure/core/configuration.rb +211 -0
- data/lib/azure/core/error.rb +22 -0
- data/lib/azure/core/filtered_service.rb +44 -0
- data/lib/azure/core/http/debug_filter.rb +36 -0
- data/lib/azure/core/http/http_error.rb +88 -0
- data/lib/azure/core/http/http_filter.rb +53 -0
- data/lib/azure/core/http/http_request.rb +159 -0
- data/lib/azure/core/http/http_response.rb +140 -0
- data/lib/azure/core/http/retry_policy.rb +74 -0
- data/lib/azure/core/http/signer_filter.rb +34 -0
- data/lib/azure/core/service.rb +63 -0
- data/lib/azure/core/signed_service.rb +43 -0
- data/lib/azure/core/utility.rb +190 -0
- data/lib/azure/queue/message.rb +30 -0
- data/lib/azure/queue/queue.rb +29 -0
- data/lib/azure/queue/queue_service.rb +568 -0
- data/lib/azure/queue/serialization.rb +106 -0
- data/lib/azure/service/access_policy.rb +26 -0
- data/lib/azure/service/enumeration_results.rb +21 -0
- data/lib/azure/service/logging.rb +32 -0
- data/lib/azure/service/metrics.rb +31 -0
- data/lib/azure/service/retention_policy.rb +25 -0
- data/lib/azure/service/serialization.rb +240 -0
- data/lib/azure/service/signed_identifier.rb +30 -0
- data/lib/azure/service/storage_service.rb +79 -0
- data/lib/azure/service/storage_service_properties.rb +32 -0
- data/lib/azure/service_bus/action.rb +21 -0
- data/lib/azure/service_bus/auth/wrap_service.rb +89 -0
- data/lib/azure/service_bus/auth/wrap_signer.rb +69 -0
- data/lib/azure/service_bus/brokered_message.rb +124 -0
- data/lib/azure/service_bus/brokered_message_serializer.rb +159 -0
- data/lib/azure/service_bus/correlation_filter.rb +45 -0
- data/lib/azure/service_bus/empty_rule_action.rb +30 -0
- data/lib/azure/service_bus/false_filter.rb +38 -0
- data/lib/azure/service_bus/filter.rb +21 -0
- data/lib/azure/service_bus/interval.rb +104 -0
- data/lib/azure/service_bus/queue.rb +230 -0
- data/lib/azure/service_bus/resource.rb +109 -0
- data/lib/azure/service_bus/rule.rb +98 -0
- data/lib/azure/service_bus/rule_aspect.rb +34 -0
- data/lib/azure/service_bus/serialization.rb +160 -0
- data/lib/azure/service_bus/service_bus_service.rb +829 -0
- data/lib/azure/service_bus/sql_filter.rb +50 -0
- data/lib/azure/service_bus/sql_rule_action.rb +50 -0
- data/lib/azure/service_bus/subscription.rb +184 -0
- data/lib/azure/service_bus/topic.rb +187 -0
- data/lib/azure/service_bus/true_filter.rb +38 -0
- data/lib/azure/sql_database_management/serialization.rb +111 -0
- data/lib/azure/sql_database_management/sql_database.rb +31 -0
- data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -0
- data/lib/azure/storage_management/serialization.rb +184 -0
- data/lib/azure/storage_management/storage_account.rb +40 -0
- data/lib/azure/storage_management/storage_management_service.rb +166 -0
- data/lib/azure/table/auth/shared_key.rb +92 -0
- data/lib/azure/table/auth/shared_key_lite.rb +44 -0
- data/lib/azure/table/batch.rb +330 -0
- data/lib/azure/table/batch_response.rb +118 -0
- data/lib/azure/table/edmtype.rb +127 -0
- data/lib/azure/table/entity.rb +31 -0
- data/lib/azure/table/guid.rb +24 -0
- data/lib/azure/table/query.rb +112 -0
- data/lib/azure/table/serialization.rb +108 -0
- data/lib/azure/table/table_service.rb +560 -0
- data/lib/azure/version.rb +31 -0
- data/lib/azure/virtual_machine_image_management/serialization.rb +51 -0
- data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -0
- data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -0
- data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +66 -0
- data/lib/azure/virtual_machine_management/serialization.rb +436 -0
- data/lib/azure/virtual_machine_management/virtual_machine.rb +42 -0
- data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +549 -0
- data/lib/azure/virtual_network_management/serialization.rb +186 -0
- data/lib/azure/virtual_network_management/virtual_network.rb +36 -0
- data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -0
- data/test/fixtures/32px-fulls-black.jpg +0 -0
- data/test/fixtures/affinity_group.xml +33 -0
- data/test/fixtures/all_containers.xml +20 -0
- data/test/fixtures/all_tables.xml +22 -0
- data/test/fixtures/certificate.pem +21 -0
- data/test/fixtures/container_acl.xml +11 -0
- data/test/fixtures/create_sql_database_server.xml +2 -0
- data/test/fixtures/create_storage_desc_error.xml +5 -0
- data/test/fixtures/create_storage_extendedprop_error.xml +8 -0
- data/test/fixtures/create_storage_extendedpropname_error.xml +6 -0
- data/test/fixtures/create_storage_full_error.xml +6 -0
- data/test/fixtures/create_storage_label_error.xml +5 -0
- data/test/fixtures/create_storage_location_error.xml +5 -0
- data/test/fixtures/create_storage_name_error.xml +6 -0
- data/test/fixtures/create_table_response_entry.xml +15 -0
- data/test/fixtures/delete_storage_container_error.xml +5 -0
- data/test/fixtures/delete_storage_error.xml +5 -0
- data/test/fixtures/deployment_error.xml +5 -0
- data/test/fixtures/empty_xml_file +0 -0
- data/test/fixtures/get_deployment.xml +94 -0
- data/test/fixtures/get_deployment_existing.xml +94 -0
- data/test/fixtures/get_deployment_missing.xml +5 -0
- data/test/fixtures/get_storage_account_error.xml +5 -0
- data/test/fixtures/get_storage_account_properties.xml +32 -0
- data/test/fixtures/get_storage_account_properties_new.xml +32 -0
- data/test/fixtures/http_error.xml +5 -0
- data/test/fixtures/insert_entity_response_entry.xml +25 -0
- data/test/fixtures/list_affinity_groups.xml +22 -0
- data/test/fixtures/list_blobs.xml +121 -0
- data/test/fixtures/list_block_all_with_none_committed.xml +22 -0
- data/test/fixtures/list_blocks_all.xml +23 -0
- data/test/fixtures/list_blocks_committed.xml +13 -0
- data/test/fixtures/list_cloud_services.xml +39 -0
- data/test/fixtures/list_containers.xml +38 -0
- data/test/fixtures/list_firewall_management_endpoint.xml +27 -0
- data/test/fixtures/list_images.xml +110 -0
- data/test/fixtures/list_locations.xml +62 -0
- data/test/fixtures/list_page_ranges.xml +11 -0
- data/test/fixtures/list_sql_database.xml +36 -0
- data/test/fixtures/list_sql_server_firewall.xml +23 -0
- data/test/fixtures/list_storage_account_single.xml +25 -0
- data/test/fixtures/list_storage_accounts.xml +46 -0
- data/test/fixtures/list_virtual_networks.xml +92 -0
- data/test/fixtures/logging.xml +11 -0
- data/test/fixtures/management_certificate.pem +55 -0
- data/test/fixtures/messages.xml +12 -0
- data/test/fixtures/metrics.xml +10 -0
- data/test/fixtures/privatekey.key +28 -0
- data/test/fixtures/query_entities_empty_response.xml +7 -0
- data/test/fixtures/query_entities_response.xml +45 -0
- data/test/fixtures/queue_service_properties.xml +22 -0
- data/test/fixtures/queue_service_properties_original.xml +19 -0
- data/test/fixtures/queues.xml +16 -0
- data/test/fixtures/retention_policy.xml +5 -0
- data/test/fixtures/sb_default_create_queue_response.xml +23 -0
- data/test/fixtures/sb_default_create_topic_response.xml +18 -0
- data/test/fixtures/sb_get_access_token_response.txt +1 -0
- data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -0
- data/test/fixtures/storage_service_properties.xml +23 -0
- data/test/fixtures/update_storage_account.xml +16 -0
- data/test/fixtures/update_storage_error.xml +5 -0
- data/test/fixtures/updated_storage_accounts.xml +53 -0
- data/test/fixtures/virtual_machine.xml +113 -0
- data/test/fixtures/windows_virtual_machine.xml +106 -0
- data/test/integration/affinity_group/Affinity_test.rb +55 -0
- data/test/integration/affinity_group/Create_Affinity_test.rb +63 -0
- data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -0
- data/test/integration/affinity_group/List_Affinity_test.rb +41 -0
- data/test/integration/affinity_group/Update_Affinity_test.rb +82 -0
- data/test/integration/blob/blob_gb18030_test.rb +199 -0
- data/test/integration/blob/blob_metadata_test.rb +75 -0
- data/test/integration/blob/blob_pages_test.rb +119 -0
- data/test/integration/blob/blob_properties_test.rb +77 -0
- data/test/integration/blob/block_blob_test.rb +254 -0
- data/test/integration/blob/container/container_acl_test.rb +69 -0
- data/test/integration/blob/container/container_metadata_test.rb +50 -0
- data/test/integration/blob/container/create_container_test.rb +60 -0
- data/test/integration/blob/container/delete_container_test.rb +39 -0
- data/test/integration/blob/container/get_container_properties_test.rb +48 -0
- data/test/integration/blob/container/list_containers_test.rb +79 -0
- data/test/integration/blob/container/root_container_test.rb +54 -0
- data/test/integration/blob/copy_blob_test.rb +113 -0
- data/test/integration/blob/create_blob_snapshot_test.rb +80 -0
- data/test/integration/blob/create_page_blob_test.rb +83 -0
- data/test/integration/blob/delete_blob_test.rb +159 -0
- data/test/integration/blob/get_blob_test.rb +65 -0
- data/test/integration/blob/informative_errors_test.rb +39 -0
- data/test/integration/blob/lease/acquire_lease_test.rb +36 -0
- data/test/integration/blob/lease/break_lease_test.rb +40 -0
- data/test/integration/blob/lease/release_lease_test.rb +40 -0
- data/test/integration/blob/lease/renew_lease_test.rb +42 -0
- data/test/integration/blob/list_blobs_test.rb +113 -0
- data/test/integration/cloud_service/Cloud_Create_test.rb +44 -0
- data/test/integration/cloud_service/Cloud_Delete_test.rb +44 -0
- data/test/integration/database/create_sql_server_firewall_test.rb +86 -0
- data/test/integration/database/create_sql_server_test.rb +53 -0
- data/test/integration/database/delete_sql_server_firewall_test.rb +70 -0
- data/test/integration/database/delete_sql_server_test.rb +58 -0
- data/test/integration/database/list_sql_server_firewall_test.rb +45 -0
- data/test/integration/database/list_sql_servers_test.rb +44 -0
- data/test/integration/database/reset_password_sql_server_test.rb +55 -0
- data/test/integration/location/Location_List_test.rb +39 -0
- data/test/integration/queue/clear_messages_test.rb +42 -0
- data/test/integration/queue/create_message_test.rb +75 -0
- data/test/integration/queue/create_queue_test.rb +50 -0
- data/test/integration/queue/delete_message_test.rb +67 -0
- data/test/integration/queue/delete_queue_test.rb +45 -0
- data/test/integration/queue/informative_errors_test.rb +42 -0
- data/test/integration/queue/list_messages_encoded_test.rb +79 -0
- data/test/integration/queue/list_messages_test.rb +79 -0
- data/test/integration/queue/list_queues_test.rb +44 -0
- data/test/integration/queue/peek_messages_test.rb +59 -0
- data/test/integration/queue/queue_gb18030_test.rb +131 -0
- data/test/integration/queue/queue_metadata_test.rb +40 -0
- data/test/integration/queue/update_message_test.rb +74 -0
- data/test/integration/service_bus/informative_errors_test.rb +37 -0
- data/test/integration/service_bus/queues_scenario_test.rb +200 -0
- data/test/integration/service_bus/queues_test.rb +266 -0
- data/test/integration/service_bus/rules_test.rb +145 -0
- data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -0
- data/test/integration/service_bus/scenario_test.rb +101 -0
- data/test/integration/service_bus/subscriptions_test.rb +211 -0
- data/test/integration/service_bus/topics_scenario_test.rb +406 -0
- data/test/integration/service_bus/topics_test.rb +129 -0
- data/test/integration/storage_management/storage_management_test.rb +160 -0
- data/test/integration/table/create_table_test.rb +36 -0
- data/test/integration/table/delete_entity_batch_test.rb +107 -0
- data/test/integration/table/delete_entity_test.rb +94 -0
- data/test/integration/table/delete_table_test.rb +40 -0
- data/test/integration/table/get_table_test.rb +37 -0
- data/test/integration/table/informative_errors_test.rb +39 -0
- data/test/integration/table/insert_entity_batch_test.rb +100 -0
- data/test/integration/table/insert_entity_test.rb +88 -0
- data/test/integration/table/insert_or_merge_entity_batch_test.rb +159 -0
- data/test/integration/table/insert_or_merge_entity_test.rb +143 -0
- data/test/integration/table/insert_or_replace_entity_batch_test.rb +152 -0
- data/test/integration/table/insert_or_replace_entity_test.rb +137 -0
- data/test/integration/table/merge_entity_batch_test.rb +128 -0
- data/test/integration/table/merge_entity_test.rb +113 -0
- data/test/integration/table/query_entities_test.rb +195 -0
- data/test/integration/table/query_tables_test.rb +43 -0
- data/test/integration/table/query_test.rb +251 -0
- data/test/integration/table/table_acl_test.rb +52 -0
- data/test/integration/table/table_gb18030_test.rb +355 -0
- data/test/integration/table/update_entity_batch_test.rb +149 -0
- data/test/integration/table/update_entity_test.rb +131 -0
- data/test/integration/test_helper.rb +42 -0
- data/test/integration/vm/VM_Create_test.rb +260 -0
- data/test/integration/vm/VM_Delete_test.rb +55 -0
- data/test/integration/vm/VM_Operations_test.rb +173 -0
- data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -0
- data/test/integration/vm_image/virtual_machine_image_test.rb +37 -0
- data/test/integration/vnet/Virtual_Network_Create_test.rb +122 -0
- data/test/integration/vnet/Virtual_Network_list_test.rb +53 -0
- data/test/support/env.rb +19 -0
- data/test/support/fixtures.rb +36 -0
- data/test/support/name_generator.rb +160 -0
- data/test/support/stubs.rb +42 -0
- data/test/support/virtual_machine_name_generator.rb +102 -0
- data/test/support/virtual_network_helper.rb +73 -0
- data/test/test_helper.rb +53 -0
- data/test/unit/affinity_group/affinity_group_test.rb +192 -0
- data/test/unit/affinity_group/serialization_test.rb +88 -0
- data/test/unit/base_management/location_test.rb +57 -0
- data/test/unit/blob/blob_service_test.rb +1947 -0
- data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +276 -0
- data/test/unit/cloud_service_management/serialization_test.rb +169 -0
- data/test/unit/core/auth/shared_key_lite_test.rb +51 -0
- data/test/unit/core/auth/shared_key_test.rb +58 -0
- data/test/unit/core/auth/signer_test.rb +30 -0
- data/test/unit/core/http/http_error_test.rb +57 -0
- data/test/unit/core/http/http_request_test.rb +66 -0
- data/test/unit/core/http/http_response_test.rb +45 -0
- data/test/unit/core/http/retry_policy_test.rb +23 -0
- data/test/unit/database/serialization_test.rb +97 -0
- data/test/unit/database/sql_database_server_service_test.rb +288 -0
- data/test/unit/service/serialization_test.rb +502 -0
- data/test/unit/service/storage_service_test.rb +291 -0
- data/test/unit/storage_management/serialization_test.rb +232 -0
- data/test/unit/storage_management/storage_management_service_test.rb +261 -0
- data/test/unit/table/edmtype_test.rb +108 -0
- data/test/unit/virtual_machine_image_management/serialization_test.rb +35 -0
- data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +65 -0
- data/test/unit/virtual_machine_management/serialization_test.rb +247 -0
- data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +440 -0
- data/test/unit/vnet/serialization_test.rb +187 -0
- data/test/unit/vnet/virtual_network_management_service_test.rb +131 -0
- metadata +470 -0
|
@@ -0,0 +1,50 @@
|
|
|
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/filter'
|
|
16
|
+
|
|
17
|
+
module Azure
|
|
18
|
+
module ServiceBus
|
|
19
|
+
class SqlFilter < Filter
|
|
20
|
+
|
|
21
|
+
# Public: Initialize the SQL Rule Filter.
|
|
22
|
+
#
|
|
23
|
+
# ==== Attributes
|
|
24
|
+
#
|
|
25
|
+
# * +hash+ - The resource options Hash
|
|
26
|
+
#
|
|
27
|
+
# ==== Options
|
|
28
|
+
#
|
|
29
|
+
# Accepted key/value pairs in options parameter are:
|
|
30
|
+
# * +:sql_expression+ - The SQL expression.
|
|
31
|
+
# * +:compatibility_level+ - The compatibility level.
|
|
32
|
+
#
|
|
33
|
+
def initialize(hash=nil)
|
|
34
|
+
hash = {} unless hash
|
|
35
|
+
@sql_expression = hash[:sql_expression] if hash[:sql_expression]
|
|
36
|
+
@compatibility_level = (hash[:compatibility_level] || 20).to_i if hash[:compatibility_level]
|
|
37
|
+
super()
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
attr_accessor :sql_expression
|
|
41
|
+
attr_accessor :compatibility_level
|
|
42
|
+
|
|
43
|
+
def to_hash(hash={})
|
|
44
|
+
hash[:sql_expression]=sql_expression if sql_expression
|
|
45
|
+
hash[:compatibility_level]=compatibility_level.to_s if compatibility_level
|
|
46
|
+
super(hash)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
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/action'
|
|
16
|
+
|
|
17
|
+
module Azure
|
|
18
|
+
module ServiceBus
|
|
19
|
+
class SqlRuleAction < Action
|
|
20
|
+
|
|
21
|
+
# Public: Initialize the SQL Rule Action.
|
|
22
|
+
#
|
|
23
|
+
# ==== Attributes
|
|
24
|
+
#
|
|
25
|
+
# * +hash+ - The resource options Hash
|
|
26
|
+
#
|
|
27
|
+
# ==== Options
|
|
28
|
+
#
|
|
29
|
+
# Accepted key/value pairs in options parameter are:
|
|
30
|
+
# * +:sql_expression+ - The SQL expression.
|
|
31
|
+
# * +:compatibility_level+ - The compatibility level.
|
|
32
|
+
#
|
|
33
|
+
def initialize(hash=nil)
|
|
34
|
+
hash = {} unless hash
|
|
35
|
+
@sql_expression = hash[:sql_expression]
|
|
36
|
+
@compatibility_level = (hash[:compatibility_level] || 20).to_i
|
|
37
|
+
super()
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
attr_accessor :sql_expression
|
|
41
|
+
attr_accessor :compatibility_level
|
|
42
|
+
|
|
43
|
+
def to_hash(hash={})
|
|
44
|
+
hash[:sql_expression]=sql_expression if sql_expression
|
|
45
|
+
hash[:compatibility_level]=compatibility_level.to_s if compatibility_level
|
|
46
|
+
super(hash)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,184 @@
|
|
|
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 Subscription < Resource
|
|
20
|
+
|
|
21
|
+
attr_accessor :topic
|
|
22
|
+
|
|
23
|
+
# Public: Initialize the subscription.
|
|
24
|
+
#
|
|
25
|
+
# ==== Attributes
|
|
26
|
+
#
|
|
27
|
+
# * +name+ - A String with the name of the subscription.
|
|
28
|
+
# * +options+ - The resource options Hash
|
|
29
|
+
#
|
|
30
|
+
# ==== Options
|
|
31
|
+
#
|
|
32
|
+
# Accepted key/value pairs in options parameter are:
|
|
33
|
+
# * +:lock_duration+ - XML datetime. Determines the amount of time in seconds in which a message should be locked for processing by a receiver.
|
|
34
|
+
# * +:requires_session+ - Boolean. If set to true, the queue will be session-aware and only SessionReceiver will be supported.
|
|
35
|
+
# * +:default_message_time_to_live+ - XML datetime. Determines how long a message lives in the associated subscriptions.
|
|
36
|
+
# * +:dead_lettering_on_message_expiration:+ - Boolean. This field controls how the Service Bus handles a message whose TTL has expired.
|
|
37
|
+
# * +:dead_lettering_on_filter_evaluation_exceptions+ - Boolean. Determines how the Service Bus handles a message that causes an exception during a subscription's filter evaluation.
|
|
38
|
+
# * +:enable_batched_operations+ - Boolean. Enables or disables service side batching behavior when performing operations for the specific queue.
|
|
39
|
+
# * +:max_delivery_count+ - Number. A message is automatically deadlettered after this number of deliveries.
|
|
40
|
+
# * +:message_count+ - Number. Displays the number of messages currently in the queue.
|
|
41
|
+
#
|
|
42
|
+
def initialize(name, options = {})
|
|
43
|
+
normalized_options = {}
|
|
44
|
+
normalized_options["LockDuration"] = options[:lock_duration].to_s if options.has_key?(:lock_duration)
|
|
45
|
+
normalized_options["RequiresSession"] = options[:requires_session].to_s if options.has_key?(:requires_session)
|
|
46
|
+
normalized_options["DefaultMessageTimeToLive"] = options[:default_message_time_to_live].to_s if options.has_key?(:default_message_time_to_live)
|
|
47
|
+
normalized_options["DeadLetteringOnMessageExpiration"] = options[:dead_lettering_on_message_expiration].to_s if options.has_key?(:dead_lettering_on_message_expiration)
|
|
48
|
+
normalized_options["DeadLetteringOnFilterEvaluationExceptions"] = options[:dead_lettering_on_filter_evaluation_exceptions].to_s if options.has_key?(:dead_lettering_on_filter_evaluation_exceptions)
|
|
49
|
+
normalized_options["EnableBatchedOperations"] = options[:enable_batched_operations].to_s if options.has_key?(:enable_batched_operations)
|
|
50
|
+
normalized_options["MaxDeliveryCount"] = options[:max_delivery_count].to_s if options.has_key?(:max_delivery_count)
|
|
51
|
+
normalized_options["MessageCount"] = options[:message_count].to_s if options.has_key?(:message_count)
|
|
52
|
+
|
|
53
|
+
super(name, normalized_options)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# LockDuration: XML datetime
|
|
57
|
+
#
|
|
58
|
+
# The default lock duration is applied to subscriptions that do not define a lock duration. Settable only at
|
|
59
|
+
# subscription creation time:
|
|
60
|
+
#
|
|
61
|
+
# Range: 0 - 5 minutes. 0 means that the message is not locked
|
|
62
|
+
# Default: 30 seconds
|
|
63
|
+
def lock_duration
|
|
64
|
+
to_interval description['LockDuration']
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def lock_duration=(val)
|
|
68
|
+
_set 'LockDuration', val
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# RequiresSession: True, False
|
|
72
|
+
#
|
|
73
|
+
# Settable only at subscription creation time. If set to true, the subscription will be session-aware and only
|
|
74
|
+
# SessionReceiver will be supported. Session-aware subscription are not supported through REST.
|
|
75
|
+
#
|
|
76
|
+
# Default: false
|
|
77
|
+
def requires_session
|
|
78
|
+
to_bool description['RequiresSession']
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def requires_session=(val)
|
|
82
|
+
_set 'RequiresSession', val
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# DefaultMessageTimeToLive: PTnHnMnS
|
|
86
|
+
#
|
|
87
|
+
# Determines how long a message lives in the subscription. Based on whether dead-lettering is enabled, a message
|
|
88
|
+
# whose TTL has expired will either be moved to the subscription's associated DeadLtterQueue or permanently
|
|
89
|
+
# deleted.
|
|
90
|
+
#
|
|
91
|
+
# Range: 1 second - TimeSpan.MaxValue
|
|
92
|
+
# Default: TimeSpan.MaxValue if the topic also does not specify a TTL. Otherwise the setting from topic is inherited.
|
|
93
|
+
def default_message_time_to_live
|
|
94
|
+
to_interval description['DefaultMessageTimeToLive']
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def default_message_time_to_live=(val)
|
|
98
|
+
_set 'DefaultMessageTimeToLive', val
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# DeadLetteringOnMessageExpiration: True, False
|
|
102
|
+
#
|
|
103
|
+
# This field controls how the Service Bus handles a message whose TTL has expired. If it is enabled and a message
|
|
104
|
+
# expires, the Service Bus moves the message from the queue into the subscription's dead-letter sub-queue. If
|
|
105
|
+
# disabled, message will be permanently deleted from the subscription's main queue. Settable only at subscription
|
|
106
|
+
# creation time.
|
|
107
|
+
#
|
|
108
|
+
# Default: false
|
|
109
|
+
def dead_lettering_on_message_expiration
|
|
110
|
+
to_bool description['DeadLetteringOnMessageExpiration']
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def dead_lettering_on_message_expiration=(val)
|
|
114
|
+
_set 'DeadLetteringOnMessageExpiration', val
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# DeadLetteringOnFilterEvaluationExceptions: True, False
|
|
118
|
+
#
|
|
119
|
+
# Determines how the Service Bus handles a message that causes an exception during a subscription's filter
|
|
120
|
+
# evaluation. If the value is set to true, the message that caused the exception will be moved to the
|
|
121
|
+
# subscription's dead-letter queue. Otherwise, it will be discarded. By default this parameter is set to true,
|
|
122
|
+
# allowing the user a chance to investigate the cause of the exception. It can occur from a malformed message or
|
|
123
|
+
# some incorrect assumptions being made in the filter about the form of the message. Settable only at topic
|
|
124
|
+
# creation time.
|
|
125
|
+
#
|
|
126
|
+
# Default: true
|
|
127
|
+
def dead_lettering_on_filter_evaluation_exceptions
|
|
128
|
+
to_bool description['DeadLetteringOnFilterEvaluationExceptions']
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def dead_lettering_on_filter_evaluation_exceptions=(val)
|
|
132
|
+
_set 'DeadLetteringOnFilterEvaluationExceptions', val
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# EnableBatchedOperations
|
|
136
|
+
#
|
|
137
|
+
# Enables or disables service side batching behavior when performing operations for the specific queue. When
|
|
138
|
+
# enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient. If
|
|
139
|
+
# user wants lower operation latency then they can disable this feature.
|
|
140
|
+
def enable_batched_operations
|
|
141
|
+
to_bool description['EnableBatchedOperations']
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def enable_batched_operations=(val)
|
|
145
|
+
_set 'EnableBatchedOperations', val
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# MaxDeliveryCount
|
|
149
|
+
#
|
|
150
|
+
# The maximum number of times a message SB will try to deliver before being dead lettered or discarded.
|
|
151
|
+
def max_delivery_count
|
|
152
|
+
to_i description['MaxDeliveryCount']
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def max_delivery_count=(val)
|
|
156
|
+
_set 'MaxDeliveryCount', val
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# MessageCount
|
|
160
|
+
#
|
|
161
|
+
# Reports the number of messages in the queue as reported by the monitoring system.
|
|
162
|
+
def message_count
|
|
163
|
+
to_i description['MessageCount']
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
def message_count=(val)
|
|
167
|
+
_set 'MessageCount', val
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def ordered_props
|
|
171
|
+
[
|
|
172
|
+
"LockDuration",
|
|
173
|
+
"RequiresSession",
|
|
174
|
+
"DefaultMessageTimeToLive",
|
|
175
|
+
"DeadLetteringOnMessageExpiration",
|
|
176
|
+
"DeadLetteringOnFilterEvaluationExceptions",
|
|
177
|
+
"MessageCount",
|
|
178
|
+
"MaxDeliveryCount",
|
|
179
|
+
"EnableBatchedOperations"
|
|
180
|
+
]
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
end
|
|
@@ -0,0 +1,187 @@
|
|
|
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 Topic < Resource
|
|
20
|
+
# Public: Initialize the topic.
|
|
21
|
+
#
|
|
22
|
+
# ==== Attributes
|
|
23
|
+
#
|
|
24
|
+
# * +name+ - A String with the name of the topic.
|
|
25
|
+
# * +options+ - The resource options Hash
|
|
26
|
+
#
|
|
27
|
+
# ==== Options
|
|
28
|
+
#
|
|
29
|
+
# Accepted key/value pairs in options parameter are:
|
|
30
|
+
# * +:default_message_time_to_tive+ - XML datetime. Determines how long a message lives in the associated subscriptions.
|
|
31
|
+
# * +:maximum_number_of_subscriptions+ - Number. Specifies the maximum number of subscriptions that can be associated with the topic.
|
|
32
|
+
# * +:max_size_in_megabytes+ - Number. Specifies the maximum topic size in megabytes
|
|
33
|
+
# * +:requires_duplicate_detection+ - Boolean. If enabled, the topic will detect duplicate messages within the time span specified by the DuplicateDetectionHistoryTimeWindow property
|
|
34
|
+
# * +:dead_lettering_on_filter_evaluation_exceptions+ - Boolean. Determines how the Service Bus handles a message that causes an exception during a subscription's filter evaluation.
|
|
35
|
+
# * +:duplicate_detection_history_time_window+ - XML datetime. Specifies the time span during which the Service Bus will detect message duplication.
|
|
36
|
+
# * +:enable_batched_operations+ - Boolean. Enables or disables service side batching behavior when performing operations for the specific queue.
|
|
37
|
+
#
|
|
38
|
+
def initialize(name, options = {})
|
|
39
|
+
normalized_options = {}
|
|
40
|
+
normalized_options["DefaultMessageTimeToLive"] = options[:default_message_time_to_live].to_s if options.has_key?(:default_message_time_to_live)
|
|
41
|
+
normalized_options["MaximumNumberOfSubscriptions"] = options[:maximum_number_of_subscriptions].to_s if options.has_key?(:maximum_number_of_subscriptions)
|
|
42
|
+
normalized_options["MaxSizeInMegabytes"] = options[:max_size_in_megabytes].to_s if options.has_key?(:max_size_in_megabytes)
|
|
43
|
+
normalized_options["RequiresDuplicateDetection"] = options[:requires_duplicate_detection].to_s if options.has_key?(:requires_duplicate_detection)
|
|
44
|
+
normalized_options["DeadLetteringOnFilterEvaluationExceptions"] = options[:dead_lettering_on_filter_evaluation_exceptions].to_s if options.has_key?(:dead_lettering_on_filter_evaluation_exceptions)
|
|
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
|
+
|
|
48
|
+
super(name, normalized_options)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# MaxSizeInMegabytes: Number
|
|
52
|
+
#
|
|
53
|
+
# Specifies the maximum topic size in megabytes. Any attempt to enqueue a message that will cause the topic to
|
|
54
|
+
# exceed this value will fail. All messages that are stored in the topic or any of its subscriptions count
|
|
55
|
+
# towards this value. Multiple copies of a message that reside in one or multiple subscriptions count as a single
|
|
56
|
+
# messages. For example, if message m exists once in subscription s1 and twice in subscription s2, m is counted
|
|
57
|
+
# as a single message. You can only set this parameter at topic creation time using the following values:
|
|
58
|
+
#
|
|
59
|
+
# Range: 1 - 5*1024 MB
|
|
60
|
+
# Default: 1*1024
|
|
61
|
+
def max_size_in_megabytes
|
|
62
|
+
to_i description['MaxSizeInMegabytes']
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def max_size_in_megabytes=(val)
|
|
66
|
+
_set 'MaxSizeInMegabytes', val
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# SizeInBytes: Number
|
|
70
|
+
#
|
|
71
|
+
# Reflects the actual bytes toward the topic quota that messages in the topic currently occupy. (read-only)
|
|
72
|
+
#
|
|
73
|
+
# Range: 0 - MaxTopicSizeinMegaBytes
|
|
74
|
+
def size_in_bytes
|
|
75
|
+
to_i description['SizeInBytes']
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def size_in_bytes=(val)
|
|
79
|
+
_set 'SizeInBytes', val
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# DefaultMessageTimeToLive: XML datetime
|
|
83
|
+
#
|
|
84
|
+
# Determines how long a message lives in the associated subscriptions. Subscriptions inherit the TTL from the
|
|
85
|
+
# topic unless they are created explicitly with a smaller TTL. Based on whether dead-lettering is enabled, a
|
|
86
|
+
# message whose TTL has expired will either be moved to the subscription's associated DeadLtterQueue or will
|
|
87
|
+
# be permanently deleted. The following values are settable at topic creation time:
|
|
88
|
+
#
|
|
89
|
+
# Range: 1 second - TimeSpan.MaxValue
|
|
90
|
+
# Default: TimeSpan.MaxValue
|
|
91
|
+
def default_message_time_to_live
|
|
92
|
+
to_interval description['DefaultMessageTimeToLive']
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def default_message_time_to_live=(val)
|
|
96
|
+
_set 'DefaultMessageTimeToLive', val
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# RequiresDuplicateDetection: True, False
|
|
100
|
+
#
|
|
101
|
+
# If enabled, the topic will detect duplicate messages within the time span specified by the
|
|
102
|
+
# DuplicateDetectionHistoryTimeWindow property. Settable only at topic creation time.
|
|
103
|
+
#
|
|
104
|
+
# Default: false
|
|
105
|
+
def requires_duplicate_detection
|
|
106
|
+
to_bool description['RequiresDuplicateDetection']
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def requires_duplicate_detection=(val)
|
|
110
|
+
_set 'RequiresDuplicateDetection', val
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# DuplicateDetectionHistoryTimeWindow
|
|
114
|
+
#
|
|
115
|
+
# Specifies the time span during which the Service Bus will detect message duplication.
|
|
116
|
+
#
|
|
117
|
+
# Range: 1 second - 7 days
|
|
118
|
+
# Default: 10 minutes
|
|
119
|
+
def duplicate_detection_history_time_window
|
|
120
|
+
to_interval description['DuplicateDetectionHistoryTimeWindow']
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def duplicate_detection_history_time_window=(val)
|
|
124
|
+
_set 'DuplicateDetectionHistoryTimeWindow', val
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# MaximumNumberOfSubscriptions
|
|
128
|
+
#
|
|
129
|
+
# Specifies the maximum number of subscriptions that can be associated with the topic.
|
|
130
|
+
#
|
|
131
|
+
# Range: 1 - 2000
|
|
132
|
+
# Default: 2000 subscriptions
|
|
133
|
+
def maximum_number_of_subscriptions
|
|
134
|
+
to_i description['MaximumNumberOfSubscriptions']
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def maximum_number_of_subscriptions=(val)
|
|
138
|
+
_set 'MaximumNumberOfSubscriptions', val
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# EnableBatchedOperations
|
|
142
|
+
#
|
|
143
|
+
# Enables or disables service side batching behavior when performing operations for the specific queue. When
|
|
144
|
+
# enabled, service bus will collect/batch multiple operations to the backend to be more connection efficient.
|
|
145
|
+
#
|
|
146
|
+
# If user wants lower operation latency then they can disable this feature.
|
|
147
|
+
def enable_batched_operations
|
|
148
|
+
to_bool description['EnableBatchedOperations']
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def enable_batched_operations=(val)
|
|
152
|
+
_set 'EnableBatchedOperations', val
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# DeadLetteringOnFilterEvaluationExceptions: True, False
|
|
156
|
+
#
|
|
157
|
+
# Determines how the Service Bus handles a message that causes an exception during a subscription's filter
|
|
158
|
+
# evaluation. If the value is set to true, the message that caused the exception will be moved to the
|
|
159
|
+
# subscription's dead-letter queue. Otherwise, it will be discarded. By default this parameter is set to true,
|
|
160
|
+
# allowing the user a chance to investigate the cause of the exception. It can occur from a malformed message or
|
|
161
|
+
# some incorrect assumptions being made in the filter about the form of the message. Settable only at topic
|
|
162
|
+
# creation time.
|
|
163
|
+
#
|
|
164
|
+
# Default: true
|
|
165
|
+
def dead_lettering_on_filter_evaluation_exceptions
|
|
166
|
+
to_bool description['DeadLetteringOnFilterEvaluationExceptions']
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
def dead_lettering_on_filter_evaluation_exceptions=(val)
|
|
170
|
+
_set 'DeadLetteringOnFilterEvaluationExceptions', val
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
def ordered_props
|
|
174
|
+
[
|
|
175
|
+
'DefaultMessageTimeToLive',
|
|
176
|
+
'MaximumNumberOfSubscriptions',
|
|
177
|
+
'MaxSizeInMegabytes',
|
|
178
|
+
'RequiresDuplicateDetection',
|
|
179
|
+
'DeadLetteringOnFilterEvaluationExceptions',
|
|
180
|
+
'DuplicateDetectionHistoryTimeWindow',
|
|
181
|
+
'EnableBatchedOperations',
|
|
182
|
+
'SizeInBytes'
|
|
183
|
+
]
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|