Class: Fog::Sql::AzureRM::Real
- Inherits:
-
Object
- Object
- Fog::Sql::AzureRM::Real
- Defined in:
- lib/fog/azurerm/sql.rb,
lib/fog/azurerm/requests/sql/get_database.rb,
lib/fog/azurerm/requests/sql/get_sql_server.rb,
lib/fog/azurerm/requests/sql/list_databases.rb,
lib/fog/azurerm/requests/sql/delete_database.rb,
lib/fog/azurerm/requests/sql/list_sql_servers.rb,
lib/fog/azurerm/requests/sql/delete_sql_server.rb,
lib/fog/azurerm/requests/sql/get_firewall_rule.rb,
lib/fog/azurerm/requests/sql/list_firewall_rules.rb,
lib/fog/azurerm/requests/sql/delete_firewall_rule.rb,
lib/fog/azurerm/requests/sql/create_or_update_database.rb,
lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb,
lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb
Overview
Real class for Firewall Rule Request
Instance Method Summary collapse
- #create_or_update_database(database_hash) ⇒ Object
- #create_or_update_firewall_rule(firewall_hash) ⇒ Object
- #create_or_update_sql_server(server_hash) ⇒ Object
- #delete_database(resource_group, server_name, name) ⇒ Object
- #delete_firewall_rule(resource_group, server_name, rule_name) ⇒ Object
- #delete_sql_server(resource_group, name) ⇒ Object
- #get_database(resource_group, server_name, name) ⇒ Object
- #get_firewall_rule(resource_group, server_name, rule_name) ⇒ Object
- #get_sql_server(resource_group, server_name) ⇒ Object
-
#initialize(options) ⇒ Real
constructor
A new instance of Real.
- #list_databases(resource_group, server_name) ⇒ Object
- #list_firewall_rules(resource_group, server_name) ⇒ Object
- #list_sql_servers(resource_group) ⇒ Object
Constructor Details
#initialize(options) ⇒ Real
Returns a new instance of Real.
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/fog/azurerm/sql.rb', line 38 def initialize() @tenant_id = [:tenant_id] @client_id = [:client_id] @client_secret = [:client_secret] @subscription_id = [:subscription_id] @resources = Fog::Resources::AzureRM.new( tenant_id: [:tenant_id], client_id: [:client_id], client_secret: [:client_secret], subscription_id: [:subscription_id] ) end |
Instance Method Details
#create_or_update_database(database_hash) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{database_hash[:resource_group]}/providers/Microsoft.Sql/servers/#{database_hash[:server_name]}/databases/#{database_hash[:name]}?api-version=2014-04-01-preview" request_parameters = get_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[:restore_point_in_time], database_hash[:source_database_deletion_date], database_hash[:elastic_pool_name], database_hash[:requested_service_objective_id]) begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.put( resource_url, request_parameters.to_json, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Database: #{database_hash[:name]} created successfully." Fog::JSON.decode(response) end |
#create_or_update_firewall_rule(firewall_hash) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{firewall_hash[:resource_group]}/providers/Microsoft.Sql/servers/#{firewall_hash[:server_name]}/firewallRules/#{firewall_hash[:name]}?api-version=2014-04-01-preview" request_parameters = get_server_firewall_parameters(firewall_hash[:start_ip], firewall_hash[:end_ip]) begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.put( resource_url, request_parameters.to_json, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Firewall Rule : #{firewall_hash[:name]} created successfully." Fog::JSON.decode(response) end |
#create_or_update_sql_server(server_hash) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{server_hash[:resource_group]}/providers/Microsoft.Sql/servers/#{server_hash[:name]}?api-version=2014-04-01-preview" request_parameters = get_server_parameters(server_hash[:location], server_hash[:version], server_hash[:administrator_login], server_hash[:administrator_login_password]) begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.put( resource_url, request_parameters.to_json, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Server: #{server_hash[:name]} created successfully." Fog::JSON.decode(response) end |
#delete_database(resource_group, server_name, name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases/#{name}?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) RestClient.delete( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => 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) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/#{rule_name}?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) RestClient.delete( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => 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) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{name}?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) RestClient.delete( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "SQL Server: #{name} deleted successfully." true end |
#get_database(resource_group, server_name, name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases/#{name}?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.get( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Database fetched successfully in Resource Group: #{resource_group}" Fog::JSON.decode(response) end |
#get_firewall_rule(resource_group, server_name, rule_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/#{rule_name}?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.get( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Server Firewall Rule fetched successfully from Server: #{server_name}, Resource Group: #{resource_group}" Fog::JSON.decode(response) end |
#get_sql_server(resource_group, server_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.get( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Server fetched successfully in Resource Group: #{resource_group}" Fog::JSON.decode(response) end |
#list_databases(resource_group, server_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.get( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Databases listed successfully in Resource Group: #{resource_group}" Fog::JSON.decode(response)['value'] end |
#list_firewall_rules(resource_group, server_name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.get( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => 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}" Fog::JSON.decode(response)['value'] end |
#list_sql_servers(resource_group) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers?api-version=2014-04-01-preview" begin token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret) response = RestClient.get( resource_url, accept: :json, content_type: :json, authorization: token ) rescue RestClient::Exception => e raise_azure_exception(e, msg) end Fog::Logger.debug "Sql Servers listed successfully in Resource Group: #{resource_group}" Fog::JSON.decode(response)['value'] end |