stuartpreston-azure-sdk-for-ruby 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +11 -11
- data/.travis.yml +10 -10
- data/ChangeLog.txt +70 -68
- data/Gemfile +15 -15
- data/README.md +618 -618
- data/Rakefile +133 -133
- data/azure.gemspec +44 -44
- data/lib/azure.rb +52 -52
- data/lib/azure/base_management/affinity_group.rb +32 -32
- data/lib/azure/base_management/base_management_service.rb +304 -304
- data/lib/azure/base_management/location.rb +27 -27
- data/lib/azure/base_management/management_http_request.rb +171 -171
- data/lib/azure/base_management/serialization.rb +129 -129
- data/lib/azure/base_management/sql_management_http_request.rb +45 -45
- data/lib/azure/blob/blob.rb +31 -31
- data/lib/azure/blob/blob_service.rb +1423 -1423
- data/lib/azure/blob/block.rb +30 -30
- data/lib/azure/blob/container.rb +31 -31
- data/lib/azure/blob/serialization.rb +284 -284
- data/lib/azure/cloud_service_management/cloud_service.rb +38 -38
- data/lib/azure/cloud_service_management/cloud_service_management_service.rb +140 -140
- data/lib/azure/cloud_service_management/serialization.rb +117 -117
- data/lib/azure/core.rb +39 -39
- data/lib/azure/core/auth/authorizer.rb +36 -36
- data/lib/azure/core/auth/shared_key.rb +110 -110
- data/lib/azure/core/auth/shared_key_lite.rb +48 -48
- data/lib/azure/core/auth/signer.rb +48 -48
- data/lib/azure/core/configuration.rb +211 -211
- data/lib/azure/core/error.rb +22 -22
- data/lib/azure/core/filtered_service.rb +43 -43
- data/lib/azure/core/http/debug_filter.rb +35 -35
- data/lib/azure/core/http/http_error.rb +88 -88
- data/lib/azure/core/http/http_filter.rb +52 -52
- data/lib/azure/core/http/http_request.rb +157 -157
- data/lib/azure/core/http/http_response.rb +140 -140
- data/lib/azure/core/http/retry_policy.rb +73 -73
- data/lib/azure/core/http/signer_filter.rb +33 -33
- data/lib/azure/core/service.rb +62 -62
- data/lib/azure/core/signed_service.rb +42 -42
- data/lib/azure/core/utility.rb +190 -190
- data/lib/azure/queue/message.rb +29 -29
- data/lib/azure/queue/queue.rb +28 -28
- data/lib/azure/queue/queue_service.rb +567 -567
- data/lib/azure/queue/serialization.rb +106 -106
- data/lib/azure/service/access_policy.rb +25 -25
- data/lib/azure/service/cors.rb +11 -11
- data/lib/azure/service/cors_rule.rb +15 -15
- data/lib/azure/service/enumeration_results.rb +20 -20
- data/lib/azure/service/logging.rb +31 -31
- data/lib/azure/service/metrics.rb +30 -30
- data/lib/azure/service/retention_policy.rb +24 -24
- data/lib/azure/service/serialization.rb +297 -297
- data/lib/azure/service/signed_identifier.rb +29 -29
- data/lib/azure/service/storage_service.rb +82 -82
- data/lib/azure/service/storage_service_properties.rb +37 -37
- data/lib/azure/service_bus/action.rb +21 -21
- data/lib/azure/service_bus/auth/wrap_service.rb +88 -88
- data/lib/azure/service_bus/auth/wrap_signer.rb +68 -68
- data/lib/azure/service_bus/brokered_message.rb +123 -123
- data/lib/azure/service_bus/brokered_message_serializer.rb +159 -159
- data/lib/azure/service_bus/correlation_filter.rb +45 -45
- data/lib/azure/service_bus/empty_rule_action.rb +29 -29
- data/lib/azure/service_bus/false_filter.rb +38 -38
- data/lib/azure/service_bus/filter.rb +21 -21
- data/lib/azure/service_bus/interval.rb +103 -103
- data/lib/azure/service_bus/queue.rb +229 -229
- data/lib/azure/service_bus/relay.rb +87 -87
- data/lib/azure/service_bus/resource.rb +108 -108
- data/lib/azure/service_bus/rule.rb +97 -97
- data/lib/azure/service_bus/rule_aspect.rb +34 -34
- data/lib/azure/service_bus/serialization.rb +161 -161
- data/lib/azure/service_bus/service_bus_service.rb +896 -896
- data/lib/azure/service_bus/sql_filter.rb +50 -50
- data/lib/azure/service_bus/sql_rule_action.rb +50 -50
- data/lib/azure/service_bus/subscription.rb +183 -183
- data/lib/azure/service_bus/topic.rb +186 -186
- data/lib/azure/service_bus/true_filter.rb +38 -38
- data/lib/azure/sql_database_management/serialization.rb +111 -111
- data/lib/azure/sql_database_management/sql_database.rb +31 -31
- data/lib/azure/sql_database_management/sql_database_management_service.rb +200 -200
- data/lib/azure/storage_management/serialization.rb +184 -184
- data/lib/azure/storage_management/storage_account.rb +40 -40
- data/lib/azure/storage_management/storage_management_service.rb +166 -166
- data/lib/azure/table/auth/shared_key.rb +92 -92
- data/lib/azure/table/auth/shared_key_lite.rb +44 -44
- data/lib/azure/table/batch.rb +329 -329
- data/lib/azure/table/batch_response.rb +118 -118
- data/lib/azure/table/edmtype.rb +126 -126
- data/lib/azure/table/entity.rb +30 -30
- data/lib/azure/table/guid.rb +23 -23
- data/lib/azure/table/query.rb +111 -111
- data/lib/azure/table/serialization.rb +107 -107
- data/lib/azure/table/table_service.rb +559 -559
- data/lib/azure/version.rb +31 -31
- data/lib/azure/virtual_machine_image_management/serialization.rb +66 -66
- data/lib/azure/virtual_machine_image_management/virtual_machine_disk.rb +25 -25
- data/lib/azure/virtual_machine_image_management/virtual_machine_image.rb +25 -25
- data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +94 -94
- data/lib/azure/virtual_machine_management/serialization.rb +462 -462
- data/lib/azure/virtual_machine_management/virtual_machine.rb +45 -45
- data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +588 -588
- data/lib/azure/virtual_network_management/serialization.rb +190 -190
- data/lib/azure/virtual_network_management/virtual_network.rb +37 -37
- data/lib/azure/virtual_network_management/virtual_network_management_service.rb +109 -109
- data/test/fixtures/affinity_group.xml +33 -33
- data/test/fixtures/all_containers.xml +20 -20
- data/test/fixtures/all_tables.xml +22 -22
- data/test/fixtures/certificate.pem +21 -21
- data/test/fixtures/container_acl.xml +11 -11
- data/test/fixtures/create_sql_database_server.xml +1 -1
- data/test/fixtures/create_storage_desc_error.xml +5 -5
- data/test/fixtures/create_storage_extendedprop_error.xml +8 -8
- data/test/fixtures/create_storage_extendedpropname_error.xml +6 -6
- data/test/fixtures/create_storage_full_error.xml +6 -6
- data/test/fixtures/create_storage_label_error.xml +5 -5
- data/test/fixtures/create_storage_location_error.xml +5 -5
- data/test/fixtures/create_storage_name_error.xml +6 -6
- data/test/fixtures/create_table_response_entry.xml +15 -15
- data/test/fixtures/delete_storage_container_error.xml +5 -5
- data/test/fixtures/delete_storage_error.xml +5 -5
- data/test/fixtures/deployment_error.xml +5 -5
- data/test/fixtures/get_storage_account_error.xml +5 -5
- data/test/fixtures/get_storage_account_properties.xml +31 -31
- data/test/fixtures/get_storage_account_properties_new.xml +31 -31
- data/test/fixtures/http_error.xml +5 -5
- data/test/fixtures/insert_entity_response_entry.xml +25 -25
- data/test/fixtures/list_affinity_groups.xml +22 -22
- data/test/fixtures/list_blobs.xml +120 -120
- data/test/fixtures/list_block_all_with_none_committed.xml +21 -21
- data/test/fixtures/list_blocks_all.xml +22 -22
- data/test/fixtures/list_blocks_committed.xml +12 -12
- data/test/fixtures/list_cloud_services.xml +38 -38
- data/test/fixtures/list_containers.xml +37 -37
- data/test/fixtures/list_firewall_management_endpoint.xml +27 -27
- data/test/fixtures/list_images.xml +110 -110
- data/test/fixtures/list_locations.xml +62 -62
- data/test/fixtures/list_page_ranges.xml +10 -10
- data/test/fixtures/list_sql_database.xml +36 -36
- data/test/fixtures/list_sql_server_firewall.xml +23 -23
- data/test/fixtures/list_storage_account_single.xml +24 -24
- data/test/fixtures/list_storage_accounts.xml +45 -45
- data/test/fixtures/list_virtual_networks.xml +92 -92
- data/test/fixtures/logging.xml +11 -11
- data/test/fixtures/management_certificate.pem +55 -55
- data/test/fixtures/messages.xml +12 -12
- data/test/fixtures/metrics.xml +10 -10
- data/test/fixtures/privatekey.key +28 -28
- data/test/fixtures/query_entities_empty_response.xml +7 -7
- data/test/fixtures/query_entities_response.xml +45 -45
- data/test/fixtures/queue_service_properties.xml +22 -22
- data/test/fixtures/queue_service_properties_original.xml +19 -19
- data/test/fixtures/queues.xml +16 -16
- data/test/fixtures/retention_policy.xml +5 -5
- data/test/fixtures/sb_default_create_queue_response.xml +23 -23
- data/test/fixtures/sb_default_create_relay_response.xml +15 -15
- data/test/fixtures/sb_default_create_topic_response.xml +18 -18
- data/test/fixtures/sb_get_access_token_response.txt +1 -1
- data/test/fixtures/sb_queues_runtime_peek_message_response_headers.txt +9 -9
- data/test/fixtures/storage_service_properties.xml +54 -54
- data/test/fixtures/update_storage_account.xml +16 -16
- data/test/fixtures/update_storage_error.xml +4 -4
- data/test/fixtures/updated_storage_accounts.xml +52 -52
- data/test/fixtures/virtual_machine.xml +113 -113
- data/test/fixtures/windows_virtual_machine.xml +106 -106
- data/test/integration/affinity_group/Affinity_test.rb +55 -55
- data/test/integration/affinity_group/Create_Affinity_test.rb +63 -63
- data/test/integration/affinity_group/Delete_Affinity_test.rb +56 -56
- data/test/integration/affinity_group/List_Affinity_test.rb +41 -41
- data/test/integration/affinity_group/Update_Affinity_test.rb +82 -82
- data/test/integration/blob/blob_gb18030_test.rb +199 -199
- data/test/integration/blob/blob_metadata_test.rb +75 -75
- data/test/integration/blob/blob_pages_test.rb +119 -119
- data/test/integration/blob/blob_properties_test.rb +77 -77
- data/test/integration/blob/block_blob_test.rb +254 -254
- data/test/integration/blob/container/container_acl_test.rb +69 -69
- data/test/integration/blob/container/container_metadata_test.rb +50 -50
- data/test/integration/blob/container/create_container_test.rb +60 -60
- data/test/integration/blob/container/delete_container_test.rb +39 -39
- data/test/integration/blob/container/get_container_properties_test.rb +48 -48
- data/test/integration/blob/container/list_containers_test.rb +79 -79
- data/test/integration/blob/container/root_container_test.rb +53 -53
- data/test/integration/blob/copy_blob_test.rb +113 -113
- data/test/integration/blob/create_blob_snapshot_test.rb +80 -80
- data/test/integration/blob/create_page_blob_test.rb +83 -83
- data/test/integration/blob/delete_blob_test.rb +159 -159
- data/test/integration/blob/get_blob_test.rb +65 -65
- data/test/integration/blob/informative_errors_test.rb +38 -38
- data/test/integration/blob/lease/acquire_lease_test.rb +36 -36
- data/test/integration/blob/lease/break_lease_test.rb +40 -40
- data/test/integration/blob/lease/release_lease_test.rb +40 -40
- data/test/integration/blob/lease/renew_lease_test.rb +42 -42
- data/test/integration/blob/list_blobs_test.rb +113 -113
- data/test/integration/cloud_service/Cloud_Create_test.rb +44 -44
- data/test/integration/cloud_service/Cloud_Delete_test.rb +44 -44
- data/test/integration/database/create_sql_server_firewall_test.rb +86 -86
- data/test/integration/database/create_sql_server_test.rb +53 -53
- data/test/integration/database/delete_sql_server_firewall_test.rb +70 -70
- data/test/integration/database/delete_sql_server_test.rb +58 -58
- data/test/integration/database/list_sql_server_firewall_test.rb +45 -45
- data/test/integration/database/list_sql_servers_test.rb +44 -44
- data/test/integration/database/reset_password_sql_server_test.rb +55 -55
- data/test/integration/location/Location_List_test.rb +39 -39
- data/test/integration/queue/clear_messages_test.rb +42 -42
- data/test/integration/queue/create_message_test.rb +75 -75
- data/test/integration/queue/create_queue_test.rb +50 -50
- data/test/integration/queue/delete_message_test.rb +67 -67
- data/test/integration/queue/delete_queue_test.rb +45 -45
- data/test/integration/queue/informative_errors_test.rb +41 -41
- data/test/integration/queue/list_messages_encoded_test.rb +79 -79
- data/test/integration/queue/list_messages_test.rb +79 -79
- data/test/integration/queue/list_queues_test.rb +44 -44
- data/test/integration/queue/peek_messages_test.rb +59 -59
- data/test/integration/queue/queue_gb18030_test.rb +131 -131
- data/test/integration/queue/queue_metadata_test.rb +40 -40
- data/test/integration/queue/update_message_test.rb +74 -74
- data/test/integration/service_bus/informative_errors_test.rb +36 -36
- data/test/integration/service_bus/queues_scenario_test.rb +200 -200
- data/test/integration/service_bus/queues_test.rb +265 -265
- data/test/integration/service_bus/relay_test.rb +131 -131
- data/test/integration/service_bus/rules_test.rb +144 -144
- data/test/integration/service_bus/sb_queue_gb18030_test.rb +182 -182
- data/test/integration/service_bus/scenario_test.rb +101 -101
- data/test/integration/service_bus/subscriptions_test.rb +211 -211
- data/test/integration/service_bus/topics_scenario_test.rb +406 -406
- data/test/integration/service_bus/topics_test.rb +129 -129
- data/test/integration/storage_management/storage_management_test.rb +160 -160
- data/test/integration/table/create_table_test.rb +35 -35
- data/test/integration/table/delete_entity_batch_test.rb +106 -106
- data/test/integration/table/delete_entity_test.rb +93 -93
- data/test/integration/table/delete_table_test.rb +39 -39
- data/test/integration/table/get_table_test.rb +36 -36
- data/test/integration/table/informative_errors_test.rb +38 -38
- data/test/integration/table/insert_entity_batch_test.rb +99 -99
- data/test/integration/table/insert_entity_test.rb +87 -87
- data/test/integration/table/insert_or_merge_entity_batch_test.rb +158 -158
- data/test/integration/table/insert_or_merge_entity_test.rb +142 -142
- data/test/integration/table/insert_or_replace_entity_batch_test.rb +151 -151
- data/test/integration/table/insert_or_replace_entity_test.rb +136 -136
- data/test/integration/table/merge_entity_batch_test.rb +127 -127
- data/test/integration/table/merge_entity_test.rb +112 -112
- data/test/integration/table/query_entities_test.rb +194 -194
- data/test/integration/table/query_tables_test.rb +42 -42
- data/test/integration/table/query_test.rb +250 -250
- data/test/integration/table/table_acl_test.rb +51 -51
- data/test/integration/table/table_gb18030_test.rb +355 -355
- data/test/integration/table/update_entity_batch_test.rb +148 -148
- data/test/integration/table/update_entity_test.rb +130 -130
- data/test/integration/test_helper.rb +42 -42
- data/test/integration/vm/VM_Create_test.rb +260 -260
- data/test/integration/vm/VM_Delete_test.rb +55 -55
- data/test/integration/vm/VM_Operations_test.rb +173 -173
- data/test/integration/vm_image/virtual_machine_disk_test.rb +37 -37
- data/test/integration/vm_image/virtual_machine_image_test.rb +36 -36
- data/test/integration/vnet/Virtual_Network_Create_test.rb +122 -122
- data/test/integration/vnet/Virtual_Network_list_test.rb +53 -53
- data/test/support/env.rb +19 -19
- data/test/support/fixtures.rb +36 -36
- data/test/support/name_generator.rb +168 -168
- data/test/support/stubs.rb +42 -42
- data/test/support/virtual_machine_name_generator.rb +102 -102
- data/test/support/virtual_network_helper.rb +73 -73
- data/test/test_helper.rb +53 -53
- data/test/unit/affinity_group/affinity_group_test.rb +192 -192
- data/test/unit/affinity_group/serialization_test.rb +88 -88
- data/test/unit/base_management/location_test.rb +57 -57
- data/test/unit/blob/blob_service_test.rb +1946 -1946
- data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +94 -94
- data/test/unit/cloud_service_management/serialization_test.rb +169 -169
- data/test/unit/core/auth/shared_key_lite_test.rb +51 -51
- data/test/unit/core/auth/shared_key_test.rb +58 -58
- data/test/unit/core/auth/signer_test.rb +30 -30
- data/test/unit/core/http/http_error_test.rb +57 -57
- data/test/unit/core/http/http_request_test.rb +66 -66
- data/test/unit/core/http/http_response_test.rb +45 -45
- data/test/unit/core/http/retry_policy_test.rb +23 -23
- data/test/unit/database/serialization_test.rb +97 -97
- data/test/unit/database/sql_database_server_service_test.rb +288 -288
- data/test/unit/service/serialization_test.rb +532 -532
- data/test/unit/service/storage_service_test.rb +292 -292
- data/test/unit/storage_management/serialization_test.rb +232 -232
- data/test/unit/storage_management/storage_management_service_test.rb +261 -261
- data/test/unit/table/edmtype_test.rb +107 -107
- data/test/unit/virtual_machine_image_management/serialization_test.rb +35 -35
- data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +65 -65
- data/test/unit/virtual_machine_management/serialization_test.rb +258 -258
- data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +440 -440
- data/test/unit/vnet/serialization_test.rb +187 -187
- data/test/unit/vnet/virtual_network_management_service_test.rb +131 -131
- metadata +34 -27
@@ -1,31 +1,31 @@
|
|
1
|
-
#-------------------------------------------------------------------------
|
2
|
-
# Copyright 2013 Microsoft Open Technologies, Inc.
|
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
|
-
module Azure
|
16
|
-
module SqlDatabaseManagement
|
17
|
-
class SqlDatabase
|
18
|
-
|
19
|
-
def initialize
|
20
|
-
yield self if block_given?
|
21
|
-
end
|
22
|
-
|
23
|
-
attr_accessor :name
|
24
|
-
attr_accessor :administrator_login
|
25
|
-
attr_accessor :location
|
26
|
-
attr_accessor :feature_name
|
27
|
-
attr_accessor :feature_value
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
1
|
+
#-------------------------------------------------------------------------
|
2
|
+
# Copyright 2013 Microsoft Open Technologies, Inc.
|
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
|
+
module Azure
|
16
|
+
module SqlDatabaseManagement
|
17
|
+
class SqlDatabase
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
yield self if block_given?
|
21
|
+
end
|
22
|
+
|
23
|
+
attr_accessor :name
|
24
|
+
attr_accessor :administrator_login
|
25
|
+
attr_accessor :location
|
26
|
+
attr_accessor :feature_name
|
27
|
+
attr_accessor :feature_value
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,200 +1,200 @@
|
|
1
|
-
#-------------------------------------------------------------------------
|
2
|
-
# Copyright 2013 Microsoft Open Technologies, Inc.
|
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/sql_database_management/serialization'
|
16
|
-
|
17
|
-
module Azure
|
18
|
-
module SqlDatabaseManagement
|
19
|
-
class SqlDatabaseManagementService < BaseManagementService
|
20
|
-
|
21
|
-
def initialize
|
22
|
-
super()
|
23
|
-
end
|
24
|
-
|
25
|
-
# Public: Gets a list of database servers available under the
|
26
|
-
# current subscription.
|
27
|
-
#
|
28
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715269.aspx
|
29
|
-
#
|
30
|
-
# Returns an array of Azure::SqlDatabaseManagement::SqlDatabase objects
|
31
|
-
def list_servers
|
32
|
-
request_path = '/servers'
|
33
|
-
request = SqlManagementHttpRequest.new(:get, request_path, nil)
|
34
|
-
response = request.call
|
35
|
-
Serialization.databases_from_xml(response)
|
36
|
-
end
|
37
|
-
|
38
|
-
# Public: Create a new database server in Windows Azure.
|
39
|
-
#
|
40
|
-
# ==== Attributes
|
41
|
-
#
|
42
|
-
# * +login+ - String. The administrator login name.
|
43
|
-
# * +password+ - String. The administrator login password.
|
44
|
-
# * +:location+ - String. The location where the database server will be created.
|
45
|
-
#
|
46
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715274.aspx
|
47
|
-
#
|
48
|
-
# Returns Azure::SqlDatabaseManagement::SqlDatabase object
|
49
|
-
def create_server(login, password, location)
|
50
|
-
body = Serialization.database_to_xml(login, password, location)
|
51
|
-
request_path = '/servers'
|
52
|
-
request = SqlManagementHttpRequest.new(:post, request_path, body)
|
53
|
-
response = request.call
|
54
|
-
sql_server = Serialization.server_name_from_xml(response, login, location)
|
55
|
-
Loggerx.info "SQL database server #{sql_server.name} is created." if sql_server
|
56
|
-
sql_server
|
57
|
-
end
|
58
|
-
|
59
|
-
# Public: Deletes the specified database server of given
|
60
|
-
# subscription id from Windows Azure.
|
61
|
-
#
|
62
|
-
# ==== Attributes
|
63
|
-
#
|
64
|
-
# * +name+ - String. Database server name.
|
65
|
-
#
|
66
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715285.aspx
|
67
|
-
#
|
68
|
-
# Returns: None
|
69
|
-
def delete_server(name)
|
70
|
-
if get_sql_server(name)
|
71
|
-
request_path = "/servers/#{name}"
|
72
|
-
request = SqlManagementHttpRequest.new(:delete, request_path)
|
73
|
-
request.call
|
74
|
-
Loggerx.info "Deleted database server #{name}."
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
# Public: Sets the administrative password of a SQL Database server
|
79
|
-
# for a subscription.
|
80
|
-
#
|
81
|
-
# ==== Attributes
|
82
|
-
#
|
83
|
-
# * +name+ - String. Database server name.
|
84
|
-
# * +password+ - String. Database server new password.
|
85
|
-
#
|
86
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715272.aspx
|
87
|
-
#
|
88
|
-
# Returns: None
|
89
|
-
def reset_password(name, password)
|
90
|
-
if get_sql_server(name)
|
91
|
-
body = Serialization.reset_password_to_xml(password)
|
92
|
-
request_path = "/servers/#{name}?op=ResetPassword"
|
93
|
-
request = SqlManagementHttpRequest.new(:post, request_path, body)
|
94
|
-
request.call
|
95
|
-
Loggerx.info "Password for server #{name} changed successfully."
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
# Public: The Set Server Firewall Rule operation for the given
|
100
|
-
# subscription adds a new server-level firewall or updates an
|
101
|
-
# existing server-level firewall rule for a SQL Database server.
|
102
|
-
#
|
103
|
-
# ==== Attributes
|
104
|
-
#
|
105
|
-
# * +server_name+ - String. Database server name.
|
106
|
-
# * +rule_name+ - String. Database server new password.
|
107
|
-
#
|
108
|
-
# ==== Options
|
109
|
-
#
|
110
|
-
# Accepted key/value pairs are:
|
111
|
-
# * +:start_ip_address+ - String. Start of the IP Range
|
112
|
-
# * +:end_ip_address+ - String. End of the IP Range
|
113
|
-
#
|
114
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715280.aspx
|
115
|
-
#
|
116
|
-
# Returns: None
|
117
|
-
def set_sql_server_firewall_rule(server_name, rule_name, options = {})
|
118
|
-
unless server_name.class == String && rule_name.class == String
|
119
|
-
raise "Missing parameter server_name or rule_name."
|
120
|
-
end
|
121
|
-
if get_sql_server(server_name)
|
122
|
-
if options[:start_ip_address] || options[:end_ip_address]
|
123
|
-
body = Serialization.firewall_rule_to_xml(options)
|
124
|
-
request_path = "/servers/#{server_name}/firewallrules/#{rule_name}"
|
125
|
-
method = :put
|
126
|
-
else
|
127
|
-
request_path = "/servers/#{server_name}/firewallrules/#{rule_name}?op=AutoDetectClientIP"
|
128
|
-
method = :post
|
129
|
-
end
|
130
|
-
request = SqlManagementHttpRequest.new(method, request_path, body)
|
131
|
-
request.headers['x-ms-version'] = '1.0'
|
132
|
-
request.uri = URI.parse(Azure.config.sql_database_management_endpoint + Azure.config.subscription_id + request_path)
|
133
|
-
# Management certificate authentication Endpoint throws errors for this operation. Need to re-visit
|
134
|
-
# this once the Azure API is working.
|
135
|
-
|
136
|
-
request.call
|
137
|
-
Loggerx.info "Added server-level firewall rule #{rule_name}."
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
# Public: Gets a list of server-level firewall rules set for
|
142
|
-
# SQL database server.
|
143
|
-
#
|
144
|
-
# ==== Attributes
|
145
|
-
#
|
146
|
-
# * +server_name+ - String. Database server name.
|
147
|
-
#
|
148
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715278.aspx
|
149
|
-
#
|
150
|
-
# Returns an array of firewall
|
151
|
-
def list_sql_server_firewall_rules(server_name)
|
152
|
-
if get_sql_server(server_name)
|
153
|
-
request_path = "/servers/#{server_name}/firewallrules"
|
154
|
-
request = SqlManagementHttpRequest.new(:get, request_path)
|
155
|
-
response = request.call
|
156
|
-
Serialization.database_firewall_from_xml(response)
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
# Public: Deletes a server-level firewall rule from a SQL Database server.
|
161
|
-
#
|
162
|
-
# ==== Attributes
|
163
|
-
#
|
164
|
-
# * +name+ - String. SQL database server name.
|
165
|
-
# * +rule_name+ - String. SQL database server firewall rule name.
|
166
|
-
#
|
167
|
-
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715277.aspx
|
168
|
-
#
|
169
|
-
# Returns: None
|
170
|
-
def delete_sql_server_firewall_rule(server_name, rule_name)
|
171
|
-
if !list_sql_server_firewall_rules(server_name).collect{|x| x[:rule]}.include?(rule_name)
|
172
|
-
error = "The specified firewall rule #{rule_name} does not exist."
|
173
|
-
raise error
|
174
|
-
elsif get_sql_server(server_name)
|
175
|
-
request_path = "/servers/#{server_name}/firewallrules/#{rule_name}"
|
176
|
-
request = SqlManagementHttpRequest.new(:delete, request_path)
|
177
|
-
request.call
|
178
|
-
Loggerx.info "Deleted server-level firewall rule #{rule_name}."
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
private
|
183
|
-
|
184
|
-
def get_sql_server(server_name)
|
185
|
-
if server_name.empty?
|
186
|
-
error = Azure::Error::Error.new("DatabaseServerNotFound", 40645, "Servername cannot be empty or null.")
|
187
|
-
else
|
188
|
-
sql_server = list_servers.collect(&:name).include?(server_name)
|
189
|
-
if sql_server
|
190
|
-
return sql_server
|
191
|
-
else
|
192
|
-
error = Azure::Error::Error.new("DatabaseServerNotFound", 40647, "Subscription #{Azure.config.subscription_id} does not have server #{server_name}.")
|
193
|
-
end
|
194
|
-
end
|
195
|
-
raise error if error
|
196
|
-
end
|
197
|
-
|
198
|
-
end
|
199
|
-
end
|
200
|
-
end
|
1
|
+
#-------------------------------------------------------------------------
|
2
|
+
# Copyright 2013 Microsoft Open Technologies, Inc.
|
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/sql_database_management/serialization'
|
16
|
+
|
17
|
+
module Azure
|
18
|
+
module SqlDatabaseManagement
|
19
|
+
class SqlDatabaseManagementService < BaseManagementService
|
20
|
+
|
21
|
+
def initialize
|
22
|
+
super()
|
23
|
+
end
|
24
|
+
|
25
|
+
# Public: Gets a list of database servers available under the
|
26
|
+
# current subscription.
|
27
|
+
#
|
28
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715269.aspx
|
29
|
+
#
|
30
|
+
# Returns an array of Azure::SqlDatabaseManagement::SqlDatabase objects
|
31
|
+
def list_servers
|
32
|
+
request_path = '/servers'
|
33
|
+
request = SqlManagementHttpRequest.new(:get, request_path, nil)
|
34
|
+
response = request.call
|
35
|
+
Serialization.databases_from_xml(response)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Public: Create a new database server in Windows Azure.
|
39
|
+
#
|
40
|
+
# ==== Attributes
|
41
|
+
#
|
42
|
+
# * +login+ - String. The administrator login name.
|
43
|
+
# * +password+ - String. The administrator login password.
|
44
|
+
# * +:location+ - String. The location where the database server will be created.
|
45
|
+
#
|
46
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715274.aspx
|
47
|
+
#
|
48
|
+
# Returns Azure::SqlDatabaseManagement::SqlDatabase object
|
49
|
+
def create_server(login, password, location)
|
50
|
+
body = Serialization.database_to_xml(login, password, location)
|
51
|
+
request_path = '/servers'
|
52
|
+
request = SqlManagementHttpRequest.new(:post, request_path, body)
|
53
|
+
response = request.call
|
54
|
+
sql_server = Serialization.server_name_from_xml(response, login, location)
|
55
|
+
Loggerx.info "SQL database server #{sql_server.name} is created." if sql_server
|
56
|
+
sql_server
|
57
|
+
end
|
58
|
+
|
59
|
+
# Public: Deletes the specified database server of given
|
60
|
+
# subscription id from Windows Azure.
|
61
|
+
#
|
62
|
+
# ==== Attributes
|
63
|
+
#
|
64
|
+
# * +name+ - String. Database server name.
|
65
|
+
#
|
66
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715285.aspx
|
67
|
+
#
|
68
|
+
# Returns: None
|
69
|
+
def delete_server(name)
|
70
|
+
if get_sql_server(name)
|
71
|
+
request_path = "/servers/#{name}"
|
72
|
+
request = SqlManagementHttpRequest.new(:delete, request_path)
|
73
|
+
request.call
|
74
|
+
Loggerx.info "Deleted database server #{name}."
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# Public: Sets the administrative password of a SQL Database server
|
79
|
+
# for a subscription.
|
80
|
+
#
|
81
|
+
# ==== Attributes
|
82
|
+
#
|
83
|
+
# * +name+ - String. Database server name.
|
84
|
+
# * +password+ - String. Database server new password.
|
85
|
+
#
|
86
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715272.aspx
|
87
|
+
#
|
88
|
+
# Returns: None
|
89
|
+
def reset_password(name, password)
|
90
|
+
if get_sql_server(name)
|
91
|
+
body = Serialization.reset_password_to_xml(password)
|
92
|
+
request_path = "/servers/#{name}?op=ResetPassword"
|
93
|
+
request = SqlManagementHttpRequest.new(:post, request_path, body)
|
94
|
+
request.call
|
95
|
+
Loggerx.info "Password for server #{name} changed successfully."
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# Public: The Set Server Firewall Rule operation for the given
|
100
|
+
# subscription adds a new server-level firewall or updates an
|
101
|
+
# existing server-level firewall rule for a SQL Database server.
|
102
|
+
#
|
103
|
+
# ==== Attributes
|
104
|
+
#
|
105
|
+
# * +server_name+ - String. Database server name.
|
106
|
+
# * +rule_name+ - String. Database server new password.
|
107
|
+
#
|
108
|
+
# ==== Options
|
109
|
+
#
|
110
|
+
# Accepted key/value pairs are:
|
111
|
+
# * +:start_ip_address+ - String. Start of the IP Range
|
112
|
+
# * +:end_ip_address+ - String. End of the IP Range
|
113
|
+
#
|
114
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715280.aspx
|
115
|
+
#
|
116
|
+
# Returns: None
|
117
|
+
def set_sql_server_firewall_rule(server_name, rule_name, options = {})
|
118
|
+
unless server_name.class == String && rule_name.class == String
|
119
|
+
raise "Missing parameter server_name or rule_name."
|
120
|
+
end
|
121
|
+
if get_sql_server(server_name)
|
122
|
+
if options[:start_ip_address] || options[:end_ip_address]
|
123
|
+
body = Serialization.firewall_rule_to_xml(options)
|
124
|
+
request_path = "/servers/#{server_name}/firewallrules/#{rule_name}"
|
125
|
+
method = :put
|
126
|
+
else
|
127
|
+
request_path = "/servers/#{server_name}/firewallrules/#{rule_name}?op=AutoDetectClientIP"
|
128
|
+
method = :post
|
129
|
+
end
|
130
|
+
request = SqlManagementHttpRequest.new(method, request_path, body)
|
131
|
+
request.headers['x-ms-version'] = '1.0'
|
132
|
+
request.uri = URI.parse(Azure.config.sql_database_management_endpoint + Azure.config.subscription_id + request_path)
|
133
|
+
# Management certificate authentication Endpoint throws errors for this operation. Need to re-visit
|
134
|
+
# this once the Azure API is working.
|
135
|
+
|
136
|
+
request.call
|
137
|
+
Loggerx.info "Added server-level firewall rule #{rule_name}."
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# Public: Gets a list of server-level firewall rules set for
|
142
|
+
# SQL database server.
|
143
|
+
#
|
144
|
+
# ==== Attributes
|
145
|
+
#
|
146
|
+
# * +server_name+ - String. Database server name.
|
147
|
+
#
|
148
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715278.aspx
|
149
|
+
#
|
150
|
+
# Returns an array of firewall
|
151
|
+
def list_sql_server_firewall_rules(server_name)
|
152
|
+
if get_sql_server(server_name)
|
153
|
+
request_path = "/servers/#{server_name}/firewallrules"
|
154
|
+
request = SqlManagementHttpRequest.new(:get, request_path)
|
155
|
+
response = request.call
|
156
|
+
Serialization.database_firewall_from_xml(response)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
# Public: Deletes a server-level firewall rule from a SQL Database server.
|
161
|
+
#
|
162
|
+
# ==== Attributes
|
163
|
+
#
|
164
|
+
# * +name+ - String. SQL database server name.
|
165
|
+
# * +rule_name+ - String. SQL database server firewall rule name.
|
166
|
+
#
|
167
|
+
# See http://msdn.microsoft.com/en-us/library/windowsazure/gg715277.aspx
|
168
|
+
#
|
169
|
+
# Returns: None
|
170
|
+
def delete_sql_server_firewall_rule(server_name, rule_name)
|
171
|
+
if !list_sql_server_firewall_rules(server_name).collect{|x| x[:rule]}.include?(rule_name)
|
172
|
+
error = "The specified firewall rule #{rule_name} does not exist."
|
173
|
+
raise error
|
174
|
+
elsif get_sql_server(server_name)
|
175
|
+
request_path = "/servers/#{server_name}/firewallrules/#{rule_name}"
|
176
|
+
request = SqlManagementHttpRequest.new(:delete, request_path)
|
177
|
+
request.call
|
178
|
+
Loggerx.info "Deleted server-level firewall rule #{rule_name}."
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
private
|
183
|
+
|
184
|
+
def get_sql_server(server_name)
|
185
|
+
if server_name.empty?
|
186
|
+
error = Azure::Error::Error.new("DatabaseServerNotFound", 40645, "Servername cannot be empty or null.")
|
187
|
+
else
|
188
|
+
sql_server = list_servers.collect(&:name).include?(server_name)
|
189
|
+
if sql_server
|
190
|
+
return sql_server
|
191
|
+
else
|
192
|
+
error = Azure::Error::Error.new("DatabaseServerNotFound", 40647, "Subscription #{Azure.config.subscription_id} does not have server #{server_name}.")
|
193
|
+
end
|
194
|
+
end
|
195
|
+
raise error if error
|
196
|
+
end
|
197
|
+
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|