class Azure::VirtualNetworkManagement::VirtualNetworkManagementService
Public Class Methods
# File lib/azure/virtual_network_management/virtual_network_management_service.rb, line 21 def initialize super() end
Public Instance Methods
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
# 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
Private: Configures virtual network.
Attributes¶ ↑
-
vnet
-String
. The name of the virtual network. -
location
-String
. The location where the virtual network will be created. -
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, location, address_space, options = { subnet: [], dns: [] }) request_path = '/services/networking/media' body = Serialization.virtual_network_to_xml(vnet, location, 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
# 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