CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-pulumi--aws

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources with infrastructure-as-code.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

resource-types.mddocs/reference/

AWS Resource Types by Category

Comprehensive listing of all AWS resource types in @pulumi/aws, organized by service category.

Quick Navigation

Compute | Storage | Database | Networking & Content Delivery | Security, Identity & Compliance | Management & Governance | Analytics | Application Integration | Containers | Developer Tools | Machine Learning | Migration & Transfer | Media Services | End User Computing | Business Applications | IoT


Compute

EC2 (Elastic Compute Cloud)

Module: ec2

Virtual servers and core networking components.

import { ec2 } from "@pulumi/aws";

// Compute resources
new ec2.Instance("instance", { ami, instanceType, ... });
new ec2.LaunchTemplate("template", { imageId, instanceType, ... });
new ec2.SpotInstanceRequest("spot", { ami, instanceType, ... });
new ec2.Fleet("fleet", { launchTemplateConfigs, ... });

// Placement and capacity
new ec2.PlacementGroup("placement", { strategy: "cluster" });
new ec2.CapacityReservation("capacity", { instanceType, instancePlatform, ... });

// AMI management
new ec2.Ami("ami", { name, rootDeviceName, ... });
new ec2.AmiCopy("ami-copy", { sourceAmiId, sourceAmiRegion, ... });
new ec2.AmiLaunchPermission("launch-perm", { imageId, accountId });

Key Resources: Instance, LaunchTemplate, Ami, SpotInstanceRequest, Fleet, PlacementGroup

Full EC2 Documentation

Lambda

Module: lambda

Serverless compute functions.

import { lambda } from "@pulumi/aws";

// Functions
new lambda.Function("fn", { code, handler, runtime, role, ... });
new lambda.Alias("alias", { functionName, functionVersion, ... });
new lambda.FunctionUrl("url", { functionName, authorizationType, ... });

// Layers and configurations
new lambda.LayerVersion("layer", { layerName, code, ... });
new lambda.Permission("perm", { functionName, action, principal, ... });
new lambda.EventSourceMapping("mapping", { eventSourceArn, functionName, ... });
new lambda.ProvisionedConcurrencyConfig("concurrency", { functionName, provisionedConcurrentExecutions, ... });

// Code signing
new lambda.CodeSigningConfig("signing", { allowedPublishers, ... });

Key Resources: Function, Alias, LayerVersion, Permission, EventSourceMapping, FunctionUrl

Full Lambda Documentation

ECS (Elastic Container Service)

Module: ecs

Container orchestration service.

import { ecs } from "@pulumi/aws";

// Clusters
new ecs.Cluster("cluster", { name, ... });
new ecs.CapacityProvider("provider", { autoScalingGroupArn, ... });
new ecs.ClusterCapacityProviders("providers", { clusterName, capacityProviders, ... });

// Services and tasks
new ecs.Service("service", { cluster, taskDefinition, desiredCount, ... });
new ecs.TaskDefinition("task", { family, containerDefinitions, cpu, memory, ... });
new ecs.TaskSet("taskset", { cluster, service, taskDefinition, ... });

Key Resources: Cluster, Service, TaskDefinition, CapacityProvider

Full ECS Documentation

EKS (Elastic Kubernetes Service)

Module: eks

Managed Kubernetes service.

import { eks } from "@pulumi/aws";

// Clusters
new eks.Cluster("cluster", { roleArn, vpcConfig, ... });
new eks.NodeGroup("nodegroup", { clusterName, nodeRoleArn, subnetIds, ... });
new eks.FargateProfile("fargate", { clusterName, podExecutionRoleArn, selectors, ... });

// Add-ons and access
new eks.Addon("addon", { clusterName, addonName, ... });
new eks.AccessEntry("access", { clusterName, principalArn, ... });
new eks.AccessPolicyAssociation("policy", { clusterName, policyArn, principalArn, ... });
new eks.IdentityProviderConfig("oidc", { clusterName, oidc, ... });
new eks.PodIdentityAssociation("pod-identity", { clusterName, namespace, serviceAccount, roleArn, ... });

Key Resources: Cluster, NodeGroup, FargateProfile, Addon, AccessEntry

Full EKS Documentation

Auto Scaling

Module: autoscaling

Automatic capacity management.

import { autoscaling } from "@pulumi/aws";

// Auto scaling groups
new autoscaling.Group("asg", { maxSize, minSize, launchTemplate, ... });
new autoscaling.Policy("policy", { autoscalingGroupName, policyType, ... });
new autoscaling.Schedule("schedule", { autoscalingGroupName, desiredCapacity, recurrence, ... });

// Lifecycle and notifications
new autoscaling.LifecycleHook("hook", { autoscalingGroupName, lifecycleTransition, ... });
new autoscaling.Notification("notification", { groupNames, notificationTypes, topicArn, ... });
new autoscaling.Attachment("attachment", { autoscalingGroupName, ... });

Key Resources: Group, Policy, Schedule, LifecycleHook, Notification

Full Auto Scaling Documentation

Batch

Module: batch

Batch computing jobs.

import { batch } from "@pulumi/aws";

new batch.ComputeEnvironment("compute", { type, serviceRole, ... });
new batch.JobDefinition("job", { type, containerProperties, ... });
new batch.JobQueue("queue", { computeEnvironments, priority, ... });
new batch.SchedulingPolicy("scheduling", { name, fairsharePolicy, ... });

Key Resources: ComputeEnvironment, JobDefinition, JobQueue

Elastic Beanstalk

Module: elasticbeanstalk

Application deployment platform.

import { elasticbeanstalk } from "@pulumi/aws";

new elasticbeanstalk.Application("app", { name, description, ... });
new elasticbeanstalk.ApplicationVersion("version", { application, bucket, key, ... });
new elasticbeanstalk.Environment("env", { application, solutionStackName, ... });
new elasticbeanstalk.ConfigurationTemplate("template", { application, ... });

Key Resources: Application, Environment, ApplicationVersion, ConfigurationTemplate

Lightsail

Module: lightsail

Simple VPS hosting.

import { lightsail } from "@pulumi/aws";

new lightsail.Instance("instance", { availabilityZone, blueprintId, bundleId, ... });
new lightsail.StaticIp("ip", { name });
new lightsail.StaticIpAttachment("attachment", { instanceName, staticIpName });
new lightsail.KeyPair("keypair", { name, publicKey });

Key Resources: Instance, StaticIp, KeyPair, Database, ContainerService


Storage

S3 (Simple Storage Service)

Module: s3

Object storage service.

import { s3 } from "@pulumi/aws";

// Buckets
new s3.Bucket("bucket", { bucketName, acl, ... });
new s3.BucketV2("bucket-v2", { bucket, ... });
new s3.BucketObject("object", { bucket, key, source, ... });
new s3.BucketObjectv2("object-v2", { bucket, key, source, ... });

