A Mighty CLI for AWS

Overview

Build Status Go Report Card

terminal icon awless is a powerful, innovative and small surface command line interface (CLI) to manage Amazon Web Services.

Twitter | Wiki | Changelog

Why awless

awless stands out by having the following characteristics:

  • small and hierarchical set of commands
  • a simple/powerful text templating language to create and revert fully-fledged infrastructures
  • wrapping/composing AWS API calls when necessary to enrich behaviour. Ex: ensure smart defaults, security best practices, etc.
  • local log of all your cloud modifications done through awless to list/revert past actions
  • sync to a local graph storage of your cloud representation
  • exploration of your cloud infrastructure and resources interrelations, even offline using the local graph storage
  • clearer and flexible terminal output's with: numerous formats (machine/human friendly), enriched resources's properties/relations when feasible
  • connect easily using awless' smart SSH to your private & public instances

For more read our FAQ below (how awless compares to other tools, etc.)

Install

Choose one of the following options:

  1. On macOS, use homebrew: brew tap wallix/awless; brew install awless
  2. With curl (macOS/Linux), run: curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
  3. Download the latest awless binaries (Windows/Linux/macOS) from Github
  4. If you have Golang already installed, install from the source with: go get -u github.com/wallix/awless

If you have previously used the AWS CLI or aws-shell, you don't need to configure anything! Your config will be automatically loaded (i.e. ~/.aws/{credentials,config}) and awless will prompt for any missing info (more at our getting started).

Main features

video of a few awless commands
Note that the video above is in APNG and requires a recent browser.

  • Aliasing of resources through their natural name so you don't have to always use cryptic ids that are impossible to remember

  • awless show : Explore the properties, relations, dependencies of a specific resource (even offline thanks to the sync) given only a name (or id/arn).

    $ awless show jsmith --local
    
  • awless list : Clear and easy listing of multi-region cloud resources (subnets, instances, users, buckets, records, etc.) on AWS EC2, IAM, S3, RDS, AutoScaling, SNS, SQS, Route53, CloudWatch, CloudFormation, Lambda, etc. Listing filters via resources properties or resources tags.

    $ awless list instances --sort uptime --local
    $ awless list users --format csv --columns name,created
    $ awless list volumes --filter state=use --filter type=gp2
    $ awless list volumes --tag-value Purchased
    $ awless ls vpcs --tag-key Dept --tag-key Internal --format tsv
    $ awless ls instances --tag Env=Production,Dept=Marketing
    $ awless ls instances --filter state=running,type=micro --format json
    $ awless ls s3objects --filter bucket=pdf-bucket -r us-west-2
    $ ...
    (see awless ls -h)
    
  • awless run : Create, update and delete complex infrastructures with smart defaults and sound auto-complete through awless templates.

    $ awless run ~/templates/my-infra.aws
    $ awless run https://raw.githubusercontent.com/wallix/awless-templates/master/linux_bastion.aws
    etc.
    
  • Hundreds of powerful CRUD CLI one-liners integrated in the awless templating engine:

    $ awless create instance -h
    $ awless create vpc -h
    $ awless attach policy -h
    $ ...
    (see awless -h)
    
  • awless log : Detailled and easy reporting of all the CLI template executions

  • awless revert : Revert of executed templates and resources creation

  • Create instances straight from a distro name. No need to know the region or AMI ;) (free tier community bare distro only, see awless create instance -h)

    $ awless create instance distro=debian
    $ awless create instance distro=coreos
    $ awless create instance distro=redhat::7.2 type=t2.micro
    $ awless create instance distro=debian:debian:jessie lock=true
    $ awless create instance distro=amazonlinux:amzn2
    etc.
    
  • Leveraging AWS userdata to provision instance on creation from remote (i.e http) or local scripts: awless create instance ... userdata=/home/john/...

  • awless ssh : Clean and simple SSH to public & private instances using only a name

    $ awless ssh my-production-instance
    $ awless ssh redis-prod --through jump-server
    $ awless ssh 34.215.29.221
    $ awless ssh db-private --private
    $ awless ssh 172.31.77.151 --port 2222 --through my-proxy --through-port 23
    $ ...
    (see awless ssh -h)
    
  • awless switch : Switch easily between AWS accounts (i.e. profile) and regions

    $ awless switch admin eu-west-2
    $ awless switch us-west-1
    $ awless switch mfa
    etc.
    
  • awless transparently syncs cloud resources locally to a graph representation in order for the CLI to leverage data and their relations in other awless commands and in an offline manner (more on the sync)

  • awless sync : Explicit and manual command to fetch & store resources locally. Then query & inspect your cloud offline

  • Output listing formats either human (default display is Markdown-compatible tables) or machine readable (csv, tsv, json, ...): --format

  • awless inspect : Leverage experimental and community inspectors which are interface implementation utilities to run analysis on your cloud resources graphs

    $ awless inspect -i bucket_sizer
    (see awless inspect -h)
    
  • awless completion : CLI autocompletion for Unix/Linux's bash and zsh

Getting started

Take the tour at Getting Started (wiki) or read the introductory blog post about awless.

More articles:

Awards

FAQ

Here is a compilation of the question we often answer (thanks for asking them so that we can make things clearer!):

There are already some AWS CLIs. What is awless unique approach?

Three things that differentiates awless from other AWS CLIs:

  • It has its own compiled and very simple templating language to build AWS infrastructures.
  • Commands are made of VERB + ENTITY [+ param=value] and are actually valid lines of the template language.
  • It transparently syncs to a local graph a representation of the cloud resources and their relations.

Leveraging and combining the points above, awless lays some strong foundations for plenty of current/future features/characteristic such as:

  • Wrapping AWS API calls to enrich them with before/after behaviour when interacting with the cloud
  • Having a small and hierarchical set of commands to intuitively interact with AWS
  • Enriching listing of resources using the local model and relations that are not calculated with other CLIs
  • Referencing and finding resources quickly avoiding cryptic IDs in favor of names, etc.
  • Exposing in the terminal relation between resources: lineage, siblings, etc.
  • Performing local analysis of your cloud
  • Having a smart SSH to easily connect to instances
  • etc.

How do you create infrastructure with awless?

You build infrastructure using template files or command one-liners that get compiled and run through awless builtin engine. See what the templating language looks like. Learn more about the way templates work

Note that all your actions against the cloud are logged. Templates are revertible/rollbackable.

How does awless compares to aws-shell or saws?

(Points above should also help answering this question)

aws-shell and saws are directly mapped to the official AWS CLI. Their only objective is to make you productive and help you manage exhaustively the sheer number of AWS services, options, etc.

awless addresses this UI/productivity concern differently: small and hierarchical set of commands; favoring enriched listing with relations showing over AWS exhaustive outputting of properties; more useful human/machine formats.

The main point is that the UI/productivity concern is just a feature of awless and not its primary or only one, so there is much more to the tool.

Also aws-shell and saws are exhaustive in their support of AWS services. awless is so far more infrastructure centric, with an emphasis on enriching the information about your real infrastructure. awless is able to add any new AWS service quickly if that fits and make sense (see wiki on how to add a new AWS service).

How does awless compares to Terraform?

Terraform is a great product! awless is much younger than Terraform and Terraform is much broader in scope.

The approach is different though. When creating insfrastructure awless:

  • favors simplicity with a straight forward, compiled and simple deployment language
  • employs an all-or-nothing deployment: do not keep state, etc.
  • awless does provide a rollback on any ran template.

