azure 0.7.0.pre → 0.7.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/.env_sample +3 -1
  3. data/.gitignore +15 -0
  4. data/LICENSE.txt +1 -1
  5. data/README.md +322 -248
  6. data/Rakefile +3 -1
  7. data/azure.gemspec +18 -14
  8. data/lib/azure.rb +124 -38
  9. data/lib/azure/base_management/base_management_service.rb +57 -69
  10. data/lib/azure/base_management/location.rb +1 -1
  11. data/lib/azure/base_management/management_http_request.rb +55 -58
  12. data/lib/azure/base_management/serialization.rb +5 -0
  13. data/lib/azure/base_management/sql_management_http_request.rb +10 -20
  14. data/lib/azure/blob/auth/shared_access_signature.rb +82 -76
  15. data/lib/azure/blob/blob_service.rb +196 -171
  16. data/lib/azure/client.rb +31 -0
  17. data/lib/azure/client_services.rb +98 -0
  18. data/lib/azure/cloud_service_management/cloud_service_management_service.rb +8 -10
  19. data/lib/azure/configurable.rb +290 -0
  20. data/lib/azure/core/auth/authorizer.rb +1 -1
  21. data/lib/azure/core/auth/shared_key.rb +48 -40
  22. data/lib/azure/core/auth/shared_key_lite.rb +9 -9
  23. data/lib/azure/core/auth/signer.rb +15 -12
  24. data/lib/azure/core/error.rb +2 -3
  25. data/lib/azure/core/filtered_service.rb +4 -3
  26. data/lib/azure/core/http/http_error.rb +10 -12
  27. data/lib/azure/core/http/http_request.rb +82 -69
  28. data/lib/azure/core/http/http_response.rb +12 -56
  29. data/lib/azure/core/http/signer_filter.rb +3 -4
  30. data/lib/azure/core/service.rb +8 -25
  31. data/lib/azure/core/signed_service.rb +7 -5
  32. data/lib/azure/core/utility.rb +45 -6
  33. data/lib/azure/default.rb +126 -0
  34. data/lib/azure/http_client.rb +85 -0
  35. data/lib/azure/queue/queue.rb +0 -1
  36. data/lib/azure/queue/queue_service.rb +6 -4
  37. data/lib/azure/queue/serialization.rb +0 -1
  38. data/lib/azure/service/storage_service.rb +9 -6
  39. data/lib/azure/service_bus/auth/shared_access_signer.rb +44 -0
  40. data/lib/azure/service_bus/auth/wrap_service.rb +5 -4
  41. data/lib/azure/service_bus/auth/wrap_signer.rb +14 -6
  42. data/lib/azure/service_bus/service_bus_service.rb +34 -30
  43. data/lib/azure/sql_database_management/errors.rb +11 -0
  44. data/lib/azure/sql_database_management/firewall_rule.rb +30 -0
  45. data/lib/azure/sql_database_management/serialization.rb +40 -53
  46. data/lib/azure/sql_database_management/sql_database_management_service.rb +141 -130
  47. data/lib/azure/sql_database_management/{sql_database.rb → sql_server.rb} +4 -3
  48. data/lib/azure/storage_management/storage_management_service.rb +9 -10
  49. data/lib/azure/table/auth/shared_key.rb +17 -50
  50. data/lib/azure/table/auth/shared_key_lite.rb +3 -3
  51. data/lib/azure/table/serialization.rb +24 -24
  52. data/lib/azure/table/table_service.rb +21 -18
  53. data/lib/azure/version.rb +1 -1
  54. data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +6 -12
  55. data/lib/azure/virtual_machine_management/serialization.rb +4 -1
  56. data/lib/azure/virtual_machine_management/virtual_machine.rb +1 -0
  57. data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +29 -37
  58. data/lib/azure/virtual_network_management/virtual_network_management_service.rb +5 -6
  59. data/test/fixtures/list_locations.xml +150 -0
  60. data/test/fixtures/list_sql_database.xml +6 -18
  61. data/test/fixtures/list_sql_server_firewall.xml +18 -18
  62. data/test/fixtures/management_certificate.pfx +0 -0
  63. data/test/fixtures/virtual_machine.xml +1 -0
  64. data/test/integration/affinity_group/Create_Affinity_test.rb +1 -1
  65. data/test/integration/affinity_group/Update_Affinity_test.rb +4 -0
  66. data/test/integration/blob/blob_gb18030_test.rb +29 -29
  67. data/test/integration/blob/blob_pages_test.rb +16 -16
  68. data/test/integration/blob/container/create_container_test.rb +6 -6
  69. data/test/integration/blob/container/root_container_test.rb +2 -1
  70. data/test/integration/database/create_sql_server_firewall_test.rb +26 -31
  71. data/test/integration/database/create_sql_server_test.rb +6 -6
  72. data/test/integration/database/delete_sql_server_firewall_test.rb +18 -24
  73. data/test/integration/database/delete_sql_server_test.rb +9 -22
  74. data/test/integration/database/list_sql_server_firewall_test.rb +7 -8
  75. data/test/integration/database/list_sql_servers_test.rb +4 -4
  76. data/test/integration/database/reset_password_sql_server_test.rb +9 -11
  77. data/test/integration/location/RoleSize_List_test.rb +35 -0
  78. data/test/integration/queue/list_queues_test.rb +0 -1
  79. data/test/integration/service_bus/queues_scenario_test.rb +11 -11
  80. data/test/integration/service_bus/queues_test.rb +2 -2
  81. data/test/integration/service_bus/subscriptions_test.rb +25 -25
  82. data/test/integration/service_bus/topics_scenario_test.rb +6 -6
  83. data/test/integration/service_bus/topics_test.rb +15 -15
  84. data/test/integration/table/query_entities_test.rb +1 -0
  85. data/test/integration/table/table_acl_test.rb +9 -9
  86. data/test/integration/test_helper.rb +11 -9
  87. data/test/integration/vm/VM_Create_test.rb +23 -20
  88. data/test/integration/vnet/Virtual_Network_list_test.rb +1 -1
  89. data/test/test_helper.rb +5 -0
  90. data/test/unit/affinity_group/affinity_group_test.rb +4 -4
  91. data/test/unit/base_management/base_management_service_test.rb +19 -0
  92. data/test/unit/base_management/location_test.rb +6 -6
  93. data/test/unit/base_management/role_size_test.rb +50 -0
  94. data/test/unit/blob/auth/shared_access_signature_test.rb +19 -19
  95. data/test/unit/blob/blob_service_test.rb +583 -582
  96. data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +2 -2
  97. data/test/unit/config/azure_test.rb +112 -0
  98. data/test/unit/config/client_test.rb +37 -0
  99. data/test/unit/core/auth/shared_key_lite_test.rb +15 -15
  100. data/test/unit/core/auth/shared_key_test.rb +26 -26
  101. data/test/unit/core/http/http_error_test.rb +13 -14
  102. data/test/unit/core/http/http_request_test.rb +78 -53
  103. data/test/unit/core/http/http_response_test.rb +2 -27
  104. data/test/unit/core/http/retry_policy_test.rb +3 -3
  105. data/test/unit/core/utility_test.rb +122 -0
  106. data/test/unit/database/serialization_test.rb +17 -20
  107. data/test/unit/database/sql_database_server_service_test.rb +97 -40
  108. data/test/unit/http_client_test.rb +74 -0
  109. data/test/unit/service/storage_service_test.rb +105 -101
  110. data/test/unit/storage_management/storage_management_service_test.rb +28 -28
  111. data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +4 -4
  112. data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +37 -20
  113. data/test/unit/vnet/virtual_network_management_service_test.rb +1 -1
  114. metadata +91 -20
  115. data/lib/azure/core.rb +0 -41
  116. data/lib/azure/core/configuration.rb +0 -218
