Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): 1.108.0 #15045

Merged
merged 43 commits into from
Jun 9, 2021
Merged

chore(release): 1.108.0 #15045

merged 43 commits into from
Jun 9, 2021

Conversation

aws-cdk-automation
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation commented Jun 9, 2021

See CHANGELOG

mergify bot and others added 30 commits June 2, 2021 19:52
Assign new module ownerships
Fix #14757

Expands on #14772

Currently get the following error when bundling with `pnpm-lock.yaml`
```
ERROR   ERROR  Unknown options: 'bundle', 'target', 'platform', 'outfile', 'external:aws-sdk'
```

----


Switch from `pnpm run esbuild` to `pnpm exec esbuild --` to properly enable esbuild with `pnpm`

`pnpm run` only supports running commands defined in the package's manifest file - [docs](https://pnpm.io/cli/run)

`pnpm exec` supports executing a shell command in scope of a project - [docs](https://pnpm.io/cli/exec)



----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Fixes #8905

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…authorizer (#14904)

The default authorizer worked by passing the authorizer config to routes in the api by the addRoutes method.

We completely forgot about the use case of the default integration, so currently using default integration + default authorizer does not create an authorizer.

This PR fixes the bug and allows using default authorizer + default integration as expected.

Reported by #10534 (comment)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This is part 1 of adding support from converting L1 resources to L2 without making them immutable in the process.
Next phase after this will be adding support for `Bucket.fromCfnBucket()`
(which will use the method from KMS defined here).

Related issues: #9719 #14795 #14809

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Fixes #13618

This PR adds support for ECS exec command. It adds necessary IAM permissions for the AWS Systems Manager (SSM) to enable exec and also adds IAM permissions for allowing the exec command result logs to be routed to either CloudWatch logs/ S3 Bucket or both.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…14942)

In response to a support request from a customer, updates the description for the catalogID property to mention it is usually the AWS account ID, using the same wording used to describe the property on the corresponding properties interface.
Fixed some documenations typos. 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Simple typo fix: assemly -> assembly

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…ys (#14962)

To prevent errors like #14909.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This commit adds a new, optional `mfaMessage` to Cognito UserPools.

Fixes: #14084

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…14816)

Fixes #14815

Cross account docker images fail to upload when using modern stack and assumed roles.

Similar to the fix in afd7045 only perform the account lookup when required


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Fixes #14752

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…14662)

Using a common docker asset as base image for other docker assets requires
the image publishing role to have the `ecr:BatchGetImage`, `ecr:GetDownloadUrlForLayer`
and `ecr:InitiateLayerUpload` permissions.

Closes #14656


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Implements: #14346

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
No need to warn the user if the `addEgressRule()` call came from a
`allowTo()` or ` allowFrom()` call because he can't do anything about
it.

Closes #13523


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Event Bridge transformers have been updated to support embedded variable replacement within strings within objects. 

```
{
   data: "some string <myValue>"
}
```

Previously input transformers only supported string when they were the only value of an object, or just static strings.

```
// Before Event Bridges's change
{
   data: <myValue>, // OK
   data2: "some string", // OK
   data3: "some string <myValue>" // NOT OK 
}
```

The CDK solution was to assume that developers knew this restriction, wrap the string variable in special characters, and replace the double quotes plus special character set with nothing after token replacement.

This caused issues like #9191. Where string tokens (`EventField`) within a string would give a cryptic error during Cfn deployment due the resulting invalid object string generated (missing a closing double quote and leaving the special characters behind). 

### Solution:

Removed the special character sequence addition and stripping and instead only replace any instances of `"<myValue>"` that are added.

* Iterate over the known input transform keys to reduce possible unexpected impact and give developers a backdoor to change their keys in the worst case.
* Edge Case: `"<myValue>"` can appear with escaped quote sequences `"something \"quoted\"<myValue>"`. This is a valid string variable replacement case. Used a lookback regex (`(?<!\\\\)\"\<${key}\>\"`) to avoid the prefix escaped quote when replacing transform input keys with quote-less keys. 

### Tradeoffs

Removed the addition of special characters to find the keys in the final json string. Instead search for the specific pattern of transform input keys that should exist within the output and handle the edge case describe above.

This SHOULD cover all edge cases as it is not valid to have a trailing quote without an escape (`"<myValue>"" //not valid`) and it is not valid to have a prefix quote that is not escaped (`""<myValue>" // not valid`).

This was done to reduce the small change of overlapping with a developer's content, to be more targeted, and because the above should prove that the edge case is covered.


https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html

fixes #9191



----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Check against AWS SDK that the given service and action exist. If a service acronym is supplied check if it needs to be uppercased, e.g. rds to RDS. Fixes #13090.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…scription (#14839)

