Class: Wrapbox::Configuration
- Inherits:
-
Struct
- Object
- Struct
- Wrapbox::Configuration
- Defined in:
- lib/wrapbox/configuration.rb
Constant Summary collapse
- AVAILABLE_RUNNERS =
%i(docker ecs)
Instance Attribute Summary collapse
-
#additional_container_definitions ⇒ Object
Returns the value of attribute additional_container_definitions.
-
#cluster ⇒ Object
Returns the value of attribute cluster.
-
#container_definition ⇒ Object
Returns the value of attribute container_definition.
-
#container_definitions ⇒ Object
Returns the value of attribute container_definitions.
-
#cpu ⇒ Object
Returns the value of attribute cpu.
-
#execution_role_arn ⇒ Object
Returns the value of attribute execution_role_arn.
-
#keep_container ⇒ Object
Returns the value of attribute keep_container.
-
#launch_type ⇒ Object
Returns the value of attribute launch_type.
-
#log_fetcher ⇒ Object
Returns the value of attribute log_fetcher.
-
#memory ⇒ Object
Returns the value of attribute memory.
-
#name ⇒ Object
Returns the value of attribute name.
-
#network_configuration ⇒ Object
Returns the value of attribute network_configuration.
-
#network_mode ⇒ Object
Returns the value of attribute network_mode.
-
#placement_constraints ⇒ Object
Returns the value of attribute placement_constraints.
-
#placement_strategy ⇒ Object
Returns the value of attribute placement_strategy.
-
#region ⇒ Object
Returns the value of attribute region.
-
#requires_compatibilities ⇒ Object
Returns the value of attribute requires_compatibilities.
-
#retry ⇒ Object
Returns the value of attribute retry.
-
#retry_interval ⇒ Object
Returns the value of attribute retry_interval.
-
#retry_interval_multiplier ⇒ Object
Returns the value of attribute retry_interval_multiplier.
-
#revision ⇒ Object
Returns the value of attribute revision.
-
#runner ⇒ Object
Returns the value of attribute runner.
-
#task_definition ⇒ Object
Returns the value of attribute task_definition.
-
#task_definition_name ⇒ Object
Returns the value of attribute task_definition_name.
-
#task_role_arn ⇒ Object
Returns the value of attribute task_role_arn.
-
#volumes ⇒ Object
Returns the value of attribute volumes.
Class Method Summary collapse
Instance Method Summary collapse
- #build_runner(overrided_runner = nil) ⇒ Object
-
#initialize(*args) ⇒ Configuration
constructor
A new instance of Configuration.
- #run(class_name, method_name, args, runner: nil, **options) ⇒ Object
- #run_cmd(*cmd, runner: nil, **options) ⇒ Object
Constructor Details
#initialize(*args) ⇒ Configuration
Returns a new instance of Configuration.
66 67 68 |
# File 'lib/wrapbox/configuration.rb', line 66 def initialize(*args) super end |
Instance Attribute Details
#additional_container_definitions ⇒ Object
Returns the value of attribute additional_container_definitions
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def additional_container_definitions @additional_container_definitions end |
#cluster ⇒ Object
Returns the value of attribute cluster
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def cluster @cluster end |
#container_definition ⇒ Object
Returns the value of attribute container_definition
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def container_definition @container_definition end |
#container_definitions ⇒ Object
Returns the value of attribute container_definitions
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def container_definitions @container_definitions end |
#cpu ⇒ Object
Returns the value of attribute cpu
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def cpu @cpu end |
#execution_role_arn ⇒ Object
Returns the value of attribute execution_role_arn
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def execution_role_arn @execution_role_arn end |
#keep_container ⇒ Object
Returns the value of attribute keep_container
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def keep_container @keep_container end |
#launch_type ⇒ Object
Returns the value of attribute launch_type
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def launch_type @launch_type end |
#log_fetcher ⇒ Object
Returns the value of attribute log_fetcher
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def log_fetcher @log_fetcher end |
#memory ⇒ Object
Returns the value of attribute memory
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def memory @memory end |
#name ⇒ Object
Returns the value of attribute name
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def name @name end |
#network_configuration ⇒ Object
Returns the value of attribute network_configuration
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def network_configuration @network_configuration end |
#network_mode ⇒ Object
Returns the value of attribute network_mode
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def network_mode @network_mode end |
#placement_constraints ⇒ Object
Returns the value of attribute placement_constraints
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def placement_constraints @placement_constraints end |
#placement_strategy ⇒ Object
Returns the value of attribute placement_strategy
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def placement_strategy @placement_strategy end |
#region ⇒ Object
Returns the value of attribute region
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def region @region end |
#requires_compatibilities ⇒ Object
Returns the value of attribute requires_compatibilities
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def requires_compatibilities @requires_compatibilities end |
#retry ⇒ Object
Returns the value of attribute retry
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def retry @retry end |
#retry_interval ⇒ Object
Returns the value of attribute retry_interval
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def retry_interval @retry_interval end |
#retry_interval_multiplier ⇒ Object
Returns the value of attribute retry_interval_multiplier
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def retry_interval_multiplier @retry_interval_multiplier end |
#revision ⇒ Object
Returns the value of attribute revision
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def revision @revision end |
#runner ⇒ Object
Returns the value of attribute runner
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def runner @runner end |
#task_definition ⇒ Object
Returns the value of attribute task_definition
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def task_definition @task_definition end |
#task_definition_name ⇒ Object
Returns the value of attribute task_definition_name
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def task_definition_name @task_definition_name end |
#task_role_arn ⇒ Object
Returns the value of attribute task_role_arn
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def task_role_arn @task_role_arn end |
#volumes ⇒ Object
Returns the value of attribute volumes
5 6 7 |
# File 'lib/wrapbox/configuration.rb', line 5 def volumes @volumes end |
Class Method Details
.load_config(config) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/wrapbox/configuration.rb', line 33 def self.load_config(config) new( config["name"], config["task_definition_name"], config["revision"], config["runner"] ? config["runner"].to_sym : :docker, config["cluster"], config["region"], config["retry"] || 0, config["retry_interval"] || 1, config["retry_interval_multiplier"] || 2, config["container_definition"]&.deep_symbolize_keys, config["container_definitions"]&.map(&:deep_symbolize_keys) || [], config["volumes"]&.map(&:deep_symbolize_keys) || [], config["placement_constraints"]&.map(&:deep_symbolize_keys) || [], config["placement_strategy"]&.map(&:deep_symbolize_keys) || [], config["launch_type"], config["requires_compatibilities"] || ["EC2"], config["task_definition"]&.deep_symbolize_keys, config["additional_container_definitions"]&.map(&:deep_symbolize_keys) || [], config["network_mode"], config["network_configuration"]&.deep_symbolize_keys, config["cpu"]&.to_s, config["memory"]&.to_s, config["task_role_arn"], config["execution_role_arn"], config["keep_container"], config["log_fetcher"]&.deep_symbolize_keys ) end |
Instance Method Details
#build_runner(overrided_runner = nil) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/wrapbox/configuration.rb', line 70 def build_runner(overrided_runner = nil) r = overrided_runner || runner raise "#{r} is unsupported runner" unless AVAILABLE_RUNNERS.include?(r.to_sym) require "wrapbox/runner/#{r}" Wrapbox::Runner.const_get(r.to_s.camelcase).new(to_h) end |
#run(class_name, method_name, args, runner: nil, **options) ⇒ Object
77 78 79 |
# File 'lib/wrapbox/configuration.rb', line 77 def run(class_name, method_name, args, runner: nil, **) build_runner(runner).run(class_name, method_name, args, **) end |
#run_cmd(*cmd, runner: nil, **options) ⇒ Object
81 82 83 |
# File 'lib/wrapbox/configuration.rb', line 81 def run_cmd(*cmd, runner: nil, **) build_runner(runner).run_cmd(*cmd, **) end |