data/Rakefile CHANGED
@@ -68,7 +68,9 @@ namespace :test do
68
68
  end
69
69
 
70
70
  Rake::TestTask.new :integration do |t|
71
- t.pattern = 'test/integration/**/*_test.rb'
71
+ t.test_files = Dir['test/integration/**/*_test.rb'].reject do |path|
72
+ path.include?('database')
73
+ end
72
74
  t.verbose = true
73
75
  t.libs = %w(lib test)
74
76
  end
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
21
21
  s.version = Azure::Version
22
22
  s.authors = ['Microsoft Corporation', 'AppFog']
23
23
  s.email = 'azureruby@microsoft.com'
24
- s.description = 'Windows Azure Client Library for Ruby'
25
- s.summary = 'Official ruby client library to consume Windows Azure services.'
24
+ s.description = 'Microsoft Azure Client Library for Ruby'
25
+ s.summary = 'Official ruby client library to consume Microsoft Azure services.'
26
26
  s.homepage = 'http://github.com/azure/azure-sdk-for-ruby'
27
27
  s.license = 'Apache License, Version 2.0'
28
28
  s.files = `git ls-files`.split("\n")
@@ -31,17 +31,21 @@ Gem::Specification.new do |s|
31
31
 
32
32
  s.required_ruby_version = '>= 1.9.3'
