Sha256: 6341e50164aea0835cb7a66570449af66838e3da7589a907f5d69fc613508068

Contents?: true

Size: 997 Bytes

Versions: 39

Compression:

Stored size: 997 Bytes

Contents

class Ey::Core::Client::Firewall < Ey::Core::Model
  extend Ey::Core::Associations

  identity :id

  attribute :location
  attribute :name
  attribute :provisioned_id
  attribute :deleted_at, type: :time

  has_one :provider
  has_one :environment

  has_many :firewall_rules, aliases: "rules"

  def rules
    firewall_rules
  end

  attr_accessor :cluster

  def save!
    raise "Not implemented"

    # Todo: this is not currently supported in the API
    requires :name, :provider_id, :environment_id

    params = {
      "url"      => self.collection.url,
      "firewall" => {
        "name"     => self.name,
      },
      "environment" => self.environment,
      "provider"    => self.provider_id,
    }

    if new_record?
      self.connection.requests.new(self.connection.create_firewall(params).body["request"])
    else raise NotImplementedError
    end
  end

  def destroy!
    connection.requests.new(self.connection.destroy_firewall("id" => self.id).body["request"])
  end
end

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/models/firewall.rb
ey-core-3.6.4 lib/ey-core/models/firewall.rb
ey-core-3.6.3 lib/ey-core/models/firewall.rb
ey-core-3.6.1 lib/ey-core/models/firewall.rb
groove-ey-core-3.6.3 lib/ey-core/models/firewall.rb
groove-ey-core-3.6.2 lib/ey-core/models/firewall.rb
groove-ey-core-3.6.1 lib/ey-core/models/firewall.rb
ey-core-3.5.0 lib/ey-core/models/firewall.rb
ey-core-3.4.4 lib/ey-core/models/firewall.rb
ey-core-3.4.2 lib/ey-core/models/firewall.rb
ey-core-3.4.1 lib/ey-core/models/firewall.rb
ey-core-3.4.0 lib/ey-core/models/firewall.rb
ey-core-3.3.1 lib/ey-core/models/firewall.rb
ey-core-3.3.0 lib/ey-core/models/firewall.rb
ey-core-3.2.6 lib/ey-core/models/firewall.rb
ey-core-3.2.5 lib/ey-core/models/firewall.rb
ey-core-3.2.4 lib/ey-core/models/firewall.rb
ey-core-3.2.3 lib/ey-core/models/firewall.rb
ey-core-3.2.2 lib/ey-core/models/firewall.rb
ey-core-3.2.1 lib/ey-core/models/firewall.rb