azure 0.1.1 → 0.5.0
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 +6 -0
- data/ChangeLog.txt +5 -0
- data/Gemfile +16 -3
- data/README.md +344 -2
- data/Rakefile +66 -37
- data/azure.gemspec +30 -11
- data/lib/azure.rb +35 -4
- data/lib/azure/blob/blob.rb +32 -0
- data/lib/azure/blob/blob_service.rb +1423 -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/core.rb +32 -0
- data/lib/azure/core/auth/authorizer.rb +36 -0
- data/lib/azure/core/auth/shared_key.rb +21 -6
- data/lib/azure/core/auth/shared_key_lite.rb +17 -3
- data/lib/azure/core/auth/signer.rb +48 -0
- data/lib/azure/core/configuration.rb +152 -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 +84 -0
- data/lib/azure/core/http/http_filter.rb +53 -0
- data/lib/azure/core/http/http_request.rb +157 -0
- data/lib/azure/core/http/http_response.rb +133 -0
- data/lib/azure/core/http/retry_policy.rb +68 -0
- data/lib/azure/core/http/signer_filter.rb +34 -0
- data/lib/azure/core/service.rb +38 -32
- data/lib/azure/core/signed_service.rb +43 -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 +103 -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 +59 -46
- data/lib/azure/service_bus/auth/wrap_signer.rb +69 -0
- data/lib/azure/service_bus/brokered_message.rb +36 -51
- data/lib/azure/service_bus/brokered_message_serializer.rb +48 -34
- 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/{core/utils → service_bus}/interval.rb +29 -22
- 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 +819 -12
- 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/{tables → table}/auth/shared_key.rb +33 -12
- 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 +117 -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 +105 -0
- data/lib/azure/table/table_service.rb +557 -0
- data/lib/azure/version.rb +31 -0
- data/test/fixtures/container_acl.xml +11 -0
- data/test/fixtures/{error.xml → http_error.xml} +0 -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_containers.xml +38 -0
- data/test/fixtures/list_page_ranges.xml +11 -0
- data/test/fixtures/logging.xml +11 -0
- data/test/fixtures/metrics.xml +10 -0
- data/test/fixtures/queues.xml +1 -1
- data/test/fixtures/retention_policy.xml +5 -0
- data/test/fixtures/storage_service_properties.xml +23 -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 +50 -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/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_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/scenario_test.rb +102 -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/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/update_entity_batch_test.rb +149 -0
- data/test/integration/table/update_entity_test.rb +131 -0
- data/test/integration/test_helper.rb +23 -9
- data/test/support/env.rb +15 -1
- data/test/support/fixtures.rb +14 -0
- data/test/support/name_generator.rb +74 -0
- data/test/support/stubs.rb +14 -0
- data/test/test_helper.rb +43 -3
- data/test/unit/blob/blob_service_test.rb +1947 -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/service/serialization_test.rb +502 -0
- data/test/unit/service/storage_service_test.rb +291 -0
- data/test/unit/table/edmtype_test.rb +108 -0
- metadata +231 -230
- data/Gemfile.lock +0 -36
- data/lib/azure/atom.rb +0 -170
- data/lib/azure/auth.rb +0 -29
- data/lib/azure/blobs.rb +0 -620
- data/lib/azure/blobs/blob.rb +0 -360
- data/lib/azure/blobs/container.rb +0 -209
- data/lib/azure/blobs/service.rb +0 -396
- data/lib/azure/blobs/shared_access_signature.rb +0 -84
- data/lib/azure/blobs/uri.rb +0 -60
- data/lib/azure/configuration.rb +0 -121
- data/lib/azure/core/collection.rb +0 -118
- data/lib/azure/core/signer.rb +0 -32
- data/lib/azure/core/utils/queryable.rb +0 -74
- data/lib/azure/core/utils/storage_service_properties.rb +0 -83
- data/lib/azure/core/utils/string.rb +0 -59
- data/lib/azure/error.rb +0 -72
- data/lib/azure/queues.rb +0 -272
- data/lib/azure/queues/message.rb +0 -174
- data/lib/azure/queues/queue.rb +0 -187
- data/lib/azure/queues/service.rb +0 -263
- data/lib/azure/queues/service_properties.rb +0 -152
- data/lib/azure/queues/uri.rb +0 -78
- data/lib/azure/request.rb +0 -102
- data/lib/azure/response.rb +0 -93
- data/lib/azure/service_bus.rb +0 -4
- data/lib/azure/service_bus/auth/authorizer.rb +0 -22
- data/lib/azure/service_bus/auth/uri.rb +0 -52
- data/lib/azure/service_bus/auth/wrap.rb +0 -37
- data/lib/azure/service_bus/auth/wrap_token.rb +0 -45
- data/lib/azure/service_bus/auth/wrap_token_manager.rb +0 -46
- data/lib/azure/service_bus/queues.rb +0 -194
- data/lib/azure/service_bus/queues/queue.rb +0 -100
- data/lib/azure/service_bus/queues/queue_serializer.rb +0 -51
- data/lib/azure/service_bus/queues/service.rb +0 -154
- data/lib/azure/service_bus/queues/uri.rb +0 -80
- data/lib/azure/service_bus/rules.rb +0 -110
- data/lib/azure/service_bus/rules/rule.rb +0 -97
- data/lib/azure/service_bus/rules/service.rb +0 -122
- data/lib/azure/service_bus/rules/uri.rb +0 -39
- data/lib/azure/service_bus/subscriptions.rb +0 -170
- data/lib/azure/service_bus/subscriptions/service.rb +0 -133
- data/lib/azure/service_bus/subscriptions/subscription.rb +0 -164
- data/lib/azure/service_bus/subscriptions/subscription_serializer.rb +0 -74
- data/lib/azure/service_bus/subscriptions/uri.rb +0 -71
- data/lib/azure/service_bus/topics.rb +0 -120
- data/lib/azure/service_bus/topics/service.rb +0 -98
- data/lib/azure/service_bus/topics/topic.rb +0 -122
- data/lib/azure/service_bus/topics/topic_serializer.rb +0 -44
- data/lib/azure/service_bus/topics/uri.rb +0 -58
- data/lib/azure/service_runtime/client/goal_state_pipe_monitor.rb +0 -21
- data/lib/azure/service_runtime/client/goal_state_protocol.rb +0 -18
- data/lib/azure/service_runtime/client/runtime_client.rb +0 -135
- data/lib/azure/service_runtime/deployment.rb +0 -24
- data/lib/azure/service_runtime/local_resource.rb +0 -15
- data/lib/azure/service_runtime/role.rb +0 -17
- data/lib/azure/service_runtime/role_environment.rb +0 -206
- data/lib/azure/service_runtime/role_environment_change.rb +0 -32
- data/lib/azure/service_runtime/role_instance.rb +0 -35
- data/lib/azure/service_runtime/role_instance_endpoint.rb +0 -14
- data/lib/azure/tables.rb +0 -215
- data/lib/azure/tables/auth/shared_key_lite.rb +0 -30
- data/lib/azure/tables/entities_collection.rb +0 -66
- data/lib/azure/tables/entity.rb +0 -127
- data/lib/azure/tables/service.rb +0 -211
- data/lib/azure/tables/table.rb +0 -129
- data/lib/azure/tables/tables_collection.rb +0 -62
- data/lib/azure/tables/types.rb +0 -65
- data/lib/azure/tables/uri.rb +0 -62
- data/test/integration/blobs/auth_test.rb +0 -19
- data/test/integration/blobs/blob_test.rb +0 -61
- data/test/integration/blobs/clear_page_range_test.rb +0 -19
- data/test/integration/blobs/copy_test.rb +0 -33
- data/test/integration/blobs/create_blobs_test.rb +0 -51
- data/test/integration/blobs/create_container_test.rb +0 -13
- data/test/integration/blobs/create_snapshot_test.rb +0 -17
- data/test/integration/blobs/delete_blob_snapshots_test.rb +0 -19
- data/test/integration/blobs/delete_blobs_test.rb +0 -25
- data/test/integration/blobs/delete_container_test.rb +0 -24
- data/test/integration/blobs/delete_snapshot_test.rb +0 -17
- data/test/integration/blobs/get_blob_snapshot_test.rb +0 -18
- data/test/integration/blobs/get_blobs_test.rb +0 -31
- data/test/integration/blobs/get_page_range_test.rb +0 -19
- data/test/integration/blobs/list_blobs_test.rb +0 -39
- data/test/integration/blobs/list_containers_test.rb +0 -28
- data/test/integration/blobs/manage_blob_leases_test.rb +0 -45
- data/test/integration/blobs/manage_blob_metadata_test.rb +0 -51
- data/test/integration/blobs/manage_blob_properties_test.rb +0 -25
- data/test/integration/blobs/manage_blob_service_properties_test.rb +0 -38
- data/test/integration/blobs/manage_container_metadata_test.rb +0 -46
- data/test/integration/blobs/manage_container_permissions_test.rb +0 -17
- data/test/integration/blobs/update_page_range_test.rb +0 -20
- data/test/integration/queues/clear_messages_test.rb +0 -22
- data/test/integration/queues/create_queue_test.rb +0 -13
- data/test/integration/queues/delete_message_test.rb +0 -42
- data/test/integration/queues/delete_queue_test.rb +0 -24
- data/test/integration/queues/get_messages_test.rb +0 -39
- data/test/integration/queues/list_queues_test.rb +0 -43
- data/test/integration/queues/manage_queue_metadata_test.rb +0 -45
- data/test/integration/queues/manage_queue_service_properties_test.rb +0 -27
- data/test/integration/queues/peek_messages_test.rb +0 -55
- data/test/integration/queues/put_message_test.rb +0 -31
- data/test/integration/queues/update_message_test.rb +0 -46
- data/test/integration/service_bus/auth_test.rb +0 -18
- data/test/integration/service_bus/queues/create_queue_test.rb +0 -25
- data/test/integration/service_bus/queues/delete_message_from_queue_test.rb +0 -29
- data/test/integration/service_bus/queues/delete_queue_test.rb +0 -25
- data/test/integration/service_bus/queues/get_queue_test.rb +0 -23
- data/test/integration/service_bus/queues/list_queues_test.rb +0 -39
- data/test/integration/service_bus/queues/peek_message_from_queue_test.rb +0 -34
- data/test/integration/service_bus/queues/read_and_delete_message_from_queue_test.rb +0 -31
- data/test/integration/service_bus/queues/send_message_to_queue_test.rb +0 -22
- data/test/integration/service_bus/queues/unlock_message_from_queue_test.rb +0 -36
- data/test/integration/service_bus/rules/create_rule_test.rb +0 -19
- data/test/integration/service_bus/rules/delete_rule_test.rb +0 -17
- data/test/integration/service_bus/rules/get_rule_test.rb +0 -21
- data/test/integration/service_bus/rules/list_rules_test.rb +0 -24
- data/test/integration/service_bus/rules/rule_test.rb +0 -16
- data/test/integration/service_bus/subscriptions/create_subscription_test.rb +0 -25
- data/test/integration/service_bus/subscriptions/delete_message_from_subscription_test.rb +0 -31
- data/test/integration/service_bus/subscriptions/delete_subscription_test.rb +0 -30
- data/test/integration/service_bus/subscriptions/fetch_subscription_test.rb +0 -28
- data/test/integration/service_bus/subscriptions/list_subscriptions_test.rb +0 -23
- data/test/integration/service_bus/subscriptions/peek_lock_message_from_subscription_test.rb +0 -42
- data/test/integration/service_bus/subscriptions/read_delete_message_from_subscription_test.rb +0 -36
- data/test/integration/service_bus/subscriptions/subscription_test.rb +0 -31
- data/test/integration/service_bus/subscriptions/unlock_message_from_subscription_test.rb +0 -43
- data/test/integration/service_bus/topics/create_topic_test.rb +0 -25
- data/test/integration/service_bus/topics/delete_topic_test.rb +0 -25
- data/test/integration/service_bus/topics/get_topic_test.rb +0 -23
- data/test/integration/service_bus/topics/list_topics_test.rb +0 -39
- data/test/integration/service_bus/topics/send_message_to_topic_test.rb +0 -23
- data/test/integration/tables/auth_test.rb +0 -29
- data/test/integration/tables/creating_tables_test.rb +0 -16
- data/test/integration/tables/delete_entity_test.rb +0 -39
- data/test/integration/tables/deleting_table_test.rb +0 -22
- data/test/integration/tables/insert_entity_test.rb +0 -23
- data/test/integration/tables/merge_entity_test.rb +0 -28
- data/test/integration/tables/query_entities_test.rb +0 -131
- data/test/integration/tables/query_tables_test.rb +0 -63
- data/test/integration/tables/update_entity_test.rb +0 -54
- data/test/support/blobs.rb +0 -12
- data/test/support/table_names.rb +0 -44
- data/test/unit/atom_test.rb +0 -58
- data/test/unit/auth_test.rb +0 -24
- data/test/unit/blobs/blob_test.rb +0 -5
- data/test/unit/blobs/container_test.rb +0 -67
- data/test/unit/blobs/service_test.rb +0 -17
- data/test/unit/blobs/shared_access_signature_test.rb +0 -66
- data/test/unit/blobs_test.rb +0 -156
- data/test/unit/core/service_test.rb +0 -57
- data/test/unit/core/utils/interval_test.rb +0 -70
- data/test/unit/core/utils/queryable_test.rb +0 -69
- data/test/unit/core/utils/storage_service_properties_test.rb +0 -66
- data/test/unit/error_test.rb +0 -39
- data/test/unit/queues/message_test.rb +0 -40
- data/test/unit/queues/queue_test.rb +0 -64
- data/test/unit/queues/service_properties.rb +0 -35
- data/test/unit/request_test.rb +0 -38
- data/test/unit/response_test.rb +0 -43
- data/test/unit/service_bus/auth/authorizer_test.rb +0 -27
- data/test/unit/service_bus/auth/wrap_token_test.rb +0 -28
- data/test/unit/service_bus/queues/queue_test.rb +0 -38
- data/test/unit/service_bus/topics/topic_test.rb +0 -33
- data/test/unit/service_runtime/data/goalstate.xml +0 -9
- data/test/unit/service_runtime/data/roleenvironmentdata.xml +0 -29
- data/test/unit/service_runtime/data/runtime.xml +0 -6
- data/test/unit/service_runtime/role_environment_test.rb +0 -144
- data/test/unit/tables/auth/shared_key_lite_test.rb +0 -39
- data/test/unit/tables/auth/shared_key_test.rb +0 -45
- data/test/unit/tables/entities_collection_test.rb +0 -39
- data/test/unit/tables/entity_test.rb +0 -72
- data/test/unit/tables/table_test.rb +0 -57
- data/test/unit/tables_test.rb +0 -302
- data/test/unit/types_test.rb +0 -67
data/lib/azure/queues/queue.rb
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
require "azure/queues"
|
|
2
|
-
require "azure/queues/uri"
|
|
3
|
-
require "azure/error"
|
|
4
|
-
require "uri"
|
|
5
|
-
|
|
6
|
-
module Azure
|
|
7
|
-
module Queues
|
|
8
|
-
# Public: Representation of a Queue in the storage system.
|
|
9
|
-
class Queue
|
|
10
|
-
include Azure::ErrorHandler
|
|
11
|
-
|
|
12
|
-
# Get the Queue's URI.
|
|
13
|
-
#
|
|
14
|
-
# Returns a URI.
|
|
15
|
-
attr :url
|
|
16
|
-
|
|
17
|
-
# Get the Queue's name.
|
|
18
|
-
#
|
|
19
|
-
# Returns a String.
|
|
20
|
-
attr :name
|
|
21
|
-
|
|
22
|
-
# Get the Queue's metadata.
|
|
23
|
-
#
|
|
24
|
-
# Returns a Hash.
|
|
25
|
-
attr_accessor :metadata
|
|
26
|
-
|
|
27
|
-
# Public: Instantiate a queue from an XML entry.
|
|
28
|
-
#
|
|
29
|
-
# entry - An XML::Node element.
|
|
30
|
-
#
|
|
31
|
-
# Returns a Queue.
|
|
32
|
-
def self.from_node(node)
|
|
33
|
-
name = (node % "Name").text
|
|
34
|
-
url = URI((node % "Url").text)
|
|
35
|
-
|
|
36
|
-
metadata = (node / "Metadata *").each_with_object({}) do |n, metadata|
|
|
37
|
-
metadata[n.name] = n.text
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
new(name, url, metadata)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# Public: Instantiate a queue from an error object.
|
|
44
|
-
#
|
|
45
|
-
# error - An Azure::Error.
|
|
46
|
-
#
|
|
47
|
-
# Returns a Queue.
|
|
48
|
-
def self.from_error(error)
|
|
49
|
-
queue = new(nil)
|
|
50
|
-
queue.error = error
|
|
51
|
-
queue
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# Public: Initialize the queue.
|
|
55
|
-
#
|
|
56
|
-
# name - A String with the name of the queue.
|
|
57
|
-
# url - The URI of the queue in the service.
|
|
58
|
-
# metadata - A Hash with metadata key-value pairs.
|
|
59
|
-
# service - The Queue service to perform external calls.
|
|
60
|
-
def initialize(name, url=Azure::Queues::URI.queue(name), metadata = {}, service=Azure::Queues)
|
|
61
|
-
@name = name
|
|
62
|
-
@url = url
|
|
63
|
-
@metadata = metadata
|
|
64
|
-
@service = service
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
# Public: Add a message into the queue.
|
|
68
|
-
#
|
|
69
|
-
# message - An Azure::Queues::Message.
|
|
70
|
-
#
|
|
71
|
-
# Returns self.
|
|
72
|
-
def push(message)
|
|
73
|
-
message = Message(message)
|
|
74
|
-
|
|
75
|
-
@service.put_message(self, message, {
|
|
76
|
-
visibilitytimeout: message.visibility_timeout,
|
|
77
|
-
messagettl: message.ttl
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
self
|
|
81
|
-
end
|
|
82
|
-
alias_method :<<, :push
|
|
83
|
-
alias_method :enq, :push
|
|
84
|
-
|
|
85
|
-
# Public: Get the latest message from the queue.
|
|
86
|
-
#
|
|
87
|
-
# options - A Hash of options (optional):
|
|
88
|
-
# :visibilitytimeout - Update the message returned to be
|
|
89
|
-
# invisible for this many seconds
|
|
90
|
-
# (default: 0).
|
|
91
|
-
#
|
|
92
|
-
# Returns the message, or nil if the queue is empty.
|
|
93
|
-
def pop(options={})
|
|
94
|
-
get(1, options).first
|
|
95
|
-
end
|
|
96
|
-
alias_method :deq, :pop
|
|
97
|
-
alias_method :shift, :pop
|
|
98
|
-
|
|
99
|
-
# Public: Get a list of messages from the queue.
|
|
100
|
-
#
|
|
101
|
-
# num - The amount of messages to peek (must be 1 <= num <= 32).
|
|
102
|
-
# options - A Hash of options (optional):
|
|
103
|
-
# :visibilitytimeout - Update the messages returned to be
|
|
104
|
-
# invisible for this many seconds (must be
|
|
105
|
-
# 1 second <= timeout <= 7 days).
|
|
106
|
-
# (default: 1 second).
|
|
107
|
-
#
|
|
108
|
-
# Returns an Array of Messages.
|
|
109
|
-
def get(num, options={})
|
|
110
|
-
options[:numofmessages] = num
|
|
111
|
-
@service.get_messages(self, options)
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
# Public: Peek the latest message from the queue (without changing its
|
|
115
|
-
# visibility).
|
|
116
|
-
#
|
|
117
|
-
# Returns the message, or nil if the queue is empty.
|
|
118
|
-
def peek
|
|
119
|
-
look_at(1).first
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
# Public: Peek a list of messages from the queue (without changing their
|
|
123
|
-
# visibility).
|
|
124
|
-
#
|
|
125
|
-
# num - The amount of messages to peek (must be 1 <= num <= 32).
|
|
126
|
-
#
|
|
127
|
-
# Returns an Array of Messages.
|
|
128
|
-
def look_at(num)
|
|
129
|
-
@service.peek_messages(self, numofmessages: num)
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
# Public: Remove all messages from the queue.
|
|
133
|
-
#
|
|
134
|
-
# Returns true|false to indicate success.
|
|
135
|
-
def clear
|
|
136
|
-
@service.clear_messages(self)
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
# Public: Compare two queues to see if they are the same.
|
|
140
|
-
#
|
|
141
|
-
# other - A queue.
|
|
142
|
-
#
|
|
143
|
-
# Returns true|false.
|
|
144
|
-
def ==(other)
|
|
145
|
-
name == other.name
|
|
146
|
-
end
|
|
147
|
-
|
|
148
|
-
# Public: Force a reload of this queue metadata from the server.
|
|
149
|
-
#
|
|
150
|
-
# Returns the Hash of metadata.
|
|
151
|
-
def load_metadata!
|
|
152
|
-
@service.load_metadata(self)
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
# Public: Put the current queue's metadata into the storage service.
|
|
156
|
-
#
|
|
157
|
-
# Returns true|false to indicate success.
|
|
158
|
-
def save_metadata!
|
|
159
|
-
@service.save_metadata(self)
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
# Public: Extracts metadata from a hash containing HTTP headers (so
|
|
163
|
-
# "x-ms-meta-Name" => "Foo" is extracted as "Name" => "Foo"). This
|
|
164
|
-
# replaces the metadata of this container.
|
|
165
|
-
#
|
|
166
|
-
# hash - A hash of String => String with HTTP header values.
|
|
167
|
-
#
|
|
168
|
-
# Returns a Hash with the extracted metadata.
|
|
169
|
-
def extract_metadata(hash)
|
|
170
|
-
new_metadata = hash.each_with_object({}) do |(k,v), hash|
|
|
171
|
-
if key = k[/^x-ms-meta-(?<key>.*)?/, :key]
|
|
172
|
-
hash[key] = v
|
|
173
|
-
end
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
metadata.replace(new_metadata)
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
# Public: Deletes this queue from the storage service.
|
|
180
|
-
#
|
|
181
|
-
# Returns true|false to indicate whether the delete was successful or not.
|
|
182
|
-
def delete
|
|
183
|
-
@service.delete(self)
|
|
184
|
-
end
|
|
185
|
-
end
|
|
186
|
-
end
|
|
187
|
-
end
|
data/lib/azure/queues/service.rb
DELETED
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
require "azure/core/service"
|
|
2
|
-
require "azure/core/auth/shared_key"
|
|
3
|
-
require "azure/queues/uri"
|
|
4
|
-
require "nokogiri"
|
|
5
|
-
|
|
6
|
-
module Azure
|
|
7
|
-
module Queues
|
|
8
|
-
|
|
9
|
-
class Service < Core::Service
|
|
10
|
-
def initialize(signer=Azure::Core::Auth::SharedKey.new)
|
|
11
|
-
super(signer)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
module Services
|
|
16
|
-
|
|
17
|
-
# Public: gets the properties of a storage account’s Queue Service.
|
|
18
|
-
class GetServiceProperties < Service
|
|
19
|
-
|
|
20
|
-
# Public: Invoke the service.
|
|
21
|
-
#
|
|
22
|
-
# options - Options for this query:
|
|
23
|
-
# :timeout - (optional) timeout for the request in seconds
|
|
24
|
-
#
|
|
25
|
-
# Returns a Response.
|
|
26
|
-
def call(options = {})
|
|
27
|
-
uri = Queues::URI.service_properties(options)
|
|
28
|
-
|
|
29
|
-
super(:get, uri)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# Public: sets the properties of a storage account’s Queue Service.
|
|
34
|
-
class SetServiceProperties < Service
|
|
35
|
-
|
|
36
|
-
# Public: Invoke the service.
|
|
37
|
-
#
|
|
38
|
-
# properties - an Azure::Queues::ServiceProperties object
|
|
39
|
-
# options - Options for this query:
|
|
40
|
-
# :timeout - (optional) timeout for the request in seconds
|
|
41
|
-
#
|
|
42
|
-
# Returns a Response.
|
|
43
|
-
def call(properties, options = {})
|
|
44
|
-
uri = Queues::URI.service_properties(options)
|
|
45
|
-
|
|
46
|
-
body = properties.to_xml
|
|
47
|
-
|
|
48
|
-
super(:put, uri, body)
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
# Public: List queues from a storage account
|
|
53
|
-
class ListQueues < Service
|
|
54
|
-
# Public: Invoke the service.
|
|
55
|
-
#
|
|
56
|
-
# options - A hash of options
|
|
57
|
-
# :prefix - Filters the results to return only
|
|
58
|
-
# queues with names that begin with the
|
|
59
|
-
# specified prefix.
|
|
60
|
-
# :marker - A string value that identifies the
|
|
61
|
-
# portion of the list to be returned
|
|
62
|
-
# with the next list operation.
|
|
63
|
-
# :maxresults - Specifies the maximum number of queues
|
|
64
|
-
# to return.
|
|
65
|
-
#
|
|
66
|
-
# Returns a Response.
|
|
67
|
-
def call(options)
|
|
68
|
-
uri = Queues::URI.collection(options)
|
|
69
|
-
super(:get, uri)
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# Public: Add a queue to the storage account.
|
|
74
|
-
class CreateQueue < Service
|
|
75
|
-
|
|
76
|
-
# Public: Invoke the service.
|
|
77
|
-
#
|
|
78
|
-
# name - The name of the new container.
|
|
79
|
-
# metadata - User defined metadata for this queue (default: {}).
|
|
80
|
-
#
|
|
81
|
-
# Returns a Response.
|
|
82
|
-
def call(name, metadata = {})
|
|
83
|
-
uri = Queues::URI.queue(name)
|
|
84
|
-
|
|
85
|
-
super(:put, uri) do |request|
|
|
86
|
-
metadata.each do |name, value|
|
|
87
|
-
request.headers["x-ms-meta-#{name}"] = value
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
# Public: Deletes a queue from the storage account.
|
|
94
|
-
class DeleteQueue < Service
|
|
95
|
-
|
|
96
|
-
# Public: Invoke the service.
|
|
97
|
-
#
|
|
98
|
-
# name - The name of the queue.
|
|
99
|
-
#
|
|
100
|
-
# Returns a Response.
|
|
101
|
-
def call(name)
|
|
102
|
-
uri = Queues::URI.queue(name)
|
|
103
|
-
super(:delete, uri)
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
# Public: Get queue metadata
|
|
108
|
-
class GetMetadata < Service
|
|
109
|
-
# Public: Invoke the service.
|
|
110
|
-
#
|
|
111
|
-
# name - The queue name.
|
|
112
|
-
#
|
|
113
|
-
# Returns a Response.
|
|
114
|
-
def call(name)
|
|
115
|
-
uri = Queues::URI.queue(name, comp: "metadata")
|
|
116
|
-
super(:head, uri)
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
# Public: Set queue metadata.
|
|
121
|
-
class SetMetadata < Service
|
|
122
|
-
# Public: Invoke the service.
|
|
123
|
-
#
|
|
124
|
-
# name - The queue name.
|
|
125
|
-
# metadata - User defined metadata for this queue.
|
|
126
|
-
#
|
|
127
|
-
# Returns a Response.
|
|
128
|
-
def call(name, metadata)
|
|
129
|
-
uri = Queues::URI.queue(name, comp: "metadata")
|
|
130
|
-
|
|
131
|
-
super(:put, uri) do |request|
|
|
132
|
-
metadata.each do |name, value|
|
|
133
|
-
request.headers["x-ms-meta-#{name}"] = value
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
## Messages
|
|
140
|
-
|
|
141
|
-
# Public: Add a message to the message queue
|
|
142
|
-
class PutMessage < Service
|
|
143
|
-
# Public: Invoke the service.
|
|
144
|
-
#
|
|
145
|
-
# queue_name - The name of the queue.
|
|
146
|
-
# text - The message's text.
|
|
147
|
-
# options - A Hash of options for this message (optional):
|
|
148
|
-
# :visibilitytimeout - Amount of seconds during which the
|
|
149
|
-
# message will be invisible
|
|
150
|
-
# (default: 0).
|
|
151
|
-
# :messagettl - Time in seconds until the message is
|
|
152
|
-
# unreacable, between 1 second and 7
|
|
153
|
-
# days (default: 7 days).
|
|
154
|
-
#
|
|
155
|
-
# Returns a Response.
|
|
156
|
-
def call(queue_name, text, options = {})
|
|
157
|
-
uri = Queues::URI.messages(queue_name, options)
|
|
158
|
-
|
|
159
|
-
body = Nokogiri::XML::Builder.new do |xml|
|
|
160
|
-
xml.QueueMessage {
|
|
161
|
-
xml.MessageText text
|
|
162
|
-
}
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
super(:post, uri, body.to_xml)
|
|
166
|
-
end
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
# Public: Get a list of messages from the front of the message queue.
|
|
170
|
-
class GetMessages < Service
|
|
171
|
-
# Public: Invoke the service.
|
|
172
|
-
#
|
|
173
|
-
# queue_name - The name of the message queue.
|
|
174
|
-
# options - A Hash of options for this operation (optional):
|
|
175
|
-
# :visibilitytimeout - Update the returned messages'
|
|
176
|
-
# visibilitytimeout to this number (at
|
|
177
|
-
# least 1, the default).
|
|
178
|
-
# :numofmessages - A number between 1 and 32 of messages
|
|
179
|
-
# to return (default: 1).
|
|
180
|
-
#
|
|
181
|
-
# Returns a Response.
|
|
182
|
-
def call(queue_name, options={})
|
|
183
|
-
uri = Queues::URI.messages(queue_name, options)
|
|
184
|
-
super(:get, uri)
|
|
185
|
-
end
|
|
186
|
-
end
|
|
187
|
-
|
|
188
|
-
# Public: Peek at a list of messages from the front of the message queue.
|
|
189
|
-
class PeekMessages < Service
|
|
190
|
-
# Public: Invoke the service.
|
|
191
|
-
#
|
|
192
|
-
# queue_name - The name of the message queue.
|
|
193
|
-
# options - A Hash of options for this operation (optional):
|
|
194
|
-
# :numofmessages - A number between 1 and 32 of messages
|
|
195
|
-
# to return (default: 1).
|
|
196
|
-
#
|
|
197
|
-
# Returns a Response.
|
|
198
|
-
def call(queue_name, options={})
|
|
199
|
-
options.update(peekonly: 'true')
|
|
200
|
-
uri = Queues::URI.messages(queue_name, options)
|
|
201
|
-
super(:get, uri)
|
|
202
|
-
end
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
# Public: Deletes a message from the message queue.
|
|
206
|
-
class DeleteMessage < Service
|
|
207
|
-
# Public: Invoke the service.
|
|
208
|
-
#
|
|
209
|
-
# queue_name - The name of the message queue.
|
|
210
|
-
# message_id - The message id.
|
|
211
|
-
# pop_receipt - The receipt of a previous pop operation on this message.
|
|
212
|
-
#
|
|
213
|
-
# Returns a Response.
|
|
214
|
-
def call(queue_name, message_id, pop_receipt)
|
|
215
|
-
uri = Queues::URI.message(
|
|
216
|
-
queue_name, message_id, popreceipt: pop_receipt
|
|
217
|
-
)
|
|
218
|
-
super(:delete, uri)
|
|
219
|
-
end
|
|
220
|
-
end
|
|
221
|
-
|
|
222
|
-
# Public: Deletes all messages on the given queue.
|
|
223
|
-
class ClearMessages < Service
|
|
224
|
-
# Public: Invoke the service.
|
|
225
|
-
#
|
|
226
|
-
# queue_name - The name of the queue.
|
|
227
|
-
#
|
|
228
|
-
# Returns a Response.
|
|
229
|
-
def call(queue_name)
|
|
230
|
-
uri = Queues::URI.messages(queue_name)
|
|
231
|
-
super(:delete, uri)
|
|
232
|
-
end
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
# Public: Update a message from the message queue.
|
|
236
|
-
class UpdateMessage < Service
|
|
237
|
-
# Public: Invoke the service.
|
|
238
|
-
#
|
|
239
|
-
# queue_name - The name of the message queue.
|
|
240
|
-
# message_id - The message's id.
|
|
241
|
-
# text - The message's new text.
|
|
242
|
-
# timeout - A New visibilitytimeout for the message.
|
|
243
|
-
# pop_receipt - The receipt of a previous pop operation on this message.
|
|
244
|
-
#
|
|
245
|
-
# Returns a Response.
|
|
246
|
-
def call(queue_name, message_id, text, timeout, pop_receipt)
|
|
247
|
-
uri = Queues::URI.message(queue_name, message_id, {
|
|
248
|
-
popreceipt: pop_receipt, visibilitytimeout: timeout
|
|
249
|
-
})
|
|
250
|
-
|
|
251
|
-
body = Nokogiri::XML::Builder.new do |xml|
|
|
252
|
-
xml.QueueMessage {
|
|
253
|
-
xml.MessageText text
|
|
254
|
-
}
|
|
255
|
-
end
|
|
256
|
-
|
|
257
|
-
super(:put, uri, body.to_xml)
|
|
258
|
-
end
|
|
259
|
-
end
|
|
260
|
-
|
|
261
|
-
end
|
|
262
|
-
end
|
|
263
|
-
end
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
require "azure/queues"
|
|
2
|
-
require "azure/queues/uri"
|
|
3
|
-
require "azure/error"
|
|
4
|
-
require "uri"
|
|
5
|
-
require "nokogiri"
|
|
6
|
-
|
|
7
|
-
module Azure
|
|
8
|
-
module Queues
|
|
9
|
-
# Public: Representation of the Service Properties in a message queue.
|
|
10
|
-
class ServiceProperties
|
|
11
|
-
include Azure::ErrorHandler
|
|
12
|
-
|
|
13
|
-
# Public: Instantiate a ServiceProperties from an XML entry.
|
|
14
|
-
#
|
|
15
|
-
# entry - An XML::Node element.
|
|
16
|
-
#
|
|
17
|
-
# Returns a Serviceproperties.
|
|
18
|
-
def self.from_node(node)
|
|
19
|
-
new() do |s|
|
|
20
|
-
s.logging = Logging.from_node(node % "Logging")
|
|
21
|
-
s.metrics = Metrics.from_node(node % "Metrics")
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Public: Instantiate a message from an error object.
|
|
26
|
-
#
|
|
27
|
-
# error - An Azure::Error.
|
|
28
|
-
#
|
|
29
|
-
# Returns a Message.
|
|
30
|
-
def self.from_error(error)
|
|
31
|
-
message = new(nil)
|
|
32
|
-
message.error = error
|
|
33
|
-
message
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
attr_accessor :logging, :metrics
|
|
37
|
-
|
|
38
|
-
# Public: Constructor.
|
|
39
|
-
#
|
|
40
|
-
# queue - The message queue
|
|
41
|
-
# service - The Queue service to perform external calls.
|
|
42
|
-
def initialize(service=Azure::Queues)
|
|
43
|
-
@service = service
|
|
44
|
-
@logging = Logging.new
|
|
45
|
-
@metrics = Metrics.new
|
|
46
|
-
yield self if block_given?
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
class Logging
|
|
50
|
-
attr_accessor :version, :delete, :read, :write, :retention_policy
|
|
51
|
-
|
|
52
|
-
def initialize
|
|
53
|
-
@version = "1.0"
|
|
54
|
-
@read = false
|
|
55
|
-
@write = false
|
|
56
|
-
@delete = false
|
|
57
|
-
@retention_policy = RetentionPolicy.new
|
|
58
|
-
yield self if block_given?
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Public: Instantiate a Logging from an XML entry.
|
|
62
|
-
#
|
|
63
|
-
# entry - An XML::Node element.
|
|
64
|
-
#
|
|
65
|
-
# Returns a Logging.
|
|
66
|
-
def self.from_node(node)
|
|
67
|
-
new() do |l|
|
|
68
|
-
l.version = (node % "Version").text
|
|
69
|
-
l.read = (node % "Read").text == "true"
|
|
70
|
-
l.write = (node % "Write").text == "true"
|
|
71
|
-
l.delete = (node % "Delete").text == "true"
|
|
72
|
-
l.retention_policy = RetentionPolicy.from_node(node % "RetentionPolicy")
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
class Metrics
|
|
78
|
-
attr_accessor :version, :enabled, :include_apis, :retention_policy
|
|
79
|
-
|
|
80
|
-
def initialize
|
|
81
|
-
@version = "1.0"
|
|
82
|
-
@enabled = false
|
|
83
|
-
@include_apis = false
|
|
84
|
-
@retention_policy = RetentionPolicy.new
|
|
85
|
-
yield self if block_given?
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
# Public: Instantiate a Metrics from an XML entry.
|
|
89
|
-
#
|
|
90
|
-
# entry - An XML::Node element.
|
|
91
|
-
#
|
|
92
|
-
# Returns a Metrics.
|
|
93
|
-
def self.from_node(node)
|
|
94
|
-
new() do |m|
|
|
95
|
-
m.version = (node % "Version").text
|
|
96
|
-
m.enabled = (node % "Enabled").text == "true"
|
|
97
|
-
m.include_apis = (node % "IncludeAPIs").text == "true" unless (node % "IncludeAPIs").nil?
|
|
98
|
-
m.retention_policy = RetentionPolicy.from_node(node % "RetentionPolicy")
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
class RetentionPolicy
|
|
104
|
-
attr_accessor :enabled, :days
|
|
105
|
-
|
|
106
|
-
def initialize
|
|
107
|
-
@enabled = false
|
|
108
|
-
yield self if block_given?
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
# Public: Instantiate a RetentionPolicy from an XML entry.
|
|
112
|
-
#
|
|
113
|
-
# entry - An XML::Node element.
|
|
114
|
-
#
|
|
115
|
-
# Returns a RetentionPolicy.
|
|
116
|
-
def self.from_node(node)
|
|
117
|
-
new() do |m|
|
|
118
|
-
m.enabled = (node % "Enabled").text == "true"
|
|
119
|
-
m.days = (node % "Days").text unless (node % "Days").nil?
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
def to_xml
|
|
125
|
-
body = Nokogiri::XML::Builder.new do |xml|
|
|
126
|
-
xml.StorageServiceProperties {
|
|
127
|
-
xml.Logging {
|
|
128
|
-
xml.Version logging.version
|
|
129
|
-
xml.Delete logging.delete
|
|
130
|
-
xml.Read logging.read
|
|
131
|
-
xml.Write logging.write
|
|
132
|
-
xml.RetentionPolicy {
|
|
133
|
-
xml.Enabled logging.retention_policy.enabled
|
|
134
|
-
xml.Days logging.retention_policy.days if logging.retention_policy.enabled
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
xml.Metrics {
|
|
138
|
-
xml.Version metrics.version
|
|
139
|
-
xml.Enabled metrics.enabled
|
|
140
|
-
xml.IncludeAPIs metrics.include_apis unless metrics.include_apis.nil?
|
|
141
|
-
xml.RetentionPolicy {
|
|
142
|
-
xml.Enabled metrics.retention_policy.enabled
|
|
143
|
-
xml.Days metrics.retention_policy.days if metrics.retention_policy.enabled
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
end
|
|
148
|
-
body.to_xml
|
|
149
|
-
end
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
end
|