docs
reference
services
tessl install tessl/maven-com-pulumi--aws@7.16.0Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.
Fast lookup table for common AWS resources and operations.
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| EC2 Instance | Instance | com.pulumi.aws.ec2 | Virtual machines |
| Lambda Function | Function | com.pulumi.aws.lambda | Serverless functions |
| ECS Cluster | Cluster | com.pulumi.aws.ecs | Container orchestration |
| ECS Service | Service | com.pulumi.aws.ecs | Container service |
| ECS Task Definition | TaskDefinition | com.pulumi.aws.ecs | Container task config |
| EKS Cluster | Cluster | com.pulumi.aws.eks | Kubernetes cluster |
| Auto Scaling Group | Group | com.pulumi.aws.autoscaling | Auto scaling |
| Launch Template | LaunchTemplate | com.pulumi.aws.ec2 | EC2 launch config |
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| S3 Bucket | Bucket | com.pulumi.aws.s3 | Object storage |
| S3 Object | BucketObject | com.pulumi.aws.s3 | Upload files to S3 |
| EBS Volume | Volume | com.pulumi.aws.ebs | Block storage |
| EFS File System | FileSystem | com.pulumi.aws.efs | Elastic file system |
| FSx File System | LustreFileSystem | com.pulumi.aws.fsx | High-performance FS |
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| RDS Instance | Instance | com.pulumi.aws.rds | Relational database |
| RDS Cluster | Cluster | com.pulumi.aws.rds | Aurora cluster |
| DynamoDB Table | Table | com.pulumi.aws.dynamodb | NoSQL database |
| ElastiCache Cluster | Cluster | com.pulumi.aws.elasticache | In-memory cache |
| DocumentDB Cluster | Cluster | com.pulumi.aws.docdb | MongoDB-compatible |
| Neptune Cluster | Cluster | com.pulumi.aws.neptune | Graph database |
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| VPC | Vpc | com.pulumi.aws.ec2 | Virtual private cloud |
| Subnet | Subnet | com.pulumi.aws.ec2 | VPC subnet |
| Security Group | SecurityGroup | com.pulumi.aws.ec2 | Firewall rules |
| Internet Gateway | InternetGateway | com.pulumi.aws.ec2 | Internet access |
| NAT Gateway | NatGateway | com.pulumi.aws.ec2 | Outbound internet |
| Route Table | RouteTable | com.pulumi.aws.ec2 | Route configuration |
| Load Balancer | LoadBalancer | com.pulumi.aws.lb | Load balancing |
| Target Group | TargetGroup | com.pulumi.aws.lb | LB targets |
| Route 53 Zone | Zone | com.pulumi.aws.route53 | DNS hosted zone |
| Route 53 Record | Record | com.pulumi.aws.route53 | DNS record |
| CloudFront Distribution | Distribution | com.pulumi.aws.cloudfront | CDN |
| API Gateway | Api | com.pulumi.aws.apigatewayv2 | HTTP API |
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| IAM Role | Role | com.pulumi.aws.iam | IAM role |
| IAM Policy | Policy | com.pulumi.aws.iam | IAM policy |
| IAM User | User | com.pulumi.aws.iam | IAM user |
| IAM Group | Group | com.pulumi.aws.iam | IAM group |
| IAM Instance Profile | InstanceProfile | com.pulumi.aws.iam | EC2 role attachment |
| Role Policy Attachment | RolePolicyAttachment | com.pulumi.aws.iam | Attach policy to role |
| KMS Key | Key | com.pulumi.aws.kms | Encryption key |
| Secret | Secret | com.pulumi.aws.secretsmanager | Secrets storage |
| Cognito User Pool | UserPool | com.pulumi.aws.cognito | User authentication |
| ACM Certificate | Certificate | com.pulumi.aws.acm | SSL/TLS certificate |
| WAF Web ACL | WebAcl | com.pulumi.aws.wafv2 | Web firewall |
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| SNS Topic | Topic | com.pulumi.aws.sns | Pub/sub messaging |
| SNS Subscription | TopicSubscription | com.pulumi.aws.sns | Subscribe to topic |
| SQS Queue | Queue | com.pulumi.aws.sqs | Message queue |
| EventBridge Rule | Rule | com.pulumi.aws.cloudwatch | Event routing |
| Step Functions State Machine | StateMachine | com.pulumi.aws.sfn | Workflow |
| AppSync GraphQL API | GraphQLApi | com.pulumi.aws.appsync | GraphQL API |
| Resource | Class | Package | Primary Use |
|---|---|---|---|
| CloudWatch Metric Alarm | MetricAlarm | com.pulumi.aws.cloudwatch | Monitoring alert |
| CloudWatch Log Group | LogGroup | com.pulumi.aws.cloudwatch | Log storage |
| CloudWatch Dashboard | Dashboard | com.pulumi.aws.cloudwatch | Metrics dashboard |
| SSM Parameter | Parameter | com.pulumi.aws.ssm | Configuration storage |
| CloudTrail | Trail | com.pulumi.aws.cloudtrail | API audit logging |
| Function | Package | Purpose |
|---|---|---|
getAmi() | com.pulumi.aws.ec2.Ec2Functions | Query AMIs |
getAvailabilityZones() | com.pulumi.aws.AwsFunctions | List AZs |
getCallerIdentity() | com.pulumi.aws.AwsFunctions | Get account info |
getRegion() | com.pulumi.aws.AwsFunctions | Get current region |
getVpc() | com.pulumi.aws.ec2.Ec2Functions | Query VPC |
getSubnet() | com.pulumi.aws.ec2.Ec2Functions | Query subnet |
getSecurityGroup() | com.pulumi.aws.ec2.Ec2Functions | Query security group |
getBucket() | com.pulumi.aws.s3.S3Functions | Query S3 bucket |
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.Config;
import com.pulumi.core.Output;
import com.pulumi.resources.CustomResourceOptions;import com.pulumi.aws.ec2.*;
import com.pulumi.aws.lambda.*;
import com.pulumi.aws.ecs.*;
import com.pulumi.aws.eks.*;import com.pulumi.aws.s3.*;
import com.pulumi.aws.ebs.*;
import com.pulumi.aws.efs.*;import com.pulumi.aws.rds.*;
import com.pulumi.aws.dynamodb.*;
import com.pulumi.aws.elasticache.*;import com.pulumi.aws.ec2.*;
import com.pulumi.aws.lb.*;
import com.pulumi.aws.route53.*;
import com.pulumi.aws.cloudfront.*;import com.pulumi.aws.iam.*;
import com.pulumi.aws.kms.*;
import com.pulumi.aws.cognito.*;
import com.pulumi.aws.secretsmanager.*;import com.pulumi.aws.sns.*;
import com.pulumi.aws.sqs.*;
import com.pulumi.aws.cloudwatch.*;
import com.pulumi.aws.sfn.*;var resource = new ResourceType("name", ResourceTypeArgs.builder()
.property(value)
.build());var resource = new ResourceType("name", args,
CustomResourceOptions.builder()
.dependsOn(otherResource)
.protect(true)
.build());var result = ServiceFunctions.getResource(GetResourceArgs.builder()
.filter(value)
.build());ctx.export("outputName", resource.property());Output<String> transformed = output.apply(value ->
value.toUpperCase()
);Output<String> combined = Output.tuple(output1, output2)
.apply(tuple -> tuple.t1 + tuple.t2);import java.util.Map;
Map<String, String> commonTags = Map.of(
"Environment", "production",
"ManagedBy", "Pulumi",
"Project", "my-app"
);
var resource = new ResourceType("name", ResourceTypeArgs.builder()
.tags(commonTags)
.build());// Logical name (used by Pulumi)
"my-resource"
// Physical name (used by AWS)
.resourceName("my-app-resource-prod")
// With auto-naming (recommended)
var bucket = new Bucket("app-bucket"); // AWS generates unique name
// With explicit naming
var bucket = new Bucket("app-bucket", BucketArgs.builder()
.bucket("my-unique-bucket-name-12345")
.build());import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
// Basic configuration
var provider = new Provider("aws", ProviderArgs.builder()
.region("us-west-2")
.build());
// With profile
var provider = new Provider("aws", ProviderArgs.builder()
.region("us-west-2")
.profile("my-profile")
.build());
// Use with resource
var bucket = new Bucket("bucket", BucketArgs.builder()
.build(),
CustomResourceOptions.builder()
.provider(provider)
.build());import com.pulumi.Config;
var config = new Config();
// Required string
String value = config.require("key");
// Optional string with default
String value = config.get("key").orElse("default");
// Secret
String secret = config.requireSecret("password");
// Typed values
int port = config.requireInt("port");
boolean flag = config.requireBoolean("enabled");# Set configuration
pulumi config set key value
pulumi config set --secret password mySecret
# View outputs
pulumi stack output
pulumi stack output bucketName
pulumi stack output --json
# View stack info
pulumi stack
pulumi stack ls# Project lifecycle
pulumi new java # Create new project
pulumi preview # Preview changes
pulumi up # Deploy
pulumi destroy # Destroy all resources
pulumi refresh # Sync state with cloud
# Stack management
pulumi stack init dev # Create stack
pulumi stack select prod # Switch stack
pulumi stack ls # List stacks
pulumi stack rm dev # Remove stack
# Configuration
pulumi config set key value # Set config
pulumi config get key # Get config
pulumi config rm key # Remove config
# State management
pulumi state delete urn # Remove resource from state
pulumi stack export # Export state
pulumi stack import # Import state