33
33
 
34
- s.add_runtime_dependency('nokogiri', '~> 1.6')
35
- s.add_runtime_dependency('mime-types', '~> 1.0')
36
- s.add_runtime_dependency('json', '~> 1.8')
37
- s.add_runtime_dependency('uuid', '~> 2.0')
38
- s.add_runtime_dependency('systemu', '~> 2.6')
39
- s.add_runtime_dependency('thor', '~> 0.19')
34
+ s.add_runtime_dependency('addressable', '~> 2.3')
35
+ s.add_runtime_dependency('faraday', '~> 0.9')
36
+ s.add_runtime_dependency('faraday_middleware', '~> 0.10')
37
+ s.add_runtime_dependency('json', '~> 1.8')
38
+ s.add_runtime_dependency('mime-types', '~> 2.0')
39
+ s.add_runtime_dependency('nokogiri', '~> 1.6')
40
+ s.add_runtime_dependency('systemu', '~> 2.6')
41
+ s.add_runtime_dependency('thor', '~> 0.19')
42
+ s.add_runtime_dependency('uuid', '~> 2.0')
40
43
 
41
- s.add_development_dependency('rake', '~> 10.0')
42
- s.add_development_dependency('minitest', '~> 5')
43
- s.add_development_dependency('minitest-reporters', '~> 1')
44
- s.add_development_dependency('mocha', '~> 1.0')
45
- s.add_development_dependency('timecop', '~> 0.7')
46
- s.add_development_dependency('dotenv', '~> 2.0' )
44
+ s.add_development_dependency('dotenv', '~> 2.0')
45
+ s.add_development_dependency('minitest', '~> 5')
46
+ s.add_development_dependency('minitest-reporters', '~> 1')
47
+ s.add_development_dependency('mocha', '~> 1.0')
48
+ s.add_development_dependency('rake', '~> 10.0')
49
+ s.add_development_dependency('timecop', '~> 0.7')
50
+ s.add_development_dependency('yard', '~> 0.8')
47
51
  end
@@ -12,7 +12,6 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  #--------------------------------------------------------------------------
15
- module Azure; end
16
15
 
17
16
  require 'rubygems'
18
17
  require 'nokogiri'
@@ -20,41 +19,128 @@ require 'base64'
20
19
  require 'openssl'
21
20
  require 'uri'
22
21
  require 'rexml/document'
22
+ require 'addressable/uri'
23
+ require 'faraday'
24
+ require 'faraday_middleware'
23
25
 
