lib/fog/azurerm/models/network/subnet.rb in fog-azure-rm-0.0.1 vs lib/fog/azurerm/models/network/subnet.rb in fog-azure-rm-0.0.2
- old
+ new
@@ -5,29 +5,37 @@
class Subnet < Fog::Model
identity :name
attribute :id
attribute :resource_group
attribute :virtual_network_name
- attribute :properties
- attribute :addressPrefix
- attribute :networkSecurityGroupId
- attribute :routeTableId
- attribute :ipConfigurations
+ attribute :address_prefix
+ attribute :network_security_group_id
+ attribute :route_table_id
+ attribute :ip_configurations_ids
+ def self.parse(subnet)
+ hash = {}
+ hash['id'] = subnet['id']
+ hash['name'] = subnet['name']
+ hash['resource_group'] = subnet['id'].split('/')[4]
+ hash['virtual_network_name'] = subnet['id'].split('/')[8]
+ hash['address_prefix'] = subnet['properties']['addressPrefix']
+ hash['network_security_group_id'] = subnet['properties']['networkSecurityGroup']['id'] unless subnet['properties']['networkSecurityGroup'].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
+
def save
requires :name
requires :resource_group
requires :virtual_network_name
- Fog::Logger.debug "Creating Subnet: #{name}..."
- #puts "Creating Subnet: #{name}..."
- subnet = service.create_subnet(resource_group, virtual_network_name, name, addressPrefix)
- Fog::Logger.debug "Subnet #{name} created successfully."
- #puts "Subnet #{name} created successfully."
- subnet
+ subnet = service.create_subnet(resource_group, name, virtual_network_name, address_prefix)
+ merge_attributes(Fog::Network::AzureRM::Subnet.parse(subnet))
end
def destroy
- service.delete_subnet(resource_group, virtual_network_name, name)
+ service.delete_subnet(resource_group, name, virtual_network_name)
end
end
end
end
end