class Fog::Network::Softlayer::Subnet
Public Instance Methods
addresses()
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 26 def addresses @addresses ||= begin if attributes['ipAddresses'].nil? [] else attributes['ipAddresses'].map do |address| service.ips.get(address['id']) end end end end
create(address_count=4)
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 59 def create(address_count=4) requires :vlan_id response = service.create_subnet(build_order(address_count)).body merge_attributes(response) #merge_attributes(service.create_subnet(self.network_id, # self.cidr, # self.ip_version, # self.attributes).body['subnet']) self end
destroy()
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 77 def destroy requires :id service.delete_subnet(self.id) true end
portable?()
click to toggle source
def addresses=(addresses)
@addresses = addresses
end
# File lib/fog/softlayer/models/network/subnet.rb, line 42 def portable? type == 'ROUTED_TO_VLAN' end
private?()
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 46 def private? address_space == 'PRIVATE' end
public?()
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 50 def public? not private? end
save()
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 54 def save requires :network_id, :cidr, :ip_version identity ? update : create end
update()
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 70 def update requires :id, :network_id, :cidr, :ip_version merge_attributes(service.update_subnet(self.id, self.attributes).body['subnet']) self end
Private Instance Methods
build_order(address_count)
click to toggle source
# File lib/fog/softlayer/models/network/subnet.rb, line 85 def build_order(address_count) order = { 'complexType' => 'SoftLayer_Container_Product_Order_Network_Subnet', 'location' => datacenter, 'quantity' =>1, 'packageId' =>0, 'prices' =>[ {'id' => portable? ? service.get_portable_subnet_price_code(address_count, public?) : service.get_subnet_price_code } ] } order['endPointVlanId'] = vlan_id if portable? order end