Sha256: 554654afb9d3ed53f26fb35d415259a528aab4d3dd68012e4d205481afe7b422

Contents?: true

Size: 1.17 KB

Versions: 15

Compression:

Stored size: 1.17 KB

Contents

require 'shipitron'
require 'shipitron/parse_templates'
require 'shipitron/server/ecs_task_defs/map_parsed_templates'
require 'shipitron/server/ecs_task_defs/update_from_params'
require 'shipitron/server/ecs_task_defs/update_in_place'

module Shipitron
  module Server
    class UpdateEcsTaskDefinitions
      include Metaractor
      include Interactor::Organizer

      required :region
      required :docker_image
      required :ecs_task_defs
      optional :ecs_task_def_templates

      before do
        context.ecs_task_def_templates ||= []
        context.templates = context.ecs_task_def_templates
        context.template_context = { tag: docker_image.tag }
      end

      organize [
        ParseTemplates,
        EcsTaskDefs::MapParsedTemplates,
        EcsTaskDefs::UpdateFromParams,
        EcsTaskDefs::UpdateInPlace
      ]

      def call
        Logger.info "Updating ECS task definitions [#{ecs_task_defs.map(&:name).join(', ')}] with image #{docker_image}"
        super
        Logger.info 'Done'
      end

      private
      def docker_image
        context.docker_image
      end

      def ecs_task_defs
        context.ecs_task_defs
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
shipitron-1.2.1 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-1.2.0 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-1.1.0 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-1.0.1 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-1.0.0 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.4.1 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.4.0 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.3.5 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.3.4 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.3.3 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.3.1 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.3.0 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.2.2 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.2.1 lib/shipitron/server/update_ecs_task_definitions.rb
shipitron-0.2.0 lib/shipitron/server/update_ecs_task_definitions.rb