24
- require 'azure/core'
25
- require 'azure/blob/blob_service'
26
- require 'azure/queue/queue_service'
27
- require 'azure/service_bus/service_bus_service'
28
- require 'azure/service_bus/empty_rule_action'
29
- require 'azure/service_bus/sql_rule_action'
30
- require 'azure/service_bus/sql_filter'
31
- require 'azure/service_bus/true_filter'
32
- require 'azure/service_bus/correlation_filter'
33
- require 'azure/table/table_service'
34
- require 'azure/table/batch'
35
- require 'azure/table/query'
36
- require 'azure/core/utility'
37
- require 'azure/base_management/management_http_request'
38
- require 'azure/base_management/sql_management_http_request'
39
- require 'azure/base_management/base_management_service'
40
- require 'azure/virtual_machine_image_management/virtual_machine_image_management_service'
41
- require 'azure/virtual_machine_management/virtual_machine_management_service'
42
- require 'azure/storage_management/storage_management_service'
43
- require 'azure/cloud_service_management/cloud_service_management_service'
44
- require 'azure/base_management/location'
45
- require 'azure/sql_database_management/sql_database_management_service'
46
- require 'azure/virtual_network_management/virtual_network_management_service'
47
-
48
- # add some aliases for convenience
49
- Azure::BlobService = Azure::Blob::BlobService
50
- Azure::QueueService = Azure::Queue::QueueService
51
- Azure::TableService = Azure::Table::TableService
52
- Azure::ServiceBusService = Azure::ServiceBus::ServiceBusService
53
- Azure::VirtualMachineImageManagementService = Azure::VirtualMachineImageManagement::VirtualMachineImageManagementService
54
- Azure::BaseManagementService = Azure::BaseManagement::BaseManagementService
55
- Azure::CloudServiceManagementService = Azure::CloudServiceManagement::CloudServiceManagementService
56
- Azure::StorageManagementService = Azure::StorageManagement::StorageManagementService
57
- Azure::VirtualMachineManagementService = Azure::VirtualMachineManagement::VirtualMachineManagementService
58
- Azure::SqlDatabaseManagementService = Azure::SqlDatabaseManagement::SqlDatabaseManagementService
59
- Azure::VirtualNetworkManagementService = Azure::VirtualNetworkManagement::VirtualNetworkManagementService
60
- Azure::Loggerx = Azure::Core::Logger
26
+ module Azure
27
+ autoload :Client, 'azure/client'
28
+ autoload :ClientServices, 'azure/client_services'
29
+ autoload :Configurable, 'azure/configurable'
30
+ autoload :Default, 'azure/default'
31
+ autoload :HttpClient, 'azure/http_client'
32
+ autoload :Version, 'azure/version'
33
+
34
+ # helpers because the naming is far too verbose
35
+ autoload :BaseManagementService, 'azure/base_management/base_management_service'
36
+ autoload :CloudServiceManagementService, 'azure/cloud_service_management/cloud_service_management_service'
37
+ autoload :SqlDatabaseManagementService, 'azure/sql_database_management/sql_database_management_service'
38
+ autoload :StorageManagementService, 'azure/storage_management/storage_management_service'
39
+ autoload :VirtualMachineImageManagementService, 'azure/virtual_machine_image_management/virtual_machine_image_management_service'
40
+ autoload :VirtualMachineManagementService, 'azure/virtual_machine_management/virtual_machine_management_service'
41
+ autoload :VirtualNetworkManagementService, 'azure/virtual_network_management/virtual_network_management_service'
42
+
43
+ module BaseManagement
44
+ autoload :ManagementHttpRequest, 'azure/base_management/management_http_request'
45
+ autoload :SqlManagementHttpRequest, 'azure/base_management/sql_management_http_request'
46
+ autoload :BaseManagementService, 'azure/base_management/base_management_service'
47
+ autoload :Location, 'azure/base_management/location'
48
+ autoload :AffinityGroup, 'azure/base_management/affinity_group'
49
+ autoload :Serialization, 'azure/base_management/serialization'
50
+ end
51
+
52
+ module Blob
53
+ autoload :BlobService, 'azure/blob/blob_service'
54
+ autoload :Blob, 'azure/blob/blob'
55
+ autoload :Block, 'azure/blob/block'
56
+ autoload :Container, 'azure/blob/container'
57
+ autoload :Serialization, 'azure/blob/serialization'
58
+ end
59
+
60
+ module CloudServiceManagement
61
+ autoload :CloudServiceManagementService, 'azure/cloud_service_management/cloud_service_management_service'
62
+ autoload :CloudService, 'azure/cloud_service_management/cloud_service'
63
+ end
64
+
65
+ module Core
66
+ autoload :Utility, 'azure/core/utility'
67
+ autoload :Error, 'azure/core/error'
68
+ autoload :Service, 'azure/core/service'
69
+ autoload :FilteredService, 'azure/core/filtered_service'
70
+ autoload :SignedService, 'azure/core/signed_service'
71
+ end
72
+
73
+ module Queue
74
+ autoload :QueueService, 'azure/queue/queue_service'
75
+ autoload :Message, 'azure/queue/message'
76
+ autoload :Queue, 'azure/queue/queue'
77
+ end
78
+
79
+ module ServiceBus
80
+ autoload :ServiceBusService, 'azure/service_bus/service_bus_service'
81
+ autoload :EmptyRuleAction, 'azure/service_bus/empty_rule_action'
82
+ autoload :SqlRuleAction, 'azure/service_bus/sql_rule_action'
83
+ autoload :SqlFilter, 'azure/service_bus/sql_filter'
84
+ autoload :TrueFilter, 'azure/service_bus/true_filter'
85
+ autoload :CorrelationFilter, 'azure/service_bus/correlation_filter'
86
+ end
87
+
88
+ module SqlDatabaseManagement
89
+ autoload :SqlDatabaseManagementService, 'azure/sql_database_management/sql_database_management_service'
90
+ autoload :Serialization, 'azure/sql_database_management/serialization'
91
+ autoload :SqlServer, 'azure/sql_database_management/sql_server'
92
+ end
93
+
94
+ module StorageManagement
95
+ autoload :StorageManagementService, 'azure/storage_management/storage_management_service'
96
+ autoload :Serialization, 'azure/storage_management/serialization'
97
+ autoload :StorageAccount, 'azure/storage_management/storage_account'
98
+ end
99
+
100
+ module Table
101
+ autoload :TableService, 'azure/table/table_service'
102
+ autoload :Batch, 'azure/table/batch'
103
+ autoload :Query, 'azure/table/query'
104
+ end
105
+
106
+ module VirtualMachineImageManagement
107
+ autoload :VirtualMachineImageManagementService, 'azure/virtual_machine_image_management/virtual_machine_image_management_service'
108
+ autoload :Serialization, 'azure/virtual_machine_image_management/serialization'
109
+ autoload :VirtualMachineImage, 'azure/virtual_machine_image_management/virtual_machine_image'
110
+ autoload :VirtualMachineDisk, 'azure/virtual_machine_image_management/virtual_machine_disk'
111
+ end
112
+
113
+ module VirtualMachineManagement
114
+ autoload :VirtualMachineManagementService, 'azure/virtual_machine_management/virtual_machine_management_service'
115
+ autoload :Serialization, 'azure/virtual_machine_management/serialization'
116
+ autoload :VirtualMachine, 'azure/virtual_machine_management/virtual_machine'
117
+ end
118
+
119
+ module VirtualNetworkManagement
120
+ autoload :VirtualNetworkManagementService, 'azure/virtual_network_management/virtual_network_management_service'
121
+ autoload :Serialization, 'azure/virtual_network_management/serialization'
122
+ autoload :VirtualNetwork, 'azure/virtual_network_management/virtual_network'
123
+ end
124
+
125
+ class << self
126
+ include Azure::Configurable
127
+
128
+ # API client based on configured options {Configurable}
129
+ #
130
+ # @return [Azure::Client] API wrapper
131
+ def client(options = {})
132
+ @client = Azure::Client.new(options) unless defined?(@client) && @client.same_options?(options)
133
+ @client
134
+ end
135
+
136
+ private
137
+
138
+ def method_missing(method_name, *args, &block)
139
+ return super unless client.respond_to?(method_name)
140
+ client.send(method_name, *args, &block)
141
+ end
142
+
143
+ end
144
+
145
+ Azure.setup
146
+ end
@@ -19,80 +19,67 @@ require 'azure/base_management/affinity_group'
19
19
 
