Sha256: b7e78bcfde6236011e0f1aef759eb83403ab4c5b17f488e6e9d57ba44c9f8a20

Contents?: true

Size: 1.75 KB

Versions: 54

Compression:

Stored size: 1.75 KB

Contents

module TreasureData
module Command

  def role_show(op)
    name = op.cmd_parse

    client = get_client

    roles = client.roles
    role = roles.find {|role| name == role.name }
    unless role
      $stderr.puts "Role '#{name}' does not exist."
      $stderr.puts "Use '#{$prog} role:create <name>' to create a role."
      exit 1
    end

    $stderr.puts "Organization : #{role.org_name}"
    $stderr.puts "Name         : #{role.name}"
    $stderr.puts "Users        : #{role.user_names.join(', ')}"
  end

  def role_list(op)
    op.cmd_parse

    client = get_client

    roles = client.roles

    rows = []
    roles.each {|role|
      rows << {:Name => role.name, :Organization => role.org_name, :Users => role.user_names.join(',')}
    }

    puts cmd_render_table(rows, :fields => [:Name, :Organization, :Users])

    if rows.empty?
      $stderr.puts "There are no roles."
      $stderr.puts "Use '#{$prog} org:create <name>' to create a role."
    end
  end

  def role_create(op)
    org = nil

    op.on('-g', '--org ORGANIZATION', "create the role under this organization") {|s|
      org = s
    }

    name = op.cmd_parse

    client = get_client

    client.create_role(name, org)

    $stderr.puts "Role '#{name}' is created."
  end

  def role_delete(op)
    name = op.cmd_parse

    client = get_client

    client.delete_role(name)

    $stderr.puts "Role '#{name}' is deleted."
  end

  def role_grant(op)
    name, user = op.cmd_parse

    client = get_client

    client.grant_role(name, user)

    $stderr.puts "Role '#{name}' is granted to user '#{user}'."
  end

  def role_revoke(op)
    name, user = op.cmd_parse

    client = get_client

    client.revoke_role(name, user)

    $stderr.puts "Role '#{name}' is revoked from user '#{user}'."
  end

end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
td-0.10.92 lib/td/command/role.rb
td-0.10.91 lib/td/command/role.rb
td-0.10.90 lib/td/command/role.rb
td-0.10.89 lib/td/command/role.rb
td-0.10.88 lib/td/command/role.rb
td-0.10.87 lib/td/command/role.rb
td-0.10.86 lib/td/command/role.rb
td-0.10.85 lib/td/command/role.rb
td-0.10.84 lib/td/command/role.rb
td-0.10.83 lib/td/command/role.rb
td-0.10.82 lib/td/command/role.rb
td-0.10.81 lib/td/command/role.rb
td-0.10.79 lib/td/command/role.rb
td-0.10.78 lib/td/command/role.rb
td-0.10.77 lib/td/command/role.rb
td-0.10.76 lib/td/command/role.rb
td-0.10.75 lib/td/command/role.rb
td-0.10.74 lib/td/command/role.rb
td-0.10.73 lib/td/command/role.rb
td-0.10.72 lib/td/command/role.rb