Skip to content

Commit

Permalink
feat(deadline): update to Deadline licensing terms
Browse files Browse the repository at this point in the history
The licensing terms of Deadline are changing with the release of
Deadline 10.1.23. With that, the RFDK needs to be afirming agreement
with different licensing terms. These licensing terms are being made
retroactively to all past versions of Deadline as well.
  • Loading branch information
Daniel Neilson committed Jul 28, 2022
1 parent 7c06857 commit 031d5d7
Show file tree
Hide file tree
Showing 28 changed files with 209 additions and 176 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,12 @@ 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. You must read and accept the [AWS Customer Agreement](https://aws.amazon.com/agreement/) and
[AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/) to deploy and run Deadline.
To do so, change the value of the `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_ACCEPTS_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,16 @@ 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.
# Users must explicitly accept both the AWS Customer Agreement and AWS Intellectual Property
# License before using the AWS Thinkbox Deadline container images.
# Change this value to AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
# to signify your acceptance of both the AWS Customer Agreement and AWS Intellectual Property License, and to proceed
# with Deadline deployment.
#
# 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
# See:
# * AWS Customer Agreement: https://aws.amazon.com/agreement/
# * AWS Intellectual Property License: https://aws.amazon.com/legal/aws-ip-license-terms/
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
14 changes: 5 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,14 @@ 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. You must read and accept the [AWS Customer Agreement](https://aws.amazon.com/agreement/) and
[AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/) to deploy and run Deadline.
To do so, change the value of the `acceptAwsCustomerAgreementAndIpLicense` in `bin/config.ts` like this:
```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_ACCEPTS_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
16 changes: 10 additions & 6 deletions examples/deadline/All-In-AWS-Infrastructure-Basic/ts/bin/config.ts
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,17 @@ 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.
* Users must explicitly accept both the AWS Customer Agreement and AWS Intellectual Property
* License before using the AWS Thinkbox Deadline container images.
* Change this value to AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
* to signify your acceptance of both the AWS Customer Agreement and AWS Intellectual Property License, and to proceed
* with Deadline deployment.
*
* See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
* See:
* * AWS Customer Agreement: https://aws.amazon.com/agreement/
* * AWS Intellectual Property License: https://aws.amazon.com/legal/aws-ip-license-terms/
*/
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
6 changes: 4 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,12 @@ 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. You must read and accept the [AWS Customer Agreement](https://aws.amazon.com/agreement/) and
[AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/) to deploy and run Deadline.
To do so, change the value of the `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_ACCEPTS_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
16 changes: 10 additions & 6 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,16 @@ 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.
# Users must explicitly accept both the AWS Customer Agreement and AWS Intellectual Property
# License before using the AWS Thinkbox Deadline container images.
# Change this value to AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
# to signify your acceptance of both the AWS Customer Agreement and AWS Intellectual Property License, and to proceed
# with Deadline deployment.
#
# 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
# See:
# * AWS Customer Agreement: https://aws.amazon.com/agreement/
# * AWS Intellectual Property License: https://aws.amazon.com/legal/aws-ip-license-terms/
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
6 changes: 4 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,12 @@ 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. You must read and accept the [AWS Customer Agreement](https://aws.amazon.com/agreement/) and
[AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/) to deploy and run Deadline.
To do so, change the value of the `acceptAwsCustomerAgreementAndIpLicense` in `bin/config.ts` like this:

```ts
public readonly acceptAwsThinkboxEula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA;
public readonly acceptAwsCustomerAgreementAndIpLicense: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_ACCEPTS_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 031d5d7

Please sign in to comment.