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.88.0 #12859

Merged
merged 37 commits into from
Feb 3, 2021
Merged

chore(release): 1.88.0 #12859

merged 37 commits into from
Feb 3, 2021

Conversation

aws-cdk-automation
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation commented Feb 3, 2021

See CHANGELOG

robertd and others added 30 commits January 27, 2021 11:19
Closes #12323 

BREAKING CHANGE: experimental EdgeFunction stack names have changed from 'edge-lambda-stack-${region}' to 'edge-lambda-stack-${stackid}' to support multiple independent CloudFront distributions with EdgeFunctions.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The CodeGuru profiler is only supported for Java and Python runtimes as
part of its lambda integration.

Codify this into the CDK and add a validation to fail if this is used
with unsupported runtimes.

fixes #12624

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Move `stack.test.ts` to use native jest APIs instead of
`nodeunitshim`.

Motivation
As part of the work for feature flags in v2, it's easier to inject
conditional testing using jest's native APIs than to work with
nodeunitshim.

Nevertheless, we should be using native jest APIs everywhere.


----

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

Fixes #12279

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Adds the new 'ELBSecurityPolicy-FS-1-2-Res-2020-10' SSL policy.

closes #12595


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
feat(aws-route53): cross account DNS delegations

closes #8776

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This, or any other construct that adds Managed Policies to a Role
by default; Managed Policy ARNs need to be deduplicated, otherwise
CloudFormation will throw an error upon creation.

Slightly more complicated than you'd expect in order to deal with
Tokens.

Fixes #12714.


----

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

Fixes #9490

BREAKING CHANGE: the properties virtualRouter and virtualNode of VirtualServiceProps have been replaced with the union-like class VirtualServiceProvider 
* **appmesh**: the method `addVirtualService` has been removed from `IMesh`

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This reverts commit 96cbe32.

The above commit changed the logical id layout of API keys. It turns out
that ApiKey resource types cannot be replaced without explicitly
specifying, and changing, the API key name.

See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-name

fixes #12698

----

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

----

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

We correctly added permissions for SSM and SecretsManager-type environment variables set on the CodeBuild Project itself,
but we forgot that environment variables could also be set on the CodeBuild CodePipeline action.

Fixes #12742

----

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

cc @njlynch 

----

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

Add the platformversion as an extra option to the Fargate Scheduled Task

closes #12623

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
In V2, we want to get rid of the `@aws-cdk/assets` module, as it's considered deprecated in V1.
Unfortunately, the module contains an interface, `CopyOptions`, that is used, through interface inheritance, in the public API of many stable CDK modules like ECS, Lambda, ECR, CodeBuild, etc.

While we have a `CopyOptions` interface in `@aws-cdk/core`, it unfortunately shares the same name, `follow`, with the property in the "old" `CopyOptions`. But the two different `follow` properties have different types.

For that reason, if we're going to remove the "old" `CopyOptions` using JSII's "strip deprecated" option, we can't use the "new" `CopyOptions` in the inheritance hierarchy alongside the "old" `CopyOptions`, as the two definitions of `follow` would conflict.

Because of that, create a new `FileCopyOptions` interface which renames the `follow` property to `followSymlinks`. Also add a `FileFingerprintOptions` interface that does a similar trick to the `FingerprintOptions` interface (which extends `CopyOptions`), which is used in the public API of modules that use Docker assets.

Also extract a few module-private interfaces to avoid duplication of properties between all of these interfaces.

After this change, an interface from one of the non-deprecated assets libraries (S3 or ECR) using `FileOptions` from `@aws-cdk/assets` will look like this:

```ts
// this is in @aws-cdk/aws-s3-assets
export interface AssetOptions extends assets.CopyOptions, cdk.FileCopyOptions, cdk.AssetOptions {
  // ...
```

Then, when we enable stripping the deprecated elements using JSII on the V2 branch, this will be turned to:

```ts
export interface AssetOptions extends cdk.FileCopyOptions, cdk.AssetOptions {
  // ...
```

