Skip to content
This repository has been archived by the owner on Aug 3, 2023. It is now read-only.

Commit

Permalink
Moving to public github repo
Browse files Browse the repository at this point in the history
  • Loading branch information
Rachel Evans committed May 8, 2016
0 parents commit c4d2858
Show file tree
Hide file tree
Showing 9 changed files with 12,567 additions and 0 deletions.
13 changes: 13 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2016 Rachel Evans

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
29 changes: 29 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2016 Rachel Evans
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

.PHONY: update

all-actions.txt: var/app.json bin/all-actions
./bin/all-actions > $@.tmp && mv $@.tmp $@

var/app.json: var/policies.js
set -o pipefail && node bin/extract-app.js | jq --sort-keys . > $@.tmp && mv $@.tmp $@

var/policies.js:
curl -o $@.tmp https://awsiamconsole.s3.amazonaws.com/iam/assets/js/bundles/policies.js && mv $@.tmp $@

update:
rm -f var/policies.js
$(MAKE)

37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# aws-iam-reference

A list of all known IAM actions; and a way of updating that list.

# Why?

Because sometimes it's just handy to have the list of IAM actions, all in one
place. For example, if you can _almost_ remember the name of the action, but
not quite, this list can be quite a handy reference.

It's also informative to observe the history of the list, as new actions are
added.

I wish AWS provided this information themselves somewhere, in a supported,
machine-readable form. But if they do provide it, I haven't found it yet.

# Using the list

It's one action per line, plain text format: `all-actions.txt`

For example, to see all CloudWatch Events actions: `grep ^events: all-actions.txt`

# Updating the list

Requires curl, ruby, node, and jq.

Run `make update`; review the results.

The update works by reading JavaScript assets used by the AWS Policy Generator
<https://awspolicygen.s3.amazonaws.com/policygen.html>. It's very much an
unsupported method though, so the update scripts might need updating from time
to time.

# License

Licensed under the Apache License, Version 2.0. See the LICENSE file.

Loading

0 comments on commit c4d2858

Please sign in to comment.