Class: Fog::Network::AzureRM::Real

Inherits:
Object
  • Object
show all
Defined in:
lib/fog/azurerm/network.rb,
lib/fog/azurerm/requests/network/list_subnets.rb,
lib/fog/azurerm/requests/network/create_subnet.rb,
lib/fog/azurerm/requests/network/delete_subnet.rb,
lib/fog/azurerm/requests/network/list_public_ips.rb,
lib/fog/azurerm/requests/network/create_public_ip.rb,
lib/fog/azurerm/requests/network/delete_public_ip.rb,
lib/fog/azurerm/requests/network/check_for_public_ip.rb,
lib/fog/azurerm/requests/network/list_virtual_networks.rb,
lib/fog/azurerm/requests/network/create_virtual_network.rb,
lib/fog/azurerm/requests/network/delete_virtual_network.rb,
lib/fog/azurerm/requests/network/list_network_interfaces.rb,
lib/fog/azurerm/requests/network/create_network_interface.rb,
lib/fog/azurerm/requests/network/delete_network_interface.rb,
lib/fog/azurerm/requests/network/check_for_virtual_network.rb

Overview

Mock class for Network Request

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Real

Returns a new instance of Real.



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/fog/azurerm/network.rb', line 52

def initialize(options)
  begin
    require 'azure_mgmt_network'
  rescue LoadError => e
    retry if require('rubygems')
    raise e.message
  end

  credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret])
  @network_client = ::Azure::ARM::Network::NetworkManagementClient.new(credentials)
  @network_client.subscription_id = options[:subscription_id]
end

Instance Method Details

#check_for_public_ip(resource_group, name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/fog/azurerm/requests/network/check_for_public_ip.rb', line 6

def check_for_public_ip(resource_group, name)
  begin
    promise = @network_client.public_ipaddresses.get(resource_group, name)
    promise.value!
    return true
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception checking name availability: #{e.body['error']['message']}"
    raise msg if e.body['error']['code'] == 'ResourceGroupNotFound'
    return false if e.body['error']['code'] == 'ResourceNotFound'
  end
end

#check_for_virtual_network(name, resource_group) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/fog/azurerm/requests/network/check_for_virtual_network.rb', line 6

def check_for_virtual_network(name, resource_group)
  begin
    promise = @network_client.virtual_networks.get(resource_group, name)
    promise.value!
    return true
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception checking name availability: #{e.body['error']['message']}"
    raise msg if e.body['error']['code'] == 'ResourceGroupNotFound'
    return false if e.body['error']['code'] == 'ResourceNotFound'
  end
end

#create_network_interface(name, location, resource_group, subnet_id, ip_config_name, prv_ip_alloc_method) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/fog/azurerm/requests/network/create_network_interface.rb', line 7

def create_network_interface(name, location, resource_group, subnet_id, ip_config_name, prv_ip_alloc_method)
  network_interface = define_network_interface(name, location, subnet_id, ip_config_name, prv_ip_alloc_method)
  begin
    promise = @network_client.network_interfaces.create_or_update(resource_group, name, network_interface)
    promise.value!
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception creating Network Interface #{name} in Resource Group: #{resource_group}. #{e.body['error']['message']}"
    raise msg
  end
end

#create_public_ip(resource_group, name, location, type) ⇒ 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/network/create_public_ip.rb', line 6

def create_public_ip(resource_group, name, location, type)
  Fog::Logger.debug "Creating PublicIP #{name} in Resource Group #{resource_group}."
  properties = Azure::ARM::Network::Models::PublicIPAddressPropertiesFormat.new
  properties.public_ipallocation_method = type
  
  public_ip = Azure::ARM::Network::Models::PublicIPAddress.new
  public_ip.name = name
  public_ip.location = location
  public_ip.properties = properties
  begin
    promise = @network_client.public_ipaddresses.create_or_update(resource_group, name, public_ip)
    result = promise.value!
    Fog::Logger.debug "PublicIP #{name} Created Successfully!"
    result
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception creating Public IP #{name} in Resource Group: #{resource_group}. #{e.body['error']['message']}"
    raise msg
  end
end

#create_subnet(resource_group, virtual_network_name, subnet_name, addressPrefix) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/fog/azurerm/requests/network/create_subnet.rb', line 6

def create_subnet(resource_group, virtual_network_name, subnet_name, addressPrefix)
  subnet_properties = Azure::ARM::Network::Models::SubnetPropertiesFormat.new
  subnet_properties.address_prefix = addressPrefix unless addressPrefix.nil?

  subnet = Azure::ARM::Network::Models::Subnet.new
  subnet.name = subnet_name
  subnet.properties = subnet_properties
  begin
    promise = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
    promise.value!
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception creating Subnet #{subnet_name} in Resource Group: #{resource_group}. #{e.body['error']['message']}"
    raise msg
  end
end

