Package com.woorea.openstack.console.keystone

Source Code of com.woorea.openstack.console.keystone.KeystoneTenantCreate

package com.woorea.openstack.console.keystone;

import java.util.Arrays;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;

import com.woorea.openstack.console.utils.Column;
import com.woorea.openstack.console.utils.Table;
import com.woorea.openstack.console.utils.TableModel;
import com.woorea.openstack.keystone.Keystone;
import com.woorea.openstack.keystone.model.Tenant;

public class KeystoneTenantCreate extends KeystoneCommand {
 
  public KeystoneTenantCreate() {
    super("tenant-create");
  }

  @Override
  public void execute(Keystone keystone, CommandLine cmd) {
   
    Tenant tenant = new Tenant();
    tenant.setName(cmd.getOptionValue("name"));
    tenant.setDescription(cmd.getOptionValue("description"));
    if(cmd.getOptionValue("enabled") != null) {
      tenant.setEnabled(Boolean.TRUE);
    }
   
    tenant = keystone.tenants().create(tenant).execute();
   
    Table t = new Table(new TableModel<Tenant>(Arrays.asList(tenant)) {

      @Override
      public Column[] getHeaders() {
        return new Column[]{
          new Column("id", 32, Column.ALIGN_LEFT),
          new Column("name", 10, Column.ALIGN_LEFT),
          new Column("description", 32, Column.ALIGN_LEFT),
          new Column("enabled", 7, Column.ALIGN_LEFT)
        };
      }

      @Override
      public String[] getRow(Tenant tenant) {
        return new String[]{
          tenant.getId(),
          tenant.getName(),
          tenant.getDescription(),
          tenant.getEnabled().toString()
        };
      }
    });
    System.out.println(t.render());
  }

  /* (non-Javadoc)
   * @see com.billingstack.commands.Command#getOptions()
   */
  @Override
  public Options getOptions() {
    Options opts = super.getOptions();
    opts.addOption(null, "name", true, "tenant name");
    opts.addOption(null, "description", true, "tenant description");
    opts.addOption(null, "enabled", false, "enabled");
    return opts;
  }
 
}
TOP

Related Classes of com.woorea.openstack.console.keystone.KeystoneTenantCreate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.