Skip to content

Commit

Permalink
feat(deadline): update to Deadline licensing terms (#742)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: The `userAwsThinkboxEulaAcceptance` property of the `ThinkboxDockerImages`
construct has been removed and replaced with `userAwsCustomerAgreementAndIpLicenseAcceptance`.
The licensing terms of Deadline have been retroactively changed with the
release of Deadline 10.1.23, and these new terms must be agreed to by a
code change in your applications.
  • Loading branch information
ddneilson authored Jul 29, 2022
1 parent cda09ba commit 03bc8ee
Show file tree
Hide file tree
Showing 28 changed files with 182 additions and 184 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,13 @@ These instructions assume that your working directory is `examples/deadline/All-
popd
pip install ../../../../dist/python/aws-rfdk-<version>.tar.gz
```
4. You must read and accept the [AWS Thinkbox End-User License Agreement (EULA)](https://www.awsthinkbox.com/end-user-license-agreement) to deploy and run Deadline. To do so, change the value of the `accept_aws_thinkbox_eula` in `package/config.py`:
4. By downloading or using the Deadline software, you agree to the [AWS Customer Agreement](https://aws.amazon.com/agreement/)
and [AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
is AWS Content as defined in those Agreements.
To accept these terms, change the value of `accept_aws_customer_agreement_and_ip_license` in `package/config.py`:

```py
# Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA
# for Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before
# using the AWS Thinkbox Deadline container images.
#
# See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
self.accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA
self.accept_aws_customer_agreement_and_ip_license: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
```
5. Change the value of the `deadline_version` variable in `package/config.py` to specify the desired version of Deadline to be deployed to your render farm. RFDK is compatible with Deadline versions 10.1.9.x and later. To see the available versions of Deadline, consult the [Deadline release notes](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html). It is recommended to use the latest version of Deadline available when building your farm, but to pin this version when the farm is ready for production use. For example, to pin to the latest `10.1.12.x` release of Deadline, use:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def main():
root_ca=security.root_ca,
dns_zone=network.dns_zone,
deadline_version=config.deadline_version,
accept_aws_thinkbox_eula=config.accept_aws_thinkbox_eula,
user_aws_customer_agreement_and_ip_license_acceptance=config.accept_aws_customer_agreement_and_ip_license,
enable_secrets_management=config.enable_secrets_management,
secrets_management_secret_arn=config.secrets_management_secret_arn
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from aws_rfdk import MongoDbSsplLicenseAcceptance
from aws_rfdk.deadline import (
AwsThinkboxEulaAcceptance,
AwsCustomerAgreementAndIpLicenseAcceptance,
UsageBasedLicense
)

Expand All @@ -21,12 +21,11 @@ class AppConfig:
TODO: Fill these in with your own values.
"""
def __init__(self):
# Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA
# for Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before
# using the AWS Thinkbox Deadline container images.
#
# See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
self.accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA
# By downloading or using the Deadline software, you agree to the AWS Customer Agreement (https://aws.amazon.com/agreement/)
# and AWS Intellectual Property License (https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
# is AWS Content as defined in those Agreements.
# To accept these terms, change the value here to AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
self.accept_aws_customer_agreement_and_ip_license: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE

# Fill this in if you want to receive alarm emails when:
# 1) You are crossing thresholds on decreasing burst Credits on the Amazon EFS that is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
X509CertificatePem
)
from aws_rfdk.deadline import (
AwsThinkboxEulaAcceptance,
AwsCustomerAgreementAndIpLicenseAcceptance,
DatabaseConnection,
RenderQueue,
RenderQueueHostNameProps,
Expand Down Expand Up @@ -74,8 +74,8 @@ class ServiceTierProps(StackProps):
dns_zone: IPrivateHostedZone
# Version of Deadline to use
deadline_version: str
# Whether the AWS Thinkbox End-User License Agreement is accepted or not
accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance
# Whether the AWS Customer Agreement and AWS Intellectual Property License are agreed to.
user_aws_customer_agreement_and_ip_license_acceptance: AwsCustomerAgreementAndIpLicenseAcceptance
# Whether to enable Deadline Secrets Management.
enable_secrets_management: bool
# The ARN of the AWS Secret containing the admin credentials for Deadline Secrets Management.
Expand Down Expand Up @@ -155,7 +155,7 @@ def __init__(self, scope: Construct, stack_id: str, *, props: ServiceTierProps,
self,
'Images',
version=self.version,
user_aws_thinkbox_eula_acceptance=props.accept_aws_thinkbox_eula
user_aws_customer_agreement_and_ip_license_acceptance=props.user_aws_customer_agreement_and_ip_license_acceptance
)

server_cert = X509CertificatePem(
Expand Down
15 changes: 6 additions & 9 deletions examples/deadline/All-In-AWS-Infrastructure-Basic/ts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,15 @@ These instructions assume that your working directory is `examples/deadline/All-
```
yarn install
```
3. You must read and accept the [AWS Thinkbox End-User License Agreement (EULA)](https://www.awsthinkbox.com/end-user-license-agreement) to deploy and run Deadline. To do so, change the value of the `acceptAwsThinkboxEula` in `bin/config.ts`:
3. By downloading or using the Deadline software, you agree to the [AWS Customer Agreement](https://aws.amazon.com/agreement/)
and [AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
is AWS Content as defined in those Agreements.
To accept these terms, change the value of `acceptAwsCustomerAgreementAndIpLicense` in `bin/config.ts`:

```ts
/**
* Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA for
* Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before using the
* AWS Thinkbox Deadline container images.
*
* See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
*/
public readonly acceptAwsThinkboxEula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA;
public readonly acceptAwsCustomerAgreementAndIpLicense: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE;
```

4. Change the value of the `deadlineVersion` variable in `bin/config.ts` to specify the desired version of Deadline to be deployed to your render farm. RFDK is compatible with Deadline versions 10.1.9.x and later. To see the available versions of Deadline, consult the [Deadline release notes](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html). It is recommended to use the latest version of Deadline available when building your farm, but to pin this version when the farm is ready for production use. For example, to pin to the latest `10.1.12.x` release of Deadline, use:

```ts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ const service = new ServiceTier(app, 'ServiceTier', {
ublLicenses: config.ublLicenses,
rootCa: security.rootCa,
dnsZone: network.dnsZone,
acceptAwsThinkboxEula: config.acceptAwsThinkboxEula,
userAwsCustomerAgreementAndIpLicenseAcceptance: config.acceptAwsCustomerAgreementAndIpLicense,
enableSecretsManagement: config.enableSecretsManagement,
secretsManagementSecretArn: config.secretsManagementSecretArn
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import 'source-map-support/register';
import { UsageBasedLicense } from 'aws-rfdk/deadline';
import { MongoDbSsplLicenseAcceptance } from 'aws-rfdk';
import { AwsThinkboxEulaAcceptance } from 'aws-rfdk/deadline';
import { AwsCustomerAgreementAndIpLicenseAcceptance } from 'aws-rfdk/deadline';

/**
* Configuration values for the sample app.
Expand All @@ -15,13 +15,12 @@ import { AwsThinkboxEulaAcceptance } from 'aws-rfdk/deadline';
*/
class AppConfig {
/**
* Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA for
* Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before using the
* AWS Thinkbox Deadline container images.
*
* See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
* By downloading or using the Deadline software, you agree to the AWS Customer Agreement (https://aws.amazon.com/agreement/)
* and AWS Intellectual Property License (https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
* is AWS Content as defined in those Agreements.
* To accept these terms, change the value here to AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
*/
public readonly acceptAwsThinkboxEula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA;
public readonly acceptAwsCustomerAgreementAndIpLicense: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE;

/**
* Fill this in if you want to receive alarm emails when:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import {
X509CertificatePem,
} from 'aws-rfdk';
import {
AwsThinkboxEulaAcceptance,
AwsCustomerAgreementAndIpLicenseAcceptance,
DatabaseConnection,
RenderQueue,
Repository,
Expand Down Expand Up @@ -85,9 +85,9 @@ export interface ServiceTierProps extends cdk.StackProps {
readonly deadlineVersion?: string;

/**
* Whether the AWS Thinkbox End-User License Agreement is accepted or not
* Whether the AWS Customer Agreement and AWS Intellectual Property License are agreed to.
*/
readonly acceptAwsThinkboxEula: AwsThinkboxEulaAcceptance;
readonly userAwsCustomerAgreementAndIpLicenseAcceptance: AwsCustomerAgreementAndIpLicenseAcceptance;

/**
* Whether to enable Deadline Secrets Management.
Expand Down Expand Up @@ -182,7 +182,7 @@ export class ServiceTier extends cdk.Stack {

const images = new ThinkboxDockerImages(this, 'Images', {
version: this.version,
userAwsThinkboxEulaAcceptance: props.acceptAwsThinkboxEula,
userAwsCustomerAgreementAndIpLicenseAcceptance: props.userAwsCustomerAgreementAndIpLicenseAcceptance,
});

const serverCert = new X509CertificatePem(this, 'RQCert', {
Expand Down
7 changes: 5 additions & 2 deletions examples/deadline/EC2-Image-Builder/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,13 @@ These instructions assume that your working directory is `examples/deadline/EC2-
pip install ../../../../dist/python/aws-rfdk-<version>.tar.gz
```

4. You must read and accept the [AWS Thinkbox End-User License Agreement (EULA)](https://www.awsthinkbox.com/end-user-license-agreement) to deploy and run Deadline. To do so, change the value of the `accept_aws_thinkbox_eula` in `package/config.py` like this:
4. By downloading or using the Deadline software, you agree to the [AWS Customer Agreement](https://aws.amazon.com/agreement/)
and [AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
is AWS Content as defined in those Agreements.
To accept these terms, change the value of `accept_aws_customer_agreement_and_ip_license` in `package/config.py`:

```py
self.accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA
self.accept_aws_customer_agreement_and_ip_license: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
```

5. Change the value of the `deadline_version` variable in `package/config.py` to specify the desired version of Deadline to be deployed to your render farm. RFDK is compatible with Deadline versions 10.1.9.x and later. To see the available versions of Deadline, consult the [Deadline release notes](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html). It is recommended to use the latest version of Deadline available when building your farm, but to pin this version when the farm is ready for production use. For example, to pin to the `10.1.13` release of Deadline, use `10.1.13.2`.
Expand Down
2 changes: 1 addition & 1 deletion examples/deadline/EC2-Image-Builder/python/package/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def main():

farm_props = base_farm_stack.BaseFarmStackProps(
deadline_version=config.deadline_version,
accept_aws_thinkbox_eula=config.accept_aws_thinkbox_eula
accept_aws_customer_agreement_and_ip_license=config.accept_aws_customer_agreement_and_ip_license
)
farm_stack = base_farm_stack.BaseFarmStack(app, 'BaseFarmStack', props=farm_props, env=env)

Expand Down
13 changes: 6 additions & 7 deletions examples/deadline/EC2-Image-Builder/python/package/config.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

from aws_rfdk.deadline import AwsThinkboxEulaAcceptance
from aws_rfdk.deadline import AwsCustomerAgreementAndIpLicenseAcceptance

class AppConfig:
"""
Expand All @@ -10,12 +10,11 @@ class AppConfig:
TODO: Fill these in with your own values.
"""
def __init__(self):
# Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA for
# Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before using the
# AWS Thinkbox Deadline container images.
#
# See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
self.accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA
# By downloading or using the Deadline software, you agree to the AWS Customer Agreement (https://aws.amazon.com/agreement/)
# and AWS Intellectual Property License (https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
# is AWS Content as defined in those Agreements.
# To accept these terms, change the value here to AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
self.accept_aws_customer_agreement_and_ip_license: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE

# The version of Deadline to install on the AMI. This can be either a partial version that will use the latest patch, such as
# '10.1' or '10.1.13', or a full version that will be pinned to a specific patch release, such as '10.1.13.1'.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
Vpc,
)
from aws_rfdk.deadline import (
AwsThinkboxEulaAcceptance,
AwsCustomerAgreementAndIpLicenseAcceptance,
RenderQueue,
Repository,
RepositoryRemovalPolicies,
Expand All @@ -26,8 +26,8 @@

@dataclass
class BaseFarmStackProps(StackProps):
# Whether the AWS Thinkbox End-User License Agreement is accepted or not
accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance
# Whether the AWS Customer Agreement and AWS Intellectual Property License are agreed to.
accept_aws_customer_agreement_and_ip_license: AwsCustomerAgreementAndIpLicenseAcceptance

# Version of Deadline to use
deadline_version: str
Expand Down Expand Up @@ -61,7 +61,7 @@ def __init__(self, scope: Construct, stack_id: str, *, props: BaseFarmStackProps
self,
'Images',
version=version,
user_aws_thinkbox_eula_acceptance=props.accept_aws_thinkbox_eula,
user_aws_customer_agreement_and_ip_license_acceptance=props.accept_aws_customer_agreement_and_ip_license,
)

repository = Repository(
Expand Down
7 changes: 5 additions & 2 deletions examples/deadline/EC2-Image-Builder/ts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@ These instructions assume that your working directory is `examples/deadline/EC2-
---
1. This sample app on the `mainline` branch may contain features that have not yet been officially released, and may not be available in the `aws-rfdk` package installed through npm from npmjs. To work from an example of the latest release, please switch to the `release` branch. If you would like to try out unreleased features, you can stay on `mainline` and follow the instructions for building and using the `aws-rfdk` from your local repository.

2. You must read and accept the [AWS Thinkbox End-User License Agreement (EULA)](https://www.awsthinkbox.com/end-user-license-agreement) to deploy and run Deadline. To do so, change the value of the `acceptAwsThinkboxEula` in `bin/config.ts` like this:
2. By downloading or using the Deadline software, you agree to the [AWS Customer Agreement](https://aws.amazon.com/agreement/)
and [AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
is AWS Content as defined in those Agreements.
To accept these terms, change the value of `acceptAwsCustomerAgreementAndIpLicense` in `bin/config.ts`:

```ts
public readonly acceptAwsThinkboxEula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA;
public readonly acceptAwsCustomerAgreementAndIpLicense: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE;
```

3. Change the value of the `deadlineVersion` variable in `bin/config.ts` to specify the desired version of Deadline to be deployed to your render farm. RFDK is compatible with Deadline versions 10.1.9.x and later. To see the available versions of Deadline, consult the [Deadline release notes](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html). It is recommended to use the latest version of Deadline available when building your farm, but to pin this version when the farm is ready for production use. For example, to pin to the `10.1.13` release of Deadline, use `10.1.13.2`.
Expand Down
2 changes: 1 addition & 1 deletion examples/deadline/EC2-Image-Builder/ts/bin/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const app = new cdk.App();
const baseFarm = new BaseFarmStack(app, 'BaseFarmStack', {
env,
deadlineVersion: config.deadlineVersion,
acceptAwsThinkboxEula: config.acceptAwsThinkboxEula,
userAwsCustomerAgreementAndIpLicenseAcceptance: config.acceptAwsCustomerAgreementAndIpLicense,
});

new ComputeStack(app, 'ComputeStack', {
Expand Down
Loading

0 comments on commit 03bc8ee

Please sign in to comment.