Sha256: 391d9cf3a84d7fae9b87ec0c27ac8f663a1d5dfe3da6804086a4ebe202b27d88

Contents?: true

Size: 791 Bytes

Versions: 2

Compression:

Stored size: 791 Bytes

Contents

require 'aws-sdk'

module Hako
  class Scheduler
    class ValidationError < Error
    end

    def initialize(_app_id, _options)
    end

    def deploy(_app, _env, _app_port, _front_config, _options)
      raise NotImplementedError
    end

    def status
      raise NotImplementedError
    end

    def remove
      raise NotImplementedError
    end

    def upload_front_config(app_id, front, app_port)
      front_conf = front.generate_config(app_port)
      s3_config = front.config.s3
      s3 = Aws::S3::Client.new(region: s3_config.region)
      s3.put_object(
        body: front_conf,
        bucket: s3_config.bucket,
        key: s3_config.key(app_id),
      )
    end

    private

    def validation_error!(message)
      raise ValidationError.new(message)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hako-0.3.1 lib/hako/scheduler.rb
hako-0.3.0 lib/hako/scheduler.rb