Sha256: 8ead0d3baecbec0d1e28946cf99602d6926ae1c5d0ddadb5ffd827095633848c

Contents?: true

Size: 1.62 KB

Versions: 71

Compression:

Stored size: 1.62 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 "Failed to obtain master credentials".colorize(:red)
        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(
        "master",
        { 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

71 entries across 71 versions & 1 rubygems

Version Path
kontena-cli-1.3.0.rc2 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.3.0.rc1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.3.0.pre2 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.3.0.pre1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.2 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.2.rc2 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.2.rc1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.1.rc1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0.rc3 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0.rc2 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0.rc1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0.pre3 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0.pre2 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.1.6 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.2.0.pre1 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.1.5 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.1.5.rc3 lib/kontena/cli/cloud/master/update_command.rb
kontena-cli-1.1.5.rc2 lib/kontena/cli/cloud/master/update_command.rb