We only ship src/iam/s3.pl. We should add the actions for other AWS services
(DynamoDB, etc.), each in its own file (e.g. src/iam/dynamodb.pl) so they can
be loaded on demand.
The per-service extension mechanism is already in place: a service file defines
its own action/1 facts and can hook arn_verify/2 (declared :- multifile)
to add service-specific ARN rules, as s3.pl does.
What's still missing for true on-demand loading: s3 is currently imported
statically in src/iam/sim.pl (:- use_module('s3').). To make services load
on demand, we'd need a way to pull in a service file only when it's first
referenced rather than importing each one up front.
Sub-tasks:
- add action files for additional services (one file per service).
- make service modules load on demand instead of being hardcoded in
sim.pl.
We only ship
src/iam/s3.pl. We should add the actions for other AWS services(DynamoDB, etc.), each in its own file (e.g.
src/iam/dynamodb.pl) so they canbe loaded on demand.
The per-service extension mechanism is already in place: a service file defines
its own
action/1facts and can hookarn_verify/2(declared:- multifile)to add service-specific ARN rules, as
s3.pldoes.What's still missing for true on-demand loading:
s3is currently importedstatically in
src/iam/sim.pl(:- use_module('s3').). To make services loadon demand, we'd need a way to pull in a service file only when it's first
referenced rather than importing each one up front.
Sub-tasks:
sim.pl.