class Algo::Dsl::Network::Context
Attributes
context[R]
Public Class Methods
new(name, cluster)
click to toggle source
# File lib/algo/dsl/network.rb, line 29 def initialize name, cluster @cluster = cluster @context = { 'Name' => "#{cluster_prefix}#{name}", 'Driver' => 'overlay', 'CheckDuplicate' => true, 'EnableIPv6' => false, 'IPAM' => { 'Config' => [], 'Driver' => 'default', 'Options' => {} }, 'Internal' => false, 'Labels' => cluster['labels'], 'Options' => {} } end
Public Instance Methods
internal()
click to toggle source
# File lib/algo/dsl/network.rb, line 47 def internal @context['Internal'] = true end
ipam(&block)
click to toggle source
# File lib/algo/dsl/network.rb, line 59 def ipam &block ctx = Network::IPAMContext.new.tap do |ctx| ctx.instance_eval(&block) if block_given? end @context['IPAM']['Config'] << ctx.context end
ipv6()
click to toggle source
# File lib/algo/dsl/network.rb, line 55 def ipv6 @context['EnableIPv6'] = true end
label(key, val)
click to toggle source
# File lib/algo/dsl/network.rb, line 51 def label key, val @context['Labels'][key] = val end
Private Instance Methods
cluster_prefix()
click to toggle source
# File lib/algo/dsl/network.rb, line 68 def cluster_prefix "#{@cluster['prefix']}-" if @cluster['prefix'] end