20
20
  module Azure
21
21
  module BaseManagement
22
- class BaseManagementService
23
- def initialize
24
- validate_configuration
25
- cert_file = Azure.config.management_certificate
26
22
 
27
- if File.file?(cert_file) && cert_file =~ /(pem)$/
28
- cert_file = File.read(Azure.config.management_certificate)
29
- else
30
- cert_file = File.binread(Azure.config.management_certificate)
31
- end
23
+ # The base for all Azure management services
24
+ # @!attribute [rw] client
25
+ # The client contains the configuration scope and the ability to produce http agents.
26
+ # defaults to global client.
27
+ # @see Azure.client
28
+ # @return [Azure::Client]
29
+ class BaseManagementService
32
30
 
33
- begin
34
- if Azure.config.management_certificate =~ /(pem)$/
35
- certificate_key = OpenSSL::X509::Certificate.new(cert_file)
36
- private_key = OpenSSL::PKey::RSA.new(cert_file)
37
- else
38
- # Parse pfx content
39
- cert_content = OpenSSL::PKCS12.new(cert_file)
40
- certificate_key = OpenSSL::X509::Certificate.new(
41
- cert_content.certificate.to_pem
42
- )
43
- private_key = OpenSSL::PKey::RSA.new(cert_content.key.to_pem)
44
- end
45
- rescue Exception => e
46
- raise "Management certificate not valid. Error: #{e.message}"
47
- end
31
+ attr_accessor :client
48
32
 
