Sha256: cc5f6ae8a196b3778816356964c648d1c3f92516d034fa73c8f9a2476bf69e7d

Contents?: true

Size: 1.64 KB

Versions: 34

Compression:

Stored size: 1.64 KB

Contents

module Kontena::Cli::Cloud::Master
  class UpdateCommand < Kontena::Command

    include Kontena::Cli::Common

    callback_matcher 'cloud-master', 'update'

    requires_current_account_token

    parameter "MASTER_ID", "Master ID"

    option ['--redirect-uri'], '[URL]',      'Set master redirect URL'
    option ['--url'],          '[URL]',      'Set master URL'
    option ['--provider'],     '[NAME]',     'Set master provider'
    option ['--name'],         '[NAME]',     'Set master name',        hidden: true
    option ['--version'],      '[VERSION]',  'Set master version',     hidden: true
    option ['--owner'],        '[NAME]',     'Set master owner',       hidden: true

    def get_attributes
      cloud_client.get("user/masters/#{self.master_id}")["data"]["attributes"]
    rescue
      nil
    end

    def execute
      attrs = get_attributes
      unless attrs
        puts pastel.red("Failed to obtain master credentials")
        exit 1
      end

      attrs["name"]         = self.name         if self.name
      attrs["redirect-uri"] = self.redirect_uri if self.redirect_uri
      attrs["url"]          = self.url          if self.url
      attrs["provider"]     = self.provider     if self.provider
      attrs["version"]      = self.version      if self.version
      attrs["owner"]        = self.owner        if self.owner

      response = cloud_client.put(
        "user/masters/#{master_id}",
        { data: { attributes: attrs.reject{ |k, _| ['client-id', 'client-secret'].include?(k) } } }
      )

      if response
        puts "Master settings updated"
      else
        puts "Request failed"
        exit 1
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 2 rubygems

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