// Bucket configuration
new s3.BucketPolicy("policy", { bucket, policy, ... });
new s3.BucketVersioning("versioning", { bucket, versioningConfiguration, ... });
new s3.BucketLifecycleConfiguration("lifecycle", { bucket, rules, ... });
new s3.BucketServerSideEncryptionConfiguration("encryption", { bucket, rules, ... });
new s3.BucketCorsConfiguration("cors", { bucket, corsRules, ... });
new s3.BucketPublicAccessBlock("pab", { bucket, blockPublicAcls, ... });

// Access points
new s3.AccessPoint("ap", { bucket, name, ... });
new s3.AccountPublicAccessBlock("account-pab", { blockPublicAcls, ... });

// Advanced features
new s3.Inventory("inventory", { bucket, destination, schedule, ... });
new s3.BucketMetric("metric", { bucket, name, ... });
new s3.AnalyticsConfiguration("analytics", { bucket, name, ... });

Key Resources: Bucket, BucketObject, BucketPolicy, AccessPoint, BucketVersioning

Full S3 Documentation

EBS (Elastic Block Store)

Module: ebs

Block storage volumes.

import { ebs } from "@pulumi/aws";

new ebs.Volume("volume", { availabilityZone, size, type, ... });
new ebs.Snapshot("snapshot", { volumeId, ... });
new ebs.SnapshotCopy("snapshot-copy", { sourceSnapshotId, sourceRegion, ... });
new ebs.EncryptionByDefault("encryption", { enabled: true });
new ebs.DefaultKmsKey("kms", { keyArn });

Key Resources: Volume, Snapshot, EncryptionByDefault

Full EBS Documentation

EFS (Elastic File System)

Module: efs

Managed file storage.

import { efs } from "@pulumi/aws";

new efs.FileSystem("fs", { encrypted, performanceMode, ... });
new efs.MountTarget("mount", { fileSystemId, subnetId, ... });
new efs.AccessPoint("ap", { fileSystemId, ... });
new efs.BackupPolicy("backup", { fileSystemId, backupPolicy, ... });
new efs.FileSystemPolicy("policy", { fileSystemId, policy, ... });
new efs.ReplicationConfiguration("replication", { sourceFileSystemId, destination, ... });

Key Resources: FileSystem, MountTarget, AccessPoint, BackupPolicy

Full EFS Documentation

FSx

Module: fsx

Managed file systems (Lustre, Windows, ONTAP, OpenZFS).

import { fsx } from "@pulumi/aws";

// File systems
new fsx.LustreFileSystem("lustre", { storageCapacity, subnetIds, ... });
new fsx.WindowsFileSystem("windows", { storageCapacity, subnetIds, throughputCapacity, ... });
new fsx.OntapFileSystem("ontap", { storageCapacity, subnetIds, ... });
new fsx.OpenZfsFileSystem("openzfs", { storageCapacity, subnetIds, ... });

// ONTAP resources
new fsx.OntapStorageVirtualMachine("svm", { fileSystemId, name, ... });
new fsx.OntapVolume("volume", { storageVirtualMachineId, name, ... });

// OpenZFS resources
new fsx.OpenZfsVolume("volume", { parentVolumeId, name, ... });
new fsx.OpenZfsSnapshot("snapshot", { volumeId, name, ... });

// Backup and cache
new fsx.Backup("backup", { fileSystemId, ... });
new fsx.FileCache("cache", { fileCacheType, subnetIds, ... });

Key Resources: LustreFileSystem, WindowsFileSystem, OntapFileSystem, OpenZfsFileSystem

Full FSx Documentation

Glacier

Module: glacier

Long-term archive storage.

import { glacier } from "@pulumi/aws";

new glacier.Vault("vault", { name, ... });
new glacier.VaultLock("lock", { vaultName, policy, completeLock, ... });

Key Resources: Vault, VaultLock

Full Glacier Documentation

AWS Backup

Module: backup

Centralized backup management.

import { backup } from "@pulumi/aws";

new backup.Vault("vault", { name, ... });
new backup.Plan("plan", { name, rules, ... });
new backup.Selection("selection", { planId, iamRoleArn, resources, ... });
new backup.Framework("framework", { name, controls, ... });
new backup.VaultPolicy("policy", { backupVaultName, policy, ... });

Key Resources: Vault, Plan, Selection, Framework

Full Backup Documentation

Storage Gateway

Module: storagegateway

Hybrid cloud storage.

import { storagegateway } from "@pulumi/aws";

new storagegateway.Gateway("gateway", { gatewayType, gatewayTimezone, ... });
new storagegateway.NfsFileShare("nfs", { clientList, gatewayArn, locationArn, roleArn, ... });
new storagegateway.SmbFileShare("smb", { gatewayArn, locationArn, roleArn, ... });
new storagegateway.Cache("cache", { diskId, gatewayArn });

Key Resources: Gateway, NfsFileShare, SmbFileShare


Database

RDS (Relational Database Service)

Module: rds

Managed relational databases.

import { rds } from "@pulumi/aws";

// Instances
new rds.Instance("db", { engine, instanceClass, allocatedStorage, ... });
new rds.Cluster("cluster", { engine, masterUsername, masterPassword, ... });
new rds.ClusterInstance("cluster-instance", { clusterIdentifier, instanceClass, ... });

// Global databases
new rds.GlobalCluster("global", { globalClusterIdentifier, engine, ... });

// Configuration
new rds.SubnetGroup("subnet-group", { subnetIds, ... });
new rds.ParameterGroup("params", { family, parameters, ... });
new rds.ClusterParameterGroup("cluster-params", { family, parameters, ... });
new rds.OptionGroup("options", { engineName, majorEngineVersion, ... });

// Proxy
new rds.Proxy("proxy", { engineFamily, auth, roleArn, vpcSubnetIds, ... });
new rds.ProxyDefaultTargetGroup("target", { dbProxyName, ... });
new rds.ProxyEndpoint("endpoint", { dbProxyName, vpcSubnetIds, ... });

// Snapshots and backups
new rds.Snapshot("snapshot", { dbInstanceIdentifier, ... });
new rds.ClusterSnapshot("cluster-snapshot", { dbClusterIdentifier, ... });

Key Resources: Instance, Cluster, SubnetGroup, ParameterGroup, Proxy

Full RDS Documentation

DynamoDB

Module: dynamodb

NoSQL database service.

import { dynamodb } from "@pulumi/aws";

new dynamodb.Table("table", { attributes, hashKey, billingMode, ... });
new dynamodb.GlobalTable("global", { name, replicas, ... });
new dynamodb.GlobalSecondaryIndex("gsi", { tableName, name, hashKey, ... });
new dynamodb.TableItem("item", { tableName, hashKey, item, ... });
new dynamodb.KinesisStreamingDestination("stream", { tableName, streamArn, ... });

Key Resources: Table, GlobalTable, GlobalSecondaryIndex

Full DynamoDB Documentation

ElastiCache

Module: elasticache

In-memory caching (Redis, Memcached).

import { elasticache } from "@pulumi/aws";

// Clusters
new elasticache.Cluster("cache", { engine, nodeType, numCacheNodes, ... });
new elasticache.ReplicationGroup("redis", { replicationGroupId, engine, nodeType, ... });
new elasticache.ServerlessCache("serverless", { engine, serverlessCacheName, ... });