49
- Azure.configure do |config|
50
- config.http_certificate_key = certificate_key
51
- config.http_private_key = private_key
52
- end
33
+ # @param options [Hash] options including :client
34
+ def initialize(options = {})
35
+ @client = options[:client] || Azure.client
36
+ validate_configuration!
53
37
  end
54
38
 
55
- def validate_configuration
56
- subs_id = Azure.config.subscription_id
39
+ # Validate the configuration of the service.
40
+ # @return [void]
41
+ def validate_configuration!
42
+ subs_id = @client.subscription_id
57
43
  error_message = 'Subscription ID not valid.'
58
- raise error_message if subs_id.nil? || subs_id.empty?
44
+ raise ArgumentError.new(error_message) if subs_id.nil? || subs_id.empty?
59
45
 
60
- m_ep = Azure.config.management_endpoint
46
+ m_ep = @client.management_endpoint
61
47
  error_message = 'Management endpoint not valid.'
62
- raise error_message if m_ep.nil? || m_ep.empty?
63
-
64
- m_cert = Azure.config.management_certificate
65
- error_message = "Could not read from file '#{m_cert}'."
66
- raise error_message unless test('r', m_cert)
67
-
68
- m_cert = Azure.config.management_certificate
69
- error_message = 'Management certificate expects a .pem or .pfx file.'
70
- raise error_message unless m_cert =~ /(pem|pfx)$/
48
+ raise ArgumentError.new(error_message) if m_ep.nil? || m_ep.empty?
71
49
  end
72
50
 
73
- # Public: Gets a list of regional data center locations from the server
74
- #
75
- # Returns an array of Azure::BaseManagement::Location objects
51
+ # Gets a list of regional data center locations from the server
52
+ # @return [Array<Azure::BaseManagement::Location>]
76
53
  def list_locations
77
- request = Azure::BaseManagement::ManagementHttpRequest.new(:get, '/locations')
54
+ request = @client.management_request(:get, '/locations')
78
55
  response = request.call
79
56
  Serialization.locations_from_xml(response)
80
57
  end
81
58
 
82
- # Public: Gets a lists the affinity groups associated with
59
+ # Gets a list of role sizes associated with the
60
+ # specified subscription.
61
+ # @return [Array<String>]
62
+ def list_role_sizes
63
+ role_sizes = []
64
+ locations = list_locations
65
+ locations.each do | location |
66
+ role_sizes << location.role_sizes
67
+ end
68
+ role_sizes.flatten.uniq.compact.sort
69
+ end
70
+
71
+ # Gets a lists the affinity groups associated with
83
72
  # the specified subscription.
84
- #
85
- # See http://msdn.microsoft.com/en-us/library/azure/ee460797.aspx
86
- #
87
- # Returns an array of Azure::BaseManagement::AffinityGroup objects
73
+ # @see http://msdn.microsoft.com/en-us/library/azure/ee460797.aspx
74
+ # @return [Array<Azure::BaseManagement::AffinityGroup>]
88
75
  def list_affinity_groups
89
76
  request_path = '/affinitygroups'
90
- request = Azure::BaseManagement::ManagementHttpRequest.new(:get, request_path, nil)
77
+ request = @client.management_request(:get, request_path)
91
78
  response = request.call
92
79
  Serialization.affinity_groups_from_xml(response)
93
80
  end
94
81
 
95
- # Public: Creates a new affinity group for the specified subscription.
82
+ # Creates a new affinity group for the specified subscription.
96
83
  #
97
84
  # ==== Attributes
98
85
  #
@@ -108,9 +95,9 @@ module Azure
108
95
  # * +:description+ - String. A description for the affinity group.
109
96
  # (optional)
110
97
  #
111
- # See http://msdn.microsoft.com/en-us/library/azure/gg715317.aspx
98
+ # @see http://msdn.microsoft.com/en-us/library/azure/gg715317.aspx
112
99
  #
113
- # Returns: None
100
+ # @return [void]
114
101
  def create_affinity_group(name, location, label, options = {})
115
102
  if name.nil? || name.strip.empty?
