AWS workflow for Alfred 3.
This workflow allows you to search EC2 instances by InstanceId and by the
Name tag.
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 = xxxxxxxxxxxxxxxxxxxxxIn 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.
Select the AWS profile to use via:
aws >profile <profile name>
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 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.
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.
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.
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
You can also open your browser to the AWS Web Console using the + leader
prefix:
aws +<query>
See here for demo.
- auto-update, run
aws >update
- fixed help command
- ablity to search s3 buckets
- using a subcommand syntax inspired by gharian/alfred-github-workflow
- improved responsiveness of the app by using background tasks
- faceted searching
- bug where quicklook was not disabled if port was not configured
- added awsweb command (stolen from https://github.com/rkoval/alfred-aws-console-services-workflow)
- added quicklook server
- changed public IP binding to
altto not conflict with quicklook