// Configuration
new elasticache.SubnetGroup("subnet-group", { subnetIds, ... });
new elasticache.ParameterGroup("params", { family, parameters, ... });

// Global and users
new elasticache.GlobalReplicationGroup("global", { globalReplicationGroupIdSuffix, primaryReplicationGroupId, ... });
new elasticache.User("user", { userId, userName, accessString, engine, ... });
new elasticache.UserGroup("group", { engine, userGroupId, userIds, ... });

Key Resources: Cluster, ReplicationGroup, ServerlessCache, User

Full ElastiCache Documentation

DocumentDB

Module: docdb

MongoDB-compatible document database.

import { docdb } from "@pulumi/aws";

new docdb.Cluster("cluster", { masterUsername, masterPassword, ... });
new docdb.ClusterInstance("instance", { clusterIdentifier, instanceClass, ... });
new docdb.SubnetGroup("subnet-group", { subnetIds, ... });
new docdb.ClusterParameterGroup("params", { family, parameters, ... });
new docdb.GlobalCluster("global", { globalClusterIdentifier, ... });
new docdb.ElasticCluster("elastic", { adminUserName, authType, shardCapacity, ... });

Key Resources: Cluster, ClusterInstance, SubnetGroup, GlobalCluster

Full DocumentDB Documentation

Neptune

Module: neptune

Graph database.

import { neptune } from "@pulumi/aws";

new neptune.Cluster("cluster", { engine, ... });
new neptune.ClusterInstance("instance", { clusterIdentifier, instanceClass, ... });
new neptune.SubnetGroup("subnet-group", { subnetIds, ... });
new neptune.ClusterParameterGroup("params", { family, parameters, ... });
new neptune.GlobalCluster("global", { globalClusterIdentifier, engine, ... });
new neptune.ClusterEndpoint("endpoint", { clusterIdentifier, endpointType, ... });

Key Resources: Cluster, ClusterInstance, SubnetGroup, GlobalCluster

Full Neptune Documentation

Redshift

Module: redshift

Data warehouse.

import { redshift } from "@pulumi/aws";

new redshift.Cluster("cluster", { clusterIdentifier, nodeType, masterUsername, masterPassword, ... });
new redshift.SubnetGroup("subnet-group", { subnetIds, ... });
new redshift.ParameterGroup("params", { family, parameters, ... });
new redshift.SnapshotSchedule("schedule", { scheduleIdentifier, definitions, ... });
new redshift.EndpointAccess("endpoint", { endpointName, subnetGroupName, ... });

Key Resources: Cluster, SubnetGroup, ParameterGroup, EndpointAccess

Full Redshift Documentation

DAX (DynamoDB Accelerator)

Module: dax

In-memory cache for DynamoDB.

import { dax } from "@pulumi/aws";

new dax.Cluster("dax", { clusterName, iamRoleArn, nodeType, replicationFactor, ... });
new dax.SubnetGroup("subnet-group", { subnetIds, ... });
new dax.ParameterGroup("params", { parameters, ... });

Key Resources: Cluster, SubnetGroup, ParameterGroup

MemoryDB

Module: memorydb

Redis-compatible in-memory database.

import { memorydb } from "@pulumi/aws";

new memorydb.Cluster("cluster", { aclName, nodeType, ... });
new memorydb.SubnetGroup("subnet-group", { subnetIds, ... });
new memorydb.ParameterGroup("params", { family, parameters, ... });
new memorydb.User("user", { userName, accessString, authenticationMode, ... });
new memorydb.Acl("acl", { userNames, ... });

Key Resources: Cluster, SubnetGroup, User, Acl

Keyspaces (Cassandra)

Module: keyspaces

Managed Apache Cassandra.

import { keyspaces } from "@pulumi/aws";

new keyspaces.Keyspace("keyspace", { name, ... });
new keyspaces.Table("table", { keyspaceName, tableName, schemaDefinition, ... });

Key Resources: Keyspace, Table

QLDB

Module: qldb

Ledger database.

import { qldb } from "@pulumi/aws";

new qldb.Ledger("ledger", { name, permissionsMode, ... });
new qldb.Stream("stream", { ledgerName, roleArn, streamName, kinesisConfiguration, ... });

Key Resources: Ledger, Stream

Timestream

Module: timestreamwrite

Time series database.

import { timestreamwrite } from "@pulumi/aws";

new timestreamwrite.Database("db", { databaseName, ... });
new timestreamwrite.Table("table", { databaseName, tableName, retentionProperties, ... });

Key Resources: Database, Table


Networking & Content Delivery

VPC (Virtual Private Cloud)

Module: ec2

Virtual network infrastructure.

import { ec2 } from "@pulumi/aws";

// Core VPC
new ec2.Vpc("vpc", { cidrBlock, enableDnsHostnames, enableDnsSupport, ... });
new ec2.Subnet("subnet", { vpcId, cidrBlock, availabilityZone, ... });
new ec2.InternetGateway("igw", { vpcId, ... });
new ec2.NatGateway("nat", { subnetId, allocationId, ... });
new ec2.Eip("eip", { domain: "vpc" });

// Routing
new ec2.RouteTable("rt", { vpcId, ... });
new ec2.Route("route", { routeTableId, destinationCidrBlock, gatewayId, ... });
new ec2.RouteTableAssociation("rta", { routeTableId, subnetId, ... });

// Security
new ec2.SecurityGroup("sg", { vpcId, ingress, egress, ... });
new ec2.SecurityGroupRule("rule", { securityGroupId, type, fromPort, toPort, protocol, ... });
new ec2.NetworkAcl("nacl", { vpcId, ... });
new ec2.NetworkAclRule("nacl-rule", { networkAclId, ruleNumber, protocol, ... });

// VPC Peering
new ec2.VpcPeeringConnection("peering", { vpcId, peerVpcId, ... });
new ec2.VpcPeeringConnectionAccepter("accepter", { vpcPeeringConnectionId, ... });

// VPC Endpoints
new ec2.VpcEndpoint("endpoint", { vpcId, serviceName, ... });
new ec2.VpcEndpointService("endpoint-svc", { acceptanceRequired, networkLoadBalancerArns, ... });

// IPAM
new ec2.VpcIpam("ipam", { operatingRegions, ... });
new ec2.VpcIpamPool("pool", { ipamScopeId, addressFamily, ... });

Key Resources: Vpc, Subnet, InternetGateway, NatGateway, RouteTable, SecurityGroup

Load Balancing

Module: lb (or alb, elb)

Application and Network Load Balancers.

import { lb } from "@pulumi/aws";

// Load balancers
new lb.LoadBalancer("lb", { loadBalancerType, subnets, securityGroups, ... });
new lb.Listener("listener", { loadBalancerArn, port, protocol, defaultActions, ... });
new lb.ListenerRule("rule", { listenerArn, actions, conditions, ... });

