class Ey::Core::Client::AutoScalingGroup

Public Instance Methods

destroy() click to toggle source
# File lib/ey-core/models/auto_scaling_group.rb, line 18
def destroy
  connection.requests.new(connection.destroy_auto_scaling_group("id" => self.identity).body["request"])
end
save!() click to toggle source
# File lib/ey-core/models/auto_scaling_group.rb, line 22
def save!
  if new_record?
    requires :maximum_size, :minimum_size, :environment

    params = {
      "url"                => self.collection.url,
      "environment"        => self.environment_id,
      "auto_scaling_group" => {
        "maximum_size" => self.maximum_size,
        "minimum_size" => self.minimum_size,
      }
    }

    connection.requests.new(connection.create_auto_scaling_group(params).body["request"])
  else
    requires :identity

    params = {
      "id" => self.identity,
      "auto_scaling_group" => {
        "maximum_size" => self.maximum_size,
        "minimum_size" => self.minimum_size,
        "desired_capacity" => self.desired_capacity
      }
    }

    connection.requests.new(connection.update_auto_scaling_group(params).body["request"])
  end
end
simple_auto_scaling_policies() click to toggle source
# File lib/ey-core/models/auto_scaling_group.rb, line 52
def simple_auto_scaling_policies
  auto_scaling_policies("simple")
end
step_auto_scaling_policies() click to toggle source
# File lib/ey-core/models/auto_scaling_group.rb, line 56
def step_auto_scaling_policies
  auto_scaling_policies("step")
end
target_auto_scaling_policies() click to toggle source
# File lib/ey-core/models/auto_scaling_group.rb, line 60
def target_auto_scaling_policies
  auto_scaling_policies("target")
end

Private Instance Methods

auto_scaling_policies(types = nil) click to toggle source
# File lib/ey-core/models/auto_scaling_group.rb, line 66
def auto_scaling_policies(types = nil)
  requires :identity
  data = connection.get_auto_scaling_policies(
    "auto_scaling_group" => identity,
    "types" => [*types]
  ).body["auto_scaling_policies"]

  connection.auto_scaling_policies.load(data)
end