Sha256: 4b644ecfac1b515a0a9d05b819464c605f329fea68f188908e6f2520db1250a2

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

require 'chef/knife/joyent_base'

class Chef
  class Knife
    class JoyentServerMetadataUpdate < Knife

      include Knife::JoyentBase

      banner 'knife joyent server metadata update <server_id> -m <json>'

      option :metadata,
        :short => "-m JSON",
        :long => "--metadata JSON",
        :description => "Metadata to be applied to server",
        :proc => Proc.new { |m| JSON.parse(m) },
        :default => {}

      def run
        if config[:metadata].empty?
          show_usage
          exit 1
        end

        unless name_args.size === 1
          show_usage
          exit 1
        end

        id = name_args.first

        server = self.connection.servers.get(id)
        unless server
          puts ui.error("Server with id: #{id} not found")
          exit 1
        end

        if server.update_metadata(config[:metadata])
          puts ui.color("Updated metadata on #{id}", :cyan)
          exit 0
        else
          puts ui.error("Metadata update failed")
          exit 1
        end
      rescue => e
        output_error(e)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
knife-joyent-0.4.14 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.12 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.11 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.10 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.9 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.8 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.5 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.4 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.3 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.2 lib/chef/knife/joyent_server_metadata_update.rb
knife-joyent-0.4.1 lib/chef/knife/joyent_server_metadata_update.rb