lib/fog/azurerm/models/sql/sql_server.rb in fog-azure-rm-0.1.1 vs lib/fog/azurerm/models/sql/sql_server.rb in fog-azure-rm-0.1.2
- old
+ new
@@ -1,57 +1,62 @@
-module Fog
- module Sql
- class AzureRM
- # Sql Server model for Server Service
- class SqlServer < Fog::Model
- identity :name
- attribute :id
- attribute :type
- attribute :resource_group
- attribute :location
- attribute :version
- attribute :state
- attribute :administrator_login
- attribute :administrator_login_password
- attribute :fully_qualified_domain_name
-
- def self.parse(server)
- {
- id: server['id'],
- type: server['type'],
- name: server['name'],
- location: server['location'],
- state: server['properties']['state'],
- version: server['properties']['version'],
- resource_group: get_resource_group_from_id(server['id']),
- administrator_login: server['properties']['administratorLogin'],
- administrator_login_password: server['properties']['administratorLoginPassword'],
- fully_qualified_domain_name: server['properties']['fullyQualifiedDomainName']
- }
- end
-
- def save
- requires :name, :resource_group, :location, :version, :administrator_login, :administrator_login_password
- sql_server = service.create_or_update_sql_server(database_params)
- merge_attributes(Fog::Sql::AzureRM::SqlServer.parse(sql_server))
- end
-
- def destroy
- service.delete_sql_server(resource_group, name)
- end
-
- private
-
- def database_params
- {
- resource_group: resource_group,
- name: name,
- version: version,
- location: location,
- administrator_login: administrator_login,
- administrator_login_password: administrator_login_password
- }
- end
- end
- end
- end
-end
+module Fog
+ module Sql
+ class AzureRM
+ # Sql Server model for Server Service
+ class SqlServer < Fog::Model
+ identity :name
+ attribute :id
+ attribute :type
+ attribute :resource_group
+ attribute :location
+ attribute :version
+ attribute :state
+ attribute :administrator_login, aliases: %w(administratorLogin)
+ attribute :administrator_login_password, aliases: %w(administratorLoginPassword)
+ attribute :fully_qualified_domain_name, aliases: %w(fullyQualifiedDomainName)
+
+ def self.parse(server)
+ data = {}
+ data['resource_group'] = get_resource_group_from_id(server['id'])
+ if server.is_a? Hash
+ server.each do |k, v|
+ if k == 'properties'
+ v.each do |j, l|
+ data[j] = l
+ end
+ else
+ data[k] = v
+ end
+ end
+ else
+ raise 'Object is not a hash. Parsing SQL Server object failed.'
+ end
+
+ data
+ end
+
+ def save
+ requires :name, :resource_group, :location, :version, :administrator_login, :administrator_login_password
+ sql_server = service.create_or_update_sql_server(format_sql_server_params)
+ merge_attributes(Fog::Sql::AzureRM::SqlServer.parse(sql_server))
+ end
+
+ def destroy
+ service.delete_sql_server(resource_group, name)
+ end
+
+ private
+
+ def format_sql_server_params
+ {
+ resource_group: resource_group,
+ name: name,
+ version: version,
+ location: location,
+ administrator_login: administrator_login,
+ administrator_login_password: administrator_login_password
+ }
+ end
+ end
+ end
+ end
+end