Class: Fog::Network::Softlayer::Subnet
- Inherits:
-
Model
- Object
- Model
- Fog::Network::Softlayer::Subnet
- Defined in:
- lib/fog/softlayer/models/network/subnet.rb
Instance Method Summary collapse
- #addresses ⇒ Object
- #create(address_count = 4) ⇒ Object
- #destroy ⇒ Object
-
#portable? ⇒ Boolean
def addresses=(addresses) @addresses = addresses end.
- #private? ⇒ Boolean
- #public? ⇒ Boolean
- #save ⇒ Object
- #update ⇒ Object
Instance Method Details
#addresses ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# 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) ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# 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 ⇒ Object
77 78 79 80 81 |
# File 'lib/fog/softlayer/models/network/subnet.rb', line 77 def destroy requires :id service.delete_subnet(self.id) true end |
#portable? ⇒ Boolean
def addresses=(addresses)
@addresses = addresses
end
42 43 44 |
# File 'lib/fog/softlayer/models/network/subnet.rb', line 42 def portable? type == 'ROUTED_TO_VLAN' end |
#private? ⇒ Boolean
46 47 48 |
# File 'lib/fog/softlayer/models/network/subnet.rb', line 46 def private? address_space == 'PRIVATE' end |
#public? ⇒ Boolean
50 51 52 |
# File 'lib/fog/softlayer/models/network/subnet.rb', line 50 def public? not private? end |
#save ⇒ Object
54 55 56 57 |
# File 'lib/fog/softlayer/models/network/subnet.rb', line 54 def save requires :network_id, :cidr, :ip_version identity ? update : create end |
#update ⇒ Object
70 71 72 73 74 75 |
# 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 |