Allowing us to deprecate the `@aws-cdk/assets` module, and not ship it with `aws-cdk-lib`.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
API for granting permissions to retrieve an authorization token for the [Public ECR Gallery](https://gallery.ecr.aws/), similarly to the [existing API](https://github.com/aws/aws-cdk/blob/master/packages/@aws-cdk/aws-ecr/lib/auth-token.ts) for private ECR registries. 

Also added a note in the README encouraging users to prefer authenticated pulls over anonymous ones to benefit from higher limits.  

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
When we did the changes to fix cloudformation-include in #11595,
we did not account for the fact that the `@aws-cdk/core` is not mapped to `uberpackage/core`,
but instead just to the `uberpackage` root namespace.

Special-case the `@aws-cdk/core` module in ubergen when transforming the `cfn-types-2-classes.json` file.

----

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

Fixes #10170

### Fixes

This PR has been modified so that it does not create a mount target if only VPC is specified in the EFS file system. 

### Bug

Currently, if a VPC is specified and no subnet is specified, the subnet search criteria are passed as undefined, all subnets in the VPC are retrieved, and mount targets are generated for all subnets in the VPC. I will. Since mount targets can only be created in one subnet for each Availability Zone, the above behavior will result in duplicate Availability Zones between mount targets, resulting in an error when creating the mount target.



----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This is created to provide an example of a workaround for #10136

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Allow configuring Permissions Boundaries for an entire subtree using
Aspects, add a sample policy which can be used to reduce future
misconfiguration risk for untrusted CodeBuild projects as an example.

Addresses one part of aws/aws-cdk-rfcs#5.

Fixes #3242.

ALSO IN THIS COMMIT:

Fix a bug in the `assert` library, where `haveResource()` would *never* match
any resource that didn't have a `Properties` block (even if we tested for no property
in particular, or the absence of properties). This fix caused two ECS tests to fail,
which were asserting the wrong thing anyway (both were asserting `notTo(haveResource(...))`
where they actually meant to assert `to(haveResource())`.

----

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

Deadly embrace (<3 who came up with this term) is an issue where a consumer
stack depends on a producer stack via CloudFormation Exports, and you want to
remove the use from the consumer.

Removal of the resource sharing implicitly removes the CloudFormation Export,
but now CloudFormation won't let you deploy that because the deployment order
is always forced to be (1st) producer (2nd) consumer, and when the producer deploys
and tries to remove the Export, the consumer is still using it.

The best way to work around it is to manually ensure the CloudFormation Export
exists while you remove the consuming relationship. @skinny85 has a [blog
post] about this, but the mechanism can be more smooth.

Add a method, `stack.exportValue(...)` which can be used to
create the Export for the duration of the deployment that breaks
the relationship, and add an explanation of how to use it.

Genericize the method a bit so it also solves a long-standing issue about no L2 support for exports.

Fixes #7602, fixes #2036.

[blog post]: https://www.endoflineblog.com/cdk-tips-03-how-to-unblock-cross-stack-references


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This PR recommends NODEJS_12_X instead of NODEJS_10_X for deprecated versions of lambda.Runtime

<details>
<summary>Screenshot</summary>

![Screen Shot 2021-01-26 at 11 10 05 AM](https://user-images.githubusercontent.com/16024985/105892863-44109480-5fc7-11eb-9cb2-c91e8e13d9f3.png)

</details>

Reasons for recommending NODEJS_12_X:
* Node.js 12.x went LTS in October 2019, and has been actively supported till October 2020.
* Node.js 10.x is going end-of-life on April 30th, 2021

https://endoflife.date/nodejs

----

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

Two mistakes in the previous attempt at fixing this (#12594):

* There was a big fat `if (!bootstrapStack.found) { throw; }` line
  still in the middle of the code path. We had written an integ test
  to validate that the new situation would work, however the test
  was incorrect: it would create a non-default bootstrap stack, but if
  the account already happened to be default-bootstrapped before,
  the CLI would accidentally find that default bootstrap stack and use
  it, thereby never triggering the offending line.
* The `BootsraplessSynthesizer` set `requiresBootstrapStackVersion`,
  which is pretty silly. This synthesizer was being used by
  CodePipeline's cross-region support stacks, so for cross-region
  deployments we would still require a bootstrap stack.

Both of these are fixed and the test has been updated to force the CLI
to look up a definitely nonexistent bootstrap stack.

Fixes #12732.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
`fromHostedZoneId` is use parameter not object

https://github.com/aws/aws-cdk/blob/3b66088010b6f2315a215e92505d5279680f16d4/packages/%40aws-cdk/aws-route53/lib/hosted-zone.ts#L70

So I fix doc

----

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

----

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

----

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

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
skinny85 and others added 7 commits February 2, 2021 20:06
Needs reverting because of aws/jsii#2256 .

This reverts commit 1a9f2a8.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@njlynch This is my humble start on creating L2 constructs for `PublicKey` and `KeyGroup` for CloudFront module. I'm going to need some guidance/mentorship as this is my first L2 construct from the scratch. I'll convert this PR to draft and I'll post some of my thoughts and ideas around this feature tomorrow. I'm trying to address feature requests in #11791. I've decided to lump `PublicKey` and `KeyGroup` features together as they seem to depend on each other.

All in the good spirits of learning how to extend CDK 🍻 .

Any ideas and/or constructive criticism is more than welcome... that's the best way to learn.✌️ 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
feat(apigateway): add fromResourceAttribute helper for importing Resource

closes #4432

NOTE: No change in Readme is done since I was not able to find a good place for it in the Readme.


----

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

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The previous change - 9a81faa - to add test cases to this package
had a bug. Two different eslint rules were being applied
simultaneously creating corrupt expectation.

Fixing the test so it only runs the specific eslint rule for that
fixture, and fixing the expectation.

At the same time, added a test case that was previously missed.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
feat(apigateway): add support for cognito user pool authorizer

closes #5618 

----

*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 Feb 3, 2021
@MrArnoldPalmer MrArnoldPalmer requested a review from a team February 3, 2021 22:24
@aws-cdk-automation
Copy link
Collaborator Author

AWS CodeBuild CI Report

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

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

@mergify
Copy link
Contributor

mergify bot commented Feb 3, 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).

@mergify mergify bot merged commit f65009b into release Feb 3, 2021
@mergify mergify bot deleted the bump/1.88.0 branch February 3, 2021 22:55
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.