// Target groups
new lb.TargetGroup("tg", { port, protocol, vpcId, targetType, ... });
new lb.TargetGroupAttachment("attachment", { targetGroupArn, targetId, ... });

// Certificates
new lb.ListenerCertificate("cert", { listenerArn, certificateArn });

// Trust stores
new lb.TrustStore("trust", { name, caCertificatesBundleS3Bucket, ... });

Key Resources: LoadBalancer, Listener, TargetGroup, ListenerRule

Full Load Balancing Documentation

CloudFront

Module: cloudfront

Content delivery network (CDN).

import { cloudfront } from "@pulumi/aws";

// Distributions
new cloudfront.Distribution("cdn", { origins, defaultCacheBehavior, enabled, ... });
new cloudfront.Function("fn", { code, runtime, ... });

// Cache and origin policies
new cloudfront.CachePolicy("cache", { name, minTtl, maxTtl, defaultTtl, parametersInCacheKeyAndForwardedToOrigin, ... });
new cloudfront.OriginRequestPolicy("origin", { name, cookiesConfig, headersConfig, queryStringsConfig, ... });
new cloudfront.ResponseHeadersPolicy("headers", { name, ... });

// Access control
new cloudfront.OriginAccessControl("oac", { name, originAccessControlOriginType, signingBehavior, signingProtocol, ... });
new cloudfront.OriginAccessIdentity("oai", { comment });

// Key management
new cloudfront.KeyGroup("keys", { items, name, ... });
new cloudfront.PublicKey("key", { encodedKey, name, ... });

Key Resources: Distribution, CachePolicy, OriginAccessControl, Function

Full CloudFront Documentation

Route 53

Module: route53

DNS and domain management.

import { route53 } from "@pulumi/aws";

// Hosted zones
new route53.Zone("zone", { name, ... });
new route53.Record("record", { zoneId, name, type, records, ... });

// Health checks
new route53.HealthCheck("health", { type, ... });

// Traffic policies
new route53.TrafficPolicy("policy", { name, document, ... });
new route53.TrafficPolicyInstance("instance", { hostedZoneId, name, trafficPolicyId, ... });

// DNSSEC
new route53.KeySigningKey("ksk", { hostedZoneId, keyManagementServiceArn, name, ... });
new route53.HostedZoneDnsSec("dnssec", { hostedZoneId });

// Query logging
new route53.QueryLog("query-log", { cloudwatchLogGroupArn, zoneId });

// Resolvers (for VPC DNS)
new route53.ResolverEndpoint("endpoint", { direction, ipAddresses, securityGroupIds, ... });
new route53.ResolverRule("rule", { domainName, ruleType, ... });
new route53.ResolverRuleAssociation("assoc", { resolverRuleId, vpcId });

Key Resources: Zone, Record, HealthCheck, ResolverEndpoint, ResolverRule

Full Route 53 Documentation

API Gateway

Module: apigateway, apigatewayv2

RESTful, HTTP, and WebSocket APIs.

import { apigateway, apigatewayv2 } from "@pulumi/aws";

// REST API (v1)
new apigateway.RestApi("api", { name, ... });
new apigateway.Resource("resource", { restApi, parentId, pathPart, ... });
new apigateway.Method("method", { restApi, resourceId, httpMethod, authorization, ... });
new apigateway.Integration("integration", { restApi, resourceId, httpMethod, type, ... });
new apigateway.Deployment("deployment", { restApi, ... });
new apigateway.Stage("stage", { restApi, deployment, stageName, ... });

// HTTP/WebSocket API (v2)
new apigatewayv2.Api("api", { name, protocolType, ... });
new apigatewayv2.Route("route", { apiId, routeKey, ... });
new apigatewayv2.Integration("integration", { apiId, integrationType, ... });
new apigatewayv2.Stage("stage", { apiId, name, ... });
new apigatewayv2.Authorizer("auth", { apiId, authorizerType, ... });

// Custom domains
new apigateway.DomainName("domain", { domainName, certificateArn, ... });
new apigateway.BasePathMapping("mapping", { domainName, restApi, ... });

Key Resources: RestApi, Method, Integration, Deployment, Stage, Api, Route

Full API Gateway Documentation

VPC Lattice

Module: vpclattice

Service-to-service connectivity.

import { vpclattice } from "@pulumi/aws";

new vpclattice.Service("service", { name, ... });
new vpclattice.ServiceNetwork("network", { name, ... });
new vpclattice.ServiceNetworkVpcAssociation("vpc-assoc", { serviceNetworkIdentifier, vpcIdentifier, ... });
new vpclattice.ServiceNetworkServiceAssociation("svc-assoc", { serviceIdentifier, serviceNetworkIdentifier, ... });
new vpclattice.TargetGroup("tg", { name, type, ... });
new vpclattice.Listener("listener", { serviceIdentifier, defaultAction, protocol, ... });

Key Resources: Service, ServiceNetwork, TargetGroup, Listener

Direct Connect

Module: directconnect

Dedicated network connection to AWS.

import { directconnect } from "@pulumi/aws";

new directconnect.Connection("connection", { bandwidth, location, name, ... });
new directconnect.Gateway("gateway", { amazonSideAsn, name, ... });
new directconnect.GatewayAssociation("assoc", { dxGatewayId, associatedGatewayId, ... });
new directconnect.PrivateVirtualInterface("vif", { connectionId, vlan, bgpAsn, ... });

Key Resources: Connection, Gateway, PrivateVirtualInterface

Transit Gateway

Module: ec2transitgateway

Network transit hub.

import { ec2transitgateway } from "@pulumi/aws";

new ec2transitgateway.TransitGateway("tgw", { amazonSideAsn, ... });
new ec2transitgateway.VpcAttachment("vpc-attach", { subnetIds, transitGatewayId, vpcId, ... });
new ec2transitgateway.RouteTable("rt", { transitGatewayId, ... });
new ec2transitgateway.Route("route", { destinationCidrBlock, transitGatewayAttachmentId, transitGatewayRouteTableId, ... });
new ec2transitgateway.PeeringAttachment("peering", { peerTransitGatewayId, transitGatewayId, ... });

Key Resources: TransitGateway, VpcAttachment, RouteTable, Route

Global Accelerator

Module: globalaccelerator

Improve application availability and performance.

import { globalaccelerator } from "@pulumi/aws";

new globalaccelerator.Accelerator("accelerator", { name, enabled, ipAddressType, ... });
new globalaccelerator.Listener("listener", { acceleratorArn, portRanges, protocol, ... });
new globalaccelerator.EndpointGroup("endpoint-group", { listenerArn, endpointGroupRegion, endpointConfigurations, ... });

Key Resources: Accelerator, Listener, EndpointGroup


Security, Identity & Compliance

IAM (Identity and Access Management)

Module: iam

Users, roles, policies, and permissions.

import { iam } from "@pulumi/aws";

// Users and groups
new iam.User("user", { name, ... });
new iam.Group("group", { name, ... });
new iam.GroupMembership("membership", { group, users, ... });
new iam.AccessKey("key", { user });

