class Fog::Network::AzureRM::Real

Real class for Network Service

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

Mock class for Network Request

Mock class for Network Request

Mock class for Network Request

Mock class for Network Request

Mock class for Network Request

Real class for Load-Balancer Request

Real class for Network Request

Real class for Express Route Circuit Authorization Request

Real class for Network Request

Real class for Local Network Gateway Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Express Route Circuit Authorization Request

Real class for Network Request

Real class for Network Request

Real class for Local Network Gateway Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Express Route Circuit Request

Real class for Express Route Circuit Authorization Request

Real class for Express Route Circuit Peering Request

Real class for Load-Balancer Request

Real class for Local Network Gateway Request

Real class for Network Interface Request

Real class for Network Security Group Request

Real class for Network Security rule Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Gateway Request

Real class for Virtual Network Gateway Connection Request

Real class for Express Route Circuit Authorization Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Local Network Gateway Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

This class provides the actual implementation for service calls.

This class provides the actual implementation for service calls.

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Real class for Network Request

Public Class Methods

new(options) click to toggle source
# File lib/fog/azurerm/network.rb, line 151
def initialize(options)
  begin
    require 'azure_mgmt_network'
    require 'yaml'
  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])
  telemetry = "fog-azure-rm/#{Fog::AzureRM::VERSION}"
  @network_client = ::Azure::ARM::Network::NetworkManagementClient.new(credentials, resource_manager_endpoint_url(options[:environment]))
  @network_client.subscription_id = options[:subscription_id]
  @network_client.add_user_agent_information(telemetry)
  @tenant_id = options[:tenant_id]
  @client_id = options[:client_id]
  @client_secret = options[:client_secret]
  @subscription_id = options[:subscription_id]
  @environment = options[:environment]
  current_directory = File.dirname(__FILE__)
  @logger_messages = YAML.load_file("#{current_directory}/utilities/logger_messages.yml")
end

Public Instance Methods

add_address_prefixes_in_virtual_network(resource_group_name, virtual_network_name, address_prefixes) click to toggle source
# File lib/fog/azurerm/requests/network/add_address_prefixes_in_virtual_network.rb, line 6
def add_address_prefixes_in_virtual_network(resource_group_name, virtual_network_name, address_prefixes)
  Fog::Logger.debug "Adding Address Prefixes: #{address_prefixes.join(', ')} in Virtual Network: #{virtual_network_name}"
  virtual_network = get_virtual_network_object_for_add_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
  virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  Fog::Logger.debug "Address Prefixes: #{address_prefixes.join(', ')} added successfully."
  virtual_network
end
add_dns_servers_in_virtual_network(resource_group_name, virtual_network_name, dns_servers) click to toggle source
# File lib/fog/azurerm/requests/network/add_dns_servers_in_virtual_network.rb, line 6
def add_dns_servers_in_virtual_network(resource_group_name, virtual_network_name, dns_servers)
  Fog::Logger.debug "Adding DNS Servers: #{dns_servers.join(', ')} in Virtual Network: #{virtual_network_name}"
  virtual_network = get_virtual_network_object_for_add_dns!(resource_group_name, virtual_network_name, dns_servers)
  virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  Fog::Logger.debug "DNS Servers: #{dns_servers.join(', ')} added successfully."
  virtual_network
end
add_security_rules(resource_group_name, security_group_name, security_rules) click to toggle source
# File lib/fog/azurerm/requests/network/add_security_rules.rb, line 6
def add_security_rules(resource_group_name, security_group_name, security_rules)
  msg = "Updating security rules in Network Security Group #{security_group_name}."
  Fog::Logger.debug msg

  nsg = @network_client.network_security_groups.get(resource_group_name, security_group_name)
  security_rules_objects = get_security_rule_objects(security_rules)

  security_rules_objects.each do |security_rule|
    nsg.security_rules.push(security_rule)
  end

  begin
    nsg = @network_client.network_security_groups.begin_create_or_update(resource_group_name, security_group_name, nsg)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Security Rules updated in Network Security Group #{security_group_name} successfully!"
  nsg
end
add_subnets_in_virtual_network(resource_group_name, virtual_network_name, subnets) click to toggle source
# File lib/fog/azurerm/requests/network/add_subnets_in_virtual_network.rb, line 6
def add_subnets_in_virtual_network(resource_group_name, virtual_network_name, subnets)
  Fog::Logger.debug "Adding Subnets: in Virtual Network: #{virtual_network_name}"
  virtual_network = get_virtual_network_object_for_subnets!(resource_group_name, virtual_network_name, subnets)
  virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  Fog::Logger.debug 'Subnets added successfully.'
  virtual_network
end
attach_network_security_group_to_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, route_table_id, network_security_group_id) click to toggle source
# File lib/fog/azurerm/requests/network/attach_network_security_group_to_subnet.rb, line 6
def attach_network_security_group_to_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, route_table_id, network_security_group_id)
  msg = "Attaching Network Security Group with Subnet: #{subnet_name}"
  Fog::Logger.debug msg
  subnet = get_subnet_object_for_attach_network_security_group(address_prefix, network_security_group_id, route_table_id)
  begin
    subnet_obj = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug 'Network Security Group attached to Subnet #{subnet_name} successfully.'
  subnet_obj
end
attach_resource_to_nic(resource_group_name, nic_name, resource_type, resource_id) click to toggle source
# File lib/fog/azurerm/requests/network/attach_resource_to_nic.rb, line 6
def attach_resource_to_nic(resource_group_name, nic_name, resource_type, resource_id)
  msg = "Updating #{resource_type} in Network Interface #{nic_name}"
  Fog::Logger.debug msg
  begin
    nic = get_network_interface_with_attached_resource(nic_name, resource_group_name, resource_id, resource_type)
    network_interface = @network_client.network_interfaces.create_or_update(resource_group_name, nic_name, nic)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "#{resource_type} updated in Network Interface #{nic_name} successfully!"
  network_interface
end
attach_route_table_to_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/attach_route_table_to_subnet.rb, line 6
def attach_route_table_to_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
  msg = "Attaching Route Table to Subnet: #{subnet_name}"
  Fog::Logger.debug msg
  subnet = get_subnet_object_for_attach_route_table(address_prefix, network_security_group_id, route_table_id)
  begin
    subnet_obj = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug 'Route Table attached to Subnet #{subnet_name} successfully.'
  subnet_obj
