class Azure::VirtualNetworkManagement::VirtualNetworkManagementService

VirtualNetworkManagementService

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/azure/virtual_network_management/virtual_network_management_service.rb, line 21
def initialize
  super()
end

Public Instance Methods

list_virtual_networks() click to toggle source

Public: Gets a list of virtual network services available under the current subscription.

See msdn.microsoft.com/en-us/library/windowsazure/jj157185.aspx

Returns an array of Azure::VirtualNetworkServiceManagement::VirtualNetwork objects

# File lib/azure/virtual_network_management/virtual_network_management_service.rb, line 32
def list_virtual_networks
  request_path = '/services/networking/virtualnetwork'
  request = ManagementHttpRequest.new(:get, request_path, nil)
  response = request.call
  Serialization.virtual_network_from_xml(response)
end
set_network_configuration(*args) click to toggle source
# File lib/azure/virtual_network_management/virtual_network_management_service.rb, line 39
def set_network_configuration(*args)
  if args.length == 1
    set_virtual_network_using_xml(args[0])
  elsif args.length == 4 || args.length == 3
    args[3] ||= { subnet: [], dns: [] }
    set_virtual_network(args[0], args[1], args[2], args[3])
  else
    raise 'Wrong number of arguments'
  end
end

Private Instance Methods

set_virtual_network(vnet, affinity_group, address_space, options = { subnet: [], dns: [] }) click to toggle source

Private: Configures virtual network.

Attributes

  • vnet - String. The name of the virtual network.

  • affinity_group - String. The name of the affinity group.

  • address_space - Array. Contains a collection of Classless Inter-Domain Routing (CIDR) identifiers that specify the address space that you will use for your local network site

  • options - Hash. Optional parameters.

Options

Accepted key/value pairs in options parameter are:

  • :subnets - Array. A hash of the name/value pairs. Contains the name, IPv4 address and Cidr of the DNS server.

(optional)

  • dns_servers - Array. A hash of the name/value pairs. Contains the name and IPv4 address of the DNS server. (optional)

See msdn.microsoft.com/en-us/library/windowsazure/jj157181.aspx

Returns None

# File lib/azure/virtual_network_management/virtual_network_management_service.rb, line 75
def set_virtual_network(vnet,
                        affinity_group,
                        address_space,
                        options = {
                          subnet: [],
                          dns: []
                        })
  request_path = '/services/networking/media'
  body = Serialization.virtual_network_to_xml(vnet,
                                              affinity_group,
                                              address_space,
                                              options)
  request = ManagementHttpRequest.new(:put, request_path, body)
  request.headers['Content-Type'] = 'text/plain'
  Loggerx.info "Creating virtual network #{vnet}."
  request.call
end
set_virtual_network_using_xml(file) click to toggle source
# File lib/azure/virtual_network_management/virtual_network_management_service.rb, line 93
def set_virtual_network_using_xml(file)
  request_path = '/services/networking/media'
  if file !~ /(xml)$/
    raise 'File expects a .xml extension.'
  elsif !File.exist?(file)
    raise "Could not read from file '#{file}'."
  else
    body = File.read(file)
  end
  request = ManagementHttpRequest.new(:put, request_path, body)
  request.headers['Content-Type'] = 'text/plain'
  Loggerx.info 'Creating virtual network.'
  request.call
end