Class: KuberKit::Core::ConfigurationDefinition
- Defined in:
- lib/kuber_kit/core/configuration_definition.rb
Constant Summary collapse
Instance Attribute Summary collapse
-
#configuration_name ⇒ Object
readonly
Returns the value of attribute configuration_name.
Instance Method Summary collapse
- #deploy_strategy(path) ⇒ Object
- #enabled_services(services_hash) ⇒ Object
-
#initialize(configuration_name) ⇒ ConfigurationDefinition
constructor
A new instance of ConfigurationDefinition.
- #kubeconfig_path(path) ⇒ Object
- #to_attrs ⇒ Object
- #use_artifact(artifact_name, as:) ⇒ Object
- #use_env_file(env_file_name, as:) ⇒ Object
- #use_registry(registry_name, as:) ⇒ Object
- #use_template(template_name, as:) ⇒ Object
Constructor Details
#initialize(configuration_name) ⇒ ConfigurationDefinition
Returns a new instance of ConfigurationDefinition.
7 8 9 10 11 12 13 14 15 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 7 def initialize(configuration_name) @configuration_name = configuration_name.to_sym @artifacts = {} @registries = {} @env_files = {} @templates = {} @enabled_services = [] @services_attributes = {} end |
Instance Attribute Details
#configuration_name ⇒ Object (readonly)
Returns the value of attribute configuration_name.
4 5 6 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 4 def configuration_name @configuration_name end |
Instance Method Details
#deploy_strategy(path) ⇒ Object
73 74 75 76 77 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 73 def deploy_strategy(path) @deploy_strategy = path self end |
#enabled_services(services_hash) ⇒ Object
79 80 81 82 83 84 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 79 def enabled_services(services_hash) @enabled_services += services_hash.keys.map(&:to_sym) @services_attributes = @services_attributes.merge(services_hash) self end |
#kubeconfig_path(path) ⇒ Object
67 68 69 70 71 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 67 def kubeconfig_path(path) @kubeconfig_path = path self end |
#to_attrs ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 17 def to_attrs OpenStruct.new( name: @configuration_name, artifacts: @artifacts, registries: @registries, env_files: @env_files, templates: @templates, kubeconfig_path: @kubeconfig_path, deploy_strategy: @deploy_strategy, enabled_services: @enabled_services, services_attributes: @services_attributes ) end |
#use_artifact(artifact_name, as:) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 31 def use_artifact(artifact_name, as:) if @artifacts.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by artifact: #{@artifacts[as].inspect}") end @artifacts[as] = artifact_name self end |
#use_env_file(env_file_name, as:) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 49 def use_env_file(env_file_name, as:) if @env_files.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by env_file: #{@env_files[as].inspect}") end @env_files[as] = env_file_name self end |
#use_registry(registry_name, as:) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 40 def use_registry(registry_name, as:) if @registries.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by registry: #{@registries[as].inspect}") end @registries[as] = registry_name self end |
#use_template(template_name, as:) ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/kuber_kit/core/configuration_definition.rb', line 58 def use_template(template_name, as:) if @templates.has_key?(as) raise ResourceAlreadyAdded.new("alias name :#{as} is already used by template: #{@templates[as].inspect}") end @templates[as] = template_name self end |