1## v0.1.11 [2018-06-21]
2
3### Features
4
5- [#71](https://github.com/wallix/awless/issues/71): Add support for Classic load-balancers:
6
7```
8    $ awless list classicloadbalancers
9    $ 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
10    $ awless update classicloadbalancer name=my-loadb health-interval=10 health-target=HTTP:80/weather/ health-timeout=300 healthy-threshold=10  unhealthy-threshold=5
11    $ awless attach classicloadbalancer name=my-loadb instance=@redis-prod-1
12    $ awless delete classicloadbalancer name=my-loadb
13```
14
15- [#214](https://github.com/wallix/awless/issues/214): `AWS_PROFILE` env variable now loaded in `awless` in addition to the deprecated `AWS_DEFAULT_PROFILE` thanks to @alewando
16- Better completion for `attach mfadevice` and `attach user` commands
17- [#219](https://github.com/wallix/awless/issues/219): Validate access key and secret key before writing into `~/.aws/credentials` file
18
19### Fixes
20
21- [#220](https://github.com/wallix/awless/issues/220): Add double quotes to CSV output if needed thanks to @lllama
22- Fix compilation error in templates with concatenation and reference (c.f. for example in [this template](https://gist.githubusercontent.com/fxaguessy/ef9511bf5ed8f3312904cccb96b818e8/raw/75c0f808220665441055b589be133cf711c64f37/ManageOwnMFA.aws))
23- Parse integer beginning with '0' as string (preventing the deletion of the initial '0' for example in `... account.id=0123456789`)
24
25## v0.1.10 [2018-04-13]
26
27### Features
28
29- Much better performance when synchronising all access data (IAM, etc.)
30- Create instances now supports distro prompting for CentOS, Amazon Linux 2, CoreOS
31
32      $ awless create instance name=myinst distro=amazonlinux:amzn2
33      $ awless create instance distro=coreos
34      $ awless create instance distro=centos name=myinst
35
36- 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_.
37
38  For example:
39
40      $ awless ls s3objects --filter bucket=website
41      $ awless ls records --filter name=io
42      $ awless ls containertasks --filter name=my-task-definition-name
43
44- Support for region embedded in an AWS profile (i.e. shared config files ~/.aws/{credentials,config}). See #181 in Fixes for more details
45
46- [#191](https://github.com/wallix/awless/issues/191) Attach a certificate to a listener with: `awless listener attach id=... certificate=...` (see awless attach listener -h for more)
47
48
49### Fixes
50
51- [#200](https://github.com/wallix/awless/issues/200): Now paging is supported for s3 objects when listing
52- [#196](https://github.com/wallix/awless/issues/196): Regression fix SIGSEV when having AWS config with role assuming
53- [#182](https://github.com/wallix/awless/issues/182): Region embedded in profile taken into account and given correct precedence
54- [#144](https://github.com/wallix/awless/issues/144): Filtering done on AWS side when listing records for a given zone name
55- [#172](https://github.com/wallix/awless/issues/172): Filtering done on AWS side when listing containertasks for a given task definition name
56
57## v0.1.9 [2018-01-16]
58
59**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'`**
60
61### Features
62
63- Support and seamless sync across multi-account (i.e. multiple profiles) and regions
64- 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
65- Automatically complete the username when deleting an access key by its ID, if it is contained in the local graph model:
66    * `awless delete accesskey id=ACCESSKEYID`
67-  For `awless update stack` param `stackfile` can now slurp yml and json params files. Thanks to @Trane9991 ([#167](https://github.com/wallix/awless/pull/167), [#145](https://github.com/wallix/awless/issues/145))
68- Better completion for template parameters independently of their display name
69- 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 arn=@my-policy-name`
70- Running only `awless switch` now returns your current region and profile, allowing a quick and short region/profile lookup
71- Better completion of slice properties
72
73### AWS Services
74
75- Listing of Route53 records now contains a new column for aliases [#181](https://github.com/wallix/awless/issues/181)
76- Create an image from an existing instance. See `awless create image -h`
77    * `awless create image instance=@my-instance-name name=redis-image  description='redis prod image'`
78    * `awless create image instance=i-0ee436a45561c04df name=redis-image reboot=true`
79    * List your images with `awless ls images --sort created`
80    * Delete images with an `awless revert ...` or with `awless delete image id=@redis-image`
81- [#169](https://github.com/wallix/awless/issues/169): Start/Stop a RDS database:
82    * `awless start database id=my-db-id`
83    * `awless stop database id=@my-db-name`
84    * `awless restart database id=@my-db-name`
85- Restart an EC2 instance
86  * `awless restart instance id=id-1234`
87  * `awless restart instance ids=@redis-prod-1,@redis-prod-2`
88- [#176](https://github.com/wallix/awless/issues/176): Delete a DNS record only by its awless ID (see `awless ls records`) or by its name:
89    * `awless delete record id=awls-39ec0618`
90    * `awless delete record id=@my.sub.domain.com`
91
92### Fixes
93
94- Fix regression error: errors in dry run showed but where ignored hence user could wrongly confirm to run the template
95- Delete a DNS record only by its awless ID
96
97## v0.1.8 [2017-11-29]
98
99### Features
100
101- Better prompting of template parameters
102- Overall better logging output of template execution
103
104### AWS Services
105
106- Create a database replica with: `awless create database replica=...`
107
108## v0.1.7 [2017-11-24]
109
110### Features
111
112- Better prompt completion for template parameters
113- 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).
114    * `awless create instance distro=redhat:rhel:7.2`
115    * `awless create launchconfiguration distro=canonical:ubuntu`
116    * `awless create instance distro=debian`
117- Quick way to switch to profiles and regions. Ex: `awless switch eu-west-1`, `awless switch mfa us-west-1`
118- Create a public subnet in only one command with: `awless create subnet public=true...`
119- Save directly your newly created access key in `~/.aws/credentials` with : `awless create accesskey save=true`
120- Overall better logging output of template execution
121
122### AWS Services
123
124- Update Cloudfront distribution with: `awless update distribution...`
125
126## v0.1.6 [2017-11-16]
127
128**Overall re-design of AWS commands with full acceptance testing allowing for easier external contribution, greater flexibility and scalability moving forward**
129
130### Features
131
132- [#154](https://github.com/wallix/awless/issues/154): `awless ssh` allow specifying both `--port` and `--through-port`
133- [#151](https://github.com/wallix/awless/issues/151): `awless ssh` using ip addresses. Ex: `awless ssh 172.31.68.49 --through 172.31.11.249`
134- `awless attach mfadevice` now propose to automatically add the MFA device configuration to `~/.aws/config`
135- [#158](https://github.com/wallix/awless/pull/158), [#159](https://github.com/wallix/awless/pull/159): Added bash/zsh completion to regions and profiles. Thanks to @padilo.
136
137## v0.1.5 [2017-10-05]
138
139### Features
140
141- Complete flow to enable MFA for a user, including QRCode generation
142- Much better output for `awless log`; default message (or user specified message) stored now in logs
143- [#143](https://github.com/wallix/awless/issues/143): Follow CloudFormation stack events: `awless tail stack-events my-stack-name --follow`. Thanks to @Trane9991.
144- Support concatenation between `{holes}` and `"quoted strings"` in template with `+` operator: `policy = create policy ... resource="arn:aws:iam::" + {account.id} + ":mfa/${aws:username}"`
145
146### AWS Services
147
148- Manage and listing of MFA devices: `awless create/delete/attach/detach mfadevice`, `awless list mfadevices`
149- Support [Network Load Balancers](http://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html): `awless create loadbalancer .... type=network ...`
150- 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`
151- Add conditions in role creation `awless create role name=awless-mfa-role principal-account=0123456789 conditions=\"aws:MultiFactorAuthPresent==true\"`
152- List the access keys of all users with `awless list accesskeys` (previously, only current user)
153- Fetch role trust policy document: `awless show my-role`
154
155### Fixes
156
157- Exit code is now non zero on template run with KO states
158
159## v0.1.4 [2017-09-21]
160
161### Features
162
163- 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.
164- [#87](https://github.com/wallix/awless/issues/87): Customize columns displayed in `awless list` with `--columns`: `awless ls instances --sort name --columns name,vpc,state,privateip`
165- Global `--no-sync` flag to not run any sync on command
166- `awless show policy-name/policy-id` now displays the current policy Document (in JSON).
167
168### AWS Services
169
170- Update IAM policies, to add statements with `awless update policy`
171- Add ACM certificates in infra:
172    - `awless list certificates`
173    - `awless create/delete/check certificate domains=my.firstdomain.com,my.seconddomain.com validation-domains=firstdomain.com,seconddomain.com`
174- [#123](https://github.com/wallix/awless/issues/123): Listing route tables display the association IDs.
175
176### Fixes
177- `awless ssh --through`: no reusing same conn to avoid EOF. Bug: only first user (amazonlinux) was successful (usually ec2-user) !!
178- `awless ssh --through`: on new proxy client catching error that where shadowed
179
180## v0.1.3 [2017-09-06]
181
182### Features
183
184- `awless show` command 'not found' error now suggests if resource with same reference exists in other locally synced regions
185- `awless` template language now supports lists, for example: `create loadbalancer subnets=[$subnet1, $subnet2]`
186- Variables in `awless` template language now support references, holes and lists, for example: `mysecgroups = [$secgroup1, {my.secgroup},sg-123456]`
187- `awless` template language now supports *holes* in strings, for example: `create instance name={prefix}database{version}`
188- `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`
189- Template CLI prompt: better TAB completion of resources and their properties
190- Man CLI examples for all one liners command. For example, `awless create instance -h` will display relevant CLI examples
191- Add `Type` (AWS/Customer managed) and `Attached` (true/false) columns in `awless list policies`
192- [#129](https://github.com/wallix/awless/issues/129): flag `--color=always/never` to force enabling/disabling of colored output.
193
194### AWS Services
195
196- List network interfaces with `awless list networkinterfaces`
197
198### Fixes
199
200- 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.
201- [#130](https://github.com/wallix/awless/issues/130): Better exit status code in `awless show` command
202- Port ranges starting from *0* to *n* are no longer processed as from *n* to *n*.
203- `awless ssh --through`: works without an SSH agent running; correct StrictHostkeyChecking; correct display for `--print-config`
204
205## v0.1.2 [2017-08-17]
206
207### Features
208
209- Sync overall speed up and massive reducing in memory consumption
210- 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.
211- Flag `--profile-sync` on `awless sync` to enable live profiling. Will dump `mem` and `cpu` Go profiling files for later inspection
212- [#109](https://github.com/wallix/awless/issues/109): Support caching of STS credentials for Multi-Factor Authentication.
213- [#126](https://github.com/wallix/awless/issues/126): Flag `--no-alias` in `awless show` force the display of IDs in relations.
214- [#126](https://github.com/wallix/awless/issues/126): Reverse sorting when listing resources with flag `--reverse`
215- [#120](https://github.com/wallix/awless/issues/120): Profile info is now included in execution logs and appended when suggesting revert action
216- [#82](https://github.com/wallix/awless/issues/82): Better template TAB completion (e.g. complete list of parameters)
217
218
219### AWS Services
220
221- Instance Profiles: List them; attach them to an instance. Ex: `attach instanceprofile name=...`, `awless ls instanceprofiles`
222- Replace in one command an InstanceProfile on a given instance with the `replace=true` param. Ex: `attach instanceprofile .... replace=true`
223- Update Route53 records with `awless update record`
224
225### Fixes
226
227- [#116](https://github.com/wallix/awless/issues/116) No more sync Out Of Memory
228
229## v0.1.1 [2017-07-06]
230
231### Features
232
233- 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`
234- Better template TAB completion: suggest on properties, suggest nothing if not relevant
235- Create access keys: prompt user to potentially store them locally under a specific profile
236- Conveniently prompting and storing locally (~/.aws/credentials) for AWS profile credentials when access keys not found
237- `awless ssh`: support SSH agent thanks to @justone
238- New `--port` flag for `awless ssh`: specifying non-standard SSH port thanks to @justone
239- Use `--no-headers` flag in `awless list` to display the results without headers
240- New flag `--values-for` in `awless show` to output machine readable values for resource properties. Ex: `awless show my_instance --values-for name,publicip`
241- 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)
242- `awless ls policies` now returns: your managed policies + all policies attached to any users, role or group
243- Table display now use full terminal width when possible
244- Much friendlier first install
245
246### New AWS Services
247
248- Support of EC2 NAT Gateways: `awless list natgateways` / `awless create/delete natgateway`
249- Support [ECR](https://aws.amazon.com/ecr/) repositories and registry: `awless list repositories` / `awless create/delete repository` / `awless authenticate registry`
250- Support [ECS](https://aws.amazon.com/ecs/) clusters, services, containerinstances and containers: `awless list containerclusters/containertasks/containerinstances` `awless attach/detach/delete/start/stop containertask`
251- Create/Delete [ApplicationAutoScaling](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/Welcome.html) scalable target and policies: `awless create/delete appscalingtarget/appscalingpolicy`
252
253### Bugfixes
254- Template TAB completion: do not display non relevant id/name listing for each prompt
255- Parse successfully template parameters starting with a digit
256
257## v0.1.0 [2017-05-31]
258
259## Features
260
261- Add documentation for all template parameters (`awless create instance -h`, `awless update s3object -h`...)
262- Listing with filter invalid keys: return error and help
263- `awless whoami` now has flags to return specific account properties only: `--account-only`, `--id-only`, `--name-only`, `--resource-only`, `--type-only`
264- Rename template parameters for standardization:
265    - `delete keypair id=...` -> `delete keypair name=...`
266    - `create listener target=...` -> `create listener targetgroup=...`
267    - `delete database skipsnapshot=... snapshotid=...` -> `delete database skip-snapshot=... snapshot=...`
268    - `delete dbsubnetgroup id=...` -> `delete dbsubnetgroup name=...`
269    - `create queue maxMsgSize=... retentionPeriod=... msgWait=... redrivePolicy=... visibilityTimeout=...` -> `create queue max-msg-size=... retention-period=... msg-wait=... redrive-policy=... visibility-timeout=...`
270
271## v0.0.25 [2017-05-26]
272
273## Features
274
275- [#98](https://github.com/wallix/awless/issues/98): `awless ssh` searches SSH keys in both `~/.awless/keys` and `~/.ssh` folders.
276- When `awless ssh` in an instance, you can now specify only `-i keyname`, if the key is stored in `~/.awless/keys` or `~/.ssh`.
277- [#99](https://github.com/wallix/awless/issues/99): Suggesting the right command when typing `awless create instance ID` or `awless create ID` rather than `awless create instance id=ID`
278- Use a s3 bucket as a public website with `awless update bucket name=my-bucket-name public-website=true`
279- Set/update buckets or s3objects predefined ACL (private / public-read / public-read-write / bucket-owner-read...): `awless update s3object acl=public-read`
280- List CloudFront distributions: `awless list distributions`
281- Create/Update/Check/Delete a CloudFront distribution: `awless create/update/check/delete distribution`
282- List CloudFormation stacks: `awless list stacks`
283- Create/Update/Delete a CloudFormation stack: `awless create/delete stack`
284- `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
285
286## v0.0.24 [2017-05-22]
287
288### Features
289
290- Template author is now persisted in awless log using the caller identity
291- [#93](https://github.com/wallix/awless/issues/93): Supporting EC2 tags: syncing locally; filtering in `awless list` with --tag, --tag-value, --tag-key
292- [#84](https://github.com/wallix/awless/issues/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`.
293- Listing pending import image tasks with `awless list importimagetasks`
294- Deleting images and optionally its related snapshots `awless delete image delete-snapshots=true`
295- Create/Update/Delete login profiles (AWS Console credentials): `awless create/update/delete loginprofile username=...`
296- Autowrapping results in tables when too long for `awless list`. No longer truncate results in `--format csv/tsv/json`
297- Adjust the width of table columns to the terminal width in `awless show`
298- Using local EC2 metadata to set region when installing awless on an EC2 instance
299- [#94](https://github.com/wallix/awless/issues/94): Add short flags for `--aws-profile`: `-p` and `--aws-region`: `-r`
300
301### Bugfixes
302
303- Listing in CSV: remove extra spaces; proper listing in TSV (only 1 tab separator)
304- Avoid double sync on first install due to pre defined default region value us-east-1
305- [#92](https://github.com/wallix/awless/issues/92): Impossible to set a region in config when `aws.region` was empty
306- [#89](https://github.com/wallix/awless/issues/89): Fix `awless whoami` when using STS credentials.
307
308## v0.0.23 [2017-05-05]
309
310### Features
311
312- Create and attach role to a user or resource (instance, ...). See an [example](https://github.com/wallix/awless-templates#role-for-resource)
313- Get my IP as seen by AWS: `awless whoami --ip-only`. Example: `awless create securitygroup ... cidr=$(awless whoami --ip-only)/32 ...`
314- [#86](https://github.com/wallix/awless/issues/86): SSH using private IP with `--private` flag. Thanks @padilo.
315- `awless ssh` now checks the remote host public key before connecting. Check can be disabled with the (insecure) `--disable-strict-host-keychecking` flag.
316- [#74](https://github.com/wallix/awless/issues/74): support of encrypted SSH keys for generation `awless create keypair encrypted=true` and in `awless ssh`.
317- Better documentation of [awless-templates](https://github.com/wallix/awless-templates); listing remote templates in awless with `awless run --list`.
318- Friendlier (using units: B, K, M, G) display for storage size (s3objects, volumes, lambda functions)
319- Better help for template parameters (ex: `awless create loadbalancer -h`)
320- Create/delete and list Lambda functions: `awless list functions` / `awless create/delete function`
321- Create/delete/attach/detach and list elastic IPs: `awless list elasticips` / `awless create/delete/attach/detach elasticip`
322- Create/delete and list volume snapshots: `awless list snapshots` / `awless create/delete snapshot`
323- Create/delete and list autoscaling launch configurations, scaling policies and scaling groups: `awless create/delete launchconfiguration/scalingpolicy/scalinggroup`. See an [example](https://github.com/wallix/awless-templates/#group-of-instances-scaling-with-cpu-consumption)
324- Create/delete/start/stop/attach/detach and list cloudwatch alarms. List cloudwatch metrics: `awless list alarms/metrics`
325- List EC2 images (AMIs) of which you are the owner: `awless list images`
326- Copy an EC2 image from a given region to the current region: `awless copy image name=... source-id=... source-region=...`
327- List your IAM access keys: `awless list accesskeys`
328
329### Bugfixes
330
331- Update SSH library to fix [CVE-2017-3204](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-3204).
332- Take the file name rather than full path as default name when uploading a s3object
333- Correctly create repo on first install on machine with git not installed
334
335## v0.0.22 [2017-04-13]
336
337### Features
338
339- Amazon [**userdata**](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) 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`.
340- Global rename of `storageobject` to `s3object` for shorter typing in CLI.
341- awless model/storing is now full RDF ;). Allow exploration of all your infra in RDF tools and ontology editor (Ex: [Protege](http://protege.stanford.edu/))
342- Faster, better and simpler RDF & triples management now done through the nifty library [triplestore](https://github.com/wallix/triplestore)
343- Ability to use strings with spaces and special characters in template parameters by surrounding them with single or double quotes.
344- Loggers are now sent to the stderr file descriptor which makes easier piping and redirecting output.
345- Warn when creating an instance without access key.
346- ssh: print SSH configuration (`~/.ssh/config`) or the CLI one-liner to connect with SSH using `--print-config` or `--print-cli` flags.
347- ssh: better handle when several instances have the same name (e.g., with a running and a terminated instance)
348- ssh: more warning; provide help and context on failing connections
349- Manage properly secgroups on instances with `awless attach/detach secgroup id=... instance=@my-instance`
350- Logging more info when running templates
351
352### Bugfixes
353
354- `awless whoami` now supports displaying info for `root` user and user with org path
355- Use `securitygroup` rather than `group` in templates, when appropriate.
356- Use `keypair` rather than `key` in templates, when appropriate.
357- Fix the fact you could not attach multiple security groups to an instance
358- Reverting the creation of a load balancer now waits the deletion of its network interfaces
359
360## v0.0.21 [2017-03-23]
361
362### Features
363
364- `awless whoami` now returns your identity, your attached (i.e. managed), inlined and group policies
365- Rudimentary security groups port scanner inspector via `awless inspect -i port_scanner`
366- Template: compile time check of undefined or unused references
367- Run official remote templates without specifying full url: `awless run repo:create_vpc`
368- [#78](https://github.com/wallix/awless/issues/78): Show progress when uploadgin object to storage
369- [#81](https://github.com/wallix/awless/issues/81): Global force flag `--force` to bypass confirm prompt
370
371### Bugfixes
372
373- Fix regression: run templates/one-liners failed on `storageobject`, `subscription` entities
374- Filtering in `awless list --filter` now works with column types other than string
375- Users, groups and policies are now independent of the region
376- [#83](https://github.com/wallix/awless/issues/83): Syncing while offline does not clear local cloud infra
377
378## v0.0.20 [2017-03-20]
379
380### Features
381
382- Auto completion of id/name to help fill in easily any missing info before template execution
383- Better error messaging on parsing template errors
384- Infra: basic support of RDS: listing, creation and deletion of databases and database subnets:  `awless list databases/dbsubnetgroups`; `awless create/delete database/dbsubnetgroup`
385- Infra: attach/detach an `instance` to a `targetgroup`
386- Infra: delete tag: `awless delete tag`
387- Access: create an AWS access key for a user
388- DNS: allow to revert creation/deletion of records
389- [#80](https://github.com/wallix/awless/issues/80) DNS: return the ChangeInfo id when creating/deleting a record
390
391### Bugfixes
392
393- [#79](https://github.com/wallix/awless/issues/79): `awless list records` do not add new lines between records.
394- Better compute table columns width to adjust the number of columns to display exactly to the terminal width.
395
396## v0.0.19 [2017-03-16]
397
398### Features
399
400- [#76](https://github.com/wallix/awless/issues/76): Show private IP and availability zones when listing instances.
401- Run remote template when path prefixed with `http`. Ex: `awless run http://github.com/wallix/awless-templates/...`
402- Fetch more instances properties when showing instances (ex: network interfaces, public and private DNS, Root device type and name...)
403- DNS: listing Route53 zones and records `awless list zones/records`
404- DNS: basic creation/deletion of Route53 zones and records `awless create/delete zone/record`
405- Infra: detach EBS volumes `awless detach volume`
406- Config: enable/disable the syncing of Route53 service `awless config set aws.dns.sync`
407- All listing with default format are now Markdown table compatible.
408- Better display of `awless show`. Added `--siblings` flag to display exhaustively all siblings
409- Reverse the sorting order when listing instances sorted by "up since"
410
411### Bugfixes
412
413- Fix `awless show` to properly show relations between groups and users
414
415## 0.0.18 [2017-03-13]
416
417### Features
418
419- infra: support the creation/deletion of ELBv2 loadbalancers, listeners and target groups: `awless create loadbalancer/listener/targetgroup`
420- infra: add tag `Name` to subnets.
421- Format `tsv` supported when listing: `awless list subnets --format tsv`
422- Pricer inspector now resolves prices for any regions: `awless inspect -i pricer`
423
424### Bugfixes
425
426- Fix alias, required and extra params parsing in template runs
427
428## 0.0.17 [2017-03-09]
429
430If you have any data or config issues, you can run `rm -Rf ~/.awless/` to start with a fresh install.
431
432### Features
433
434- [#65](https://github.com/wallix/awless/issues/65): `awless ssh`: use existing SSH client if available, otherwise fallback on builtin SSH.
435- `awless show` resolves automatically on id, name or arn without any prefixing (previously it was '@')
436- [#47](https://github.com/wallix/awless/issues/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`.
437- [#55](https://github.com/wallix/awless/issues/55): Dynamically change AWS region/profile with global flags `--aws-region us-west-1` or `--aws-profile myprofile`.
438- [#73](https://github.com/wallix/awless/issues/73): `AWS_DEFAULT_REGION` env variable now loaded in `awless`. It takes precedence over `aws.region`.
439- [#73](https://github.com/wallix/awless/issues/73): `AWS_DEFAULT_PROFILE` env variable now loaded in `awless`. It takes precedence over `aws.profile`.
440- Better output of `awless config list` (doc per variable, etc.).
441- Global default menu with clearer one-liner display.
442- Simplification of the templating engine using decoupled compile passes.
443- Config setters now provide dialogs (ex: `awless config set instance.type` or `awless config set aws.region`).
444- [#54](https://github.com/wallix/awless/issues/54): `awless ssh`: specify the keyfile to use with `-i /path/toward/key` flag.
445- [#64](https://github.com/wallix/awless/issues/64): `awless ssh`: columns and lines automatically adapt to terminal with/height.
446
447- Attach/detach policy to user/group (see [wiki examples](https://github.com/wallix/awless/wiki/Examples))
448- Attach/detach user to group (see [wiki examples](https://github.com/wallix/awless/wiki/Examples))
449- List AWS load balancers, target groups and listeners with `awless list loadbalancers/targetgroups/listeners`. Show their relations with, e.g. `awless show LOAD_BALANCER`.
450
451### Bugfixes
452
453- [#12](https://github.com/wallix/awless/issues/12): Support AWS pagination when fetching resources in AWS IAM.
454- Template parsing: allow digits in refs; allow regular chars in alias declaration
455- Template: all aliases now resolves correctly from file or CLI. Ex: `awless create instance subnet=@my-subnet`
456
457## 0.0.16 [2017-03-01]
458
459### Features
460
461- Allow simple fuzzy search for listing filters. Ex: `awless list instances --filter state=run`
462- Revert: waiting instance termination when deleting a vpc/subnet/instance hierarchy.
463
464### Bugfixes
465
466- Fix regression: timeout too low for HTTP requests with AWS.
467
468## 0.0.15 [2017-02-28]
469
470As 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.
471
472### Features
473
474- [#6](https://github.com/wallix/awless/issues/6): Create Linux installer shell script: `curl https://raw.githubusercontent.com/wallix/awless/master/getawless.sh | bash`
475- [#42](https://github.com/wallix/awless/issues/42), [#60](https://github.com/wallix/awless/issues/60), [#66](https://github.com/wallix/awless/issues/66): Better load AWS credentials (support profile credentials, MFA and crossaccount profile access)
476- [#32](https://github.com/wallix/awless/issues/32): Basic support of [SNS](https://aws.amazon.com/sns/) (CRUD for topics and subscriptions)
477- [#32](https://github.com/wallix/awless/issues/32): Basic support of [SQS](https://aws.amazon.com/sqs/) (CRUD for queues)
478- [#53](https://github.com/wallix/awless/issues/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`
479- Better help menus by splitting one-liner template commands from general commands
480- Run template: better dialog and remove noisy info
481- Template validation: notify on unexpected params; check names unicity against local graph
482- Log contextual error instead of hard failure when user has no rights to sync a service
483
484### Bugfixes
485
486- [#57](https://github.com/wallix/awless/issues/57): Properly fetch buckets when they are in the `us-east-1` region.
487- [#12](https://github.com/wallix/awless/issues/12): Support AWS pagination when fetching resources in AWS SNS and EC2.
488
489## 0.0.14 [2017-02-21]
490
491As 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.
492
493### Features
494
495- [#39](https://github.com/wallix/awless/issues/38), [#38](https://github.com/wallix/awless/issues/33): Remove data collection & sending
496- [#33](https://github.com/wallix/awless/issues/33): Ability to set AWS profile using `aws.profile` config key
497- Better output for `awless sync`
498- `awless ls` now an alias for `awless list`
499
500### Bugfixes
501
502- [#44](https://github.com/wallix/awless/issues/44): Fetch only the S3 buckets and related objects of the current region.
503- [#52](https://github.com/wallix/awless/issues/52), [#34](https://github.com/wallix/awless/issues/34): Properly fetch route tables, even if a route contains several destinations.
504- [#37](https://github.com/wallix/awless/issues/37): Load the region from database when initializing cloud services rather than `awless` environment.
505- [#56](https://github.com/wallix/awless/issues/56): Do not require a VPC as parent of security groups nor route table.
506