Sha256: b6d70ace29cfbe7b4263272cb60edce7f4e97fdc12a53dc4582f08c3fac8413a

Contents?: true

Size: 1.33 KB

Versions: 59

Compression:

Stored size: 1.33 KB

Contents

require_relative 'common'

module Kontena::Cli::Grids
  class CreateCommand < Kontena::Command
    include Kontena::Cli::Common
    include Common

    parameter "NAME", "Grid name"

    option "--initial-size", "INITIAL_SIZE", "Initial grid size (number of nodes)", default: 1
    option "--silent", :flag, "Reduce output verbosity"
    option "--token", "[TOKEN]", "Set grid token"
    option "--subnet", "[CIDR]", "Configure grid overlay subnet"
    option "--supernet", "[CIDR]", "Configure grid IPAM supernet"

    include Common::Parameters

    requires_current_master_token

    def execute
      validate_grid_parameters

      if initial_size == 1
        warning "Option --initial-size=1 is only recommended for test/dev usage" unless running_silent?
      end

      payload = {
        name: name
      }
      payload[:token] = self.token if self.token
      payload[:initial_size] = self.initial_size if self.initial_size
      payload[:subnet] = subnet if subnet
      payload[:supernet] = supernet if supernet

      build_grid_parameters(payload)

      grid = spinner "Creating #{pastel.cyan(name)} grid " do
        client.post('grids', payload)
      end
      if grid
        spinner "Switching scope to #{pastel.cyan(name)} grid " do
          config.current_grid = grid['name']
          config.write
        end
      end
    end
  end
end

Version data entries

59 entries across 59 versions & 2 rubygems

Version Path
krates-1.7.11 lib/kontena/cli/grids/create_command.rb
krates-1.7.10 lib/kontena/cli/grids/create_command.rb
krates-1.7.9 lib/kontena/cli/grids/create_command.rb
krates-1.7.8 lib/kontena/cli/grids/create_command.rb
krates-1.7.7 lib/kontena/cli/grids/create_command.rb
krates-1.7.6 lib/kontena/cli/grids/create_command.rb
krates-1.7.5 lib/kontena/cli/grids/create_command.rb
krates-1.7.4 lib/kontena/cli/grids/create_command.rb
krates-1.7.3 lib/kontena/cli/grids/create_command.rb
krates-1.7.2 lib/kontena/cli/grids/create_command.rb
krates-1.7.1 lib/kontena/cli/grids/create_command.rb
krates-1.7.0 lib/kontena/cli/grids/create_command.rb
krates-1.6.9 lib/kontena/cli/grids/create_command.rb
krates-1.6.8 lib/kontena/cli/grids/create_command.rb
krates-1.6.7 lib/kontena/cli/grids/create_command.rb
krates-1.6.6 lib/kontena/cli/grids/create_command.rb
krates-1.6.5 lib/kontena/cli/grids/create_command.rb
krates-1.6.4 lib/kontena/cli/grids/create_command.rb
krates-1.6.3 lib/kontena/cli/grids/create_command.rb
krates-1.6.2 lib/kontena/cli/grids/create_command.rb