// Roles
new iam.Role("role", { assumeRolePolicy, ... });
new iam.RolePolicy("inline-policy", { role, policy, ... });
new iam.RolePolicyAttachment("attach", { role, policyArn });

// Policies
new iam.Policy("policy", { name, policy, ... });
new iam.PolicyAttachment("attach", { policyArn, users, roles, groups, ... });

// Instance profiles
new iam.InstanceProfile("profile", { role, ... });

// Identity providers
new iam.OpenIdConnectProvider("oidc", { url, clientIdLists, thumbprintLists, ... });
new iam.SamlProvider("saml", { name, samlMetadataDocument });

// Service-linked roles
new iam.ServiceLinkedRole("slr", { awsServiceName, ... });

Key Resources: Role, User, Policy, Group, RolePolicyAttachment, InstanceProfile

Full IAM Documentation

KMS (Key Management Service)

Module: kms

Encryption key management.

import { kms } from "@pulumi/aws";

new kms.Key("key", { description, keyUsage, customerMasterKeySpec, ... });
new kms.Alias("alias", { name, targetKeyId });
new kms.Grant("grant", { keyId, granteePrincipal, operations, ... });
new kms.KeyPolicy("policy", { keyId, policy });
new kms.ExternalKey("external", { ... });
new kms.ReplicaKey("replica", { primaryKeyArn, ... });

Key Resources: Key, Alias, Grant, KeyPolicy

Full KMS Documentation

Secrets Manager

Module: secretsmanager

Secrets storage and rotation.

import { secretsmanager } from "@pulumi/aws";

new secretsmanager.Secret("secret", { name, description, ... });
new secretsmanager.SecretVersion("version", { secretId, secretString, ... });
new secretsmanager.SecretRotation("rotation", { secretId, rotationLambdaArn, rotationRules, ... });
new secretsmanager.SecretPolicy("policy", { secretArn, policy });

Key Resources: Secret, SecretVersion, SecretRotation

Full Secrets Manager Documentation

ACM (Certificate Manager)

Module: acm

SSL/TLS certificate management.

import { acm } from "@pulumi/aws";

new acm.Certificate("cert", { domainName, validationMethod, subjectAlternativeNames, ... });
new acm.CertificateValidation("validation", { certificateArn, validationRecordFqdns, ... });

Key Resources: Certificate, CertificateValidation

Security Hub

Module: securityhub

Security posture management.

import { securityhub } from "@pulumi/aws";

new securityhub.Account("account", {});
new securityhub.StandardsSubscription("standards", { standardsArn });
new securityhub.FindingAggregator("aggregator", { linkingMode, ... });
new securityhub.ActionTarget("action", { identifier, name, description });
new securityhub.Insight("insight", { filters, groupByAttribute, name, ... });

Key Resources: Account, StandardsSubscription, FindingAggregator

Full Security Hub Documentation

GuardDuty

Module: guardduty

Threat detection service.

import { guardduty } from "@pulumi/aws";

new guardduty.Detector("detector", { enable: true, ... });
new guardduty.Filter("filter", { detectorId, name, action, findingCriteria, ... });
new guardduty.IPSet("ipset", { detectorId, format, location, name, ... });
new guardduty.ThreatIntelSet("threats", { detectorId, format, location, name, ... });
new guardduty.Member("member", { accountId, detectorId, email, ... });

Key Resources: Detector, Filter, IPSet, ThreatIntelSet

Full GuardDuty Documentation

WAF (Web Application Firewall)

Modules: waf, wafregional, wafv2

Web application protection.

import { wafv2 } from "@pulumi/aws";

new wafv2.WebAcl("acl", { scope, defaultAction, rules, visibilityConfig, ... });
new wafv2.RuleGroup("rules", { capacity, scope, visibilityConfig, ... });
new wafv2.IpSet("ipset", { scope, ipAddressVersion, addresses, ... });
new wafv2.RegexPatternSet("regex", { scope, regularExpressions, ... });
new wafv2.WebAclAssociation("assoc", { resourceArn, webAclArn });

Key Resources: WebAcl, RuleGroup, IpSet

Full WAF Documentation

Shield

Module: shield

DDoS protection.

import { shield } from "@pulumi/aws";

new shield.Protection("protection", { name, resourceArn, ... });
new shield.ProtectionGroup("group", { aggregation, pattern, protectionGroupId, ... });
new shield.Subscription("subscription", {});

Key Resources: Protection, ProtectionGroup, Subscription

Cognito

Module: cognito

User authentication and authorization.

import { cognito } from "@pulumi/aws";

// User pools
new cognito.UserPool("pool", { name, ... });
new cognito.UserPoolClient("client", { userPoolId, ... });
new cognito.UserPoolDomain("domain", { domain, userPoolId, ... });
new cognito.User("user", { userPoolId, username, ... });
new cognito.UserGroup("group", { name, userPoolId, ... });

// Identity pools
new cognito.IdentityPool("identity", { identityPoolName, allowUnauthenticatedIdentities, ... });
new cognito.IdentityPoolRoleAttachment("roles", { identityPoolId, roles, ... });
new cognito.IdentityProvider("provider", { providerName, providerType, userPoolId, ... });

Key Resources: UserPool, UserPoolClient, IdentityPool, User, UserGroup

Macie

Module: macie2

Data security and privacy service.

import { macie2 } from "@pulumi/aws";

new macie2.Account("account", {});
new macie2.ClassificationJob("job", { jobType, s3JobDefinition, ... });
new macie2.Member("member", { accountId, email, ... });

Key Resources: Account, ClassificationJob, Member

Inspector

Module: inspector2

Vulnerability management.

import { inspector2 } from "@pulumi/aws";

new inspector2.Enabler("enabler", { accountIds, resourceTypes, ... });
new inspector2.DelegatedAdminAccount("admin", { accountId });
new inspector2.MemberAssociation("member", { accountId });

Key Resources: Enabler, DelegatedAdminAccount, MemberAssociation


Management & Governance

CloudWatch

Module: cloudwatch

Monitoring, logging, and alarms.

import { cloudwatch } from "@pulumi/aws";

// Logs
new cloudwatch.LogGroup("logs", { name, retentionInDays, ... });
new cloudwatch.LogStream("stream", { logGroupName, name });
new cloudwatch.LogSubscriptionFilter("filter", { logGroupName, filterPattern, destinationArn, ... });
new cloudwatch.LogMetricFilter("metric", { logGroupName, pattern, metricTransformation, ... });

// Alarms
new cloudwatch.MetricAlarm("alarm", { comparisonOperator, evaluationPeriods, metricName, namespace, threshold, ... });
new cloudwatch.CompositeAlarm("composite", { alarmName, alarmRule, ... });

// Dashboards
new cloudwatch.Dashboard("dashboard", { dashboardName, dashboardBody });

// Events
new cloudwatch.EventRule("rule", { eventPattern, scheduleExpression, ... });
new cloudwatch.EventTarget("target", { rule, arn, ... });
new cloudwatch.EventBus("bus", { name, ... });
new cloudwatch.EventConnection("connection", { authorizationType, authParameters, ... });

