class Fog::Sql::AzureRM::Real
Real
class for Sql
Database Request
Real
class for Firewall Rule Request
Real
class for Sql
Server Request
Real
class for Sql
Database Request
Real
class for Sql
Firewall Rule Request
Real
class for Sql
Server Request
Real
class for Sql
Database Request
Real
class for Sql
Server Firewall Rule Request
Real
class for Sql
Server Request
Real
class for Sql
Database Request
Real
class for Sql
Server Firewall Rule Request
Real
class for Sql
Server Request
This class provides the actual implementation for service calls.
Public Class Methods
new(options)
click to toggle source
# File lib/fog/azurerm/sql.rb, line 42 def initialize(options) begin require 'azure_mgmt_sql' rescue LoadError => e retry if require('rubygems') raise e.message end options[:environment] = 'AzureCloud' if options[:environment].nil? credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret], options[:environment]) @sql_mgmt_client = ::Azure::ARM::SQL::SqlManagementClient.new(credentials, resource_manager_endpoint_url(options[:environment])) @sql_mgmt_client.subscription_id = options[:subscription_id] telemetry = "fog-azure-rm/#{Fog::AzureRM::VERSION}" @sql_mgmt_client.add_user_agent_information(telemetry) end
Public Instance Methods
check_database_exists(resource_group, server_name, name)
click to toggle source
# File lib/fog/azurerm/requests/sql/check_database_exists.rb, line 6 def check_database_exists(resource_group, server_name, name) msg = "Checking SQL Database #{name}" Fog::Logger.debug msg # This module needs to be updated to azure sdk end
check_firewall_rule_exists(resource_group, server_name, rule_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/check_firewall_rule_exists.rb, line 6 def check_firewall_rule_exists(resource_group, server_name, rule_name) msg = "Checking Firewall Rule #{rule_name}" Fog::Logger.debug msg # This module needs to be updated to azure sdk end
check_sql_server_exists(resource_group, server_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/check_sql_server_exists.rb, line 6 def check_sql_server_exists(resource_group, server_name) msg = "Checking SQL Server #{server_name}" Fog::Logger.debug msg # This module needs to be updated to azure sdk end
create_or_update_database(database_hash)
click to toggle source
# File lib/fog/azurerm/requests/sql/create_or_update_database.rb, line 6 def create_or_update_database(database_hash) msg = "Creating SQL Database: #{database_hash[:name]}." Fog::Logger.debug msg formatted_database_params = format_database_parameters(database_hash[:location], database_hash[:create_mode], database_hash[:edition], database_hash[:source_database_id], database_hash[:collation], database_hash[:max_size_bytes], database_hash[:requested_service_objective_name], database_hash[:elastic_pool_name], database_hash[:requested_service_objective_id], database_hash[:tags]) begin sql_database = @sql_mgmt_client.databases.create_or_update(database_hash[:resource_group], database_hash[:server_name], database_hash[:name], formatted_database_params) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Database: #{database_hash[:name]} created successfully." sql_database end
create_or_update_firewall_rule(firewall_hash)
click to toggle source
# File lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb, line 6 def create_or_update_firewall_rule(firewall_hash) msg = "Creating SQL Firewall Rule : #{firewall_hash[:name]}." Fog::Logger.debug msg begin server_firewall_rule = @sql_mgmt_client.servers.create_or_update_firewall_rule(firewall_hash[:resource_group], firewall_hash[:server_name], firewall_hash[:name], format_server_firewall_parameters(firewall_hash[:start_ip], firewall_hash[:end_ip])) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Firewall Rule : #{firewall_hash[:name]} created successfully." server_firewall_rule end
create_or_update_sql_server(server_hash)
click to toggle source
# File lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb, line 6 def create_or_update_sql_server(server_hash) msg = "Creating SQL Server: #{server_hash[:name]}." Fog::Logger.debug msg formatted_server_params = format_server_parameters(server_hash[:location], server_hash[:version], server_hash[:administrator_login], server_hash[:administrator_login_password], server_hash[:tags]) begin sql_server = @sql_mgmt_client.servers.create_or_update(server_hash[:resource_group], server_hash[:name], formatted_server_params) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Server: #{server_hash[:name]} created successfully." sql_server end
delete_database(resource_group, server_name, name)
click to toggle source
# File lib/fog/azurerm/requests/sql/delete_database.rb, line 6 def delete_database(resource_group, server_name, name) msg = "Deleting SQL Database: #{name}." Fog::Logger.debug msg begin @sql_mgmt_client.databases.delete(resource_group, server_name, name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Database: #{name} deleted successfully." true end
delete_firewall_rule(resource_group, server_name, rule_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/delete_firewall_rule.rb, line 6 def delete_firewall_rule(resource_group, server_name, rule_name) msg = "Deleting SQL Firewall Rule: #{rule_name}." Fog::Logger.debug msg begin @sql_mgmt_client.servers.delete_firewall_rule(resource_group, server_name, rule_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Firewall Rule: #{rule_name} deleted successfully." true end
delete_sql_server(resource_group, name)
click to toggle source
# File lib/fog/azurerm/requests/sql/delete_sql_server.rb, line 6 def delete_sql_server(resource_group, name) msg = "Deleting SQL Server: #{name}." Fog::Logger.debug msg begin @sql_mgmt_client.servers.delete(resource_group, name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Server: #{name} deleted successfully." true end
get_database(resource_group, server_name, name)
click to toggle source
# File lib/fog/azurerm/requests/sql/get_database.rb, line 6 def get_database(resource_group, server_name, name) msg = "Getting Sql Database: #{name} in Resource Group: #{resource_group}." Fog::Logger.debug msg begin database = @sql_mgmt_client.databases.get(resource_group, server_name, name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Database fetched successfully in Resource Group: #{resource_group}" database end
get_firewall_rule(resource_group, server_name, rule_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/get_firewall_rule.rb, line 6 def get_firewall_rule(resource_group, server_name, rule_name) msg = "Getting Sql Server Firewall Rule: #{rule_name} from SQL Server: #{server_name} in Resource Group: #{resource_group}..." Fog::Logger.debug msg begin firewall_rule = @sql_mgmt_client.servers.get_firewall_rule(resource_group, server_name, rule_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Server Firewall Rule fetched successfully from Server: #{server_name}, Resource Group: #{resource_group}" firewall_rule end
get_sql_server(resource_group, server_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/get_sql_server.rb, line 6 def get_sql_server(resource_group, server_name) msg = "Getting Sql Server: #{server_name} in Resource Group: #{resource_group}..." Fog::Logger.debug msg begin sql_server = @sql_mgmt_client.servers.get_by_resource_group(resource_group, server_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Server fetched successfully in Resource Group: #{resource_group}" sql_server end
list_databases(resource_group, server_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/list_databases.rb, line 6 def list_databases(resource_group, server_name) msg = "Listing Sql Databases in Resource Group: #{resource_group}." Fog::Logger.debug msg begin databases = @sql_mgmt_client.databases.list_by_server(resource_group, server_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Databases listed successfully in Resource Group: #{resource_group}" databases end
list_firewall_rules(resource_group, server_name)
click to toggle source
# File lib/fog/azurerm/requests/sql/list_firewall_rules.rb, line 6 def list_firewall_rules(resource_group, server_name) msg = "Listing Sql Server Firewall rules on server: #{server_name} in Resource Group: #{resource_group}." Fog::Logger.debug msg begin firewall_rules = @sql_mgmt_client.servers.list_firewall_rules(resource_group, server_name) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Server Firewall Rules listed successfully on server: #{server_name} in Resource Group: #{resource_group}" firewall_rules end
list_sql_servers(resource_group)
click to toggle source
# File lib/fog/azurerm/requests/sql/list_sql_servers.rb, line 6 def list_sql_servers(resource_group) msg = "Listing Sql Servers in Resource Group: #{resource_group}." Fog::Logger.debug msg begin servers = @sql_mgmt_client.servers.list_by_resource_group(resource_group) rescue MsRestAzure::AzureOperationError => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Servers listed successfully in Resource Group: #{resource_group}" servers end
Private Instance Methods
format_database_parameters(location, create_mode, edition, source_database_id, collation, max_size_bytes, requested_service_objective_name, elastic_pool_name, requested_service_objective_id, tags)
click to toggle source
# File lib/fog/azurerm/requests/sql/create_or_update_database.rb, line 33 def format_database_parameters(location, create_mode, edition, source_database_id, collation, max_size_bytes, requested_service_objective_name, elastic_pool_name, requested_service_objective_id, tags) database = Azure::ARM::SQL::Models::Database.new database.location = location database.edition = edition unless edition.nil? database.collation = collation unless collation.nil? database.create_mode = create_mode unless create_mode.nil? database.max_size_bytes = max_size_bytes unless max_size_bytes.nil? database.elastic_pool_name = elastic_pool_name unless elastic_pool_name.nil? database.source_database_id = source_database_id unless source_database_id.nil? database.requested_service_objective_id = requested_service_objective_id unless requested_service_objective_id.nil? database.requested_service_objective_name = requested_service_objective_name unless requested_service_objective_name.nil? database.tags = tags database end
format_server_firewall_parameters(start_ip, end_ip)
click to toggle source
# File lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb, line 21 def format_server_firewall_parameters(start_ip, end_ip) firewall_rule = Azure::ARM::SQL::Models::ServerFirewallRule.new firewall_rule.start_ip_address = start_ip firewall_rule.end_ip_address = end_ip firewall_rule end
format_server_parameters(location, version, admin_login, admin_password, tags)
click to toggle source
# File lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb, line 27 def format_server_parameters(location, version, admin_login, admin_password, tags) server = Azure::ARM::SQL::Models::Server.new server.version = version server.location = location server.administrator_login = admin_login server.administrator_login_password = admin_password server.tags = tags server end