It ain't much, but it's honest work -- I only noticed it cause I've been going down a rabbit hole of defining EMR cluster steps in CDK this week.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Our `yarn-upgrade` workflow is failing with:

```console
@lerna/[email protected] ✔

**ERROR** Failed to apply patch for package jsii-rosetta at path
  
    node_modules/jsii-rosetta

  This error was caused because jsii-rosetta has changed since you
  made the patch file for it. This introduced conflicts with your patch,
  just like a merge conflict in Git when separate incompatible changes are
  made to the same piece of code.
```

Basically, its not able to apply the [rosetta patch](https://github.com/aws/aws-cdk/blob/master/patches/jsii-rosetta%2B1.28.0.patch) anymore since a new version of `jsii-rosetta` has been released which creates conflicts. 

The new version of rosetta [addresses](aws/jsii#2816) the problem the patch was trying to solve, so it is no longer needed (yey). 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Ran npm-check-updates and yarn upgrade to keep the `yarn.lock` file up-to-date.
The hard coding of the cdk version ssm parameter limits custom bootstrap configurations.  In a managed account environment, the naming may not conform to environment requirements, preventing cdk bootstrap deployment.  By also allowing the parameter name to be customized, multiple bootstrap stacks could exist in the same environment, which can enable more granular management of the bootstrap resources.

This implementation resolves the issue by allowing the ssm parameter name to be customized through the same mechanism as other default/modern synthesizer parameters.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…ork (#12131)

Added support to pass a custom role to the provider which the lambda will use. Can be used a.o. to pass a permission boundary.

closes #12126


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…14573)

This should fix  #14572.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
BREAKING CHANGE: `imageScanningConfiguration` property of `ecr.CfnRepository` now accepts `scanOnPush` instead of `ScanOnPush` (notice the casing change).
This PR adds support for DS records.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
jogold and others added 11 commits June 7, 2021 17:35
Add an alias target for a Route53 record.

Closes #14800


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…t a circular reference (#14628)

Popping the current node from `visited` array after finishing visiting it in `recurseObject` method. This allows another reference to the same object to happen on a different object path (currently being swallowed).

Created unit test before making any code changes to verify the failure scenario on the expected behavior before fixing it.

fixes #14596 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
)

Using cdk we can enable access logs for elb.Loadbalancer
fixes #14972

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
If a property override added an `IResolvable` as the value,
it would not be resolved,
but instead treated as a CloudFormation object when rendering the resource's properties,
which would lead to some weird behavior
(the properties of the `IResolvable` would be merged into the template).
This was noticed by a customer using CFN-Include.

As a solution, resolve the overrides before merging them with the properties of the resource.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…: Access Denied" case (#14986)

Related to #14944

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Since python bundles use source hashes (and as a general best practice), add a recommendation to use a dependency lockfile.

Fixes #14607
Fixes #14895


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
… Cluster (#15012)

Previously, adding/enabling Fargate capacity providers would add the FARGATE and FARGATE_SPOT capacity providers a part of the [capacityProviders field](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-capacityproviders) on the ECS::Cluster resource. However, ASG Capacity Providers can only be specified as part of the [capacityProviders field on the ECS::ClusterCapacityProviderAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html#cfn-ecs-clustercapacityproviderassociations-capacityproviders)
resource, due to circular dependency issues.

However, when a cluster is created, any capacity providers regardless of type must all be specified *either* on the cluster *or* as a ClusterCapacityProviderAssociation.  Therefore, in order to support both types on the same cluster, Fargate capacity providers must also be specified as a ClusterCapacityProviderAssociation.

This change removes the Fargate capacity providers from the Cluster resource and adds them as a ClusterCapacityProviderAssociation.

Fixes #14730.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…FargateService props (#14831)

This PR allows the loadbalancer name to be passed to the ApplicationLoadBalancedFargateService. This PR just exposes a prop from the ApplicationLoadBalancer construct.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…4783)

I have the need to pass docker labels to containers created with the ECS Patterns L3 construct.  There wasn't an easy way to add them after construction and passing an entire TaskDefinition seemed suboptimal.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation aws-cdk-automation added the pr/no-squash This PR should be merged instead of squash-merging it label Jun 9, 2021
@gitpod-io
Copy link

gitpod-io bot commented Jun 9, 2021

CHANGELOG.md Outdated Show resolved Hide resolved
@mergify
Copy link
Contributor

mergify bot commented Jun 9, 2021

Thank you for contributing! Your pull request will be automatically updated and merged without squashing (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation
Copy link
Collaborator Author

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildProject89A8053A-LhjRyN9kxr8o
  • Commit ID: 4efd095
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@njlynch njlynch merged commit b23f781 into release Jun 9, 2021
@njlynch njlynch deleted the bump/1.108.0 branch June 9, 2021 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr/no-squash This PR should be merged instead of squash-merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.