Skip to content

Commit 4c94a65

Browse files
authored
Merge pull request #784 from aws/bump/1.0.0
chore(release): 1.0.0
2 parents 141d281 + 5ccea2f commit 4c94a65

File tree

225 files changed

+7263
-11734
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+7263
-11734
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ yarn-error.log
1212

1313
#Defines license that must be present
1414
!license-header.js
15+
16+
# Visual Studio Code working space
17+
.vscode/

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [1.0.0](https://github.com/aws/aws-rfdk/compare/v0.42.0...v1.0.0) (2022-08-30)
6+
7+
This release marks the first official stable release of RFDK. All RFDK APIs in this release are
8+
considered to be stable and will only be removed through a deprecation process that allows
9+
consumers to phase out their usage for at least one **minor** RFDK version.
10+
11+
**NOTE:** Future minor RFDK releases may still introduce backwards-incompatible breaking
12+
changes. RFDK will continue to announce these breaking changes in this CHANGELOG and on each
13+
GitHub release along with documentation and guidance on navigating the change.
14+
15+
### Supported CDK Version
16+
17+
* [2.33.0](https://github.com/aws/aws-cdk/releases/tag/v2.33.0)
18+
19+
20+
### Officially Supported Deadline Versions
21+
22+
* [10.1.9.2 to 10.1.23.6](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html)
23+
24+
25+
### ⚠ BREAKING CHANGES
26+
27+
This change migrates the RFDK to be based on CDK v2.
28+
All apps that adopt RFDK 1.x will have to be migrated to CDK v2 as well.
29+
To update your app, follow the [CDK v2 migration guide](https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html).
30+
31+
Additional breaking changes:
32+
33+
* **deadline:** The `userAwsThinkboxEulaAcceptance` property of the `ThinkboxDockerImages`
34+
construct has been removed and replaced with `userAwsCustomerAgreementAndIpLicenseAcceptance`.
35+
The licensing terms of Deadline have been retroactively changed with the
36+
release of Deadline 10.1.23, and these new terms must be agreed to by a
37+
code change in your applications.
38+
39+
### Features
40+
41+
* **all:** migrate to CDKv2 ([#738](https://github.com/aws/aws-rfdk/issues/738)) ([7c06857](https://github.com/aws/aws-rfdk/commit/7c06857f6315dcd59ccb3ac0c12f7094ef6be706))
42+
* **deadline:** adds UserData property to WorkerInstanceFleet ([#781](https://github.com/aws/aws-rfdk/issues/781)) ([b7e48b0](https://github.com/aws/aws-rfdk/commit/b7e48b04f09f504d4fd85ed61f3befc8ec843e55))
43+
* **deadline:** update to Deadline licensing terms ([#742](https://github.com/aws/aws-rfdk/issues/742)) ([03bc8ee](https://github.com/aws/aws-rfdk/commit/03bc8ee2e02bbf88df92b0cebef41a765c39a906))
44+
545
## [0.42.0](https://github.com/aws/aws-rfdk/compare/v0.41.0...v0.42.0) (2022-06-18)
646

747

bump.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@
1818
# --------------------------------------------------------------------------------------------------
1919

2020
set -euxo pipefail
21-
version=${1:-minor}
21+
current_version=$(node -p "require('./package.json').version")
22+
if test "${current_version}" = "0.42.0"; then
23+
# The version after 0.42.0 will be 1.0.0
24+
version=${1:-major}
25+
else
26+
version=${1:-minor}
27+
fi
2228

2329
cd "$(dirname "$0")"
2430

@@ -66,7 +72,7 @@ deadline_version_section="\n\n\n### Officially Supported Deadline Versions\n\n*
6672
sed -i "s|\($version_header\)|\1$deadline_version_section|" ./CHANGELOG.md
6773

6874
# Add a section to the changelog that state the version of CDK being used
69-
cdk_version=$(node -p "require('./package.json').devDependencies['aws-cdk']")
75+
cdk_version=$(node -p "require('./package.json').devDependencies['aws-cdk-lib']")
7076
cdk_version_section="\n\n\n### Supported CDK Version\n\n* [$cdk_version](https://github.com/aws/aws-cdk/releases/tag/v$cdk_version)"
7177
sed -i "s|\($version_header\)|\1$cdk_version_section|" ./CHANGELOG.md
7278

clean.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ echo "Cleaning base directory and tools..."
55

66
# Installation directories
77
rm -rf ./node_modules/
8-
rm -rf ./tools/awslint/node_modules/
9-
rm -rf ./tools/cdk-build-tools/node_modules/
108
rm -rf ./tools/pkglint/node_modules/
119

1210
# Build files
File renamed without changes.
File renamed without changes.
File renamed without changes.

examples/deadline/All-In-AWS-Infrastructure-Basic/python/README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,13 @@ These instructions assume that your working directory is `examples/deadline/All-
3232
popd
3333
pip install ../../../../dist/python/aws-rfdk-<version>.tar.gz
3434
```
35-
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`:
35+
4. By downloading or using the Deadline software, you agree to the [AWS Customer Agreement](https://aws.amazon.com/agreement/)
36+
and [AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
37+
is AWS Content as defined in those Agreements.
38+
To accept these terms, change the value of `accept_aws_customer_agreement_and_ip_license` in `package/config.py`:
3639

3740
```py
38-
# Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA
39-
# for Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before
40-
# using the AWS Thinkbox Deadline container images.
41-
#
42-
# See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
43-
self.accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA
41+
self.accept_aws_customer_agreement_and_ip_license: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE
4442
```
4543
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:
4644

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
11
{
22
"app": "python -m package.app",
33
"context": {
4-
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true,
5-
"@aws-cdk/core:enableStackNameDuplicates": true,
6-
"aws-cdk:enableDiffNoFail": true,
7-
"@aws-cdk/core:stackRelativeExports": true,
8-
"@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true,
9-
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true,
10-
"@aws-cdk/aws-kms:defaultKeyPolicies": true,
11-
"@aws-cdk/aws-s3:grantWriteWithoutAcl": true,
12-
"@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": true,
13-
"@aws-cdk/aws-rds:lowercaseDbIdentifier": true,
14-
"@aws-cdk/aws-efs:defaultEncryptionAtRest": true,
15-
"@aws-cdk/aws-lambda:recognizeVersionProps": true,
16-
"@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": true
174
}
185
}

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/app.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import os
77

8-
from aws_cdk.core import (
8+
from aws_cdk import (
99
App,
1010
Environment
1111
)
@@ -113,7 +113,7 @@ def main():
113113
root_ca=security.root_ca,
114114
dns_zone=network.dns_zone,
115115
deadline_version=config.deadline_version,
116-
accept_aws_thinkbox_eula=config.accept_aws_thinkbox_eula,
116+
user_aws_customer_agreement_and_ip_license_acceptance=config.accept_aws_customer_agreement_and_ip_license,
117117
enable_secrets_management=config.enable_secrets_management,
118118
secrets_management_secret_arn=config.secrets_management_secret_arn
119119
)

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/config.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from aws_rfdk import MongoDbSsplLicenseAcceptance
1111
from aws_rfdk.deadline import (
12-
AwsThinkboxEulaAcceptance,
12+
AwsCustomerAgreementAndIpLicenseAcceptance,
1313
UsageBasedLicense
1414
)
1515

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

3130
# Fill this in if you want to receive alarm emails when:
3231
# 1) You are crossing thresholds on decreasing burst Credits on the Amazon EFS that is
@@ -46,6 +45,7 @@ def __init__(self):
4645
self.deadline_client_linux_ami_map: Mapping[str, str] = {'us-west-2': 'ami-04ae356533dc07fb5'}
4746

4847
# A secret (in binary form) in SecretsManager that stores the UBL certificates in a .zip file.
48+
# This must be in the format `arn:<partition>:secretsmanager:<region>:<accountId>:secret:<secretName>-<6RandomCharacters`
4949
self.ubl_certificate_secret_arn: str =\
5050
''
5151

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/lib/compute_tier.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
Optional
99
)
1010

11-
from aws_cdk.core import (
12-
Construct,
11+
from aws_cdk import (
1312
Stack,
1413
StackProps
1514
)
@@ -35,6 +34,9 @@
3534
UsageBasedLicensing,
3635
WorkerInstanceFleet,
3736
)
37+
from constructs import (
38+
Construct
39+
)
3840

3941

4042
from . import subnets

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/lib/network_tier.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
from aws_cdk.core import (
4+
from aws_cdk import (
55
Stack,
6-
Construct
76
)
8-
97
from aws_cdk.aws_ec2 import (
108
FlowLogDestination,
119
FlowLogTrafficType,
@@ -15,10 +13,12 @@
1513
SubnetSelection,
1614
SubnetType
1715
)
18-
1916
from aws_cdk.aws_route53 import (
2017
PrivateHostedZone
2118
)
19+
from constructs import (
20+
Construct
21+
)
2222

2323
from . import subnets
2424

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/lib/security_tier.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
from aws_cdk.core import (
5-
Construct,
4+
from aws_cdk import (
65
Stack,
76
)
87
from aws_rfdk import (
98
DistinguishedName,
109
X509CertificatePem
1110
)
11+
from constructs import (
12+
Construct
13+
)
1214

1315

1416
class SecurityTier(Stack):

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/lib/service_tier.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
import typing
55
from dataclasses import dataclass
66

7-
from aws_cdk.core import (
8-
Construct,
7+
from aws_cdk import (
98
Duration,
109
Stack,
1110
StackProps
@@ -26,15 +25,14 @@
2625
from aws_cdk.aws_route53 import (
2726
IPrivateHostedZone
2827
)
29-
3028
from aws_rfdk import (
3129
DistinguishedName,
3230
MountableEfs,
3331
SessionManagerHelper,
3432
X509CertificatePem
3533
)
3634
from aws_rfdk.deadline import (
37-
AwsThinkboxEulaAcceptance,
35+
AwsCustomerAgreementAndIpLicenseAcceptance,
3836
DatabaseConnection,
3937
RenderQueue,
4038
RenderQueueHostNameProps,
@@ -47,6 +45,10 @@
4745
UsageBasedLicensing,
4846
VersionQuery,
4947
)
48+
from constructs import (
49+
Construct
50+
)
51+
5052

5153
from . import subnets
5254

@@ -72,8 +74,8 @@ class ServiceTierProps(StackProps):
7274
dns_zone: IPrivateHostedZone
7375
# Version of Deadline to use
7476
deadline_version: str
75-
# Whether the AWS Thinkbox End-User License Agreement is accepted or not
76-
accept_aws_thinkbox_eula: AwsThinkboxEulaAcceptance
77+
# Whether the AWS Customer Agreement and AWS Intellectual Property License are agreed to.
78+
user_aws_customer_agreement_and_ip_license_acceptance: AwsCustomerAgreementAndIpLicenseAcceptance
7779
# Whether to enable Deadline Secrets Management.
7880
enable_secrets_management: bool
7981
# The ARN of the AWS Secret containing the admin credentials for Deadline Secrets Management.
@@ -153,7 +155,7 @@ def __init__(self, scope: Construct, stack_id: str, *, props: ServiceTierProps,
153155
self,
154156
'Images',
155157
version=self.version,
156-
user_aws_thinkbox_eula_acceptance=props.accept_aws_thinkbox_eula
158+
user_aws_customer_agreement_and_ip_license_acceptance=props.user_aws_customer_agreement_and_ip_license_acceptance
157159
)
158160

159161
server_cert = X509CertificatePem(
@@ -222,7 +224,7 @@ def __init__(self, scope: Construct, stack_id: str, *, props: ServiceTierProps,
222224
if props.ubl_licenses:
223225
if not props.ubl_certs_secret_arn:
224226
raise ValueError('UBL certificates secret ARN is required when using UBL but was not specified.')
225-
ubl_cert_secret = Secret.from_secret_arn(self, 'ublcertssecret', props.ubl_certs_secret_arn)
227+
ubl_cert_secret = Secret.from_secret_complete_arn(self, 'ublcertssecret', props.ubl_certs_secret_arn)
226228
self.ubl_licensing = UsageBasedLicensing(
227229
self,
228230
'UsageBasedLicensing',

examples/deadline/All-In-AWS-Infrastructure-Basic/python/package/lib/storage_tier.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
from dataclasses import dataclass
66
from typing import Optional
77

8-
from aws_cdk.core import (
9-
Construct,
8+
from aws_cdk import (
109
Duration,
1110
RemovalPolicy,
1211
Size,
@@ -52,7 +51,6 @@
5251
from aws_cdk.aws_sns_subscriptions import (
5352
EmailSubscription
5453
)
55-
5654
from aws_rfdk import (
5755
MongoDbUsers,
5856
MongoDbX509User,
@@ -67,10 +65,12 @@
6765
X509CertificatePem,
6866
X509CertificatePkcs12
6967
)
70-
7168
from aws_rfdk.deadline import (
7269
DatabaseConnection
7370
)
71+
from constructs import (
72+
Construct
73+
)
7474

7575
from . import subnets
7676

@@ -231,8 +231,7 @@ def add_low_efs_burst_credit_alarms(self, filesystem: FileSystem, email_address:
231231
'SNSEncryptionKey',
232232
description='Used to encrypt the SNS Topic for sending EFS Burst Credit alerts',
233233
enable_key_rotation=True,
234-
removal_policy=RemovalPolicy.DESTROY,
235-
trust_account_identities=True
234+
removal_policy=RemovalPolicy.DESTROY
236235
)
237236
key.grant(ServicePrincipal('cloudwatch.amazonaws.com'), 'kms:Decrypt', 'kms:GenerateDataKey')
238237

examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
packages=setuptools.find_packages(where="package"),
1818

1919
install_requires=[
20-
"aws-cdk.core==1.160.0",
21-
"aws-rfdk==0.42.0"
20+
"aws-cdk-lib==2.33.0",
21+
"aws-rfdk==1.0.0"
2222
],
2323

2424
python_requires=">=3.7",

examples/deadline/All-In-AWS-Infrastructure-Basic/ts/README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,15 @@ These instructions assume that your working directory is `examples/deadline/All-
1818
```
1919
yarn install
2020
```
21-
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`:
21+
3. By downloading or using the Deadline software, you agree to the [AWS Customer Agreement](https://aws.amazon.com/agreement/)
22+
and [AWS Intellectual Property License](https://aws.amazon.com/legal/aws-ip-license-terms/). You acknowledge that Deadline
23+
is AWS Content as defined in those Agreements.
24+
To accept these terms, change the value of `acceptAwsCustomerAgreementAndIpLicense` in `bin/config.ts`:
2225
2326
```ts
24-
/**
25-
* Change this value to AwsThinkboxEulaAcceptance.USER_ACCEPTS_AWS_THINKBOX_EULA if you wish to accept the EULA for
26-
* Deadline and proceed with Deadline deployment. Users must explicitly accept the AWS Thinkbox EULA before using the
27-
* AWS Thinkbox Deadline container images.
28-
*
29-
* See https://www.awsthinkbox.com/end-user-license-agreement for the terms of the agreement.
30-
*/
31-
public readonly acceptAwsThinkboxEula: AwsThinkboxEulaAcceptance = AwsThinkboxEulaAcceptance.USER_REJECTS_AWS_THINKBOX_EULA;
27+
public readonly acceptAwsCustomerAgreementAndIpLicense: AwsCustomerAgreementAndIpLicenseAcceptance = AwsCustomerAgreementAndIpLicenseAcceptance.USER_REJECTS_AWS_CUSTOMER_AGREEMENT_AND_IP_LICENSE;
3228
```
29+
3330
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:
3431
3532
```ts

0 commit comments

Comments
 (0)