class Fog::Scaleway::Compute::SecurityGroup

Public Instance Methods

destroy() click to toggle source
# File lib/fog/scaleway/models/compute/security_group.rb, line 39
def destroy
  requires :identity

  service.delete_security_group(identity)
  true
end
rules() click to toggle source
# File lib/fog/scaleway/models/compute/security_group.rb, line 27
def rules
  service.security_group_rules(security_group: self)
end
save() click to toggle source
# File lib/fog/scaleway/models/compute/security_group.rb, line 31
def save
  if persisted?
    update
  else
    create
  end
end
servers=(value) click to toggle source
# File lib/fog/scaleway/models/compute/security_group.rb, line 14
def servers=(value)
  attributes[:servers] = value.map do |v|
    case v
    when Hash
      service.servers.new(v)
    when String
      service.servers.new(identity: v)
    else
      v
    end
  end
end

Private Instance Methods

create() click to toggle source
# File lib/fog/scaleway/models/compute/security_group.rb, line 48
def create
  requires :name

  options = {}
  options[:description] = description unless description.nil?
  options[:enable_default_security] = enable_default_security unless enable_default_security.nil?
  options[:organization_default] = organization_default unless organization_default.nil?

  if (security_group = service.create_security_group(name, options).body['security_group'])
    merge_attributes(security_group)
    true
  else
    false
  end
end
update() click to toggle source
# File lib/fog/scaleway/models/compute/security_group.rb, line 64
def update
  requires :identity

  if (security_group = service.update_security_group(identity, self).body['security_group'])
    merge_attributes(security_group)
    true
  else
    false
  end
end