Sha256: 4f8213aab8cedbb308a285e2c9b2fbc90cbcb2136f636c9a95fb646af2d836ae

Contents?: true

Size: 1.18 KB

Versions: 8

Compression:

Stored size: 1.18 KB

Contents

module Brightbox
  command [:sql] do |product|
    product.command [:instances] do |cmd|
      cmd.desc I18n.t("sql.instances.resize.desc")
      cmd.arg_name "server-id"
      cmd.command [:resize] do |c|
        # Database type
        c.desc I18n.t("sql.instances.options.type.desc")
        c.flag %i[t type]

        c.action do |global_options, options, args|
          dbs_id = args.shift

          unless dbs_id =~ /^dbs-/
            raise I18n.t("sql.instances.args.invalid")
          end

          new_type = options[:type]
          unless new_type =~ /^dbt-/
            raise I18n.t("sql.instances.options.type.invalid")
          end

          server = DatabaseServer.find dbs_id

          info I18n.t("sql.instances.resize.acting", database_server: server)
          begin
            server.resize(new_type: new_type)
          rescue Brightbox::Api::Conflict
            error I18n.t("sql.instances.resize.failed", database_server: server)
          end

          table_options = global_options.merge(
            :vertical => true,
            :fields => DatabaseServer.detailed_fields
          )

          render_table([server], table_options)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
brightbox-cli-5.0.0 lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-5.0.0.rc2 lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-5.0.0.rc1 lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-5.0.0.alpha lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-4.8.0 lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-4.7.0 lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-4.6.0 lib/brightbox-cli/commands/sql/instances_resize.rb
brightbox-cli-4.5.0 lib/brightbox-cli/commands/sql/instances_resize.rb