Does awless handles state when creating infrastructure (i.e. keep track of the changes)?

Quoting from a logz.io/blog entry: "Terraform is an amazing tool but a major challenge is managing the state file. Whenever you apply changes to your infrastructure, the entire managed body of code and created objects are tracked in the Terraform State file (.tfstate), which can reach hundreds of thousands of lines and must be managed carefully lest you incur large merge conflicts or unwanted resource changes", Ofer Velich.

As for now with awless, we have taken a different path: awless does not keep state of your cloud; it is more of an all-or-nothing deployment solution.

Note that awless logs (through rich and revertable logs) all your actions against the cloud and that you can revert any template ran.

About

awless is an open source project created by Henri Binsztok, Quentin Bourgerie, Simon Caplette and François-Xavier Aguessy at WALLIX. awless is released under the Apache License and sponsored by Wallix.

Disclaimer: Awless allows for easy resource creation with your cloud provider;
we will not be responsible for any cloud costs incurred (even if you create a 
million instances using awless templates).

Contributors are welcome! Please head to Contributing (wiki) to learn more. Note that awless uses triplestore another project developped at WALLIX.

Comments
  • Running out of memory with 12GB available

    Running out of memory with 12GB available

    Running awless -e sync with 12GB of memory available ends up in the process being killed because of an OOM situation. Would have expected that 12GB is plenty of memory for the task.

    ~/go/src/github.com/wallix/awless$ uname -a
    Linux ubuntu 3.13.0-98-generic #145-Ubuntu SMP Sat Oct 8 20:13:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    
    ~/go/src/github.com/wallix/awless$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.5 LTS
    Release:        14.04
    Codename:       trusty
    
    ~/go/src/github.com/wallix/awless$ free
                 total       used       free     shared    buffers     cached
    Mem:      16427688    2612424   13815264        652        260      27940
    -/+ buffers/cache:    2584224   13843464
    Swap:      1046524    1046524          0
    
    ~/go/src/github.com/wallix/awless$ ./awless --version
    awless version=v0.1.1
    
    ~/go/src/github.com/wallix/awless$ rm -rf ~/.awless
    
    ~/go/src/github.com/wallix/awless$ ./awless -e sync
    First install. Welcome!
    
    Found existing AWS region 'us-east-1'. Setting it as your default region.
    Region updated to 'us-east-1'.
    You might want to update your default AMI with `awless config set instance.image $(awless search images amazonlinux --id-only --silent)`
    Syncing new region...
    [extra]   sync: fetched lambda service took 406.591864ms
    [extra]   sync: fetched cloudformation service took 408.829508ms
    [extra]   sync: fetched cdn service took 489.701489ms
    [extra]   sync: fetched dns service took 895.959112ms
    [extra]   sync: fetched messaging service took 1.280953266s
    [extra]   sync: fetched infra service took 3.58098968s
    Killed
    
    ~/go/src/github.com/wallix/awless$ tail /var/log/syslog
    Jun 30 13:01:00 localhost kernel: [77434.411864] [21886]     0 21886      376        0       5       16             0 sh
    Jun 30 13:01:00 localhost kernel: [77434.411865] [21949]     0 21949  1489483    64503     295    17131             0 java
    Jun 30 13:01:00 localhost kernel: [77434.411866] [25321]  1000 25321     7042     1902      20        0             0 bash
    Jun 30 13:01:00 localhost kernel: [77434.411867] [27581]  1000 27581     2386       43      11        0             0 less
    Jun 30 13:01:00 localhost kernel: [77434.411868] [27596]  1000 27596  9187110  3412059   14185        0             0 awless
    Jun 30 13:01:00 localhost kernel: [77434.411869] Out of memory: Kill process 27596 (awless) score 784 or sacrifice child
    Jun 30 13:01:00 localhost kernel: [77434.411889] Killed process 27596 (awless) total-vm:36748440kB, anon-rss:13648236kB, file-rss:0kB
    
    bug 
    opened by thoellrich 25
  • aws throttling errors when running awsless list records

    aws throttling errors when running awsless list records

    Get this when running the following

    $ awless list records --filter name=elastic
    [error]   Throttling: Rate exceeded
    	status code: 400, request id: 320b85fe-9e1f-11e7-a8c6-8d88e406789f
    
    bug 
    opened by macon 16
  • Support ssh agent

    Support ssh agent

    Thanks for building such a useful tool.

    One thing that was missing was the ability to use SSH agent authorization instead of private keys.

    This is my attempt to add that functionality. Basically, if there is no key on an instance it will try to use the SSH_AUTH_SOCK variable to communicate with an agent. If there is a key on an instance, it will use that key as before. And, finally, if the --agent flag is passed, the agent will be used without looking for a key.

    Please let me know what you think.

    opened by justone 15
  • Pass CloudFormation tags/parameters from file

    Pass CloudFormation tags/parameters from file

    In order to use awless as part of CI job for deployment CloudFormation, would be very nice to be able to apply parameters from the file.

    AWS has this kind of file for deployment with CodePipeline: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html#w2ab2c13c15c15. Would be very nice to be able to support the same file format.

    I took a look at the update stack code, and everything is autogenerated there and I'm not sure how to add functionality there.

    wishlist 
    opened by Trane9991 14
  • awless show error:  invalid literal object

    awless show error: invalid literal object

    Hello, I'm trying to describe CloudFormation stack with awless show <arn> and getting next error:

    [error] file '/Users/<user>/.awless/aws/rdf/default/us-east-1/cloudformation.nt': lenient parsing: line 1: invalid literal object

    opened by Trane9991 13
  • SIGSEGV when trying to use current head version with multi-profile and mfa

    SIGSEGV when trying to use current head version with multi-profile and mfa

    I've had a working setup for a while like this: ~/.aws/credentials [default] key_id/access with read-only privs [me_mfa] key_id/access for my aws role which requires mfa

    ~/.aws/config [profile me] source_profile = me_mfa role_arn = ..Admin.. mfa_serial .../me

    I did a go get -u today and the default profile was working fine, but when I tried to do anything with my me account, either by passing -p me or by using awl switch, it immediately returned a SIGSEGV:

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1d61b71]
    
    goroutine 1 [running]:
    github.com/wallix/awless/commands.hasEmbeddedRegionInSharedConfigForProfile(0xc4203f5198, 0x3, 0x7fff5fbff932, 0x3, 0x0, 0x0, 0x2e7b680)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:250 +0xc1
    github.com/wallix/awless/commands.applyRegionAndProfilePrecedence(0x0, 0x0)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:70 +0xb9
    github.com/wallix/awless/commands.initAwlessEnvHook(0x2ebf5c0, 0xc4203fb2c0, 0x0, 0x2, 0x22c0e48, 0x117f509)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:50 +0xa7
    github.com/wallix/awless/commands.applyHooks.func1(0x2ebf5c0, 0xc4203fb2c0, 0x0, 0x2)
    	/Users/me/go/src/github.com/wallix/awless/commands/hooks.go:38 +0x88
    github.com/wallix/awless/vendor/github.com/spf13/cobra.(*Command).execute(0x2ebf5c0, 0xc4203fb260, 0x2, 0x2, 0x2ebf5c0, 0xc4203fb260)
    	/Users/me/go/src/github.com/wallix/awless/vendor/github.com/spf13/cobra/command.go:730 +0x237
    github.com/wallix/awless/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x2ec0a00, 0x0, 0x42, 0xc420036d70)
    	/Users/me/go/src/github.com/wallix/awless/vendor/github.com/spf13/cobra/command.go:831 +0x2e4
    github.com/wallix/awless/vendor/github.com/spf13/cobra.(*Command).Execute(0x2ec0a00, 0xc4201cbf78, 0xc4200aa058)
    	/Users/me/go/src/github.com/wallix/awless/vendor/github.com/spf13/cobra/command.go:784 +0x2b
    main.main()
    	/Users/me/go/src/github.com/wallix/awless/main.go:22 +0x2d
    

    I tried reverting back to the latest release installed view Homebrew and it works fine.

    Please let me know what other info you might want to track this down.

    opened by deinspanjer 12
  • StackFile support

    StackFile support

    Hey,

    I know you guys are busy with preparation for ReInvent, but I prepared small PR with stack-file support. No need to merge it now, but I will appreciate some review and feedback.

    One thing that is missing is the CLI usage/description for stack-file, since, AFAIK all the descriptions generated automatically from appropriate AWS documentation, but stack-file not on the docs.

    BTW, in this PR many vendor files are removed, I think it is because you forgot to run dep prune

    implements Issue #145

    opened by Trane9991 12
  • awless ssh INSTANCE seems broken in 0.0.24

    awless ssh INSTANCE seems broken in 0.0.24

    With the last version (0.0.24), I can't connect to the instance:

    $ awless -p sr-sandbox list instances
    |        ID ▲         |    ZONE    | NAME |  STATE  |   TYPE   |   PUBLIC IP    |  PRIVATE IP   |  UPTIME  |       KEYPAIR       |
    |---------------------|------------|------|---------|----------|----------------|---------------|----------|---------------------|
    | i-00c5a341da308a8e4 | eu-west-1b | test | running | t2.micro | 34.248.157.00  | 172.31.15.107 | 15 hours | aws-sr-sandbox-test |
    | i-046a2755623e43ebe | eu-west-1b | test | running | t2.micro | 52.213.140.00  | 172.31.14.85  | 15 hours | aws-sr-sandbox-test |
    | i-0a0049b6241b2eeba | eu-west-1b | test | running | t2.micro | 52.49.150.00   | 172.31.12.80  | 2 days   | aws-sr-sandbox-test |
    | i-0bc587b1ce4304b3a | eu-west-1b | test | running | t2.micro | 52.208.219.000 | 172.31.4.5    | 15 hours | aws-sr-sandbox-test |
    
    $ awless -p sr-sandbox ssh i-00c5a341da308a8e4
    [warning] port 22 is not open on this instance
    Error: instance not accessible
    

    No issue with the version 0.0.23:

    $ awless-0.0.23  --aws-profile sr-sandbox list instances
    |        ID ▲         |    ZONE    | NAME |  STATE  |   TYPE   |   PUBLIC IP    |  PRIVATE IP   |  UPTIME  |       KEYPAIR       |
    |---------------------|------------|------|---------|----------|----------------|---------------|----------|---------------------|
    | i-00c5a341da308a8e4 | eu-west-1b | test | running | t2.micro | 34.248.157.00  | 172.31.15.107 | 15 hours | aws-sr-sandbox-test |
    | i-046a2755623e43ebe | eu-west-1b | test | running | t2.micro | 52.213.140.00  | 172.31.14.85  | 15 hours | aws-sr-sandbox-test |
    | i-0a0049b6241b2eeba | eu-west-1b | test | running | t2.micro | 52.49.150.00   | 172.31.12.80  | 2 days   | aws-sr-sandbox-test |
    | i-0bc587b1ce4304b3a | eu-west-1b | test | running | t2.micro | 52.208.219.000 | 172.31.4.5    | 15 hours | aws-sr-sandbox-test |
    
    awless-0.0.23 --aws-profile sr-sandbox ssh i-00c5a341da308a8e4
    [info]    Login as 'ubuntu' on '34.248.157.00', using keypair '/home/sdouche/.awless/keys/xxx.pem' with ssh client at '/usr/bin/ssh'
    Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1013-aws x86_64)
    
    bug 
    opened by sdouche 8
  • Unable to find S3 information

    Unable to find S3 information

    Using rev bacfbc163e1574055d38bc3d5f4e13cd3163c484, awless does not seem to find any S3 objects in my account. awscli and awless use the same access_key/secret_key/region:

    $ aws s3 ls | wc -l
    138
    $ aws s3 ls | grep debug
    2016-07-18 22:47:00 debugging-log-elb
    
    $ awless sync -e -v
    [info] running sync: fetching remote resources for local store
    [extra] sync: fetched access service took 915.436447ms
    [extra] sync: fetched storage service took 1.173232861s
    [extra] sync: fetched infra service took 1.586694499s
    [info] -> access: 28 roles, 12 groups, 34 policies, 63 users
    [info] -> storage: 0 bucket, 0 storageobject
    [info] -> infra: 67 instances, 20 keypairs, 112 securitygroups, 123 volumes, 26 subnets, 6 vpcs, 6 internetgateways, 18 routetables
    [info] sync took 2.037318521s
    $ awless show -e -v @debugging-log-elb
    [info] cannot resolve resource - running full sync
    [extra] sync: fetched access service took 860.4982ms
    [extra] sync: fetched infra service took 1.107564767s
    [extra] sync: fetched storage service took 1.243121296s
    [info] resource with id @debugging-log-elb not found
    
    bug 
    opened by thoellrich 8
  • Reverse sort and adding tags to output?

    Reverse sort and adding tags to output?

    Trying to get a handle on an explosion of snapshots. Would be useful to do a reverse sort on the Created column (for now, resorting [snicker] to running in csv output and then doing a | tac.

    Also, any way to get the tags into the output?

    opened by deinspanjer 7
  • Add support for Classic ELB

    Add support for Classic ELB

    Please add support for classic ELB (ELBv1).

    One of the superior features of awless is that it provides a dependency graph of entities - and though the Application ELB (ELBv2) is the most recent offering by AWS, there are going to be a huge number of extant Classic ELB's running out there - and having a good idea of their dependencies will provide an excellent utility when trying to upgrade them.

    Furthermore, even today most tools provision Classic ELBs when managing AWS for you - for instance, current Kubernetes tooling creates ELBv1 entities.

    wishlist 
    opened by rbellamy 7
  • awless stops working in MacOS Ventura (13.0)

    awless stops working in MacOS Ventura (13.0)

    I am leaving this here in case someone knows how to fix. I am aware that awless is an abandoned project.

    I recently upgraded my system to MacOS Ventura (13.0). Now, when I run any awless command, I get the following:

    $ awless
    Killed: 9
    

    It doesn't matter what flags I use. Any ideas are most welcome.

    opened by mklatsky 3
  • AWS SSO for authentication

    AWS SSO for authentication

    We do not use access keys for AWS CLI or console access, is there a way to use the AWS SSO token for authentication?

    Thanks in advance. This looks cool.

    opened by rkpatel33 0
  • Brew tap failure

    Brew tap failure

    Encountered this error attempting to tap wallix/awless. Possible duplicate of #299

    $ brew tap wallix/awless
    ==> Tapping wallix/awless
    Cloning into '/usr/local/Homebrew/Library/Taps/wallix/homebrew-awless'...
    remote: Enumerating objects: 130, done.
    remote: Total 130 (delta 0), reused 0 (delta 0), pack-reused 130
    Receiving objects: 100% (130/130), 20.09 KiB | 2.01 MiB/s, done.
    Resolving deltas: 100% (31/31), done.
    Error: Invalid formula: /usr/local/Homebrew/Library/Taps/wallix/homebrew-awless/Formula/awless.rb
    awless: undefined method `cellar' for #<BottleSpecification:0x00007f7a1c92b8d0>
    Error: Cannot tap wallix/awless: invalid syntax in tap!
    
    opened by hansoksendahl 6
  •  'af-south-1' is not a valid region

    'af-south-1' is not a valid region

    I cannot use awless when in the newer regions like Capte Town - South Africa (af-south-1). version=v0.1.11 Will it be possible to update awless with the updated regions?

    opened by daniejstriata 0
Releases(v0.1.11)
  • v0.1.11(Jun 21, 2018)

    Changelog

    Features

    • #71: Add support for Classic load-balancers:
        $ awless list classicloadbalancers
        $ awless create classicloadbalancer name=my-loadb subnets=[sub-123,sub-456] listeners=HTTP:80:HTTP:8080 healthcheck-path=/health/ping  securitygroups=sg-54321 tags=Env:Test,Created:Awless
        $ awless update classicloadbalancer name=my-loadb health-interval=10 health-target=HTTP:80/weather/ health-timeout=300 healthy-threshold=10  unhealthy-threshold=5
        $ awless attach classicloadbalancer name=my-loadb [email protected]
        $ awless delete classicloadbalancer name=my-loadb
    
    • #214: AWS_PROFILE env variable now loaded in awless in addition to the deprecated AWS_DEFAULT_PROFILE thanks to @alewando
    • Better completion for attach mfadevice and attach user commands
    • #219: Validate access key and secret key before writing into ~/.aws/credentials file

    Fixes

    • #220: Add double quotes to CSV output if needed thanks to @lllama
    • Fix compilation error in templates with concatenation and reference (c.f. for example in this template)
    • Parse integer beginning with '0' as string (preventing the deletion of the initial '0' for example in ... account.id=0123456789)
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.66 MB)
    awless-linux-386.tar.gz(7.71 MB)
    awless-linux-amd64.tar.gz(8.06 MB)
    awless-windows-386.zip(7.76 MB)
    awless-windows-amd64.zip(8.20 MB)
  • v0.1.10(Apr 13, 2018)

    Changelog

    Features

    • Much better performance when synchronising all access data (IAM, etc.)

    • Create instances now supports distro prompting for CentOS, Amazon Linux 2, CoreOS

      $ awless create instance name=myinst distro=amazonlinux:amzn2
      $ awless create instance distro=coreos
      $ awless create instance distro=centos name=myinst
      
    • Avoiding extra throttling: Listing flag --filter now passes on the user wanted filtering down to the AWS API when possible so that less unneeded resources are fetched, bandwidth is reduced and some throttling avoided.

      For example:

      $ awless ls s3objects --filter bucket=website
      $ awless ls records --filter name=io
      $ awless ls containertasks --filter name=my-task-definition-name
      
    • Support for region embedded in an AWS profile (i.e. shared config files ~/.aws/{credentials,config}). See #181 in Fixes for more details

    • #191 Attach a certificate to a listener with: awless listener attach id=... certificate=... (see awless attach listener -h for more)

    Fixes

    • #200: Now paging is supported for s3 objects when listing
    • #196: Regression fix SIGSEV when having AWS config with role assuming
    • #182: Region embedded in profile taken into account and given correct precedence
    • #144: Filtering done on AWS side when listing records for a given zone name
    • #172: Filtering done on AWS side when listing containertasks for a given task definition name
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.54 MB)
    awless-linux-386.tar.gz(7.62 MB)
    awless-linux-amd64.tar.gz(7.98 MB)
    awless-windows-386.zip(7.68 MB)
    awless-windows-amd64.zip(8.10 MB)
  • v0.1.9(Jan 16, 2018)

    Changelog

    In this release, the local data model has been updated to support multi-account and stale data is removed when upgrading. Local data (ex: used for completion, etc...) will progressively be synced again through your usage of awless. Although, to get all your data now under the new model, you can manually run 'awless sync'

    Features

    • Support and seamless sync across multi-account (i.e. multiple profiles) and regions
    • Enriched params prompting with optional/skippable but very common params. Can be disabled with --prompt-only-required or forced with --prompt-all to leverage smart completion for all params
    • Automatically complete the username when deleting an access key by its ID, if it is contained in the local graph model:
      • awless delete accesskey id=ACCESSKEYID
    • For awless update stack param stackfile can now slurp yml and json params files. Thanks to @Trane9991 (#167, #145)
    • Better completion for template parameters independently of their display name
    • Aliases can now be resolved to properties other than IDs. For example, they are resolved to ARN in attach/detach/update/delete policy: awless attach policy [email protected]
    • Running only awless switch now returns your current region and profile, allowing a quick and short region/profile lookup
    • Better completion of slice properties

    AWS Services

    • Listing of Route53 records now contains a new column for aliases #181
    • Create an image from an existing instance. See awless create image -h
      • awless create image [email protected] name=redis-image description='redis prod image'
      • awless create image instance=i-0ee436a45561c04df name=redis-image reboot=true
      • List your images with awless ls images --sort created
      • Delete images with an awless revert ... or with awless delete image [email protected]
    • #169: Start/Stop a RDS database:
    • Restart an EC2 instance
      • awless restart instance id=id-1234
      • awless restart instance [email protected],@redis-prod-2
    • #176: Delete a DNS record only by its awless ID (see awless ls records) or by its name:

    Fixes

    • Fix regression error: errors in dry run showed but where ignored hence user could wrongly confirm to run the template
    • Delete a DNS record only by its awless ID
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.66 MB)
    awless-linux-386.tar.gz(7.57 MB)
    awless-linux-amd64.tar.gz(8.11 MB)
    awless-windows-386.zip(7.63 MB)
    awless-windows-amd64.zip(8.22 MB)
  • v0.1.8(Nov 30, 2017)

  • v0.1.7(Nov 24, 2017)

    You can find attached binaries for OSX, Linux and Windows.

    Changelog

    Features

    • Better prompt completion for template parameters
    • Create instance/launchconfiguration from community distro names (awless create instance distro=debian). In default config value, deprecation of instance.image in favor of instance.distro (migration should be seamless).
      • awless create instance distro=redhat:rhel:7.2
      • awless create launchconfiguration distro=canonical:ubuntu
      • awless create instance distro=debian
    • Quick way to switch to profiles and regions. Ex: awless switch eu-west-1, awless switch mfa us-west-1
    • Create a public subnet in only one command with: awless create subnet public=true...
    • Save directly your newly created access key in ~/.aws/credentials with : awless create accesskey save=true
    • Overall better logging output of template execution

    AWS Services

    • Update Cloudfront distribution with: awless update distribution...
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.30 MB)
    awless-linux-386.tar.gz(7.23 MB)
    awless-linux-amd64.tar.gz(7.73 MB)
    awless-windows-386.zip(7.29 MB)
    awless-windows-amd64.zip(7.86 MB)
  • v0.1.6(Nov 16, 2017)

    You can find attached binaries for OSX, Linux and Windows.

    Changelog

    Overall re-design of AWS commands with full acceptance testing allowing for easier external contribution, greater flexibility and scalability moving forward

    Features

    • #154: awless ssh allow specifying both --port and --through-port
    • #151: awless ssh using ip addresses. Ex: awless ssh 172.31.68.49 --through 172.31.11.249
    • awless attach mfadevice now propose to automatically add the MFA device configuration to ~/.aws/config
    • #158, #159: Added bash/zsh completion to regions and profiles. Thanks to @padilo
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.24 MB)
    awless-linux-386.tar.gz(7.20 MB)
    awless-linux-amd64.tar.gz(7.72 MB)
    awless-windows-386.zip(7.26 MB)
    awless-windows-amd64.zip(7.82 MB)
  • v0.1.5(Oct 5, 2017)

    You can find attached binaries for OSX, Linux and Windows

    Changelog

    Features

    • Complete flow to enable MFA for a user, including QRCode generation
    • Much better output for awless log; default message (or user specified message) stored now in logs
    • #143: Follow CloudFormation stack events: awless tail stack-events my-stack-name --follow. Thanks to @Trane9991.
    • Support concatenation between {holes} and "quoted strings" in template with + operator: policy = create policy ... resource="arn:aws:iam::" + {account.id} + ":mfa/${aws:username}"

    AWS Services

    • Manage and listing of MFA devices: awless create/delete/attach/detach mfadevice, awless list mfadevices
    • Support Network Load Balancers: awless create loadbalancer .... type=network ...
    • Add conditions in policies and support multiple resources awless create policy ... conditions=\"aws:MultiFactorAuthPresent==true\" resource=arn:aws:iam::0123456789:mfa/test,arn:aws:iam::0123456789:user/test
    • Add conditions in role creation awless create role name=awless-mfa-role principal-account=0123456789 conditions=\"aws:MultiFactorAuthPresent==true\"
    • List the access keys of all users with awless list accesskeys (previously, only current user)
    • Fetch role trust policy document: awless show my-role

    Fixes

    • Exit code is now non zero on template run with KO states
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.46 MB)
    awless-linux-386.tar.gz(7.40 MB)
    awless-linux-amd64.tar.gz(7.91 MB)
    awless-windows-386.zip(7.45 MB)
    awless-windows-amd64.zip(8.02 MB)
  • v0.1.4(Sep 21, 2017)

    You can find attached binaries for OSX, Linux and Windows

    Changelog

    Features

    • Local storage of cloud data (RDF store) now done using the NTriples text format instead of a binary format (transition completely transparent for the user). New format allows more friendly git revisioning of data compared to a binary format.
    • #87: Customize columns displayed in awless list with --columns: awless ls instances --sort name --columns name,vpc,state,privateip
    • Global --no-sync flag to not run any sync on command
    • awless show policy-name/policy-id now displays the current policy Document (in JSON).

    AWS Services

    • Update IAM policies, to add statements with awless update policy
    • Add ACM certificates in infra:
      • awless list certificates
      • awless create/delete/check certificate domains=my.firstdomain.com,my.seconddomain.com validation-domains=firstdomain.com,seconddomain.com
    • #123: Listing route tables display the association IDs.

    Fixes

    • awless ssh --through: no reusing same conn to avoid EOF. Bug: only first user (amazonlinux) was successful (usually ec2-user) !!
    • awless ssh --through: on new proxy client catching error that where shadowed
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.38 MB)
    awless-linux-386.tar.gz(7.30 MB)
    awless-linux-amd64.tar.gz(7.78 MB)
    awless-windows-386.zip(7.36 MB)
    awless-windows-amd64.zip(7.92 MB)
  • v0.1.3(Sep 6, 2017)

    You can find attached binaries for OSX, Linux and Windows

    Changelog

    Features

    • awless show command 'not found' error now suggests if resource with same reference exists in other locally synced regions
    • awless template language now supports lists, for example: create loadbalancer subnets=[$subnet1, $subnet2]
    • Variables in awless template language now support references, holes and lists, for example: mysecgroups = [$secgroup1, {my.secgroup},sg-123456]
    • awless template language now supports holes in strings, for example: create instance name={prefix}database{version}
    • awless update securitygroup can now authorize/revoke access from another security group: update securitygroup id=sg-12345 inbound=authorize portrange=any protocol=tcp securitygroup=sg-23456
    • Template CLI prompt: better TAB completion of resources and their properties
    • Man CLI examples for all one liners command. For example, awless create instance -h will display relevant CLI examples
    • Add Type (AWS/Customer managed) and Attached (true/false) columns in awless list policies
    • #129: flag --color=always/never to force enabling/disabling of colored output.

    AWS Services

    • List network interfaces with awless list networkinterfaces

    Fixes

    • Fix regression: listing a resource returned no results when this resource was disabled for sync. Listing should always fetch the resources and display what is on your cloud.
    • #130: Better exit status code in awless show command
    • Port ranges starting from 0 to n are no longer processed as from n to n.
    • awless ssh --through: works without an SSH agent running; correct StrictHostkeyChecking; correct display for --print-config
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.27 MB)
    awless-linux-386.tar.gz(7.21 MB)
    awless-linux-amd64.tar.gz(7.68 MB)
    awless-windows-386.zip(7.27 MB)
    awless-windows-amd64.zip(7.82 MB)
  • v0.1.2(Aug 17, 2017)

    You can find attached binaries for OSX, Linux and Windows

    Changelog

    Features

    • Sync overall speed up and massive reducing in memory consumption
    • SSH --through: awless ssh my-priv-inst --through my-pub-inst allow you to connect to a private instance by going through a public one in ths same VPC. You need to have the same keypair (SSH key) on both instances.
    • Flag --profile-sync on awless sync to enable live profiling. Will dump mem and cpu Go profiling files for later inspection
    • #109: Support caching of STS credentials for Multi-Factor Authentication.
    • #126: Flag --no-alias in awless show force the display of IDs in relations.
    • #126: Reverse sorting when listing resources with flag --reverse
    • #120: Profile info is now included in execution logs and appended when suggesting revert action
    • #82: Better template TAB completion (e.g. complete list of parameters)

    AWS Services

    • Instance Profiles: List them; attach them to an instance. Ex: attach instanceprofile name=..., awless ls instanceprofiles
    • Replace in one command an InstanceProfile on a given instance with the replace=true param. Ex: attach instanceprofile .... replace=true
    • Update Route53 records with awless update record

    Fixes

    • #116 No more sync Out Of Memory
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(8.07 MB)
    awless-linux-386.tar.gz(7.00 MB)
    awless-linux-amd64.tar.gz(7.50 MB)
    awless-windows-386.zip(7.05 MB)
    awless-windows-amd64.zip(7.62 MB)
  • v0.1.1(Jul 6, 2017)

    You can find attached binaries for OSX, Linux and Windows

    Changelog

    Features

    • Detach/Attach rapidly AWS policies to user, group or role with: attach policy service=ec2 access=readonly group=sysadmin. More info with awless attach policy -h
    • Better template TAB completion: suggest on properties, suggest nothing if not relevant
    • Create access keys: prompt user to potentially store them locally under a specific profile
    • Conveniently prompting and storing locally (~/.aws/credentials) for AWS profile credentials when access keys not found
    • awless ssh: support SSH agent thanks to @justone
    • New --port flag for awless ssh: specifying non-standard SSH port thanks to @justone
    • Use --no-headers flag in awless list to display the results without headers
    • New flag --values-for in awless show to output machine readable values for resource properties. Ex: awless show my_instance --values-for name,publicip
    • Sync works on best effort now. Meaning it does not bail out when an error happens (most often it can be an access right issues on some AWS services)
    • awless ls policies now returns: your managed policies + all policies attached to any users, role or group
    • Table display now use full terminal width when possible
    • Much friendlier first install

    New AWS Services

    • Support of EC2 NAT Gateways: awless list natgateways / awless create/delete natgateway
    • Support ECR repositories and registry: awless list repositories / awless create/delete repository / awless authenticate registry
    • Support ECS clusters, services, containerinstances and containers: awless list containerclusters/containertasks/containerinstances awless attach/detach/delete/start/stop containertask
    • Create/Delete ApplicationAutoScaling scalable target and policies: awless create/delete appscalingtarget/appscalingpolicy

    Bugfixes

    • Template TAB completion: do not display non relevant id/name listing for each prompt
    • Parse successfully template parameters starting with a digit
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(7.92 MB)
    awless-darwin-amd64.zip(8.02 MB)
    awless-linux-386.tar.gz(6.90 MB)
    awless-linux-386.zip(6.95 MB)
    awless-linux-amd64.tar.gz(7.41 MB)
    awless-linux-amd64.zip(7.46 MB)
    awless-windows-386.zip(6.94 MB)
    awless-windows-amd64.zip(7.51 MB)
  • v0.1.0(May 31, 2017)

    You can find attached binaries for OSX, Linux and Windows

    Changelog

    Features

    • Add documentation for all template parameters (awless create instance -h, awless update s3object -h...)
    • Listing with filter invalid keys: return error and help
    • awless whoami now has flags to return specific account properties only: --account-only, --id-only, --name-only, --resource-only, --type-only
    • Rename template parameters for standardization:
      • delete keypair id=... -> delete keypair name=...
      • create listener target=... -> create listener targetgroup=...
      • delete database skipsnapshot=... snapshotid=... -> delete database skip-snapshot=... snapshot=...
      • delete dbsubnetgroup id=... -> delete dbsubnetgroup name=...
      • create queue maxMsgSize=... retentionPeriod=... msgWait=... redrivePolicy=... visibilityTimeout=... -> create queue max-msg-size=... retention-period=... msg-wait=... redrive-policy=... visibility-timeout=...
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.tar.gz(7.34 MB)
    awless-darwin-amd64.zip(7.41 MB)
    awless-linux-386.tar.gz(6.39 MB)
    awless-linux-386.zip(6.43 MB)
    awless-linux-amd64.tar.gz(6.85 MB)
    awless-linux-amd64.zip(6.92 MB)
    awless-windows-386.zip(6.42 MB)
    awless-windows-amd64.zip(6.94 MB)
  • v0.0.25(May 26, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested.

    Changelog

    Features

    • #98: awless ssh searches SSH keys in both ~/.awless/keys and ~/.ssh folders.
    • When awless ssh in an instance, you can now specify only -i keyname, if the key is stored in ~/.awless/keys or ~/.ssh.
    • #99: Suggesting the right command when typing awless create instance ID or awless create ID rather than awless create instance id=ID
    • Use a s3 bucket as a public website with awless update bucket name=my-bucket-name public-website=true
    • Set/update buckets or s3objects predefined ACL (private / public-read / public-read-write / bucket-owner-read...): awless update s3object acl=public-read
    • List CloudFront distributions: awless list distributions
    • Create/Update/Check/Delete a CloudFront distribution: awless create/update/check/delete distribution
    • List CloudFormation stacks: awless list stacks
    • Create/Update/Delete a CloudFormation stack: awless create/delete stack
    • awless log --raw-json shows the full info stored on template execution (context, fillers used, region, ...). Typically this contextual info can be reused for replay and updates of templates
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(7.40 MB)
    awless-linux-386.zip(6.42 MB)
    awless-linux-amd64.zip(6.88 MB)
    awless-windows-386.zip(6.40 MB)
    awless-windows-amd64.zip(6.91 MB)
  • v0.0.24(May 22, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested.

    Changelog

    Features

    • Template runner is now persisted in awless log using the caller identity
    • #93: Supporting EC2 tags: syncing locally; filtering in awless list with --tag, --tag-value, --tag-key
    • #84: Create AMI by importing VM image from S3: awless import image bucket=my-bucket s3object=my-object. Add template to create AMI from local VM file (OVA, VMDK ...): awless run repo:upload_image.
    • Listing pending import image tasks with awless list importimagetasks
    • Deleting images and optionally its related snapshots awless delete image delete-snapshots=true
    • Create/Update/Delete login profiles (AWS Console credentials): awless create/update/delete loginprofile username=...
    • Autowrapping results in tables when too long for awless list. No longer truncate results in --format csv/tsv/json
    • Adjust the width of table columns to the terminal width in awless show
    • Using local EC2 metadata to set region when installing awless on an EC2 instance
    • #94: Add short flags for --aws-profile: -p and --aws-region: -r

    Bugfixes

    • Listing in CSV: remove extra spaces; proper listing in TSV (only 1 tab separator)
    • Avoid double sync on first install due to pre defined default region value us-east-1
    • #92: Impossible to set a region in config when aws.region was empty
    • #89: Fix awless whoami when using STS credentials.
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(7.08 MB)
    awless-linux-386.zip(6.15 MB)
    awless-linux-amd64.zip(6.60 MB)
    awless-windows-386.zip(6.13 MB)
    awless-windows-amd64.zip(6.63 MB)
  • v0.0.23(May 5, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested.

    Changelog

    Features

    • Create and attach role to a user or resource (instance, ...). See an example
    • Get my IP as seen by AWS: awless whoami --ip-only. Example: awless create securitygroup ... cidr=$(awless whoami --ip-only)/32 ...
    • #86: SSH using private IP with --private flag. Thanks @padilo.
    • awless ssh now checks the remote host public key before connecting. Check can be disabled with the (insecure) --disable-strict-host-keychecking flag.
    • #74: support of encrypted SSH keys for generation awless create keypair encrypted=true and in awless ssh.
    • Better documentation of awless-templates; listing remote templates in awless with awless run --list.
    • Friendlier (using units: B, K, M, G) display for storage size (s3objects, volumes, lambda functions)
    • Better help for template parameters (ex: awless create loadbalancer -h)
    • Create/delete and list Lambda functions: awless list functions / awless create/delete function
    • Create/delete/attach/detach and list elastic IPs: awless list elasticips / awless create/delete/attach/detach elasticip
    • Create/delete and list volume snapshots: awless list snapshots / awless create/delete snapshot
    • Create/delete and list autoscaling launch configurations, scaling policies and scaling groups: awless create/delete launchconfiguration/scalingpolicy/scalinggroup. See an example
    • Create/delete/start/stop/attach/detach and list cloudwatch alarms. List cloudwatch metrics: awless list alarms/metrics
    • List EC2 images (AMIs) of which you are the owner: awless list images
    • Copy an EC2 image from a given region to the current region: awless copy image name=... source-id=... source-region=...
    • List your IAM access keys: awless list accesskeys

    Bugfixes

    • Update SSH library to fix CVE-2017-3204.
    • Take the file name rather than full path as default name when uploading a s3object
    • Correctly create repo on first install on machine with git not installed
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(7.04 MB)
    awless-linux-386.zip(6.11 MB)
    awless-linux-amd64.zip(6.55 MB)
    awless-windows-386.zip(6.09 MB)
    awless-windows-amd64.zip(6.58 MB)
  • v0.0.22(Apr 13, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested.

    Changelog

    Note that storageobject has been renamed to s3object.

    If you have any data or config issues, you can run rm -Rf ~/.awless/awless.db ~/.awless/aws/ to start with a fresh install, or simply rm -Rf ~/.awless/aws/rdf to remove local cloud data

    Features

    • Amazon userdata support. Give the data as local file or remote http file resource. Ex: awless create instance userdata=/tmp/mydata.sh ... or awless create instance userdata=https://gist.github.com/jsmith/5f58272fa5406.
    • Global rename of storageobject to s3object for shorter typing in CLI.
    • awless model/storing is now full RDF ;). Allow exploration of all your infra in RDF tools and ontology editor (Ex: Protege)
    • Faster, better and simpler RDF & triples management now done through the nifty library triplestore
    • Ability to use strings with spaces and special characters in template parameters by surrounding them with single or double quotes.
    • Loggers are now sent to the stderr file descriptor which makes easier piping and redirecting output.
    • Warn when creating an instance without access key.
    • ssh: print SSH configuration (~/.ssh/config) or the CLI one-liner to connect with SSH using --print-config or --print-cli flags.
    • ssh: better handle when several instances have the same name (e.g., with a running and a terminated instance)
    • ssh: more warning; provide help and context on failing connections
    • Manage properly security groups on instances with awless attach/detach secgroup id=... [email protected]
    • Logging more info when running templates

    Bugfixes

    • awless whoami now supports displaying info for root user and user with org path
    • Use securitygroup rather than group in templates, when appropriate.
    • Use keypair rather than key in templates, when appropriate.
    • Fix the fact you could not attach multiple security groups to an instance
    • Reverting the creation of a load balancer now waits the deletion of its network interfaces
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(6.31 MB)
    awless-linux-386.zip(5.49 MB)
    awless-linux-amd64.zip(5.90 MB)
    awless-windows-386.zip(5.48 MB)
    awless-windows-amd64.zip(5.91 MB)
  • v0.0.21(Mar 23, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    Features

    • awless whoami now returns your identity, your attached (i.e. managed), inlined and group policies
    • Rudimentary security groups port scanner inspector via awless inspect -i port_scanner
    • Template: compile time check of undefined or unused references
    • Run official remote templates without specifying full url: awless run repo:create_vpc
    • #78: Show progress when uploading object to storage
    • #81: Global force flag --force to bypass confirm prompt

    Bugfixes

    • Fix regression: run templates/one-liners failed on storageobject, subscription entities
    • Filtering in awless list --filter now works with column types other than string
    • Users, groups and policies are now independent of the region
    • #83: Syncing while offline does not clear local cloud infra
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.92 MB)
    awless-linux-386.zip(5.17 MB)
    awless-linux-amd64.zip(5.56 MB)
    awless-windows-386.zip(5.16 MB)
    awless-windows-amd64.zip(5.56 MB)
  • v0.0.20(Mar 20, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    Features

    • Auto completion of id/name to help fill in easily any missing info before template execution
    • Better error messaging on parsing template errors
    • Infra: basic support of RDS: listing, creation and deletion of databases and database subnets: awless list databases/dbsubnetgroups; awless create/delete database/dbsubnetgroup
    • Infra: attach/detach an instance to a targetgroup
    • Infra: delete tag: awless delete tag
    • Access: create an AWS access key for a user
    • DNS: allow to revert creation/deletion of records
    • #80 DNS: return the ChangeInfo id when creating/deleting a record

    Bugfixes

    • #79: awless list records do not add new lines between records.
    • Better compute table columns width to adjust the number of columns to display exactly to the terminal width.
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.91 MB)
    awless-linux-386.zip(5.15 MB)
    awless-linux-amd64.zip(5.54 MB)
    awless-windows-386.zip(5.15 MB)
    awless-windows-amd64.zip(5.55 MB)
  • v0.0.19(Mar 16, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    Features

    • #76: Show private IP and availability zones when listing instances.
    • Run remote template when path prefixed with http. Ex: awless run http://github.com/wallix/awless-templates/...
    • Fetch more instances properties when showing instances (ex: network interfaces, public and private DNS, Root device type and name...)
    • DNS: listing Route53 zones and records awless list zones/records
    • DNS: basic creation/deletion of Route53 zones and records awless create/delete zone/record
    • Infra: detach EBS volumes awless detach volume
    • Config: enable/disable the syncing of Route53 service awless config set aws.dns.sync
    • All listing with default format are now Markdown table compatible.
    • Better display of awless show. Added --siblings flag to display exhaustively all siblings
    • Reverse the sorting order when listing instances sorted by "up since"

    Bugfixes

    • Fix awless show to properly show relations between groups and users
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.49 MB)
    awless-linux-386.zip(4.81 MB)
    awless-linux-amd64.zip(5.17 MB)
    awless-windows-386.zip(4.80 MB)
    awless-windows-amd64.zip(5.17 MB)
  • 0.0.18(Mar 13, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    Features

    • infra: support the creation/deletion of ELBv2 loadbalancers, listeners and target groups: awless create loadbalancer/listener/targetgroup
    • infra: add tag Name to subnets.
    • Format tsv supported when listing: awless list subnets --format tsv
    • Pricer inspector now resolves prices for any regions: awless inspect -i pricer

    Bugfixes

    • Fix alias, required and extra params parsing in template runs
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.33 MB)
    awless-linux-386.zip(4.66 MB)
    awless-linux-amd64.zip(5.01 MB)
    awless-windows-386.zip(4.65 MB)
    awless-windows-amd64.zip(5.01 MB)
  • 0.0.17(Mar 9, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    If you have any data or config issues, you can run rm -Rf ~/.awless/ to start with a fresh install.

    Features

    • #65: awless ssh: use existing SSH client if available, otherwise fallback on builtin SSH.

    • awless show resolves automatically on id, name or arn without any prefixing (previously it was '@')

    • #47: Enable/disable sync per services or resources through config. Ex: awless config set aws.notification.sync false, awless config set aws.storage.storageobject.sync true.

    • #55: Dynamically change AWS region/profile with global flags --aws-region us-west-1 or --aws-profile myprofile.

    • #73: AWS_DEFAULT_REGION env variable now loaded in awless. It takes precedence over aws.region.

    • #73: AWS_DEFAULT_PROFILE env variable now loaded in awless. It takes precedence over aws.profile.

    • Better output of awless config list (doc per variable, etc.).

    • Global default menu with clearer one-liner display.

    • Simplification of the templating engine using decoupled compile passes.

    • Config setters now provide dialogs (ex: awless config set instance.type or awless config set aws.region).

    • #54: awless ssh: specify the keyfile to use with -i /path/toward/key flag.

    • #64: awless ssh: columns and lines automatically adapt to terminal with/height.

    • Attach/detach policy to user/group (see wiki examples)

    • Attach/detach user to group (see wiki examples)

    • List AWS load balancers, target groups and listeners with awless list loadbalancers/targetgroups/listeners. Show their relations with, e.g. awless show LOAD_BALANCER.

    Bugfixes

    • #12: Support AWS pagination when fetching resources in AWS IAM.
    • Template parsing: allow digits in refs; allow regular chars in alias declaration
    • Template: all aliases now resolves correctly from file or CLI. Ex: awless create instance [email protected]
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.31 MB)
    awless-linux-386.zip(4.64 MB)
    awless-linux-amd64.zip(5.00 MB)
    awless-windows-386.zip(4.64 MB)
    awless-windows-amd64.zip(5.00 MB)
  • 0.0.16(Mar 1, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    As model/relations for resources may evolve, if you have any issues with models related commands, you can run rm -Rf ~/.awless/aws/rdf to start a fresh RDF model.

    Features

    • Allow simple fuzzy search for listing filters. Ex: awless list instances --filter state=run
    • Revert: waiting instance termination when deleting a vpc/subnet/instance hierarchy.

    Bugfixes

    • Fix regression: timeout too low for HTTP requests with AWS.
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.07 MB)
    awless-linux-386.zip(4.42 MB)
    awless-linux-amd64.zip(4.75 MB)
    awless-windows-386.zip(4.42 MB)
    awless-windows-amd64.zip(4.77 MB)
  • 0.0.15(Feb 28, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    As model/relations for resources may evolve, if you have any issues with models related commands, you can run rm -Rf ~/.awless/aws/rdf to start a fresh RDF model.

    Features

    • #6: Create Linux installer shell script: curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash
    • #42, #60, #66: Better load AWS credentials (support profile credentials, MFA and crossaccount profile access)
    • #32: Basic support of SNS (CRUD for topics and subscriptions)
    • #32: Basic support of SQS (CRUD for queues)
    • #53: Filter results in listings. Ex: awless ls instances --filter state=running,"Access Key"=my-key or the equivalent awless list instances --filter state=running --filter "Access Key"=my-key
    • Better help menus by splitting one-liner template commands from general commands
    • Run template: better dialog and remove noisy info
    • Template validation: notify on unexpected params; check names unicity against local graph
    • Log contextual error instead of hard failure when user has no rights to sync a service

    Bugfixes

    • #57: Properly fetch buckets when they are in the us-east-1 region.
    • #12: Support AWS pagination when fetching resources in AWS SNS and EC2.
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(5.05 MB)
    awless-linux-386.zip(4.42 MB)
    awless-linux-amd64.zip(4.77 MB)
    awless-windows-386.zip(4.42 MB)
    awless-windows-amd64.zip(4.77 MB)
  • 0.0.14(Feb 21, 2017)

    You can find attached binaries for OSX, Linux and Windows. Note that Windows has only been lightly tested

    Changelog

    As model/relations for resources may evolve, if you have any issues with models related commands, you can run rm -Rf ~/.awless/aws/rdf to start a fresh RDF model.

    Features

    • #39, #38: Remove data collection & sending
    • #33: Ability to set AWS profile using aws.profile config key
    • Better output for awless sync
    • awless ls now an alias for awless list

    Bugfixes

    • #44: Fetch only the S3 buckets and related objects of the current region.
    • #52, #34: Properly fetch route tables, even if a route contains several destinations.
    • #37: Load the region from database when initializing cloud services rather than awless environment.
    • #56: Do not require a VPC as parent of security groups nor route table.
    Source code(tar.gz)
    Source code(zip)
    awless-darwin-amd64.zip(4.89 MB)
    awless-linux-386.zip(4.27 MB)
    awless-linux-amd64.zip(4.58 MB)
    awless-windows-386.zip(4.27 MB)
    awless-windows-amd64.zip(4.60 MB)
Owner
WALLIX
Protect your most strategic and critical assets
WALLIX
CLI tool to update ~/.aws/config with all accounts and permission sets defined in AWS SSO

aws-sso-profiles Generate or update ~/.aws/config with a profile for each SSO account you have access to, by using an existing AWS SSO session. Bootst

SpareBank 1 Utvikling 3 Nov 3, 2022
A CLI tool to manage and streamline AWS ECS deployments

Outback CLI ?? About The Project Outback is CLI tool written in Go to help streamline the process of deploying containerized applications to AWS Elast

Koala Labs 9 Dec 8, 2021
A simple CLI tool that outputs the history of connections to Amazon EC2 instances using AWS Session Manager.

ssmh This is a simple CLI tool that outputs the history of connections to Amazon EC2 instances using AWS Session Manager. Installation brew install mi

Yoshihiro Ito 0 Dec 10, 2021
Opinionated CLI app for AWS SSO made in Golang!

aws-sso-creds AWS SSO Creds Table of Contents About The Project Built With Instalation Static From source Usage Contributing License Contact Acknowled

Jorge Gómez Reus 5 Aug 17, 2022
List of serverless functions for AWS S3. Easy deploy with Vercel CLI

List of serverless functions for AWS S3. Easy deploy with Vercel CLI

Jayden 0 Jan 22, 2022
Dev-spaces - A CLI to help creating development environments using AWS Spot Instances

This is a CLI to help creating on-demand development spaces using EC2 Spot Intances.

Felipe Marinho 11 Nov 9, 2022
Elegant CLI wrapper for kubeseal CLI

Overview This is a wrapper CLI ofkubeseal CLI, specifically the raw mode. If you just need to encrypt your secret on RAW mode, this CLI will be the ea

Elm 4 Jan 8, 2022
CLI to run a docker image with R. CLI built using cobra library in go.

BlueBeak Installation Guide Task 1: Building the CLI The directory structure looks like Fastest process: 1)cd into bbtools 2)cd into bbtools/bin 3)I h

Aniruddha Chattopadhyay 0 Dec 20, 2021
A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode.

aliyun-dns A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode. Installation Install aliyun-cli. Usage $ aliyun-dns -h A wra

许嘉华 0 Dec 21, 2021
Symfony-cli - The Symfony CLI tool For Golang

Symfony CLI Install To install Symfony CLI, please download the appropriate vers

Symfony CLI 387 Nov 22, 2022
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Dipto Chakrabarty 2 Jan 2, 2022
Cli-algorithm - A cli program with A&DS in go!

cli-algorithm Objectives The objective of this cli is to implement 4 basic algorithms to sort arrays been Merge Sort Insertion Sort Bubble Sort Quick

Leonardo Brombilla Antunes 0 Jan 2, 2022
Nebulant-cli - Nebulant's CLI

Nebulant CLI Website: https://nebulant.io Documentation: https://nebulant.io/docs.html The Nebulant CLI tool is a single binary that can be used as a

Develatio 2 Jan 11, 2022
News-parser-cli - Simple CLI which allows you to receive news depending on the parameters passed to it

news-parser-cli Simple CLI which allows you to receive news depending on the par

Maxym 0 Jan 4, 2022
Go-api-cli - Small CLI to fetch data from an API sync and async

Async API Cli CLI to fetch data on "todos" from a given API in a number of ways.

Pete Robinson 0 Jan 13, 2022
Syno-cli - Synology unofficial API CLI and library

Synology CLI Unofficial wrapper over Synology API in Go. Focus on administrative

Aleksandr Baryshnikov 15 Nov 8, 2022
Nebula Diagnosis CLI Tool is an information diagnosis cli tool for the nebula service and the node to which the service belongs.

Nebula Diagnosis CLI Tool is an information diagnosis cli tool for the nebula service and the node to which the service belongs.

Katz 1 Jan 12, 2022
bcrypt-cli is the CLI tool for hashing passwords with bcrypt.

bcrypt-cli bcrypt-cli is the CLI tool for hashing passwords with bcrypt. Install go install github.com/ryicoh/bcrypt-cli Usage It can be used like bas

Ryuichiroh Ikeuchi 1 Sep 11, 2022