Skip to content

Commit

Permalink
Merge pull request #784 from aws/bump/1.0.0
Browse files Browse the repository at this point in the history
chore(release): 1.0.0
  • Loading branch information
jusiskin committed Aug 30, 2022
2 parents 141d281 + 5ccea2f commit 4c94a65
Show file tree
Hide file tree
Showing 225 changed files with 7,263 additions and 11,734 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ yarn-error.log

#Defines license that must be present
!license-header.js

# Visual Studio Code working space
.vscode/
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,46 @@

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.

## [1.0.0](https://github.com/aws/aws-rfdk/compare/v0.42.0...v1.0.0) (2022-08-30)

This release marks the first official stable release of RFDK. All RFDK APIs in this release are
considered to be stable and will only be removed through a deprecation process that allows
consumers to phase out their usage for at least one **minor** RFDK version.

**NOTE:** Future minor RFDK releases may still introduce backwards-incompatible breaking
changes. RFDK will continue to announce these breaking changes in this CHANGELOG and on each
GitHub release along with documentation and guidance on navigating the change.

### Supported CDK Version

* [2.33.0](https://github.com/aws/aws-cdk/releases/tag/v2.33.0)


### Officially Supported Deadline Versions

* [10.1.9.2 to 10.1.23.6](https://docs.thinkboxsoftware.com/products/deadline/10.1/1_User%20Manual/manual/release-notes.html)


### ⚠ BREAKING CHANGES

This change migrates the RFDK to be based on CDK v2.
All apps that adopt RFDK 1.x will have to be migrated to CDK v2 as well.
To update your app, follow the [CDK v2 migration guide](https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html).

Additional breaking changes:

* **deadline:** 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.

### Features

* **all:** migrate to CDKv2 ([#738](https://github.com/aws/aws-rfdk/issues/738)) ([7c06857](https://github.com/aws/aws-rfdk/commit/7c06857f6315dcd59ccb3ac0c12f7094ef6be706))
* **deadline:** adds UserData property to WorkerInstanceFleet ([#781](https://github.com/aws/aws-rfdk/issues/781)) ([b7e48b0](https://github.com/aws/aws-rfdk/commit/b7e48b04f09f504d4fd85ed61f3befc8ec843e55))
* **deadline:** update to Deadline licensing terms ([#742](https://github.com/aws/aws-rfdk/issues/742)) ([03bc8ee](https://github.com/aws/aws-rfdk/commit/03bc8ee2e02bbf88df92b0cebef41a765c39a906))

## [0.42.0](https://github.com/aws/aws-rfdk/compare/v0.41.0...v0.42.0) (2022-06-18)


Expand Down
10 changes: 8 additions & 2 deletions bump.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@
# --------------------------------------------------------------------------------------------------

set -euxo pipefail
version=${1:-minor}
current_version=$(node -p "require('./package.json').version")
if test "${current_version}" = "0.42.0"; then
# The version after 0.42.0 will be 1.0.0
version=${1:-major}
else
version=${1:-minor}
fi

cd "$(dirname "$0")"

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

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

Expand Down
2 changes: 0 additions & 2 deletions clean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ echo "Cleaning base directory and tools..."

# Installation directories
rm -rf ./node_modules/
rm -rf ./tools/awslint/node_modules/
rm -rf ./tools/cdk-build-tools/node_modules/
rm -rf ./tools/pkglint/node_modules/

# Build files
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
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
13 changes: 0 additions & 13 deletions examples/deadline/All-In-AWS-Infrastructure-Basic/python/cdk.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
{
"app": "python -m package.app",
"context": {
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true,
"@aws-cdk/core:enableStackNameDuplicates": true,
"aws-cdk:enableDiffNoFail": true,
"@aws-cdk/core:stackRelativeExports": true,
"@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true,
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true,
"@aws-cdk/aws-kms:defaultKeyPolicies": true,
"@aws-cdk/aws-s3:grantWriteWithoutAcl": true,
"@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": true,
"@aws-cdk/aws-rds:lowercaseDbIdentifier": true,
"@aws-cdk/aws-efs:defaultEncryptionAtRest": true,
"@aws-cdk/aws-lambda:recognizeVersionProps": true,
"@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import os

from aws_cdk.core import (
from aws_cdk import (
App,
Environment
)
Expand Down 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 All @@ -46,6 +45,7 @@ def __init__(self):
self.deadline_client_linux_ami_map: Mapping[str, str] = {'us-west-2': 'ami-04ae356533dc07fb5'}

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
Optional
)

from aws_cdk.core import (
Construct,
from aws_cdk import (
Stack,
StackProps
)
Expand All @@ -35,6 +34,9 @@
UsageBasedLicensing,
WorkerInstanceFleet,
)
from constructs import (
Construct
)


from . import subnets
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

from aws_cdk.core import (
from aws_cdk import (
Stack,
Construct
)

from aws_cdk.aws_ec2 import (
FlowLogDestination,
FlowLogTrafficType,
Expand All @@ -15,10 +13,12 @@
SubnetSelection,
SubnetType
)

from aws_cdk.aws_route53 import (
PrivateHostedZone
)
from constructs import (
Construct
)

from . import subnets

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

from aws_cdk.core import (
Construct,
from aws_cdk import (
Stack,
)
from aws_rfdk import (
DistinguishedName,
X509CertificatePem
)
from constructs import (
Construct
)


class SecurityTier(Stack):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
import typing
from dataclasses import dataclass

from aws_cdk.core import (
Construct,
from aws_cdk import (
Duration,
Stack,
StackProps
Expand All @@ -26,15 +25,14 @@
from aws_cdk.aws_route53 import (
IPrivateHostedZone
)

from aws_rfdk import (
DistinguishedName,
MountableEfs,
SessionManagerHelper,
X509CertificatePem
)
from aws_rfdk.deadline import (
AwsThinkboxEulaAcceptance,
AwsCustomerAgreementAndIpLicenseAcceptance,
DatabaseConnection,
RenderQueue,
RenderQueueHostNameProps,
Expand All @@ -47,6 +45,10 @@
UsageBasedLicensing,
VersionQuery,
)
from constructs import (
Construct
)


from . import subnets

Expand All @@ -72,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 @@ -153,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 Expand Up @@ -222,7 +224,7 @@ def __init__(self, scope: Construct, stack_id: str, *, props: ServiceTierProps,
if props.ubl_licenses:
if not props.ubl_certs_secret_arn:
raise ValueError('UBL certificates secret ARN is required when using UBL but was not specified.')
ubl_cert_secret = Secret.from_secret_arn(self, 'ublcertssecret', props.ubl_certs_secret_arn)
ubl_cert_secret = Secret.from_secret_complete_arn(self, 'ublcertssecret', props.ubl_certs_secret_arn)
self.ubl_licensing = UsageBasedLicensing(
self,
'UsageBasedLicensing',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
from dataclasses import dataclass
from typing import Optional

from aws_cdk.core import (
Construct,
from aws_cdk import (
Duration,
RemovalPolicy,
Size,
Expand Down Expand Up @@ -52,7 +51,6 @@
from aws_cdk.aws_sns_subscriptions import (
EmailSubscription
)

from aws_rfdk import (
MongoDbUsers,
MongoDbX509User,
Expand All @@ -67,10 +65,12 @@
X509CertificatePem,
X509CertificatePkcs12
)

from aws_rfdk.deadline import (
DatabaseConnection
)
from constructs import (
Construct
)

from . import subnets

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
packages=setuptools.find_packages(where="package"),

install_requires=[
"aws-cdk.core==1.160.0",
"aws-rfdk==0.42.0"
"aws-cdk-lib==2.33.0",
"aws-rfdk==1.0.0"
],

python_requires=">=3.7",
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
Loading

0 comments on commit 4c94a65

Please sign in to comment.