end
check_express_route_cir_auth_exists(resource_group_name, circuit_name, authorization_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_express_route_cir_auth_exists.rb, line 6
def check_express_route_cir_auth_exists(resource_group_name, circuit_name, authorization_name)
  msg = "Checking Express Route Circuit Authorization #{authorization_name}"
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuit_authorizations.get(resource_group_name, circuit_name, authorization_name)
    Fog::Logger.debug "Express Route Circuit Authorization #{authorization_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Express Route Circuit Authorization #{authorization_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_express_route_circuit_exists(resource_group_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_express_route_circuit_exists.rb, line 6
def check_express_route_circuit_exists(resource_group_name, circuit_name)
  msg = "Checking Express Route Circuit #{circuit_name}"
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuits.get(resource_group_name, circuit_name)
    Fog::Logger.debug "Express Route Circuit #{circuit_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Express Route Circuit #{circuit_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_load_balancer_exists(resource_group_name, load_balancer_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_load_balancer_exists.rb, line 6
def check_load_balancer_exists(resource_group_name, load_balancer_name)
  msg = "Checking Load Balancer #{load_balancer_name}"
  Fog::Logger.debug msg
  begin
    @network_client.load_balancers.get(resource_group_name, load_balancer_name)
    Fog::Logger.debug "Load Balancer #{load_balancer_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Load Balancer #{load_balancer_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_local_net_gateway_exists(resource_group_name, local_network_gateway_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_local_net_gateway_exists.rb, line 6
def check_local_net_gateway_exists(resource_group_name, local_network_gateway_name)
  msg = "Checking Local Network Gateway #{local_network_gateway_name}"
  Fog::Logger.debug msg
  begin
    @network_client.local_network_gateways.get(resource_group_name, local_network_gateway_name)
    Fog::Logger.debug "Local Network Gateway #{local_network_gateway_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Local Network Gateway #{local_network_gateway_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_net_sec_group_exists(resource_group_name, security_group_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_net_sec_group_exists.rb, line 6
def check_net_sec_group_exists(resource_group_name, security_group_name)
  msg = "Checking Network Security Group #{security_group_name}"
  Fog::Logger.debug msg
  begin
    @network_client.network_security_groups.get(resource_group_name, security_group_name)
    Fog::Logger.debug "Network Security Group #{security_group_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Network Security Group #{security_group_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_net_sec_rule_exists(resource_group_name, network_security_group_name, security_rule_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_net_sec_rule_exists.rb, line 6
def check_net_sec_rule_exists(resource_group_name, network_security_group_name, security_rule_name)
  msg = "Checking Network Security Rule #{security_rule_name}"
  Fog::Logger.debug msg
  begin
    @network_client.security_rules.get(resource_group_name, network_security_group_name, security_rule_name)
    Fog::Logger.debug "Network Security Rule #{security_rule_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Network Security Rule #{security_rule_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_network_interface_exists(resource_group_name, nic_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_network_interface_exists.rb, line 6
def check_network_interface_exists(resource_group_name, nic_name)
  msg = "Checking Network Interface #{nic_name}"
  Fog::Logger.debug msg
  begin
    @network_client.network_interfaces.get(resource_group_name, nic_name)
    Fog::Logger.debug "Network Interface #{nic_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Network Interface #{nic_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_public_ip_exists(resource_group, name) click to toggle source
# File lib/fog/azurerm/requests/network/check_public_ip_exists.rb, line 6
def check_public_ip_exists(resource_group, name)
  msg = "Checking Public IP #{name}"
  Fog::Logger.debug msg
  begin
    @network_client.public_ipaddresses.get(resource_group, name)
    Fog::Logger.debug "Public IP #{name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Public IP #{name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_subnet_exists(resource_group, virtual_network_name, subnet_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_subnet_exists.rb, line 6
def check_subnet_exists(resource_group, virtual_network_name, subnet_name)
  msg = "Checking Subnet #{subnet_name}"
  Fog::Logger.debug msg
  begin
    @network_client.subnets.get(resource_group, virtual_network_name, subnet_name)
    Fog::Logger.debug "Subnet #{subnet_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Subnet #{subnet_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_virtual_network_exists(resource_group, name) click to toggle source
# File lib/fog/azurerm/requests/network/check_virtual_network_exists.rb, line 6
def check_virtual_network_exists(resource_group, name)
  msg = "Checking Virtual Network #{name}"
  Fog::Logger.debug msg
  begin
    @network_client.virtual_networks.get(resource_group, name)
    Fog::Logger.debug "Virtual Network #{name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Virtual Network #{name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_vnet_gateway_connection_exists(resource_group_name, gateway_connection_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_vnet_gateway_connection_exists.rb, line 6
def check_vnet_gateway_connection_exists(resource_group_name, gateway_connection_name)
  msg = "Checking Virtual Network Gateway Connection #{gateway_connection_name}"
  Fog::Logger.debug msg
  begin
    @network_client.virtual_network_gateway_connections.get(resource_group_name, gateway_connection_name)
    Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
check_vnet_gateway_exists(resource_group_name, network_gateway_name) click to toggle source
# File lib/fog/azurerm/requests/network/check_vnet_gateway_exists.rb, line 6
def check_vnet_gateway_exists(resource_group_name, network_gateway_name)
  msg = "Checking Virtual Network Gateway #{network_gateway_name}"
  Fog::Logger.debug msg
  begin
    @network_client.virtual_network_gateways.get(resource_group_name, network_gateway_name)
    Fog::Logger.debug "Virtual Network Gateway #{network_gateway_name} exists."
    true
  rescue MsRestAzure::AzureOperationError => e
    if resource_not_found?(e)
      Fog::Logger.debug "Virtual Network Gateway #{network_gateway_name} doesn't exist."
      false
    else
      raise_azure_exception(e, msg)
    end
  end
end
create_load_balancer(name, location, resource_group, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 6
def create_load_balancer(name, location, resource_group, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools, tags)
  msg = "Creating Load-Balancer: #{name}"
  Fog::Logger.debug msg
  load_balancer = define_load_balancer(name, location, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools, tags)
  begin
    load_balancer = @network_client.load_balancers.create_or_update(resource_group, name, load_balancer)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Load-Balancer #{name} created successfully."
  load_balancer
end
create_or_update_express_route_circuit(circuit_parameters) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 6
def create_or_update_express_route_circuit(circuit_parameters)
  msg = "Creating/updating Express Route Circuit #{circuit_parameters[:circuit_name]} in Resource Group: #{circuit_parameters[:resource_group_name]}."
  Fog::Logger.debug msg
  circuit = get_express_route_circuit_object(circuit_parameters)
  begin
    circuit = @network_client.express_route_circuits.create_or_update(circuit_parameters[:resource_group_name], circuit_parameters[:circuit_name], circuit)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Express Route Circuit #{circuit_parameters[:circuit_name]} created/updated successfully."
  circuit
end
create_or_update_express_route_circuit_authorization(circuit_authorization_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_authorization.rb, line 6
def create_or_update_express_route_circuit_authorization(circuit_authorization_params)
  msg = @logger_messages['network']['express_route_circuit_authentication']['message']['create']
        .gsub('NAME', circuit_authorization_params[:authorization_name])
        .gsub('RESOURCE_GROUP', circuit_authorization_params[:resource_group])
  Fog::Logger.debug msg
  circuit_authorization = get_circuit_authorization_object(circuit_authorization_params)
  begin
    authorization = @network_client.express_route_circuit_authorizations.create_or_update(circuit_authorization_params[:resource_group], circuit_authorization_params[:circuit_name], circuit_authorization_params[:authorization_name], circuit_authorization)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Express Route Circuit Authorization #{circuit_authorization_params[:authorization_name]} created/updated successfully."
  authorization
end
create_or_update_express_route_circuit_peering(circuit_peering_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_peering.rb, line 6
def create_or_update_express_route_circuit_peering(circuit_peering_params)
  msg = "Exception creating/updating Express Route Circuit Peering #{circuit_peering_params[:peering_name]} in Resource Group: #{circuit_peering_params[:resource_group_name]}."
  Fog::Logger.debug msg
  circuit_peering = get_circuit_peering_object(circuit_peering_params)
  begin
    peering = @network_client.express_route_circuit_peerings.create_or_update(circuit_peering_params[:resource_group_name], circuit_peering_params[:circuit_name], circuit_peering_params[:peering_name], circuit_peering)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Express Route Circuit Peering #{circuit_peering_params[:peering_name]} created/updated successfully."
  peering
end
create_or_update_local_network_gateway(local_network_gateway_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_local_network_gateway.rb, line 6
def create_or_update_local_network_gateway(local_network_gateway_params)
  msg = @logger_messages['network']['local_network_gateway']['message']['create']
        .gsub('NAME', local_network_gateway_params[:name])
        .gsub('RESOURCE_GROUP', local_network_gateway_params[:resource_group])
  Fog::Logger.debug msg
  local_network_gateway = get_local_network_gateway_object(local_network_gateway_params)
  begin
    local_network_gateway = @network_client.local_network_gateways.create_or_update(local_network_gateway_params[:resource_group], local_network_gateway.name, local_network_gateway)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Local Network Gateway #{local_network_gateway_params[:name]} created/updated successfully."
  local_network_gateway
end
create_or_update_network_interface(resource_group_name, name, location, subnet_id, public_ip_address_id, network_security_group_id, ip_config_name, private_ip_allocation_method, private_ip_address, load_balancer_backend_address_pools_ids, load_balancer_inbound_nat_rules_ids, tags, enable_accelerated_networking = false, async = false) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_interface.rb, line 7
def create_or_update_network_interface(resource_group_name, name, location, subnet_id, public_ip_address_id, network_security_group_id, ip_config_name, private_ip_allocation_method, private_ip_address, load_balancer_backend_address_pools_ids, load_balancer_inbound_nat_rules_ids, tags, enable_accelerated_networking = false, async = false)
  msg = "Creating/Updating Network Interface Card: #{name}"
  Fog::Logger.debug msg
  network_interface = get_network_interface_object(name, location, subnet_id, public_ip_address_id, network_security_group_id, ip_config_name, private_ip_allocation_method, private_ip_address, load_balancer_backend_address_pools_ids, load_balancer_inbound_nat_rules_ids, tags, enable_accelerated_networking)
  begin
    nic_response = if async
                     @network_client.network_interfaces.create_or_update_async(resource_group_name, name, network_interface)
                   else
                     @network_client.network_interfaces.create_or_update(resource_group_name, name, network_interface)
                   end
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Network Interface #{name} created/updated successfully." unless async
  nic_response
end
create_or_update_network_security_group(resource_group_name, security_group_name, location, security_rules, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_security_group.rb, line 6
def create_or_update_network_security_group(resource_group_name, security_group_name, location, security_rules, tags)
  msg = "Creating/Updating Network Security Group #{security_group_name} in Resource Group #{resource_group_name}."
  Fog::Logger.debug msg

  security_group = get_security_group_object(security_rules, location, tags)

  begin
    security_group = @network_client.network_security_groups.begin_create_or_update(resource_group_name, security_group_name, security_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Group #{security_group_name} Created/Updated Successfully!"
  security_group
end
create_or_update_network_security_rule(security_rule) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_security_rule.rb, line 6
def create_or_update_network_security_rule(security_rule)
  msg = "Creating/Updating Network Security Rule #{security_rule[:name]} in Resource Group #{security_rule[:resource_group]}."
  Fog::Logger.debug msg
  security_rule_params = get_security_rule_params(security_rule)
  begin
    security_rule_obj = @network_client.security_rules.create_or_update(security_rule[:resource_group], security_rule[:network_security_group_name], security_rule[:name], security_rule_params)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Network Security Rule #{security_rule[:name]} Created/Updated Successfully!"
  security_rule_obj
end
create_or_update_public_ip(resource_group, name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_public_ip.rb, line 6
def create_or_update_public_ip(resource_group, name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label, tags)
  msg = "Creating/Updating PublicIP #{name} in Resource Group #{resource_group}."
  Fog::Logger.debug msg
  public_ip = get_public_ip_object(name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label, tags)
  begin
    public_ip_obj = @network_client.public_ipaddresses.create_or_update(resource_group, name, public_ip)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "PublicIP #{name} Created Successfully!"
  public_ip_obj
end
create_or_update_virtual_network(resource_group_name, virtual_network_name, location, dns_servers, subnets, address_prefixes, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb, line 6
def create_or_update_virtual_network(resource_group_name, virtual_network_name, location, dns_servers, subnets, address_prefixes, tags)
  virtual_network = define_vnet_object(location, address_prefixes, dns_servers, subnets, tags)
  create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
end
create_or_update_virtual_network_gateway(virtual_network_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 7
def create_or_update_virtual_network_gateway(virtual_network_params)
  msg = "Creating/Updating Virtual Network Gateway: #{virtual_network_params[:name]} in Resource Group: #{virtual_network_params[:resource_group_name]}."
  Fog::Logger.debug msg
  network_gateway = get_network_gateway_object(virtual_network_params)
  begin
    virtual_network_gateway = @network_client.virtual_network_gateways.create_or_update(virtual_network_params[:resource_group_name], virtual_network_params[:name], network_gateway)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network Gateway #{virtual_network_params[:name]} created/updated successfully."
  virtual_network_gateway
end
create_or_update_virtual_network_gateway_connection(gateway_connection_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway_connection.rb, line 7
def create_or_update_virtual_network_gateway_connection(gateway_connection_params)
  msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['create']
        .gsub('NAME', gateway_connection_params[:name])
        .gsub('RESOURCE_GROUP', gateway_connection_params[:resource_group_name])
  Fog::Logger.debug msg
  gateway_connection = get_network_gateway_connection_object(gateway_connection_params)
  begin
    network_gateway_connection = @network_client.virtual_network_gateway_connections.create_or_update(gateway_connection_params[:resource_group_name], gateway_connection_params[:name], gateway_connection)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_params[:name]} created/updated successfully."
  network_gateway_connection
end
create_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/create_subnet.rb, line 6
def create_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
  msg = "Creating Subnet: #{subnet_name}"
  Fog::Logger.debug msg
  subnet = get_subnet_object(address_prefix, network_security_group_id, route_table_id)
  begin
    subnet_obj = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Subnet #{subnet_name} created successfully."
  subnet_obj
end
delete_express_route_circuit(resource_group_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_express_route_circuit.rb, line 6
def delete_express_route_circuit(resource_group_name, circuit_name)
  msg = "Deleting Express Route Circuit #{circuit_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuits.delete(resource_group_name, circuit_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Express Route Circuit #{circuit_name} Deleted Successfully."
  true
end
delete_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_express_route_circuit_authorization.rb, line 6
def delete_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name)
  msg = @logger_messages['network']['express_route_circuit_authentication']['message']['delete']
        .gsub('NAME', authorization_name).gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuit_authorizations.delete(resource_group_name, circuit_name, authorization_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Express Route Circuit Authorization #{authorization_name} Deleted Successfully."
  true
end
delete_express_route_circuit_peering(resource_group_name, peering_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_express_route_circuit_peering.rb, line 6
def delete_express_route_circuit_peering(resource_group_name, peering_name, circuit_name)
  msg = "Deleting Express Route Circuit Peering #{peering_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuit_peerings.delete(resource_group_name, circuit_name, peering_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Express Route Circuit Peering #{peering_name} Deleted Successfully."
  true
end
delete_load_balancer(resource_group, name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_load_balancer.rb, line 6
def delete_load_balancer(resource_group, name)
  msg = "Deleting Load_Balancer #{name} from Resource Group #{resource_group}"
  Fog::Logger.debug msg
  begin
    @network_client.load_balancers.delete(resource_group, name)
  rescue  MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Load_Balancer #{name} Deleted Successfully."
  true
end
delete_local_network_gateway(resource_group_name, local_network_gateway_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_local_network_gateway.rb, line 6
def delete_local_network_gateway(resource_group_name, local_network_gateway_name)
  msg = @logger_messages['network']['local_network_gateway']['message']['delete']
        .gsub('NAME', local_network_gateway_name).gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    @network_client.local_network_gateways.delete(resource_group_name, local_network_gateway_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Local Network Gateway #{local_network_gateway_name} from Resource group #{resource_group_name} deleted successfully."
  true
end
delete_network_interface(resource_group, name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_network_interface.rb, line 6
def delete_network_interface(resource_group, name)
  msg = "Deleting NetworkInterface #{name} from Resource Group #{resource_group}"
  Fog::Logger.debug msg
  begin
    @network_client.network_interfaces.delete(resource_group, name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "NetworkInterface #{name} Deleted Successfully."
  true
end
delete_network_security_group(resource_group, name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_network_security_group.rb, line 6
def delete_network_security_group(resource_group, name)
  msg = "Deleting Network Security Group: #{name}"
  Fog::Logger.debug msg

  begin
    @network_client.network_security_groups.delete(resource_group, name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Group #{name} deleted successfully."
  true
end
delete_network_security_rule(resource_group, network_security_group_name, security_rule_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_network_security_rule.rb, line 6
def delete_network_security_rule(resource_group, network_security_group_name, security_rule_name)
  msg = "Deleting Network Security Rule #{security_rule_name} in Security Group #{network_security_group_name}"
  Fog::Logger.debug msg

  begin
    @network_client.security_rules.delete(resource_group, network_security_group_name, security_rule_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Rule #{security_rule_name} deleted successfully."
  true
end
delete_public_ip(resource_group, name) click to toggle source
# 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
    @network_client.public_ipaddresses.delete(resource_group, name)
  rescue  MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, "Deleting PublicIP #{name} from Resource Group #{resource_group}")
  end
  Fog::Logger.debug "PublicIP #{name} Deleted Successfully."
  true
end
delete_subnet(resource_group, name, virtual_network_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_subnet.rb, line 6
def delete_subnet(resource_group, name, virtual_network_name)
  msg = "Deleting Subnet: #{name}"
  Fog::Logger.debug msg
  begin
    @network_client.subnets.delete(resource_group, virtual_network_name, name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Subnet #{name} of Virtual Network #{virtual_network_name} from Resource group #{resource_group} deleted successfully."
  true
end
delete_virtual_network(resource_group, name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_virtual_network.rb, line 6
def delete_virtual_network(resource_group, name)
  msg = "Deleting Virtual Network: #{name}"
  Fog::Logger.debug msg
  begin
    @network_client.virtual_networks.delete(resource_group, name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network #{name} deleted successfully."
  true
end
delete_virtual_network_gateway(resource_group_name, virtual_network_gateway_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_virtual_network_gateway.rb, line 6
def delete_virtual_network_gateway(resource_group_name, virtual_network_gateway_name)
  msg = "Deleting Virtual Network Gateway #{virtual_network_gateway_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    @network_client.virtual_network_gateways.delete(resource_group_name, virtual_network_gateway_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network Gateway #{virtual_network_gateway_name} Deleted Successfully."
  true
end
delete_virtual_network_gateway_connection(resource_group_name, gateway_connection_name) click to toggle source
# File lib/fog/azurerm/requests/network/delete_virtual_network_gateway_connection.rb, line 6
def delete_virtual_network_gateway_connection(resource_group_name, gateway_connection_name)
  msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['delete']
        .gsub('NAME', gateway_connection_name).gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    @network_client.virtual_network_gateway_connections.delete(resource_group_name, gateway_connection_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_name} Deleted Successfully."
  true
end
detach_network_security_group_from_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/detach_network_security_group_from_subnet.rb, line 6
def detach_network_security_group_from_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, route_table_id)
  msg = "Detaching Network Security Group from Subnet: #{subnet_name}"
  Fog::Logger.debug msg
  subnet = get_subnet_object_for_detach_network_security_group(address_prefix, route_table_id)
  begin
    subnet = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug 'Network Security Group detached successfully.'
  subnet
end
detach_resource_from_nic(resource_group_name, nic_name, resource_type) click to toggle source
# File lib/fog/azurerm/requests/network/detach_resource_from_nic.rb, line 6
def detach_resource_from_nic(resource_group_name, nic_name, resource_type)
  msg = "Removing #{resource_type} from Network Interface #{nic_name}"
  Fog::Logger.debug msg
  begin
    nic = get_network_interface_with_detached_resource(nic_name, resource_group_name, resource_type)

    nic_obj = @network_client.network_interfaces.create_or_update(resource_group_name, nic_name, nic)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "#{resource_type} deleted from Network Interface #{nic_name} successfully!"
  nic_obj
end
detach_route_table_from_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id) click to toggle source
# File lib/fog/azurerm/requests/network/detach_route_table_from_subnet.rb, line 6
def detach_route_table_from_subnet(resource_group, subnet_name, virtual_network_name, address_prefix, network_security_group_id)
  msg = "Detaching Route Table from Subnet: #{subnet_name}"
  Fog::Logger.debug msg
  subnet = get_subnet_object_for_detach_route_table(address_prefix, network_security_group_id)
  begin
    subnet = @network_client.subnets.create_or_update(resource_group, virtual_network_name, subnet_name, subnet)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug 'Route Table detached successfully.'
  subnet
end
get_available_ipaddresses_count(subnet_name, address_prefix, ip_configurations_ids, express_route_enabled) click to toggle source
# File lib/fog/azurerm/requests/network/get_available_ipaddresses_count.rb, line 6
def get_available_ipaddresses_count(subnet_name, address_prefix, ip_configurations_ids, express_route_enabled)
  Fog::Logger.debug "Getting free IP Address count of Subnet #{subnet_name}"
  total_ipaddresses = (2**(32 - address_prefix.split('/').last.to_i)) - 2
  total_ipaddresses -= 3 if express_route_enabled
  used_ip_address = ip_configurations_ids.nil? ? 0 : ip_configurations_ids.count
  total_ipaddresses - used_ip_address
end
get_connection_shared_key(resource_group_name, connection_shared_key_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_connection_shared_key.rb, line 6
def get_connection_shared_key(resource_group_name, connection_shared_key_name)
  msg = "Getting the shared key of Connection #{connection_shared_key_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    @network_client.virtual_network_gateway_connections.get_shared_key(resource_group_name, connection_shared_key_name).value
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
end
get_express_route_circuit(resource_group_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_express_route_circuit.rb, line 6
def get_express_route_circuit(resource_group_name, circuit_name)
  msg = "Getting Express Route Circuit#{circuit_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuits.get(resource_group_name, circuit_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
end
get_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_express_route_circuit_authorization.rb, line 6
def get_express_route_circuit_authorization(resource_group_name, circuit_name, authorization_name)
  msg = @logger_messages['network']['express_route_circuit_authentication']['message']['get']
        .gsub('NAME', authorization_name).gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    circuit_authorization = @network_client.express_route_circuit_authorizations.get(resource_group_name, circuit_name, authorization_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  circuit_authorization
end
get_express_route_circuit_peering(resource_group_name, peering_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_express_route_circuit_peering.rb, line 6
def get_express_route_circuit_peering(resource_group_name, peering_name, circuit_name)
  msg = "Getting Express Route Circuit Peering #{peering_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    circuit_peering = @network_client.express_route_circuit_peerings.get(resource_group_name, circuit_name, peering_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  circuit_peering
end
get_load_balancer(resource_group_name, load_balancer_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_load_balancer.rb, line 6
def get_load_balancer(resource_group_name, load_balancer_name)
  msg = "Getting Load-Balancer: #{load_balancer_name} in Resource Group: #{resource_group_name}"
  Fog::Logger.debug msg
  begin
    load_balancer = @network_client.load_balancers.get(resource_group_name, load_balancer_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Getting Load Balancer #{load_balancer_name} Successfully."
  load_balancer
end
get_local_network_gateway(resource_group_name, local_network_gateway_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_local_network_gateway.rb, line 6
def get_local_network_gateway(resource_group_name, local_network_gateway_name)
  msg = @logger_messages['network']['local_network_gateway']['message']['get']
        .gsub('NAME', local_network_gateway_name).gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    local_network_gateway = @network_client.local_network_gateways.get(resource_group_name, local_network_gateway_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Local Network Gateway #{local_network_gateway_name} retrieved successfully."
  local_network_gateway
end
get_network_interface(resource_group_name, nic_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_network_interface.rb, line 6
def get_network_interface(resource_group_name, nic_name)
  msg = "Getting Network Interface#{nic_name} from Resource Group #{resource_group_name}"
  Fog::Logger.debug msg
  begin
    @network_client.network_interfaces.get(resource_group_name, nic_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
end
get_network_security_group(resource_group_name, security_group_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_network_security_group.rb, line 6
def get_network_security_group(resource_group_name, security_group_name)
  msg = "Getting Network Security Group #{security_group_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg

  begin
    security_group = @network_client.network_security_groups.get(resource_group_name, security_group_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Group #{security_group_name} retrieved successfully."
  security_group
end
get_network_security_rule(resource_group_name, network_security_group_name, security_rule_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_network_security_rule.rb, line 6
def get_network_security_rule(resource_group_name, network_security_group_name, security_rule_name)
  msg = "Getting Network Security Rule #{security_rule_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg

  begin
    security_rule = @network_client.security_rules.get(resource_group_name, network_security_group_name, security_rule_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Rule #{security_rule_name} retrieved successfully."
  security_rule
end
get_public_ip(resource_group_name, public_ip_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_public_ip.rb, line 6
def get_public_ip(resource_group_name, public_ip_name)
  Fog::Logger.debug "Getting Public IP #{public_ip_name} from Resource Group #{resource_group_name}"
  begin
    public_ip = @network_client.public_ipaddresses.get(resource_group_name, public_ip_name)
    Fog::Logger.debug "Public IP #{public_ip_name} retrieved successfully"
    public_ip
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, "Getting Public IP #{public_ip_name} from Resource Group #{resource_group_name}")
  end
end
get_security_rule_params(security_rule_hash) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_security_rule.rb, line 19
def get_security_rule_params(security_rule_hash)
  security_rule = Azure::ARM::Network::Models::SecurityRule.new
  security_rule.protocol = security_rule_hash[:protocol]
  security_rule.source_port_range = security_rule_hash[:source_port_range]
  security_rule.destination_port_range = security_rule_hash[:destination_port_range]
  security_rule.source_address_prefix = security_rule_hash[:source_address_prefix]
  security_rule.destination_address_prefix = security_rule_hash[:destination_address_prefix]
  security_rule.access = security_rule_hash[:access]
  security_rule.priority = security_rule_hash[:priority]
  security_rule.direction = security_rule_hash[:direction]
  security_rule
end
get_subnet(resource_group, virtual_network_name, subnet_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_subnet.rb, line 6
def get_subnet(resource_group, virtual_network_name, subnet_name)
  msg = "Getting Subnet: #{subnet_name}."
  Fog::Logger.debug msg
  begin
    subnet = @network_client.subnets.get(resource_group, virtual_network_name, subnet_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Subnet #{subnet_name} retrieved successfully."
  subnet
end
get_virtual_network(resource_group_name, virtual_network_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_virtual_network.rb, line 6
def get_virtual_network(resource_group_name, virtual_network_name)
  get_vnet(resource_group_name, virtual_network_name)
end
get_virtual_network_gateway(resource_group_name, network_gateway_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_virtual_network_gateway.rb, line 6
def get_virtual_network_gateway(resource_group_name, network_gateway_name)
  msg = "Getting Virtual Network Gateway #{network_gateway_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    network_gateway = @network_client.virtual_network_gateways.get(resource_group_name, network_gateway_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network Gateway #{network_gateway_name} retrieved successfully."
  network_gateway
end
get_virtual_network_gateway_connection(resource_group_name, gateway_connection_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_virtual_network_gateway_connection.rb, line 6
def get_virtual_network_gateway_connection(resource_group_name, gateway_connection_name)
  msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['get']
        .gsub('NAME', gateway_connection_name).gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    gateway_connection = @network_client.virtual_network_gateway_connections.get(resource_group_name, gateway_connection_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network Gateway Connection #{gateway_connection_name} retrieved successfully."
  gateway_connection
end
list_express_route_circuit_authorizations(resource_group_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_express_route_circuit_authorizations.rb, line 6
def list_express_route_circuit_authorizations(resource_group_name, circuit_name)
  msg = @logger_messages['network']['express_route_circuit_authentication']['message']['list']
        .gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    circuit_authorizations = @network_client.express_route_circuit_authorizations.list(resource_group_name, circuit_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  circuit_authorizations
end
list_express_route_circuit_peerings(resource_group_name, circuit_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_express_route_circuit_peerings.rb, line 6
def list_express_route_circuit_peerings(resource_group_name, circuit_name)
  msg = "Getting list of Express Route Circuit Peerings from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    circuit_peerings = @network_client.express_route_circuit_peerings.list(resource_group_name, circuit_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  circuit_peerings
end
list_express_route_circuits(resource_group_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_express_route_circuits.rb, line 6
def list_express_route_circuits(resource_group_name)
  msg = "Getting list of Express Route Circuits from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  begin
    @network_client.express_route_circuits.list(resource_group_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
end
list_express_route_service_providers() click to toggle source
# File lib/fog/azurerm/requests/network/list_express_route_service_providers.rb, line 6
def list_express_route_service_providers
  msg = 'Getting list of Express Route Service Providers.'
  Fog::Logger.debug msg
  begin
    service_providers = @network_client.express_route_service_providers.list
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  service_providers
end
list_load_balancers(resource_group) click to toggle source
# File lib/fog/azurerm/requests/network/list_load_balancers.rb, line 6
def list_load_balancers(resource_group)
  msg = "Getting list of Load-Balancers from Resource Group #{resource_group}"
  Fog::Logger.debug msg
  begin
    load_balancers = @network_client.load_balancers.list_as_lazy(resource_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Successfully retrieved load balancers from Resource Group #{resource_group}"
  load_balancers.value
end
list_load_balancers_in_subscription() click to toggle source
# File lib/fog/azurerm/requests/network/list_load_balancers_in_subscription.rb, line 6
def list_load_balancers_in_subscription
  msg = 'Getting list of Load-Balancers in subscription'
  Fog::Logger.debug msg
  begin
    load_balancers = @network_client.load_balancers.list_all
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug 'Successfully retrieved load balancers in subscription'
  load_balancers
end
list_local_network_gateways(resource_group_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_local_network_gateways.rb, line 6
def list_local_network_gateways(resource_group_name)
  msg = @logger_messages['network']['local_network_gateway']['message']['list']
        .gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    local_network_gateways = @network_client.local_network_gateways.list_as_lazy(resource_group_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  local_network_gateways.value
end
list_network_interfaces(resource_group) click to toggle source
# File lib/fog/azurerm/requests/network/list_network_interfaces.rb, line 6
def list_network_interfaces(resource_group)
  msg = "Getting list of NetworkInterfaces from Resource Group #{resource_group}."
  Fog::Logger.debug msg
  begin
    network_interfaces = @network_client.network_interfaces.list_as_lazy(resource_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  network_interfaces.value
end
list_network_security_groups(resource_group) click to toggle source
# File lib/fog/azurerm/requests/network/list_network_security_groups.rb, line 6
def list_network_security_groups(resource_group)
  msg = "Getting list of Network Security Groups from Resource Group #{resource_group}."
  Fog::Logger.debug msg

  begin
    nsg_list_result = @network_client.network_security_groups.list(resource_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Groups list retrieved successfully from Resource Group #{resource_group}."
  nsg_list_result
end
list_network_security_rules(resource_group, network_security_group_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_network_security_rules.rb, line 6
def list_network_security_rules(resource_group, network_security_group_name)
  msg = "Getting list of Network Security Rule in Security Group #{network_security_group_name} from Resource Group #{resource_group}."
  Fog::Logger.debug msg

  begin
    nsr_list_result = @network_client.security_rules.list_as_lazy(resource_group, network_security_group_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Network Security Rules list retrieved successfully from Resource Group #{resource_group}."
  nsr_list_result.value
end
list_public_ips(resource_group) click to toggle source
# 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
    public_ips = @network_client.public_ipaddresses.list_as_lazy(resource_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, "Getting list of PublicIPs from Resource Group #{resource_group}")
  end
  Fog::Logger.debug 'Public IP listed successfully'
  public_ips.value
end
list_subnets(resource_group, virtual_network_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_subnets.rb, line 6
def list_subnets(resource_group, virtual_network_name)
  msg = "Listing Subnets int Resource Group #{resource_group}"
  Fog::Logger.debug msg
  begin
    subnets = @network_client.subnets.list_as_lazy(resource_group, virtual_network_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  subnets.value
end
list_virtual_network_gateway_connections(resource_group_name) click to toggle source
# File lib/fog/azurerm/requests/network/list_virtual_network_gateway_connections.rb, line 6
def list_virtual_network_gateway_connections(resource_group_name)
  msg = @logger_messages['network']['virtual_network_gateway_connection']['message']['list']
        .gsub('RESOURCE_GROUP', resource_group_name)
  Fog::Logger.debug msg
  begin
    gateway_connections = @network_client.virtual_network_gateway_connections.list_as_lazy(resource_group_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  gateway_connections.value
end
list_virtual_network_gateways(resource_group) click to toggle source
# File lib/fog/azurerm/requests/network/list_virtual_network_gateways.rb, line 6
def list_virtual_network_gateways(resource_group)
  msg = "Getting list of Virtual Network Gateway from Resource Group #{resource_group}."
  Fog::Logger.debug msg
  begin
    network_gateways = @network_client.virtual_network_gateways.list_as_lazy(resource_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  network_gateways.value
end
list_virtual_networks(resource_group) click to toggle source
# File lib/fog/azurerm/requests/network/list_virtual_networks.rb, line 6
def list_virtual_networks(resource_group)
  msg = "Listing Virtual Networks in Resource Group #{resource_group}"
  Fog::Logger.debug msg
  begin
    virtual_networks = @network_client.virtual_networks.list_as_lazy(resource_group)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  virtual_networks.value
end
list_virtual_networks_in_subscription() click to toggle source
# File lib/fog/azurerm/requests/network/list_virtual_networks_in_subscription.rb, line 6
def list_virtual_networks_in_subscription
  msg = 'Listing Virtual Networks in a subscription'
  Fog::Logger.debug msg
  begin
    virtual_networks = @network_client.virtual_networks.list_all
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  virtual_networks
end
remove_address_prefixes_from_virtual_network(resource_group_name, virtual_network_name, address_prefixes) click to toggle source
# File lib/fog/azurerm/requests/network/remove_address_prefixes_from_virtual_network.rb, line 6
def remove_address_prefixes_from_virtual_network(resource_group_name, virtual_network_name, address_prefixes)
  Fog::Logger.debug "Removing Address Prefixes: #{address_prefixes.join(', ')} from Virtual Network: #{virtual_network_name}"
  virtual_network = get_virtual_network_object_for_remove_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
  virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  Fog::Logger.debug "Address Prefixes: #{address_prefixes.join(', ')} removed successfully."
  virtual_network
end
remove_dns_servers_from_virtual_network(resource_group_name, virtual_network_name, dns_servers) click to toggle source
# File lib/fog/azurerm/requests/network/remove_dns_servers_from_virtual_network.rb, line 6
def remove_dns_servers_from_virtual_network(resource_group_name, virtual_network_name, dns_servers)
  Fog::Logger.debug "Removing DNS Servers: #{dns_servers.join(', ')} from Virtual Network: #{virtual_network_name}"
  virtual_network = get_virtual_network_object_for_remove_dns_servers!(resource_group_name, virtual_network_name, dns_servers)
  virtual_network = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  Fog::Logger.debug "DNS Servers: #{dns_servers.join(', ')} removed successfully."
  virtual_network
end
remove_security_rule(resource_group_name, security_group_name, security_rule_name) click to toggle source
# File lib/fog/azurerm/requests/network/remove_security_rule.rb, line 6
def remove_security_rule(resource_group_name, security_group_name, security_rule_name)
  msg = "Deleting security rule #{security_rule_name} from Network Security Group #{security_group_name}."
  Fog::Logger.debug msg

  nsg = @network_client.network_security_groups.get(resource_group_name, security_group_name)
  updated_security_rule_list = remove_security_rule_from_list(nsg.security_rules, security_rule_name)
  nsg.security_rules = updated_security_rule_list

  begin
    nsg = @network_client.network_security_groups.begin_create_or_update(resource_group_name, security_group_name, nsg)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end

  Fog::Logger.debug "Security Rule #{security_rule_name} deleted from Network Security Group #{security_group_name} successfully!"
  nsg
end
remove_security_rule_from_list(security_rule_list, rule_name) click to toggle source
# File lib/fog/azurerm/requests/network/remove_security_rule.rb, line 24
def remove_security_rule_from_list(security_rule_list, rule_name)
  unless security_rule_list.nil?
    return security_rule_list.select { |sr| sr.name != rule_name }
  end
end
remove_subnets_from_virtual_network(resource_group_name, virtual_network_name, subnet_names) click to toggle source
# File lib/fog/azurerm/requests/network/remove_subnets_from_virtual_network.rb, line 6
def remove_subnets_from_virtual_network(resource_group_name, virtual_network_name, subnet_names)
  Fog::Logger.debug "Removing Subnets:#{subnet_names.join(', ')} from Virtual Network: #{virtual_network_name}"
  virtual_network = get_virtual_network_object_for_remove_subnets!(resource_group_name, virtual_network_name, subnet_names)
  result = create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  Fog::Logger.debug "Subnets:#{subnet_names.join(', ')} removed successfully."
  result
end
reset_connection_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key_length) click to toggle source
# File lib/fog/azurerm/requests/network/reset_connection_shared_key.rb, line 6
def reset_connection_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key_length)
  msg = "Resetting the shared key of Connection #{virtual_network_gateway_connection_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  shared_key = get_reset_shared_key_object(shared_key_length)
  begin
    @network_client.virtual_network_gateway_connections.reset_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  true
end
set_connection_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key_value) click to toggle source
# File lib/fog/azurerm/requests/network/set_connection_shared_key.rb, line 6
def set_connection_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key_value)
  msg = "Setting the shared key of Connection #{virtual_network_gateway_connection_name} from Resource Group #{resource_group_name}."
  Fog::Logger.debug msg
  shared_key = get_shared_key_object(shared_key_value)
  begin
    @network_client.virtual_network_gateway_connections.set_shared_key(resource_group_name, virtual_network_gateway_connection_name, shared_key)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  true
end

Private Instance Methods

create_express_route_circuit(service_provider_prop, peerings, circuit_name, location, sku, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 43
def create_express_route_circuit(service_provider_prop, peerings, circuit_name, location, sku, tags)
  express_route_circuit = Azure::ARM::Network::Models::ExpressRouteCircuit.new
  express_route_circuit.service_provider_properties = service_provider_prop
  express_route_circuit.peerings = get_circuit_peerings(peerings) if peerings
  express_route_circuit.name = circuit_name
  express_route_circuit.location = location
  express_route_circuit.sku = sku
  express_route_circuit.tags = tags
  express_route_circuit
end
create_express_route_circuit_peering(peering_type, peer_asn, primary_peer_address_prefix, secondary_peer_address_prefix, vlan_id, name) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 63
def create_express_route_circuit_peering(peering_type, peer_asn, primary_peer_address_prefix, secondary_peer_address_prefix, vlan_id, name)
  circuit_peering = Azure::ARM::Network::Models::ExpressRouteCircuitPeering.new
  circuit_peering.peering_type = peering_type
  circuit_peering.peer_asn = peer_asn
  circuit_peering.primary_peer_address_prefix = primary_peer_address_prefix
  circuit_peering.secondary_peer_address_prefix = secondary_peer_address_prefix
  circuit_peering.vlan_id = vlan_id
  circuit_peering.name = name
  circuit_peering
end
create_express_route_circuit_peering_config(advertised_public_prefixes, advertised_public_prefix_state, customer_asn, routing_registry_name) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 74
def create_express_route_circuit_peering_config(advertised_public_prefixes, advertised_public_prefix_state, customer_asn, routing_registry_name)
  peering_config = Azure::ARM::Network::Models::ExpressRouteCircuitPeeringConfig.new
  peering_config.advertised_public_prefixes = advertised_public_prefixes
  peering_config.advertised_public_prefixes_state = advertised_public_prefix_state
  peering_config.customer_asn = customer_asn
  peering_config.routing_registry_name = routing_registry_name
  peering_config
end
create_express_route_circuit_sku(sku_name, sku_family, sku_tier) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 27
def create_express_route_circuit_sku(sku_name, sku_family, sku_tier)
  sku = Azure::ARM::Network::Models::ExpressRouteCircuitSku.new
  sku.name = sku_name
  sku.family = sku_family
  sku.tier = sku_tier
  sku
end
create_express_route_service_provider_properties(service_provider_name, peering_location, bandwidth_in_mbps) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 35
def create_express_route_service_provider_properties(service_provider_name, peering_location, bandwidth_in_mbps)
  service_provider_prop = Azure::ARM::Network::Models::ExpressRouteCircuitServiceProviderProperties.new
  service_provider_prop.service_provider_name = service_provider_name
  service_provider_prop.peering_location = peering_location
  service_provider_prop.bandwidth_in_mbps = bandwidth_in_mbps
  service_provider_prop
end
create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb, line 13
def create_or_update_vnet(resource_group_name, virtual_network_name, virtual_network)
  msg = "Creating/Updating Virtual Network: #{virtual_network_name}"
  Fog::Logger.debug msg
  begin
    virtual_network = @network_client.virtual_networks.create_or_update(resource_group_name, virtual_network_name, virtual_network)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network #{virtual_network_name} created/updated successfully."
  virtual_network
end
define_inbound_nat_pool(inbound_nat_pools) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 63
def define_inbound_nat_pool(inbound_nat_pools)
  inbound_nat_pool_arr = []
  inbound_nat_pools.each do |inp|
    inbound_nat_pool = Azure::ARM::Network::Models::InboundNatPool.new

    unless inp[:frontend_ip_configuration_id].nil?
      frontend_ipconfigurations = Azure::ARM::Network::Models::FrontendIPConfiguration.new
      frontend_ipconfigurations.id = inp[:frontend_ip_configuration_id]
      inbound_nat_pool.frontend_ipconfiguration = frontend_ipconfigurations
    end

    inbound_nat_pool.protocol = inp[:protocol]
    inbound_nat_pool.frontend_port_range_start = inp[:frontend_port_range_start]
    inbound_nat_pool.frontend_port_range_end = inp[:frontend_port_range_end]
    inbound_nat_pool.backend_port = inp[:backend_port]

    inbound_nat_pool.name = inp[:name]
    inbound_nat_pool_arr.push(inbound_nat_pool)
  end
  inbound_nat_pool_arr
end
define_inbound_nat_rule(inbound_nat_rules) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 85
def define_inbound_nat_rule(inbound_nat_rules)
  inbound_nat_rule_arr = []
  inbound_nat_rules.each do |inr|
    inbound_nat_rule = Azure::ARM::Network::Models::InboundNatRule.new

    unless inr[:frontend_ip_configuration_id].nil?
      frontend_ipconfigurations = Azure::ARM::Network::Models::FrontendIPConfiguration.new
      frontend_ipconfigurations.id = inr[:frontend_ip_configuration_id]
      inbound_nat_rule.frontend_ipconfiguration = frontend_ipconfigurations
    end
    inbound_nat_rule.protocol = inr[:protocol]
    inbound_nat_rule.frontend_port = inr[:frontend_port]
    inbound_nat_rule.backend_port = inr[:backend_port]

    inbound_nat_rule.name = inr[:name]
    inbound_nat_rule_arr.push(inbound_nat_rule)
  end
  inbound_nat_rule_arr
end
define_lb_frontend_ip_configurations(frontend_ip_configurations) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 158
def define_lb_frontend_ip_configurations(frontend_ip_configurations)
  frontend_ip_configuration_arr = []
  frontend_ip_configurations.each do |fic|
    frontend_ip_configuration = Azure::ARM::Network::Models::FrontendIPConfiguration.new
    frontend_ip_configuration.private_ipaddress = fic[:private_ipaddress]
    frontend_ip_configuration.private_ipallocation_method = fic[:private_ipallocation_method]
    unless fic[:subnet_id].nil?
      snet = Azure::ARM::Network::Models::Subnet.new
      snet.id = fic[:subnet_id]
      frontend_ip_configuration.subnet = snet
    end
    unless fic[:public_ipaddress_id].nil?
      pip = Azure::ARM::Network::Models::PublicIPAddress.new
      pip.id = fic[:public_ipaddress_id]
      frontend_ip_configuration.public_ipaddress = pip
    end

    frontend_ip_configuration.name = fic[:name]
    frontend_ip_configuration_arr.push(frontend_ip_configuration)
  end
  frontend_ip_configuration_arr
end
define_load_balancer(name, location, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 21
def define_load_balancer(name, location, frontend_ip_configurations, backend_address_pool_names, load_balancing_rules, probes, inbound_nat_rules, inbound_nat_pools, tags)
  load_balancer = Azure::ARM::Network::Models::LoadBalancer.new
  load_balancer.name = name
  load_balancer.location = location
  load_balancer.tags = tags
  if frontend_ip_configurations
    frontend_ip_configuration_arr = define_lb_frontend_ip_configurations(frontend_ip_configurations)
    load_balancer.frontend_ipconfigurations = frontend_ip_configuration_arr
  end

  if backend_address_pool_names
    load_balancer.backend_address_pools = []
    backend_address_pool_names.each do |bap|
      backend_pool = Azure::ARM::Network::Models::BackendAddressPool.new
      backend_pool.name = bap
      load_balancer.backend_address_pools.push(backend_pool)
    end
  end

  if load_balancing_rules
    load_balancing_rule_arr = define_load_balancing_rule(load_balancing_rules)
    load_balancer.load_balancing_rules = load_balancing_rule_arr
  end

  if probes
    probe_arr = define_probe(probes)
    load_balancer.probes = probe_arr
  end

  if inbound_nat_rules
    inbound_nat_rule_arr = define_inbound_nat_rule(inbound_nat_rules)
    load_balancer.inbound_nat_rules = inbound_nat_rule_arr
  end

  if inbound_nat_pools
    inbound_nat_pool_arr = define_inbound_nat_pool(inbound_nat_pools)
    load_balancer.inbound_nat_pools = inbound_nat_pool_arr
  end

  load_balancer
end
define_load_balancing_rule(load_balancing_rules) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 122
def define_load_balancing_rule(load_balancing_rules)
  load_balancing_rule_arr = []
  load_balancing_rules.each do |lbr|
    load_balancing_rule = Azure::ARM::Network::Models::LoadBalancingRule.new

    load_balancing_rule.protocol = lbr[:protocol]
    load_balancing_rule.load_distribution = lbr[:load_distribution]
    load_balancing_rule.idle_timeout_in_minutes = lbr[:idle_timeout_in_minutes]
    load_balancing_rule.frontend_port = lbr[:frontend_port]
    load_balancing_rule.backend_port = lbr[:backend_port]
    load_balancing_rule.enable_floating_ip = lbr[:enable_floating_ip]

    unless lbr[:frontend_ip_configuration_id].nil?
      frontend_ipconfigurations = Azure::ARM::Network::Models::FrontendIPConfiguration.new
      frontend_ipconfigurations.id = lbr[:frontend_ip_configuration_id]
      load_balancing_rule.frontend_ipconfiguration = frontend_ipconfigurations
    end

    unless lbr[:backend_address_pool_id].nil?
      backend_address_pool = Azure::ARM::Network::Models::BackendAddressPool.new
      backend_address_pool.id = lbr[:backend_address_pool_id]
      load_balancing_rule.backend_address_pool = backend_address_pool
    end

    unless lbr[:probe_id].nil?
      probe = Azure::ARM::Network::Models::Probe.new
      probe.id = lbr[:probe_id]
      load_balancing_rule.probe = probe
    end

    load_balancing_rule.name = lbr[:name]
    load_balancing_rule_arr.push(load_balancing_rule)
  end
  load_balancing_rule_arr
end
define_probe(probes) click to toggle source
# File lib/fog/azurerm/requests/network/create_load_balancer.rb, line 105
def define_probe(probes)
  probe_arr = []
  probes.each do |prb|
    probe = Azure::ARM::Network::Models::Probe.new

    probe.protocol = prb[:protocol]
    probe.port = prb[:port]
    probe.interval_in_seconds = prb[:interval_in_seconds]
    probe.number_of_probes = prb[:number_of_probes]
    probe.request_path = prb[:request_path]

    probe.name = prb[:name]
    probe_arr.push(probe)
  end
  probe_arr
end
define_subnet_objects(subnets) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb, line 53
def define_subnet_objects(subnets)
  subnet_objects = []
  subnets.each do |subnet|
    network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
    network_security_group.id = subnet[:network_security_group_id]

    route_table = Azure::ARM::Network::Models::RouteTable.new
    route_table.id = subnet[:route_table_id]

    subnet_object = Azure::ARM::Network::Models::Subnet.new
    subnet_object.name = subnet[:name]
    subnet_object.address_prefix = subnet[:address_prefix]
    subnet_object.network_security_group = network_security_group unless subnet[:network_security_group_id].nil?
    subnet_object.route_table = route_table unless subnet[:route_table_id].nil?

    subnet_objects << subnet_object
  end
  subnet_objects
end
define_vnet_object(location, address_prefixes, dns_servers, subnets, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb, line 25
def define_vnet_object(location, address_prefixes, dns_servers, subnets, tags)
  virtual_network = Azure::ARM::Network::Models::VirtualNetwork.new
  virtual_network.location = location
  virtual_network.tags = tags

  if address_prefixes.nil? || !address_prefixes.any?
    address_space = Azure::ARM::Network::Models::AddressSpace.new
    address_space.address_prefixes = DEFAULT_ADDRESS_PREFIXES
  else
    address_space = Azure::ARM::Network::Models::AddressSpace.new
    address_space.address_prefixes = address_prefixes
  end
  virtual_network.address_space = address_space

  if !dns_servers.nil? && dns_servers.any?
    dhcp_options = Azure::ARM::Network::Models::DhcpOptions.new
    dhcp_options.dns_servers = dns_servers
    virtual_network.dhcp_options = dhcp_options
  end

  if !subnets.nil? && subnets.any?
    subnet_objects = define_subnet_objects(subnets)
    virtual_network.subnets = subnet_objects
  end

  virtual_network
end
get_bgp_settings(virtual_network_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 56
def get_bgp_settings(virtual_network_params)
  bgp_settings = Azure::ARM::Network::Models::BgpSettings.new
  bgp_settings.asn = virtual_network_params[:asn]
  bgp_settings.bgp_peering_address = virtual_network_params[:bgp_peering_address]
  bgp_settings.peer_weight = virtual_network_params[:peer_weight]
  bgp_settings
end
get_bgp_settings_object(local_network_gateway_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_local_network_gateway.rb, line 43
def get_bgp_settings_object(local_network_gateway_params)
  bgp_settings = Azure::ARM::Network::Models::BgpSettings.new
  bgp_settings.asn = local_network_gateway_params[:asn]
  bgp_settings.bgp_peering_address = local_network_gateway_params[:bgp_peering_address]
  bgp_settings.peer_weight = local_network_gateway_params[:peer_weight]
  bgp_settings
end
get_circuit_authorization_object(circuit_authorization_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_authorization.rb, line 23
def get_circuit_authorization_object(circuit_authorization_params)
  circuit_authorization = Azure::ARM::Network::Models::ExpressRouteCircuitAuthorization.new
  circuit_authorization.name = circuit_authorization_params[:authorization_name]
  circuit_authorization.authorization_key = circuit_authorization_params[:authorization_key]
  circuit_authorization.authorization_use_status = circuit_authorization_params[:authorization_use_status]
  circuit_authorization.provisioning_state = circuit_authorization_params[:provisioning_state]
  circuit_authorization.etag = circuit_authorization_params[:etag]

  circuit_authorization
end
get_circuit_peering_object(circuit_peering_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_peering.rb, line 21
def get_circuit_peering_object(circuit_peering_params)
  circuit_peering = create_express_route_circuit_peering(circuit_peering_params[:peering_type], circuit_peering_params[:peer_asn], circuit_peering_params[:primary_peer_address_prefix], circuit_peering_params[:secondary_peer_address_prefix], circuit_peering_params[:vlan_id], circuit_peering_params[:name])

  if circuit_peering_params[:peering_type].casecmp(MICROSOFT_PEERING).zero?
    peering_config = create_express_route_circuit_peering_config(circuit_peering_params[:advertised_public_prefixes], circuit_peering_params[:advertised_public_prefix_state], circuit_peering_params[:customer_asn], circuit_peering_params[:routing_registry_name])
    circuit_peering.microsoft_peering_config = peering_config
  end

  circuit_peering
end
get_circuit_peerings(peerings) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 54
def get_circuit_peerings(peerings)
  circuit_peerings = []
  peerings.each do |peering|
    circuit_peering_object = get_circuit_peering_object(peering)
    circuit_peerings.push(circuit_peering_object)
  end
  circuit_peerings
end
get_express_route_circuit_object(circuit_parameters) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb, line 21
def get_express_route_circuit_object(circuit_parameters)
  sku = create_express_route_circuit_sku(circuit_parameters[:sku_name], circuit_parameters[:sku_family], circuit_parameters[:sku_tier])
  service_provider_prop = create_express_route_service_provider_properties(circuit_parameters[:service_provider_name], circuit_parameters[:peering_location], circuit_parameters[:bandwidth_in_mbps])
  create_express_route_circuit(service_provider_prop, circuit_parameters[:peerings], circuit_parameters[:circuit_name], circuit_parameters[:location], sku, circuit_parameters[:tags])
end
get_ip_configurations(ip_configurations) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 115
def get_ip_configurations(ip_configurations)
  ip_configs = []
  ip_configurations.each do |ip_config|
    ip_configuration = Azure::ARM::Network::Models::VirtualNetworkGatewayIPConfiguration.new
    ip_configuration.private_ipallocation_method = ip_config[:private_ipallocation_method]
    unless ip_config[:subnet_id].nil?
      subnet = Azure::ARM::Network::Models::Subnet.new
      subnet.id = ip_config[:subnet_id]
      ip_configuration.subnet = subnet
    end
    unless ip_config[:public_ipaddress_id].nil?
      pip = Azure::ARM::Network::Models::PublicIPAddress.new
      pip.id = ip_config[:public_ipaddress_id]
      ip_configuration.public_ipaddress = pip
    end

    ip_configuration.name = ip_config[:name]
    ip_configs.push(ip_configuration)
  end
  ip_configs
end
get_local_network_address_space_object(local_network_address_space_prefixes) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_local_network_gateway.rb, line 37
def get_local_network_address_space_object(local_network_address_space_prefixes)
  address_space = Azure::ARM::Network::Models::AddressSpace.new
  address_space.address_prefixes = local_network_address_space_prefixes
  address_space
end
get_local_network_gateway_object(local_network_gateway_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_local_network_gateway.rb, line 23
def get_local_network_gateway_object(local_network_gateway_params)
  local_network_gateway = Azure::ARM::Network::Models::LocalNetworkGateway.new
  local_network_gateway.local_network_address_space = get_local_network_address_space_object(local_network_gateway_params[:local_network_address_space_prefixes]) if local_network_gateway_params[:local_network_address_space_prefixes]
  local_network_gateway.gateway_ip_address = local_network_gateway_params[:gateway_ip_address] if local_network_gateway_params[:gateway_ip_address]
  local_network_gateway.bgp_settings = get_bgp_settings_object(local_network_gateway_params)
  local_network_gateway.name = local_network_gateway_params[:name]
  local_network_gateway.type = local_network_gateway_params[:type]
  local_network_gateway.location = local_network_gateway_params[:location]
  local_network_gateway.tags = local_network_gateway_params[:tags] if local_network_gateway.tags.nil?
  local_network_gateway.provisioning_state = local_network_gateway_params[:provisioning_state]
  local_network_gateway.tags = local_network_gateway_params[:tags]
  local_network_gateway
end
get_network_gateway_connection_object(gateway_connection_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway_connection.rb, line 24
def get_network_gateway_connection_object(gateway_connection_params)
  gateway_connection = Azure::ARM::Network::Models::VirtualNetworkGatewayConnection.new

  gateway_connection.name = gateway_connection_params[:name]
  gateway_connection.location = gateway_connection_params[:location]
  gateway_connection.tags = gateway_connection_params[:tags]

  if gateway_connection_params[:virtual_network_gateway1]
    gateway_connection.virtual_network_gateway1 = get_virtual_network_gateway(gateway_connection_params[:virtual_network_gateway1][:resource_group], gateway_connection_params[:virtual_network_gateway1][:name])
  end

  if gateway_connection_params[:virtual_network_gateway2]
    gateway_connection.virtual_network_gateway2 = get_virtual_network_gateway(gateway_connection_params[:virtual_network_gateway2][:resource_group], gateway_connection_params[:virtual_network_gateway2][:name])
  end

  gateway_connection.authorization_key = gateway_connection_params[:authorization_key]
  gateway_connection.connection_type = gateway_connection_params[:connection_type]
  gateway_connection.routing_weight = gateway_connection_params[:routing_weight]
  gateway_connection.shared_key = gateway_connection_params[:shared_key]
  gateway_connection.connection_status = gateway_connection_params[:connection_status]
  gateway_connection.egress_bytes_transferred = gateway_connection_params[:egress_bytes_transferred]
  gateway_connection.ingress_bytes_transferred = gateway_connection_params[:ingress_bytes_transferred]
  if gateway_connection_params[:peer]
    peer = MsRestAzure::SubResource.new
    peer.id = gateway_connection_params[:peer]
    gateway_connection.peer = peer
  end
  gateway_connection.resource_guid = gateway_connection_params[:resource_guid]
  gateway_connection.enable_bgp = gateway_connection_params[:enable_bgp]
  gateway_connection.provisioning_state = gateway_connection_params[:provisioning_state]

  gateway_connection
end
get_network_gateway_object(virtual_network_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 22
def get_network_gateway_object(virtual_network_params)
  network_gateway = Azure::ARM::Network::Models::VirtualNetworkGateway.new

  network_gateway.enable_bgp = virtual_network_params[:enable_bgp]
  network_gateway.gateway_type = virtual_network_params[:gateway_type]
  network_gateway.provisioning_state = virtual_network_params[:provisioning_state]
  network_gateway.vpn_type = virtual_network_params[:vpn_type]
  network_gateway.sku = get_virtual_network_gateway_sku(virtual_network_params)
  if virtual_network_params[:gateway_default_site]
    default_site = MsRestAzure::SubResource.new
    default_site.id = virtual_network_params[:gateway_default_site]
    network_gateway.gateway_default_site = default_site
  end
  if virtual_network_params[:ip_configurations]
    ip_configurations = get_ip_configurations(virtual_network_params[:ip_configurations])
    network_gateway.ip_configurations = ip_configurations
  end

  if virtual_network_params[:enable_bgp]
    network_gateway.bgp_settings = get_bgp_settings(virtual_network_params)
  end

  if virtual_network_params[:vpn_client_configuration]
    vpn_client_config = get_vpn_client_config(virtual_network_params[:vpn_client_configuration])
    network_gateway.vpn_client_configuration = vpn_client_config
  end

  network_gateway.name = virtual_network_params[:name]
  network_gateway.location = virtual_network_params[:location]
  network_gateway.tags = virtual_network_params[:tags] if network_gateway.tags.nil?

  network_gateway
end
get_network_interface_object(name, location, subnet_id, public_ip_address_id, network_security_group_id, ip_config_name, private_ip_allocation_method, private_ip_address, load_balancer_backend_address_pools_ids, load_balancer_inbound_nat_rules_ids, tags, enable_accelerated_networking) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_interface.rb, line 26
def get_network_interface_object(name, location, subnet_id, public_ip_address_id, network_security_group_id, ip_config_name, private_ip_allocation_method, private_ip_address, load_balancer_backend_address_pools_ids, load_balancer_inbound_nat_rules_ids, tags, enable_accelerated_networking)
  if public_ip_address_id
    public_ipaddress = Azure::ARM::Network::Models::PublicIPAddress.new
    public_ipaddress.id = public_ip_address_id
  end

  ip_configs = Azure::ARM::Network::Models::NetworkInterfaceIPConfiguration.new
  ip_configs.name = ip_config_name
  ip_configs.private_ipallocation_method = private_ip_allocation_method
  ip_configs.private_ipaddress = private_ip_address
  ip_configs.public_ipaddress = public_ipaddress unless public_ip_address_id.nil?

  if subnet_id
    subnet = Azure::ARM::Network::Models::Subnet.new
    subnet.id = subnet_id
    ip_configs.subnet = subnet
  end

  if load_balancer_backend_address_pools_ids
    ip_configs.load_balancer_backend_address_pools = []
    load_balancer_backend_address_pools_ids.each do |load_balancer_backend_address_pools_id|
      backend_pool = Azure::ARM::Network::Models::BackendAddressPool.new
      backend_pool.id = load_balancer_backend_address_pools_id
      ip_configs.load_balancer_backend_address_pools.push(backend_pool)
    end
  end

  if load_balancer_inbound_nat_rules_ids
    ip_configs.load_balancer_inbound_nat_rules = []
    load_balancer_inbound_nat_rules_ids.each do |load_balancer_inbound_nat_rules_id|
      inbound_nat_rule = Azure::ARM::Network::Models::InboundNatRule.new
      inbound_nat_rule.id = load_balancer_inbound_nat_rules_id
      ip_configs.load_balancer_inbound_nat_rules.push(inbound_nat_rule)
    end
  end

  network_interface = Azure::ARM::Network::Models::NetworkInterface.new
  network_interface.name = name
  network_interface.location = location
  network_interface.ip_configurations = [ip_configs]
  network_interface.tags = tags
  network_interface.enable_accelerated_networking = enable_accelerated_networking

  if network_security_group_id
    network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
    network_security_group.id = network_security_group_id
    network_interface.network_security_group = network_security_group
  end

  network_interface
end
get_network_interface_with_attached_resource(nic_name, resource_group_name, resource_id, resource_type) click to toggle source
# File lib/fog/azurerm/requests/network/attach_resource_to_nic.rb, line 21
def get_network_interface_with_attached_resource(nic_name, resource_group_name, resource_id, resource_type)
  network_interface = @network_client.network_interfaces.get(resource_group_name, nic_name)

  case resource_type
  when SUBNET
    subnet = Azure::ARM::Network::Models::Subnet.new
    subnet.id = resource_id
    network_interface.ip_configurations[0].subnet = subnet
  when PUBLIC_IP
    public_ip_address = Azure::ARM::Network::Models::PublicIPAddress.new
    public_ip_address.id = resource_id
    network_interface.ip_configurations[0].public_ipaddress = public_ip_address
  when NETWORK_SECURITY_GROUP
    network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
    network_security_group.id = resource_id
    network_interface.network_security_group = network_security_group
  end
  network_interface
end
get_network_interface_with_detached_resource(nic_name, resource_group_name, resource_type) click to toggle source
# File lib/fog/azurerm/requests/network/detach_resource_from_nic.rb, line 22
def get_network_interface_with_detached_resource(nic_name, resource_group_name, resource_type)
  network_interface = @network_client.network_interfaces.get(resource_group_name, nic_name)
  case resource_type
  when PUBLIC_IP
    network_interface.ip_configurations[0].public_ipaddress = nil unless network_interface.ip_configurations.empty?
  when NETWORK_SECURITY_GROUP
    network_interface.network_security_group = nil
  end
  network_interface
end
get_public_ip_object(name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_public_ip.rb, line 21
def get_public_ip_object(name, location, public_ip_allocation_method, idle_timeout_in_minutes, domain_name_label, tags)
  public_ip = Azure::ARM::Network::Models::PublicIPAddress.new
  public_ip.name = name
  public_ip.location = location
  public_ip.public_ipallocation_method = public_ip_allocation_method unless public_ip_allocation_method.nil?
  public_ip.idle_timeout_in_minutes = idle_timeout_in_minutes unless idle_timeout_in_minutes.nil?
  public_ip.tags = tags

  unless domain_name_label.nil?
    public_ip.dns_settings = Azure::ARM::Network::Models::PublicIPAddressDnsSettings.new
    public_ip.dns_settings.domain_name_label = domain_name_label
  end

  public_ip
end
get_reset_shared_key_object(shared_key_length) click to toggle source
# File lib/fog/azurerm/requests/network/reset_connection_shared_key.rb, line 20
def get_reset_shared_key_object(shared_key_length)
  shared_key = Azure::ARM::Network::Models::ConnectionResetSharedKey.new
  shared_key.key_length = shared_key_length
  shared_key
end
get_revoked_certificates(revoked_certificates) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 103
def get_revoked_certificates(revoked_certificates)
  revoked_certs = []
  revoked_certificates.each do |revoked_cert|
    revoked_certificate = Azure::ARM::Network::Models::VpnClientRevokedCertificate.new
    revoked_certificate.thumbprint = revoked_cert[:thumbprint]
    revoked_certificate.provisioning_state = revoked_cert[:provisioning_state]
    revoked_certificate.name = revoked_cert[:name]
    revoked_certs.push(revoked_certificate)
  end
  revoked_certs
end
get_root_certificates(root_certificates) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 91
def get_root_certificates(root_certificates)
  root_certs = []
  root_certificates.each do |root_cert|
    root_certificate = Azure::ARM::Network::Models::VpnClientRootCertificate.new
    root_certificate.public_cert_data = root_cert[:public_cert_data]
    root_certificate.provisioning_state = root_cert[:provisioning_state]
    root_certificate.name = root_cert[:name]
    root_certs.push(root_certificate)
  end
  root_certs
end
get_security_group_object(security_rules, location, tags) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_security_group.rb, line 24
def get_security_group_object(security_rules, location, tags)
  security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
  security_group.security_rules = get_security_rule_objects(security_rules)
  security_group.location = location
  security_group.tags = tags
  security_group
end
get_security_rule_objects(security_rules) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_network_security_group.rb, line 32
def get_security_rule_objects(security_rules)
  rules = []
  security_rules.each do |sr|
    security_rule = Azure::ARM::Network::Models::SecurityRule.new
    security_rule.description = sr[:description] unless sr[:description].nil?
    security_rule.protocol = sr[:protocol]
    security_rule.source_port_range = sr[:source_port_range]
    security_rule.destination_port_range = sr[:destination_port_range]
    security_rule.source_address_prefix = sr[:source_address_prefix]
    security_rule.destination_address_prefix = sr[:destination_address_prefix]
    security_rule.access = sr[:access]
    security_rule.priority = sr[:priority]
    security_rule.direction = sr[:direction]
    security_rule.name = sr[:name]
    rules << security_rule
  end unless security_rules.nil?
  rules
end
get_shared_key_object(shared_key_value) click to toggle source
# File lib/fog/azurerm/requests/network/set_connection_shared_key.rb, line 20
def get_shared_key_object(shared_key_value)
  shared_key = Azure::ARM::Network::Models::ConnectionSharedKey.new
  shared_key.value = shared_key_value
  shared_key
end
get_subnet_object(address_prefix, network_security_group_id, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/create_subnet.rb, line 21
def get_subnet_object(address_prefix, network_security_group_id, route_table_id)
  subnet = Azure::ARM::Network::Models::Subnet.new
  network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
  route_table = Azure::ARM::Network::Models::RouteTable.new

  subnet.address_prefix = address_prefix
  network_security_group.id = network_security_group_id
  route_table.id = route_table_id

  subnet.network_security_group = network_security_group unless network_security_group_id.nil?
  subnet.route_table = route_table unless route_table_id.nil?
  subnet
end
get_subnet_object_for_attach_network_security_group(address_prefix, network_security_group_id, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/attach_network_security_group_to_subnet.rb, line 21
def get_subnet_object_for_attach_network_security_group(address_prefix, network_security_group_id, route_table_id)
  subnet = Azure::ARM::Network::Models::Subnet.new
  network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
  route_table = Azure::ARM::Network::Models::RouteTable.new

  network_security_group.id = network_security_group_id
  route_table.id = route_table_id

  subnet.address_prefix = address_prefix
  subnet.route_table = route_table unless route_table_id.nil?
  subnet.network_security_group = network_security_group
  subnet
end
get_subnet_object_for_attach_route_table(address_prefix, network_security_group_id, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/attach_route_table_to_subnet.rb, line 21
def get_subnet_object_for_attach_route_table(address_prefix, network_security_group_id, route_table_id)
  subnet = Azure::ARM::Network::Models::Subnet.new
  network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new
  route_table = Azure::ARM::Network::Models::RouteTable.new

  network_security_group.id = network_security_group_id
  route_table.id = route_table_id

  subnet.address_prefix = address_prefix
  subnet.network_security_group = network_security_group unless network_security_group_id.nil?
  subnet.route_table = route_table
  subnet
end
get_subnet_object_for_detach_network_security_group(address_prefix, route_table_id) click to toggle source
# File lib/fog/azurerm/requests/network/detach_network_security_group_from_subnet.rb, line 21
def get_subnet_object_for_detach_network_security_group(address_prefix, route_table_id)
  subnet = Azure::ARM::Network::Models::Subnet.new
  route_table = Azure::ARM::Network::Models::RouteTable.new

  route_table.id = route_table_id
  subnet.address_prefix = address_prefix
  subnet.route_table = route_table unless route_table_id.nil?
  subnet.network_security_group = nil
  subnet
end
get_subnet_object_for_detach_route_table(address_prefix, network_security_group_id) click to toggle source
# File lib/fog/azurerm/requests/network/detach_route_table_from_subnet.rb, line 21
def get_subnet_object_for_detach_route_table(address_prefix, network_security_group_id)
  subnet = Azure::ARM::Network::Models::Subnet.new
  network_security_group = Azure::ARM::Network::Models::NetworkSecurityGroup.new

  network_security_group.id = network_security_group_id
  subnet.address_prefix = address_prefix
  subnet.network_security_group = network_security_group unless network_security_group_id.nil?
  subnet.route_table = nil
  subnet
end
get_virtual_network_gateway_sku(virtual_network_params) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 64
def get_virtual_network_gateway_sku(virtual_network_params)
  sku = Azure::ARM::Network::Models::VirtualNetworkGatewaySku.new
  sku.name = virtual_network_params[:sku_name]
  sku.capacity = virtual_network_params[:sku_capacity]
  sku.tier = virtual_network_params[:sku_tier]
  sku
end
get_virtual_network_object_for_add_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes) click to toggle source
# File lib/fog/azurerm/requests/network/add_address_prefixes_in_virtual_network.rb, line 16
def get_virtual_network_object_for_add_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
  virtual_network = get_vnet(resource_group_name, virtual_network_name)
  attached_address_prefixes = virtual_network.address_space.address_prefixes
  virtual_network.address_space.address_prefixes = attached_address_prefixes | address_prefixes
  virtual_network
end
get_virtual_network_object_for_add_dns!(resource_group_name, virtual_network_name, dns_servers) click to toggle source
# File lib/fog/azurerm/requests/network/add_dns_servers_in_virtual_network.rb, line 16
def get_virtual_network_object_for_add_dns!(resource_group_name, virtual_network_name, dns_servers)
  virtual_network = get_vnet(resource_group_name, virtual_network_name)
  if virtual_network.dhcp_options.nil?
    dhcp_options = Azure::ARM::Network::Models::DhcpOptions.new
    dhcp_options.dns_servers = dns_servers
    virtual_network.dhcp_options = dhcp_options
  else
    attached_servers = virtual_network.dhcp_options.dns_servers
    virtual_network.dhcp_options.dns_servers = attached_servers | dns_servers
  end
  virtual_network
end
get_virtual_network_object_for_remove_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes) click to toggle source
# File lib/fog/azurerm/requests/network/remove_address_prefixes_from_virtual_network.rb, line 16
def get_virtual_network_object_for_remove_address_prefixes!(resource_group_name, virtual_network_name, address_prefixes)
  virtual_network = get_vnet(resource_group_name, virtual_network_name)
  attached_address_prefixes = virtual_network.address_space.address_prefixes
  virtual_network.address_space.address_prefixes = attached_address_prefixes - address_prefixes
  virtual_network
end
get_virtual_network_object_for_remove_dns_servers!(resource_group_name, virtual_network_name, dns_servers) click to toggle source
# File lib/fog/azurerm/requests/network/remove_dns_servers_from_virtual_network.rb, line 16
def get_virtual_network_object_for_remove_dns_servers!(resource_group_name, virtual_network_name, dns_servers)
  virtual_network = get_vnet(resource_group_name, virtual_network_name)
  attached_dns_servers = virtual_network.dhcp_options.dns_servers
  virtual_network.dhcp_options.dns_servers = attached_dns_servers - dns_servers
  virtual_network
end
get_virtual_network_object_for_remove_subnets!(resource_group_name, virtual_network_name, subnet_names) click to toggle source
# File lib/fog/azurerm/requests/network/remove_subnets_from_virtual_network.rb, line 16
def get_virtual_network_object_for_remove_subnets!(resource_group_name, virtual_network_name, subnet_names)
  virtual_network = get_vnet(resource_group_name, virtual_network_name)
  old_subnet_objects = virtual_network.subnets
  virtual_network.subnets = old_subnet_objects.reject { |subnet| subnet_names.include?(subnet.name) }
  virtual_network
end
get_virtual_network_object_for_subnets!(resource_group_name, virtual_network_name, subnets) click to toggle source
# File lib/fog/azurerm/requests/network/add_subnets_in_virtual_network.rb, line 16
def get_virtual_network_object_for_subnets!(resource_group_name, virtual_network_name, subnets)
  virtual_network = get_vnet(resource_group_name, virtual_network_name)
  subnet_objects = define_subnet_objects(subnets)
  old_subnet_objects = virtual_network.subnets
  virtual_network.subnets = subnet_objects + old_subnet_objects
  virtual_network
end
get_vnet(resource_group_name, virtual_network_name) click to toggle source
# File lib/fog/azurerm/requests/network/get_virtual_network.rb, line 12
def get_vnet(resource_group_name, virtual_network_name)
  msg = "Getting Virtual Network: #{virtual_network_name}."
  Fog::Logger.debug msg
  begin
    virtual_network = @network_client.virtual_networks.get(resource_group_name, virtual_network_name)
  rescue MsRestAzure::AzureOperationError => e
    raise_azure_exception(e, msg)
  end
  Fog::Logger.debug "Virtual Network #{virtual_network_name} retrieved successfully."
  virtual_network
end
get_vpn_client_config(vpn_client_config) click to toggle source
# File lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb, line 72
def get_vpn_client_config(vpn_client_config)
  client_config = Azure::ARM::Network::Models::VpnClientConfiguration.new

  address_pool = Azure::ARM::Network::Models::AddressSpace.new
  address_pool.address_prefixes = vpn_client_config[:address_pool]
  client_config.vpn_client_address_pool = address_pool

  if vpn_client_config[:root_certificates]
    root_certificates = get_root_certificates(vpn_client_config[:root_certificates])
    client_config.vpn_client_root_certificates = root_certificates
  end

  if vpn_client_config[:revoked_certificates]
    revoked_certificates = get_revoked_certificates(vpn_client_config[:revoked_certificates])
    client_config.vpn_client_revoked_certificates = revoked_certificates
  end
  client_config
end