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_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, **options) ⇒ Object
- #run_cmd(*cmd, **options) ⇒ Object
Constructor Details
#initialize(*args) ⇒ Configuration
Returns a new instance of Configuration.
64 65 66 |
# File 'lib/wrapbox/configuration.rb', line 64 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_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
32 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 |
# File 'lib/wrapbox/configuration.rb', line 32 def self.load_config(config) new( config["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
68 69 70 71 72 73 |
# File 'lib/wrapbox/configuration.rb', line 68 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, **options) ⇒ Object
75 76 77 |
# File 'lib/wrapbox/configuration.rb', line 75 def run(class_name, method_name, args, **) build_runner.run(class_name, method_name, args, **) end |
#run_cmd(*cmd, **options) ⇒ Object
79 80 81 |
# File 'lib/wrapbox/configuration.rb', line 79 def run_cmd(*cmd, **) build_runner.run_cmd(*cmd, **) end |