Skip to main content
Like AOF? Give us a star!
If you find AOF useful, please star us on GitHub. It helps us reach more developers and grow the community.

AWS Tools

AOF provides 11 AWS tools covering compute, storage, database, messaging, identity, and cost management.

Prerequisites

  • AWS CLI v2 installed
  • Valid AWS credentials configured
# Install AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install

# Configure credentials
aws configure

Available Tools

ToolServiceDescription
aws_s3S3Object storage operations
aws_ec2EC2Compute instance management
aws_logsCloudWatch LogsLog querying and retrieval
aws_iamIAMIdentity and access management
aws_lambdaLambdaServerless function operations
aws_ecsECSContainer service management
aws_cloudformationCloudFormationInfrastructure as code
aws_rdsRDSDatabase service management
aws_sqsSQSMessage queue operations
aws_snsSNSNotification service
aws_costCost ExplorerCost analysis and forecasting

Tool Reference

aws_s3

S3 bucket and object operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesls, cp, sync, rm, mb, rb, mv
sourcestringNoSource path (local or s3://)
destinationstringNoDestination path
recursivebooleanNoRecursive operation
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_s3

# "List all buckets"
# "Copy backup.tar.gz to s3://my-bucket/backups/"
# "Sync local ./dist to s3://my-bucket/static/"

aws_ec2

EC2 instance management.

Parameters:

ParameterTypeRequiredDescription
commandstringYesdescribe-instances, start-instances, stop-instances, reboot-instances, terminate-instances, describe-security-groups, describe-vpcs, describe-subnets
instance_idsarrayNoInstance IDs
filtersarrayNoFilters (e.g., Name=tag:Env,Values=prod)
regionstringNoAWS region
profilestringNoAWS profile name
outputstringNoOutput format: json, text, table

Example:

tools:
- aws_ec2

# "List all running instances in us-east-1"
# "Stop instance i-1234567890abcdef0"
# "Find instances tagged with Environment=production"

aws_logs

CloudWatch Logs operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesdescribe-log-groups, describe-log-streams, filter-log-events, get-log-events, tail
log_group_namestringNoLog group name
log_stream_namestringNoLog stream name
filter_patternstringNoFilter pattern
start_timestringNoStart time (Unix ms)
end_timestringNoEnd time (Unix ms)
limitintegerNoMax events (default: 100)
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_logs

# "Search /aws/lambda/my-function for errors in the last hour"
# "Tail logs from /ecs/my-service"

aws_iam

IAM user, role, and policy management.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist-users, list-roles, list-policies, get-user, get-role, get-policy, list-attached-role-policies, list-attached-user-policies
user_namestringNoIAM user name
role_namestringNoIAM role name
policy_arnstringNoPolicy ARN
profilestringNoAWS profile name

Example:

tools:
- aws_iam

# "List all IAM users"
# "Get policies attached to role lambda-execution-role"

aws_lambda

Lambda function operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist-functions, get-function, invoke, list-versions-by-function, get-function-configuration
function_namestringNoFunction name or ARN
payloadstringNoJSON payload for invoke
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_lambda

# "List all Lambda functions"
# "Invoke my-function with payload {\"key\": \"value\"}"

aws_ecs

ECS cluster, service, and task management.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist-clusters, list-services, list-tasks, describe-clusters, describe-services, describe-tasks, update-service, stop-task
clusterstringNoCluster name or ARN
servicestringNoService name
tasksarrayNoTask ARNs
desired_countintegerNoDesired count for update
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_ecs

# "List all ECS clusters"
# "Scale my-service to 3 tasks in production cluster"

aws_cloudformation

CloudFormation stack operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesdescribe-stacks, create-stack, delete-stack, list-stack-resources, describe-stack-events
stack_namestringNoStack name
template_bodystringNoTemplate content
template_urlstringNoTemplate S3 URL
parametersarrayNoStack parameters
capabilitiesarrayNoRequired capabilities
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_cloudformation

# "Describe stack my-app-stack"
# "List resources in production-infrastructure stack"

aws_rds

RDS database operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesdescribe-db-instances, describe-db-clusters, create-db-snapshot, describe-db-snapshots, stop-db-instance, start-db-instance
db_instance_identifierstringNoDB instance ID
db_cluster_identifierstringNoDB cluster ID
snapshot_identifierstringNoSnapshot ID
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_rds

# "List all RDS instances"
# "Create snapshot of production-db"

aws_sqs

SQS queue operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist-queues, send-message, receive-message, delete-message, get-queue-attributes, purge-queue
queue_urlstringNoQueue URL
message_bodystringNoMessage content
receipt_handlestringNoReceipt handle for delete
max_messagesintegerNoMax messages to receive
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_sqs

# "List all SQS queues"
# "Send message to my-queue"
# "Receive 10 messages from processing-queue"

aws_sns

SNS topic and subscription operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist-topics, list-subscriptions, publish, create-topic, subscribe
topic_arnstringNoTopic ARN
messagestringNoMessage to publish
subjectstringNoMessage subject
protocolstringNoSubscription protocol
endpointstringNoSubscription endpoint
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_sns

# "List all SNS topics"
# "Publish alert to alerts-topic"

aws_cost

Cost Explorer operations for cost analysis.

Parameters:

ParameterTypeRequiredDescription
commandstringYesget-cost-and-usage, get-cost-forecast
time_period_startstringNoStart date (YYYY-MM-DD)
time_period_endstringNoEnd date (YYYY-MM-DD)
granularitystringNoDAILY, MONTHLY
metricsarrayNoMetrics to retrieve
group_bystringNoGrouping dimension
regionstringNoAWS region
profilestringNoAWS profile name

Example:

tools:
- aws_cost

# "Get cost breakdown for the last 30 days grouped by service"
# "Forecast costs for the next month"

Example Agent

apiVersion: aof.sh/v1alpha1
kind: Agent
metadata:
name: aws-ops
spec:
model: google:gemini-2.5-flash
tools:
- aws_ec2
- aws_s3
- aws_logs
- aws_cost

environment:
AWS_PROFILE: "production"
AWS_DEFAULT_REGION: "us-east-1"

system_prompt: |
You are an AWS operations specialist.
Help users manage EC2 instances, S3 storage, and analyze costs.
Always confirm destructive operations before proceeding.

Common Patterns

Multi-Region Operations

# Specify region per operation
"List EC2 instances in us-west-2"
"List EC2 instances in eu-west-1"

Using Profiles

environment:
AWS_PROFILE: "production"

# Or specify per operation
"List S3 buckets using staging profile"

Filtering Resources

# EC2 filters
"Find instances where tag:Environment=production"
"Find instances where instance-state-name=running"