Class: Fog::Network::AzureRM::Subnet

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/azurerm/models/network/subnet.rb

Overview

Subnet model for Network Service

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.parse(subnet) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/fog/azurerm/models/network/subnet.rb', line 15

def self.parse(subnet)
  hash = {}
  hash['id'] = subnet['id']
  hash['name'] = subnet['name']
  hash['resource_group'] = get_resource_group_from_id(subnet['id'])
  hash['virtual_network_name'] = get_virtual_network_from_id(subnet['id'])
  hash['address_prefix'] = subnet['properties']['addressPrefix']
  hash['network_security_group_id'] = nil
  hash['network_security_group_id'] = subnet['properties']['networkSecurityGroup']['id'] unless subnet['properties']['networkSecurityGroup'].nil?
  hash['route_table_id'] = nil
  hash['route_table_id'] = subnet['properties']['routeTable']['id'] unless subnet['properties']['routeTable'].nil?
  hash['ip_configurations_ids'] = subnet['properties']['ipConfigurations'].map { |item| item['id'] } unless subnet['properties']['ipConfigurations'].nil?
  hash
end

Instance Method Details

#attach_network_security_group(network_security_group_id) ⇒ Object



36
37
38
39
# File 'lib/fog/azurerm/models/network/subnet.rb', line 36

def attach_network_security_group(network_security_group_id)
  subnet = service.attach_network_security_group_to_subnet(resource_group, name, virtual_network_name, address_prefix, route_table_id, network_security_group_id)
  merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
end

#attach_route_table(route_table_id) ⇒ Object



46
47
48
49
# File 'lib/fog/azurerm/models/network/subnet.rb', line 46

def attach_route_table(route_table_id)
  subnet = service.attach_route_table_to_subnet(resource_group, name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
  merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
end

#destroyObject



56
57
58
# File 'lib/fog/azurerm/models/network/subnet.rb', line 56

def destroy
  service.delete_subnet(resource_group, name, virtual_network_name)
end

#detach_network_security_groupObject



41
42
43
44
# File 'lib/fog/azurerm/models/network/subnet.rb', line 41

def detach_network_security_group
  subnet = service.detach_network_security_group_from_subnet(resource_group, name, virtual_network_name, address_prefix, route_table_id)
  merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
end

#detach_route_tableObject



51
52
53
54
# File 'lib/fog/azurerm/models/network/subnet.rb', line 51

def detach_route_table
  subnet = service.detach_route_table_from_subnet(resource_group, name, virtual_network_name, address_prefix, network_security_group_id)
  merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
end

#saveObject



30
31
32
33
34
# File 'lib/fog/azurerm/models/network/subnet.rb', line 30

def save
  requires :name, :resource_group, :virtual_network_name, :address_prefix
  subnet = service.create_subnet(resource_group, name, virtual_network_name, address_prefix, network_security_group_id, route_table_id)
  merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
end