Sha256: 307ead55805280e3949c46a2b6fd5079f24073d9d1fea56be0933eaf27d37e6e

Contents?: true

Size: 926 Bytes

Versions: 54

Compression:

Stored size: 926 Bytes

Contents

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

  identity :id

  attribute :name
  attribute :dns_name
  attribute :deleted_at, type: :time

  attribute :provisioner_id
  attribute :location

  has_many :load_balancer_services, aliases: "services"

  has_one :provider
  has_one :firewall

  def services
    load_balancer_services
  end

  def save!
    requires :provider_id, :name

    params = {
        "url" => self.collection.url,
        "provider" => self.provider_id,
        "load_balancer" => {
          "location" => self.location,
          "name" => self.name
        },
    }

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

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

Version data entries

54 entries across 54 versions & 3 rubygems

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