Manage Deadline Cloud infrastructure as code
You can define AWS Deadline Cloud (Deadline Cloud) farms, queues, and fleets as code. Deploy them with AWS CloudFormation (CloudFormation), the AWS Cloud Development Kit (AWS CDK), or Terraform. All three tools build on the same Deadline Cloud resource types, so they create equivalent infrastructure. Choose the tool your team already uses to manage the rest of your AWS infrastructure.
The following table compares the three tools. The sections after the table describe
each tool and link to a working starter template in the
deadline-cloud-samples
| Aspect | CloudFormation | AWS CDK | Terraform |
|---|---|---|---|
Authoring |
YAML or JSON template |
A programming language such as TypeScript or Python, compiled to a CloudFormation template |
HCL configuration |
Provider |
AWS native |
AWS native |
HashiCorp AWSCC |
Deadline Cloud resource names |
|
|
|
State |
Managed by AWS |
Managed by AWS |
Local or remote backend |
CloudFormation
CloudFormation provides native resource types for Deadline Cloud in the AWS::Deadline
namespace. For the properties and return values of each resource type, see
AWS Deadline Cloud in the CloudFormation Template Reference.
For working templates that deploy a complete farm, connect fleets to private VPC resources, and manage capacity, see CloudFormation template examples for Deadline Cloud.
AWS CDK
With the AWS CDK, you define Deadline Cloud resources using L1 constructs, such as
CfnFarm, CfnQueue, and CfnFleet, from the
aws-cdk-lib/aws-deadline
module. The constructs are generated from the CloudFormation resource types, and your AWS CDK app
deploys as a CloudFormation stack.
For a working TypeScript app with four example farm stacks built from reusable constructs, see Deploy Deadline Cloud farms with the AWS CDK.
Terraform
Terraform supports Deadline Cloud through the
AWS Cloud Control (AWSCC) providerawscc_deadline_farm, awscc_deadline_queue, and
awscc_deadline_fleet. The AWSCC provider is generated from the CloudFormation
resource types through AWS Cloud Control API, so it covers the same resources as CloudFormation. The
hashicorp/aws provider doesn't include Deadline Cloud resources.
For working configurations, including a starter farm equivalent to the CloudFormation and AWS CDK versions, see Deploy Deadline Cloud farms with Terraform.
Resources outside your templates
The Deadline Cloud resource types cover farms, queues, fleets, queue environments, storage profiles, limits, license endpoints, metered products, monitors, and the associations between queues and fleets or limits. For the full list, see AWS Deadline Cloud in the CloudFormation Template Reference.
A few resources don't have resource types, so you manage them with the console, the AWS CLI, or the API after your deployment completes:
-
Budgets – Create budgets for your farms and queues with budget manager. For more information, see Managing budgets and usage in the Deadline Cloud User Guide.
-
Memberships – Grant users and groups access to farms, fleets, queues, and jobs. For more information, see Managing users in the Deadline Cloud User Guide.