Key Resources: LogGroup, MetricAlarm, Dashboard, EventRule, EventBus

Full CloudWatch Documentation

CloudTrail

Module: cloudtrail

API activity logging.

import { cloudtrail } from "@pulumi/aws";

new cloudtrail.Trail("trail", { s3BucketName, ... });
new cloudtrail.EventDataStore("datastore", { name, ... });

Key Resources: Trail, EventDataStore

AWS Config

Module: cfg

Resource configuration tracking.

import { cfg } from "@pulumi/aws";

new cfg.Recorder("recorder", { name, roleArn, ... });
new cfg.DeliveryChannel("channel", { name, s3BucketName, ... });
new cfg.Rule("rule", { name, source, ... });
new cfg.RemediationConfiguration("remediation", { configRuleName, targetType, targetIdentifier, ... });

Key Resources: Recorder, DeliveryChannel, Rule, RemediationConfiguration

Systems Manager (SSM)

Module: ssm

Operations management.

import { ssm } from "@pulumi/aws";

// Parameters
new ssm.Parameter("param", { name, type, value, ... });

// Documents
new ssm.Document("doc", { documentType, content, ... });

// Maintenance windows
new ssm.MaintenanceWindow("window", { name, schedule, duration, cutoff, ... });
new ssm.MaintenanceWindowTarget("target", { windowId, resourceType, targets, ... });
new ssm.MaintenanceWindowTask("task", { windowId, taskType, taskArn, ... });

// Patch management
new ssm.PatchBaseline("baseline", { name, operatingSystem, approvalRules, ... });
new ssm.PatchGroup("group", { baselineId, patchGroup });

// Associations
new ssm.Association("assoc", { name, targets, ... });

Key Resources: Parameter, Document, MaintenanceWindow, PatchBaseline

CloudFormation

Module: cloudformation

Infrastructure as code templates.

import { cloudformation } from "@pulumi/aws";

new cloudformation.Stack("stack", { name, templateBody, parameters, ... });
new cloudformation.StackSet("stackset", { name, templateBody, ... });
new cloudformation.StackSetInstance("instance", { stackSetName, accountId, region, ... });

Key Resources: Stack, StackSet, StackSetInstance

Organizations

Module: organizations

Multi-account management.

import { organizations } from "@pulumi/aws";

new organizations.Organization("org", { featureSet, ... });
new organizations.Account("account", { name, email, ... });
new organizations.OrganizationalUnit("ou", { name, parentId, ... });
new organizations.Policy("policy", { name, type, content, ... });
new organizations.PolicyAttachment("attach", { policyId, targetId });

Key Resources: Organization, Account, OrganizationalUnit, Policy

Service Catalog

Module: servicecatalog

IT service management.

import { servicecatalog } from "@pulumi/aws";

new servicecatalog.Portfolio("portfolio", { name, providerName, ... });
new servicecatalog.Product("product", { name, owner, type, provisioningArtifactParameters, ... });
new servicecatalog.ProductPortfolioAssociation("assoc", { portfolioId, productId });
new servicecatalog.ProvisionedProduct("provisioned", { name, productId, ... });

Key Resources: Portfolio, Product, ProvisionedProduct

Resource Groups

Module: resourcegroups

Organize AWS resources.

import { resourcegroups } from "@pulumi/aws";

new resourcegroups.Group("group", { name, resourceQuery, ... });
new resourcegroups.Resource("resource", { groupArn, resourceArn });

Key Resources: Group, Resource


Analytics

Athena

Module: athena

Serverless SQL query service.

import { athena } from "@pulumi/aws";

new athena.Database("db", { name, bucket, ... });
new athena.Workgroup("workgroup", { name, configuration, ... });
new athena.NamedQuery("query", { database, name, query, ... });
new athena.DataCatalog("catalog", { name, type, ... });

Key Resources: Database, Workgroup, NamedQuery, DataCatalog

EMR (Elastic MapReduce)

Module: emr

Big data processing with Hadoop/Spark.

import { emr } from "@pulumi/aws";

new emr.Cluster("cluster", { name, releaseLabel, applications, ec2Attributes, serviceRole, ... });
new emr.InstanceGroup("group", { clusterId, instanceType, ... });
new emr.SecurityConfiguration("security", { configuration, ... });
new emr.Studio("studio", { name, authMode, vpcId, workspaceSecurityGroupId, ... });

Key Resources: Cluster, InstanceGroup, SecurityConfiguration

Glue

Module: glue

ETL and data catalog service.

import { glue } from "@pulumi/aws";

// Data catalog
new glue.CatalogDatabase("db", { name, ... });
new glue.CatalogTable("table", { databaseName, name, ... });
new glue.Crawler("crawler", { databaseName, role, targets, ... });

// Jobs
new glue.Job("job", { name, roleArn, command, ... });
new glue.Trigger("trigger", { name, type, actions, ... });
new glue.Workflow("workflow", { name, ... });

// Connections
new glue.Connection("connection", { connectionProperties, connectionType, ... });

Key Resources: CatalogDatabase, CatalogTable, Job, Crawler

Kinesis

Module: kinesis

Real-time data streaming.

import { kinesis } from "@pulumi/aws";

new kinesis.Stream("stream", { name, shardCount, ... });
new kinesis.StreamConsumer("consumer", { name, streamArn });
new kinesis.FirehoseDeliveryStream("firehose", { name, destination, ... });
new kinesis.AnalyticsApplication("analytics", { name, inputs, outputs, ... });
new kinesis.VideoStream("video", { name, dataRetentionInHours, ... });

Key Resources: Stream, FirehoseDeliveryStream, StreamConsumer

MSK (Managed Streaming for Kafka)

Module: msk

Managed Apache Kafka.

import { msk } from "@pulumi/aws";

new msk.Cluster("kafka", { clusterName, kafkaVersion, numberOfBrokerNodes, brokerNodeGroupInfo, ... });
new msk.ServerlessCluster("serverless", { clusterName, vpcConfigs, ... });
new msk.Configuration("config", { kafkaVersions, serverProperties, ... });

Key Resources: Cluster, ServerlessCluster, Configuration

OpenSearch (formerly Elasticsearch)

Module: opensearch

Search and analytics engine.

import { opensearch } from "@pulumi/aws";

new opensearch.Domain("domain", { domainName, engineVersion, clusterConfig, ... });
new opensearch.ServerlessCollection("collection", { name, type, ... });
new opensearch.DomainPolicy("policy", { domainName, accessPolicies });

Key Resources: Domain, ServerlessCollection

QuickSight

Module: quicksight

Business intelligence service.

import { quicksight } from "@pulumi/aws";

new quicksight.DataSource("datasource", { dataSourceId, name, type, ... });
new quicksight.DataSet("dataset", { dataSetId, name, importMode, physicalTableMap, ... });
new quicksight.Dashboard("dashboard", { dashboardId, name, sourceEntity, ... });
new quicksight.Analysis("analysis", { analysisId, name, sourceEntity, ... });

Key Resources: DataSource, DataSet, Dashboard, Analysis

Lake Formation

