Project

vaws

0.0
No release in over 3 years
The vaws command simplifies the display of AWS resources.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Vaws

The vaws command was created to simplify the display of AWS resources.
This repository is a Go version of the command that was created in the following repository.
https://github.com/st1t/vaws-ruby

Install

Homebrew(macOS/Linux)

brew install st1t/tap/vaws

make

$ git clone git@github.com:st1t/vaws.git
$ cd vaws/
$ make install

Download binary

Download the appropriate one for your CPU architecture from the following site.
If you are using a Mac, you may get a developer validation error.
In that case, right-click in the Finder and select Open.
https://github.com/st1t/vaws/releases

Usage

$ vaws -h
The vaws command was created to simplify the display of AWS resources.

Usage:
  vaws [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  ec2         Show EC2 instances.
  elb         Show ELB.
  help        Help about any command
  rds         Show RDS instances.
  sg          Show Security Group
  subnet      Show subnet
  vpc         Show VPC

Flags:
  -p, --aws-profile string   -p my-aws
  -h, --help                 help for vaws
  -s, --sort-position int    -s 1 (default 1)
  -v, --version              version for vaws

Use "vaws [command] --help" for more information about a command.
$

EC2

$ vaws ec2 -p my-aws
+-------+---------------------+----------+---------------+---------------+---------+---------------------------------------+
| NAME  |         ID          |   TYPE   |  PRIVATE IP   |   PUBLIC IP   |  STATE  |            SECURITY GROUP             |
+-------+---------------------+----------+---------------+---------------+---------+---------------------------------------+
| app01 | i-06d4c29e4e5ccadc4 | t2.micro | 172.31.35.175 | 54.238.30.226 | running | launch-wizard-2(sg-0f0b4c4642ffb5ef2) |
| app02 | i-06723a6629e542c50 | t3.small | 172.31.21.33  | 18.179.33.182 | running | launch-wizard-3(sg-08d35fef29987e75e) |
| web01 | i-0abee92626b0a28a7 | t3.nano  | 172.31.18.8   | 35.73.127.100 | running | launch-wizard-1(sg-0d642190887707fd0) |
+-------+---------------------+----------+---------------+---------------+---------+---------------------------------------+

If you want to sort by a specific column, use the S option.
The following command sorts by SecurityGroup column.

$ vaws ec2 -p my-aws -s 7
+-------+---------------------+----------+---------------+---------------+---------+---------------------------------------+
| NAME  |         ID          |   TYPE   |  PRIVATE IP   |   PUBLIC IP   |  STATE  |            SECURITY GROUP             |
+-------+---------------------+----------+---------------+---------------+---------+---------------------------------------+
| web01 | i-0abee92626b0a28a7 | t3.nano  | 172.31.18.8   | 35.73.127.100 | running | launch-wizard-1(sg-0d642190887707fd0) |
| app01 | i-06d4c29e4e5ccadc4 | t2.micro | 172.31.35.175 | 54.238.30.226 | running | launch-wizard-2(sg-0f0b4c4642ffb5ef2) |
| app02 | i-06723a6629e542c50 | t3.small | 172.31.21.33  | 18.179.33.182 | running | launch-wizard-3(sg-08d35fef29987e75e) |
+-------+---------------------+----------+---------------+---------------+---------+---------------------------------------+

RDS

$ vaws rds -p my-aws
+-----------------+-----------+--------------------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------+
|     CLUSTER     |  STATUS   |        INSTANCES         |                            WRITE-ENDPOINT                             |                              READ-ENDPOINT                               |
+-----------------+-----------+--------------------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------+
| test-cluster-01 | available | test-cluster-instance-01 | test-cluster-01.cluster-cb8aaaaaaaaa.ap-northeast-1.rds.amazonaws.com | test-cluster-01.cluster-ro-cb8aaaaaaaaa.ap-northeast-1.rds.amazonaws.com |
| test-cluster-01 | available | test-cluster-instance-02 | test-cluster-01.cluster-cb8aaaaaaaaa.ap-northeast-1.rds.amazonaws.com | test-cluster-01.cluster-ro-cb8aaaaaaaaa.ap-northeast-1.rds.amazonaws.com |
+-----------------+-----------+--------------------------+-----------------------------------------------------------------------+--------------------------------------------------------------------------+

SecurityGroup

$ vaws sg -p my-aws
+-----------------+---------+----------------------+------+----------------------+-----------------------+
|      NAME       |  TYPE   |          ID          | PORT |        SOURCE        |          VPC          |
+-----------------+---------+----------------------+------+----------------------+-----------------------+
| default         | inbound | sg-0d642190887707fd0 |   -1 | 0.0.0.0/0            | vpc-0f9999c7db8c44b21 |
| launch-wizard-1 | inbound | sg-0d642190887707fd0 |   22 | 0.0.0.0/0            | vpc-0f9999c7db8c44b21 |
| launch-wizard-2 | inbound | sg-08d35fef29987e75e |   22 | 8.8.8.8/32           | vpc-0f9999c7db8c44b21 |
| launch-wizard-2 | inbound | sg-08d35fef29987e75e |   22 | 0.0.0.0/0            | vpc-0f9999c7db8c44b21 |
| launch-wizard-2 | inbound | sg-08d35fef29987e75e |   22 | sg-0d642190887707fd0 | vpc-0f9999c7db8c44b21 |
| launch-wizard-2 | inbound | sg-08d35fef29987e75e |   53 | pl-61a12345          | vpc-0f9999c7db8c44b21 |
+-----------------+---------+----------------------+------+----------------------+-----------------------+

VPC

$ vaws vpc
+--------------+--------------+-------------+
|     NAME     |      ID      |    CIDR     |
+--------------+--------------+-------------+
| hoge service | vpc-123ZZZZZ | 10.0.0.0/16 |
| default vpc  | vpc-123XXXXX | 10.1.0.0/16 |
+--------------+--------------+-------------+

Subnet

+----------------+-----------------+-------------+--------------+-----------------+-----------+---------------+--------------------+
|      NAME      |    SUBNET ID    |    CIDR     |     VPC      |       AZ        |   AZ ID   | MAP PUBLIC IP | AVAILABLE IP COUNT |
+----------------+-----------------+-------------+--------------+-----------------+-----------+---------------+--------------------+
| test-subnet-01 | subnet-yyyyyyyy | 10.1.0.0/24 | vpc-12345678 | ap-northeast-1a | apne1-az4 | false         |                250 |
| test-subnet-02 | subnet-xxxxxxxx | 10.2.0.0/24 | vpc-12345678 | ap-northeast-1a | apne1-az4 | true          |                250 |
| test-subnet-03 | subnet-zzzzzzzz | 10.3.0.0/24 | vpc-12345678 | ap-northeast-1a | apne1-az4 | false         |                250 |
+----------------+-----------------+-------------+--------------+-----------------+-----------+---------------+--------------------+

ELB

$ vaws elb
+-----------+-------------+-----------------+--------------+---------------------------------------------------+---------------------+---------+--------------------------------------------+
|    LB     |    TYPE     |     SCHEME      |     VPC      |                      SUBNET                       |   SECURITY GROUP    | IP TYPE |                  DNS NAME                  |
+-----------+-------------+-----------------+--------------+---------------------------------------------------+---------------------+---------+--------------------------------------------+
| test-lb01 | application | internet-facing | vpc-xxxxxxxx | subnet-1234567e3xxxxxxxx,subnet-1234567e3zzzzzzzz | sg-084d3a6xxxxxxxxx | ipv4    | test-lb01.ap-northeast-1.elb.amazonaws.com |
| test-lb02 | application | internet-facing | vpc-xxxxxxxx | subnet-1234567e3xxxxxxxx,subnet-1234567e3zzzzzzzz | sg-084d3a6xxxxxxxxx | ipv4    | test-lb02.ap-northeast-1.elb.amazonaws.com |
| test-lb03 | application | internet-facing | vpc-xxxxxxxx | subnet-1234567e3xxxxxxxx,subnet-1234567e3zzzzzzzz | none                | ipv4    | test-lb03.ap-northeast-1.elb.amazonaws.com |
+-----------+-------------+-----------------+--------------+---------------------------------------------------+---------------------+---------+--------------------------------------------+

License

The gem is available as open source under the terms of the MIT License.