aws-alfred-workflow
AWS workflow for Alfred 3.
This workflow allows you to search EC2
instances by InstanceId and
by the Name tag.
Install
You must have your AWS credentials set up in your ~/.aws directory:
$ cd ~/.aws
$ ls -l
total 8
-rw------- 1 twang staff 224 Nov 26 00:28 config
-rw------- 1 twang staff 706 Nov 18 00:01 credentials
$ cat config
[default]
region = us-east-1
[profile foo]
region = us-west-2
$ cat credentials
[default]
aws_access_key_id = xxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxx
[foo]
aws_access_key_id = xxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxx
Configuration
In Alfred Preferences, choose the AWS
workflow and click the
[x] icon to configure the
WF_QUICKLOOK_PORT environment
variable.
If not configured, quicklook will be disabled.
Usage
Select AWS Profile
Select the AWS profile to use via:
aws >profile <profile name>
Searching for Instances
Now, you can search your EC2 instances via:
aws <query>
- Select an instance to copy the private IP address to your clipboard.
-
Hold
altto copy public IP address to your clipboard. -
Hold
cmdto open AWS web console to that instance. -
Press
shift(or ⌘Y) to open quicklook to view instance details
Search query
Search queries can be in the form of a
space separated list of
facet:value or simply just
value. Single
(') or double
(") quotes may be used for
either the facet or
value to allow for spaces,
and escapes (\\) can be used
to escape a literal apostrophe or
quotation character. Furthermore, colons
in facets and
values can be specified by
quoting the string (e.g.:
url:'www.august8.net:8080').
The available facets for each
service, as well as the default
facet if not provided, is
specified for each service below.
EC2 facets
If a bare value starts with
i-, the workflow will search
for exact prefix matches against the EC2
Instance Id. Otherwise, bare
value queries will search the
Name tag for the instance.
All other facets map to the tags on the instance. Note, all tag names are converted to lowercase.
S3 facets
The default facet is the
Name tag for the bucket.
All other facets map to the tags on the bucket. Note, all tag names are converted to lowercase.
Examples
Search for an EC2 Instance with a
Role tag of
webserver:
aws role:web
If the EC2 Instance also has a
Environment tag of
integration-testing, I can
search multiple tags via:
aws role:web environment:test
If the EC2 instance also happens to be
named my-test-application, I
may further restrict my query:
aws role:web environment:test my te
app
Open AWS Web Console
You can also open your browser to the AWS
Web Console using the
+ leader prefix:
aws +<query>
See here for demo.
Changelog
v3.0.0 - 2016-12-03
Added
- ablity to search s3 buckets
Changed
- using a subcommand syntax inspired by gharian/alfred-github-workflow
- improved responsiveness of the app by using background tasks
v2.0.0 - 2016-11-27
Added
- faceted searching
v1.1.1 - 2016-11-27
Fixed
- bug where quicklook was not disabled if port was not configured
v1.1 - 2016-11-27
Added
- added awsweb command (stolen from https://github.com/rkoval/alfred-aws-console-services-workflow)
- added quicklook server
Changed
-
changed public IP binding to
altto not conflict with quicklook