Module: lakeformation

Data lake management.

import { lakeformation } from "@pulumi/aws";

new lakeformation.DataLakeSettings("settings", { admins, ... });
new lakeformation.Resource("resource", { arn, ... });
new lakeformation.Permissions("perms", { principal, resource, permissions, ... });
new lakeformation.LfTag("tag", { key, values, ... });

Key Resources: DataLakeSettings, Resource, Permissions, LfTag


Application Integration

SNS (Simple Notification Service)

Module: sns

Pub/sub messaging.

import { sns } from "@pulumi/aws";

new sns.Topic("topic", { name, ... });
new sns.TopicSubscription("sub", { topic, protocol, endpoint, ... });
new sns.TopicPolicy("policy", { arn, policy });
new sns.PlatformApplication("app", { name, platform, platformCredential, ... });

Key Resources: Topic, TopicSubscription, TopicPolicy

Full SNS Documentation

SQS (Simple Queue Service)

Module: sqs

Message queuing.

import { sqs } from "@pulumi/aws";

new sqs.Queue("queue", { name, delaySeconds, visibilityTimeoutSeconds, ... });
new sqs.QueuePolicy("policy", { queueUrl, policy });
new sqs.RedrivePolicy("redrive", { queueUrl, redrivePolicy });
new sqs.RedriveAllowPolicy("allow", { queueUrl, redriveAllowPolicy });

Key Resources: Queue, QueuePolicy

Full SQS Documentation

EventBridge

Module: cloudwatch (events)

Event bus for application integration.

import { cloudwatch } from "@pulumi/aws";

new cloudwatch.EventBus("bus", { name, ... });
new cloudwatch.EventRule("rule", { eventBusName, eventPattern, scheduleExpression, ... });
new cloudwatch.EventTarget("target", { rule, arn, ... });
new cloudwatch.EventArchive("archive", { eventSourceArn, ... });
new cloudwatch.EventConnection("connection", { authorizationType, authParameters, ... });

Key Resources: EventBus, EventRule, EventTarget

Step Functions

Module: sfn

Workflow orchestration.

import { sfn } from "@pulumi/aws";

new sfn.StateMachine("statemachine", { definition, roleArn, ... });
new sfn.Activity("activity", { name, ... });
new sfn.Alias("alias", { name, routingConfiguration, ... });

Key Resources: StateMachine, Activity

AppSync

Module: appsync

Managed GraphQL API service.

import { appsync } from "@pulumi/aws";

new appsync.GraphQLApi("api", { name, authenticationType, ... });
new appsync.DataSource("datasource", { apiId, name, type, ... });
new appsync.Resolver("resolver", { apiId, type, field, dataSource, ... });
new appsync.Function("function", { apiId, dataSource, name, ... });
new appsync.ApiKey("key", { apiId, ... });

Key Resources: GraphQLApi, DataSource, Resolver

EventBridge Pipes

Module: pipes

Event routing between AWS services.

import { pipes } from "@pulumi/aws";

new pipes.Pipe("pipe", { source, target, ... });

Key Resources: Pipe

MQ (Message Broker)

Module: mq

Managed message broker.

import { mq } from "@pulumi/aws";

new mq.Broker("broker", { brokerName, engineType, engineVersion, hostInstanceType, users, ... });
new mq.Configuration("config", { engineType, engineVersion, data, ... });

Key Resources: Broker, Configuration


Containers

ECS (Elastic Container Service)

See Compute section above.

EKS (Elastic Kubernetes Service)

See Compute section above.

ECR (Container Registry)

Module: ecr

Docker container registry.

import { ecr } from "@pulumi/aws";

new ecr.Repository("repo", { name, imageScanningConfiguration, ... });
new ecr.RepositoryPolicy("policy", { repository, policy });
new ecr.LifecyclePolicy("lifecycle", { repository, policy });
new ecr.RegistryPolicy("registry", { policy });
new ecr.PullThroughCacheRule("cache", { ecrRepositoryPrefix, upstreamRegistryUrl, ... });

Key Resources: Repository, RepositoryPolicy, LifecyclePolicy

App Runner

Module: apprunner

Deploy containerized web applications.

import { apprunner } from "@pulumi/aws";

new apprunner.Service("service", { serviceName, sourceConfiguration, ... });
new apprunner.Connection("connection", { connectionName, providerType, ... });
new apprunner.VpcConnector("connector", { vpcConnectorName, subnets, securityGroups, ... });
new apprunner.AutoScalingConfigurationVersion("autoscaling", { autoScalingConfigurationName, maxConcurrency, maxSize, minSize, ... });

Key Resources: Service, Connection, VpcConnector


Developer Tools

CodeCommit

Module: codecommit

Git repository hosting.

import { codecommit } from "@pulumi/aws";

new codecommit.Repository("repo", { repositoryName, description, ... });
new codecommit.Trigger("trigger", { repositoryName, triggers, ... });
new codecommit.ApprovalRuleTemplate("template", { name, content, ... });

Key Resources: Repository, Trigger, ApprovalRuleTemplate

CodeBuild

Module: codebuild

Build and test code.

import { codebuild } from "@pulumi/aws";

new codebuild.Project("project", { name, source, artifacts, environment, serviceRole, ... });
new codebuild.ReportGroup("reports", { name, type, exportConfig, ... });
new codebuild.Webhook("webhook", { projectName, filterGroups, ... });
new codebuild.Fleet("fleet", { name, baseCapacity, computeType, ... });

Key Resources: Project, ReportGroup, Webhook

CodeDeploy

Module: codedeploy

Automated application deployments.

import { codedeploy } from "@pulumi/aws";

new codedeploy.Application("app", { name, computePlatform, ... });
new codedeploy.DeploymentGroup("group", { appName, deploymentGroupName, serviceRoleArn, ... });
new codedeploy.DeploymentConfig("config", { deploymentConfigName, minimumHealthyHosts, ... });

Key Resources: Application, DeploymentGroup, DeploymentConfig

CodePipeline

Module: codepipeline

Continuous delivery pipelines.

import { codepipeline } from "@pulumi/aws";

new codepipeline.Pipeline("pipeline", { name, roleArn, artifactStore, stages, ... });
new codepipeline.Webhook("webhook", { name, targetPipeline, targetAction, authentication, filters, ... });

Key Resources: Pipeline, Webhook

CodeArtifact

Module: codeartifact

Software package management.

import { codeartifact } from "@pulumi/aws";

new codeartifact.Domain("domain", { domain, ... });
new codeartifact.Repository("repo", { repository, domain, ... });
new codeartifact.RepositoryPermissionsPolicy("policy", { repository, domain, policyDocument, ... });

Key Resources: Domain, Repository


Machine Learning

SageMaker

Module: sagemaker

Machine learning platform.

import { sagemaker } from "@pulumi/aws";

// Models and endpoints
new sagemaker.Model("model", { name, executionRoleArn, primaryContainer, ... });
new sagemaker.EndpointConfiguration("config", { name, productionVariants, ... });
new sagemaker.Endpoint("endpoint", { name, endpointConfigName, ... });