#create_virtual_network(name, location, resource_group_name, dns_list, subnet_address_list, network_address_list) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/fog/azurerm/requests/network/create_virtual_network.rb', line 5

def create_virtual_network(name, location, resource_group_name, dns_list, subnet_address_list, network_address_list)
  virtual_network = define_vnet_object(location, name, network_address_list, dns_list, subnet_address_list)
  begin
    promise = @network_client.virtual_networks.create_or_update(resource_group_name, name, virtual_network)
    promise.value!
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception creating Virtual Network #{name} in Resource Group: #{resource_group_name}. #{e.body['error']['message']}"
    raise msg
  end
end

#delete_network_interface(resource_group, name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fog/azurerm/requests/network/delete_network_interface.rb', line 6

def delete_network_interface(resource_group, name)
  Fog::Logger.debug "Deleting NetworkInterface #{name} from Resource Group #{resource_group}."
  begin
    promise = @network_client.network_interfaces.delete(resource_group, name)
    response = promise.value!
    Fog::Logger.debug "NetworkInterface #{name} Deleted Successfully."
    response
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception deleting Network Interface #{name} in Resource Group: #{resource_group}. #{e.body['error']['message']}"
    raise msg
  end
end

#delete_public_ip(resource_group, name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fog/azurerm/requests/network/delete_public_ip.rb', line 6

def delete_public_ip(resource_group, name)
  Fog::Logger.debug "Deleting PublicIP #{name} from Resource Group #{resource_group}."
  begin
    promise = @network_client.public_ipaddresses.delete(resource_group, name)
    response = promise.value!
    Fog::Logger.debug "PublicIP #{name} Deleted Successfully."
    response
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception deleting Public IP #{name} in Resource Group: #{resource_group}. #{e.body['error']['message']}"
    raise msg
  end
end

#delete_subnet(resource_group, virtual_network_name, subnet_name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fog/azurerm/requests/network/delete_subnet.rb', line 6

def delete_subnet(resource_group, virtual_network_name, subnet_name)
  Fog::Logger.debug "Deleting Subnet: #{subnet_name}..."
  begin
    promise = @network_client.subnets.delete(resource_group, virtual_network_name, subnet_name)
    response = promise.value!
    Fog::Logger.debug "Subnet #{subnet_name} deleted successfully."
    response
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception deleting Subnet #{subnet_name} in Resource Group: #{resource_group}. #{e.body['error']['message']}"
    raise msg
  end
end

#delete_virtual_network(resource_group_name, name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fog/azurerm/requests/network/delete_virtual_network.rb', line 6

def delete_virtual_network(resource_group_name, name)
  Fog::Logger.debug "Deleting Virtual Network: #{name}..."
  begin
    promise = @network_client.virtual_networks.delete(resource_group_name, name)
    response = promise.value!
    Fog::Logger.debug "Virtual Network #{name} deleted successfully."
    response
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception deleting Virtual Network #{name} in Resource Group: #{resource_group_name}. #{e.body['error']['message']}"
    raise msg
  end
end

#list_network_interfaces(resource_group) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fog/azurerm/requests/network/list_network_interfaces.rb', line 6

def list_network_interfaces(resource_group)
  Fog::Logger.debug "Getting list of NetworkInterfaces from Resource Group #{resource_group}."
  begin
    promise = @network_client.network_interfaces.list(resource_group)
    response = promise.value!
    result = response.body.value
    return result
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception listing Network Interfaces from Resource Group '#{resource_group}'. #{e.body['error']['message']}."
    raise msg
  end
end

#list_public_ips(resource_group) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fog/azurerm/requests/network/list_public_ips.rb', line 6

def list_public_ips(resource_group)
  Fog::Logger.debug "Getting list of PublicIPs from Resource Group #{resource_group}."
  begin
    promise = @network_client.public_ipaddresses.list(resource_group)
    response = promise.value!
    result = response.body.value
    return result
  rescue  MsRestAzure::AzureOperationError => e
    msg = "Exception listing Public IPs from Resource Group '#{resource_group}'. #{e.body['error']['message']}."
    raise msg
  end
end

#list_subnets(resource_group_name, virtual_network_name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/fog/azurerm/requests/network/list_subnets.rb', line 6

def list_subnets(resource_group_name, virtual_network_name)
  begin
    promise = @network_client.subnets.list(resource_group_name, virtual_network_name)
    response = promise.value!
    response.body.value
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception listing Subnets from Resource Group '#{resource_group_name}' in Virtal Network #{virtual_network_name}. #{e.body['error']['message']}."
    raise msg
  end
end

#list_virtual_networks(resource_group) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/fog/azurerm/requests/network/list_virtual_networks.rb', line 5

def list_virtual_networks(resource_group)
  begin
    response = @network_client.virtual_networks.list(resource_group)
    result = response.value!
    result.body.value
  rescue MsRestAzure::AzureOperationError => e
    msg = "Exception listing Virtual Networks. #{e.body['error']['message']}."
    raise msg
  end
end