116
103
  raise 'Affinity Group name cannot be empty'
@@ -118,8 +105,7 @@ module Azure
118
105
  raise Azure::Error::Error.new(
119
106
  'ConflictError',
120
107
  409,
121
- "An affinity group #{name}"\
122
- " already exists in the current subscription."
108
+ "An affinity group #{name} already exists in the current subscription."
123
109
  )
124
110
  else
125
111
  validate_location(location)
@@ -128,13 +114,13 @@ module Azure
128
114
  label,
129
115
  options)
130
116
  request_path = '/affinitygroups'
131
- request = Azure::BaseManagement::ManagementHttpRequest.new(:post, request_path, body)
117
+ request = @client.management_request(:post, request_path, body)
132
118
  request.call
133
119
  Azure::Loggerx.info "Affinity Group #{name} is created."
134
120
  end
135
121
  end
136
122
 
137
- # Public: updates the label and/or the description for an affinity group
123
+ # Updates the label and/or the description for an affinity group
138
124
  # for the specified subscription.
139
125
  #
140
126
  # ==== Attributes
@@ -149,52 +135,52 @@ module Azure
149
135
  # * +:description+ - String. A description for the affinity group.
150
136
  # (optional)
151
137
  #
152
- # See http://msdn.microsoft.com/en-us/library/azure/gg715316.aspx
138
+ # @see http://msdn.microsoft.com/en-us/library/azure/gg715316.aspx
153
139
  #
154
- # Returns: None
140
+ # @return [void]
155
141
  def update_affinity_group(name, label, options = {})
156
142
  raise 'Label name cannot be empty' if label.nil? || label.empty?
157
143
  if affinity_group(name)
158
144
  body = Serialization.resource_to_xml(label, options)
159
145
  request_path = "/affinitygroups/#{name}"
160
- request = Azure::BaseManagement::ManagementHttpRequest.new(:put, request_path, body)
146
+ request = @client.management_request(:put, request_path, body)
161
147
  request.call
162
148
  Azure::Loggerx.info "Affinity Group #{name} is updated."
163
149
  end
164
150
  end
165
151
 
166
- # Public: Deletes an affinity group in the specified subscription
152
+ # Deletes an affinity group in the specified subscription
167
153
  #
168
154
  # ==== Attributes
169
155
  #
170
156
  # * +name+ - String. Affinity Group name.
171
157
  #
172
- # See http://msdn.microsoft.com/en-us/library/azure/gg715314.aspx
158
+ # @see http://msdn.microsoft.com/en-us/library/azure/gg715314.aspx
173
159
  #
174
- # Returns: None
160
+ # @return [void]
175
161
  def delete_affinity_group(name)
176
162
  if affinity_group(name)
177
163
  request_path = "/affinitygroups/#{name}"
178
- request = Azure::BaseManagement::ManagementHttpRequest.new(:delete, request_path)
164
+ request = @client.management_request(:delete, request_path)
179
165
  request.call
180
166
  Azure::Loggerx.info "Deleted affinity group #{name}."
181
167
  end
182
168
  end
183
169
 
184
- # Public: returns the system properties associated with the specified
170
+ # Returns the system properties associated with the specified
185
171
  # affinity group.
186
172
  #
187
173
  # ==== Attributes
188
174
  #
189
175
  # * +name+ - String. Affinity Group name.
190
176
  #
191
- # See http://msdn.microsoft.com/en-us/library/azure/ee460789.aspx
177
+ # @see http://msdn.microsoft.com/en-us/library/azure/ee460789.aspx
192
178
  #
193
- # Returns: Azure::BaseManagement::AffinityGroup object
179
+ # @return [Azure::BaseManagement::AffinityGroup]
194
180
  def get_affinity_group(name)
195
181
  if affinity_group(name)
196
182
  request_path = "/affinitygroups/#{name}"
197
- request = Azure::BaseManagement::ManagementHttpRequest.new(:get, request_path)
183
+ request = @client.management_request(:get, request_path)
198
184
  response = request.call
199
185
  Serialization.affinity_group_from_xml(response)
200
186
  end
@@ -230,3 +216,5 @@ module Azure
230
216
  end
231
217
  end
232
218
  end
219
+
220
+ Azure::BaseManagementService = Azure::BaseManagement::BaseManagementService