// Notebooks
new sagemaker.NotebookInstance("notebook", { name, roleArn, instanceType, ... });

// Domains
new sagemaker.Domain("domain", { domainName, authMode, vpcId, subnetIds, defaultUserSettings, ... });
new sagemaker.UserProfile("profile", { domainId, userProfileName, ... });
new sagemaker.Space("space", { domainId, spaceName, ... });
new sagemaker.App("app", { domainId, userProfileName, appType, appName, ... });

// Pipelines and features
new sagemaker.Pipeline("pipeline", { pipelineName, pipelineDefinition, roleArn, ... });
new sagemaker.FeatureGroup("features", { featureGroupName, recordIdentifierFeatureName, eventTimeFeatureName, ... });

Key Resources: Model, Endpoint, NotebookInstance, Domain, Pipeline

Bedrock

Module: bedrock

Foundation models and generative AI.

import { bedrock } from "@pulumi/aws";

new bedrock.AgentAgent("agent", { agentName, foundationModel, ... });
new bedrock.AgentKnowledgeBase("kb", { knowledgeBaseName, roleArn, ... });
new bedrock.AgentDataSource("datasource", { knowledgeBaseId, name, ... });
new bedrock.Guardrail("guardrail", { name, blockedInputMessaging, blockedOutputsMessaging, ... });
new bedrock.CustomModel("custommodel", { baseModelIdentifier, jobName, outputDataConfig, ... });

Key Resources: AgentAgent, AgentKnowledgeBase, Guardrail, CustomModel

Rekognition

Module: rekognition

Image and video analysis.

import { rekognition } from "@pulumi/aws";

new rekognition.Collection("collection", { collectionId });
new rekognition.Project("project", { name, ... });
new rekognition.StreamProcessor("processor", { name, input, output, roleArn, settings, ... });

Key Resources: Collection, Project, StreamProcessor


Migration & Transfer

DMS (Database Migration Service)

Module: dms

Database migration.

import { dms } from "@pulumi/aws";

new dms.ReplicationInstance("instance", { replicationInstanceClass, replicationInstanceId, ... });
new dms.Endpoint("endpoint", { endpointId, endpointType, engineName, ... });
new dms.ReplicationTask("task", { replicationTaskId, replicationInstanceArn, sourceEndpointArn, targetEndpointArn, migrationType, tableMappings, ... });
new dms.ReplicationSubnetGroup("subnet", { replicationSubnetGroupId, subnetIds, ... });

Key Resources: ReplicationInstance, Endpoint, ReplicationTask

DataSync

Module: datasync

Data transfer service.

import { datasync } from "@pulumi/aws";

new datasync.Agent("agent", { activationKey, ... });
new datasync.Task("task", { sourceLocationArn, destinationLocationArn, ... });
new datasync.S3Location("s3", { s3BucketArn, s3Config, ... });
new datasync.EfsLocation("efs", { efsFileSystemArn, ec2Config, ... });
new datasync.NfsLocation("nfs", { serverHostname, subdirectory, onPremConfig, ... });

Key Resources: Task, Agent, S3Location, EfsLocation

Transfer Family

Module: transfer

File transfer service (SFTP, FTPS, FTP).

import { transfer } from "@pulumi/aws";

new transfer.Server("server", { protocols, identityProviderType, ... });
new transfer.User("user", { serverId, userName, role, homeDirectory, ... });
new transfer.SshKey("key", { serverId, userName, body });
new transfer.Workflow("workflow", { steps, ... });

Key Resources: Server, User, Workflow


Media Services

MediaConvert

Module: mediaconvert

Video transcoding.

import { mediaconvert } from "@pulumi/aws";

new mediaconvert.Queue("queue", { name, ... });

Key Resources: Queue

MediaLive

Module: medialive

Live video processing.

import { medialive } from "@pulumi/aws";

new medialive.Channel("channel", { name, channelClass, destinations, encoderSettings, inputAttachments, ... });
new medialive.Input("input", { name, type, ... });
new medialive.InputSecurityGroup("sg", { whitelistRules, ... });
new medialive.Multiplex("multiplex", { name, availabilityZones, multiplexSettings, ... });

Key Resources: Channel, Input, Multiplex

MediaPackage

Module: mediapackage

Video origination and packaging.

import { mediapackage } from "@pulumi/aws";

new mediapackage.Channel("channel", { channelId, description, ... });
new mediapackage.OriginEndpoint("endpoint", { channelId, id, ... });

Key Resources: Channel, OriginEndpoint

Elastic Transcoder

Module: elastictranscoder

Media transcoding.

import { elastictranscoder } from "@pulumi/aws";

new elastictranscoder.Pipeline("pipeline", { inputBucket, name, role, ... });
new elastictranscoder.Preset("preset", { container, name, ... });

Key Resources: Pipeline, Preset


End User Computing

WorkSpaces

Module: workspaces

Virtual desktops.

import { workspaces } from "@pulumi/aws";

new workspaces.Directory("directory", { directoryId, subnetIds, ... });
new workspaces.Workspace("workspace", { bundleId, directoryId, userName, ... });
new workspaces.IpGroup("ipgroup", { name, rules, ... });

Key Resources: Directory, Workspace, IpGroup

AppStream 2.0

Module: appstream

Application streaming service.

import { appstream } from "@pulumi/aws";

new appstream.Fleet("fleet", { name, computeCapacity, instanceType, ... });
new appstream.Stack("stack", { name, ... });
new appstream.FleetStackAssociation("assoc", { fleetName, stackName });
new appstream.ImageBuilder("builder", { instanceType, name, ... });
new appstream.User("user", { authenticationType, userName, ... });

Key Resources: Fleet, Stack, ImageBuilder, User


Business Applications

Connect

Module: connect

Cloud contact center.

import { connect } from "@pulumi/aws";

new connect.Instance("instance", { identityManagementType, inboundCallsEnabled, outboundCallsEnabled, ... });
new connect.ContactFlow("flow", { instanceId, name, type, content, ... });
new connect.Queue("queue", { instanceId, name, hoursOfOperationId, ... });
new connect.User("user", { instanceId, name, phoneConfig, routingProfileId, securityProfileIds, ... });
new connect.PhoneNumber("phone", { countryCode, targetArn, type, ... });

Key Resources: Instance, ContactFlow, Queue, User, PhoneNumber


IoT

IoT Core

Module: iot

Internet of Things platform.

import { iot } from "@pulumi/aws";

new iot.Thing("thing", { name, ... });
new iot.ThingType("type", { name, ... });
new iot.ThingGroup("group", { name, ... });
new iot.Certificate("cert", { csr, ... });
new iot.Policy("policy", { name, policy, ... });
new iot.PolicyAttachment("attach", { policy, target });
new iot.TopicRule("rule", { name, enabled, sql, sqlVersion, actions, ... });

Key Resources: Thing, Certificate, Policy, TopicRule


See Also

Install with Tessl CLI

npx tessl i tessl/npm-pulumi--aws

docs

index.md

quickstart.md

README.md

tile.json