Class: Ufo::TasksRegister
- Inherits:
-
Object
- Object
- Ufo::TasksRegister
- Includes:
- AwsServices
- Defined in:
- lib/ufo/tasks_register.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#fix_log_configuation_option(data) ⇒ Object
LogConfiguration requires a string with dashes as the keys docs.aws.amazon.com/sdkforruby/api/Aws/ECS/Client.html.
-
#initialize(template_definition_path, options = {}) ⇒ TasksRegister
constructor
A new instance of TasksRegister.
-
#register ⇒ Object
aws ecs register-task-definition –cli-input-json file://ufo/output/hi-web-prod.json.
Methods included from AwsServices
Constructor Details
#initialize(template_definition_path, options = {}) ⇒ TasksRegister
Returns a new instance of TasksRegister.
18 19 20 21 |
# File 'lib/ufo/tasks_register.rb', line 18 def initialize(template_definition_path, ={}) @template_definition_path = template_definition_path @options = end |
Class Method Details
.register(task_name, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/ufo/tasks_register.rb', line 8 def self.register(task_name, ={}) project_root = [:project_root] || '.' Dir.glob("#{project_root}/ufo/output/*").each do |path| if task_name == :all or path.include?(task_name) task_register = TasksRegister.new(path, ) task_register.register end end end |
Instance Method Details
#fix_log_configuation_option(data) ⇒ Object
LogConfiguration requires a string with dashes as the keys docs.aws.amazon.com/sdkforruby/api/Aws/ECS/Client.html
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ufo/tasks_register.rb', line 39 def fix_log_configuation_option(data) definitions = data[:container_definitions] definitions.each do |definition| next unless definition[:log_configuration] = definition[:log_configuration][:options] ["awslogs-group"] = .delete(:awslogs_group) ["awslogs-region"] = .delete(:awslogs_region) ["awslogs-stream-prefix"] = .delete(:awslogs_stream_prefix) end data end |
#register ⇒ Object
aws ecs register-task-definition –cli-input-json file://ufo/output/hi-web-prod.json
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ufo/tasks_register.rb', line 24 def register data = JSON.parse(IO.read(@template_definition_path), symbolize_names: true) data = data.to_snake_keys data = fix_log_configuation_option(data) = "#{data[:family]} task definition registered." if @options[:noop] = "NOOP: #{}" else ecs.register_task_definition(data) end puts unless @options[:mute] end |