Sha256: cb950d252e1196cf7fb2b2e7a9762b88d9c1c44efc0a8c417f7565230f76e7d6

Contents?: true

Size: 1.13 KB

Versions: 14

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require 'aws-sdk'

module Hako
  class Scheduler
    class ValidationError < Error
    end

    # @param [String] app_id
    # @param [Hash] options
    # @param [Hash] volumes
    # @param [Array<Script>] scripts
    # @param [Boolean] dry_run
    # @param [Boolean] force
    # @param [Integer] timeout in seconds
    def initialize(app_id, options, volumes:, scripts:, dry_run:, force:, timeout:)
      @app_id = app_id
      @volumes = volumes
      @scripts = scripts
      @dry_run = dry_run
      @force = force
      @timeout = timeout
      configure(options)
    end

    # @param [Hash] _options
    def configure(_options); end

    # @param [Hash<String, Container>] _containers
    def deploy(_containers)
      raise NotImplementedError
    end

    def rollback
      raise NotImplementedError
    end

    def status
      raise NotImplementedError
    end

    def remove
      raise NotImplementedError
    end

    def stop
      raise NotImplementedError
    end

    private

    # @param [String] message
    def validation_error!(message)
      raise ValidationError.new(message)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
hako-1.7.0 lib/hako/scheduler.rb
hako-1.6.2 lib/hako/scheduler.rb
hako-1.6.1 lib/hako/scheduler.rb
hako-1.6.0 lib/hako/scheduler.rb
hako-1.5.2 lib/hako/scheduler.rb
hako-1.5.1 lib/hako/scheduler.rb
hako-1.5.0 lib/hako/scheduler.rb
hako-1.4.0 lib/hako/scheduler.rb
hako-1.3.3 lib/hako/scheduler.rb
hako-1.3.2 lib/hako/scheduler.rb
hako-1.3.1 lib/hako/scheduler.rb
hako-1.3.0 lib/hako/scheduler.rb
hako-1.2.1 lib/hako/scheduler.rb
hako-1.2.0 lib/hako/scheduler.rb