Skip to main content

AWS Orchestrator Capabilities

This page details the specific capabilities of the AWS Orchestrator Agent, including supported AWS services, generation features, and output specifications.


What It Generates​

The AWS Orchestrator Agent produces complete, production-ready Terraform modules with all required files:

Output FileContents
main.tfResource definitions with lifecycle rules, tags, and dependencies
variables.tfTyped variables with validation rules, defaults, and descriptions
outputs.tfOutput values with sensitive flag and descriptions
data.tfData sources for dynamic lookups (AWS account, region, etc.)
locals.tfComputed values, naming conventions, tag maps
backend.tfS3 + DynamoDB backend with encryption and locking
README.mdUsage examples, input/output tables, requirements

Generation Quality​

Security Best Practices (Built-in)​

PracticeImplementation
Encryption at RestKMS keys for S3, EBS, RDS, Secrets Manager
Encryption in TransitTLS/SSL enforcement, HTTPS-only listeners
Least Privilege IAMScoped IAM policies with specific resource ARNs
Network IsolationPrivate subnets, security groups with minimal ingress
Public Access BlocksS3 public access blocks enabled by default
Secret ManagementSecrets Manager integration, no hardcoded credentials

Terraform Best Practices​

PracticeImplementation
Resource NamingConsistent naming with local.name_prefix
Tagging StrategyCommon tags via local.common_tags merge
Variable ValidationType constraints and custom validation rules
Lifecycle Rulesprevent_destroy, create_before_destroy where appropriate
DependenciesExplicit depends_on for non-obvious dependencies
State LockingS3 backend with DynamoDB lock table

Processing Characteristics​

AspectDetails
Processing Time20-25 minutes for enterprise-grade modules
Deep ResearchAnalyzes AWS service documentation and best practices
Iterative RefinementMultiple planning passes for complex requirements
Dependency ResolutionAutomatic resolution of resource dependencies
ValidationHCL syntax validation before file writing

Input Flexibility​

The agent understands natural language requests at various levels of specificity:

High-Level Requests​

"Create an S3 bucket for storing application logs"

The agent will infer: versioning, lifecycle policies, encryption, access controls.

Detailed Requests​

"Create an S3 bucket with:
- Versioning enabled
- 90-day transition to Glacier
- 365-day expiration
- KMS encryption with custom key
- Block all public access"

The agent will implement exact specifications.

Complex Multi-Service Requests​

"Create a complete VPC with public/private subnets across 3 AZs,
NAT gateways, and an ALB for a containerized application"

The agent will generate interconnected resources with proper dependencies.


Limitations​

LimitationDetails
AWS OnlyCurrently supports AWS provider only (Azure/GCP planned)
Single ModuleGenerates one module per request
No State ImportCannot import existing infrastructure
No Terraform ApplyGenerates code only, does not execute
Processing Time20-25 minutes per module (thorough analysis)

Example Output​

For a request like "Create an S3 bucket for application logs", the agent generates:

Generated File Structure​

s3_application_logs/
├── main.tf # S3 bucket with versioning, encryption, lifecycle
├── variables.tf # bucket_name, environment, retention_days, tags
├── outputs.tf # bucket_id, bucket_arn, bucket_domain_name
├── data.tf # aws_caller_identity, aws_region
├── locals.tf # name_prefix, common_tags
├── backend.tf # S3 + DynamoDB backend configuration
└── README.md # Complete usage documentation

Sample main.tf Structure​

resource "aws_s3_bucket" "this" {
bucket = local.bucket_name
tags = local.common_tags
}

resource "aws_s3_bucket_versioning" "this" {
bucket = aws_s3_bucket.this.id
versioning_configuration {
status = "Enabled"
}
}

resource "aws_s3_bucket_server_side_encryption_configuration" "this" {
bucket = aws_s3_bucket.this.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
kms_master_key_id = aws_kms_key.this.arn
}
}
}

# ... additional resources for lifecycle, public access block, etc.

📖 See more examples: Check the Examples page for complete generation outputs.