{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":529191301,"defaultBranch":"main","name":"aws-cdk","ownerLogin":"humanzz","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-08-26T09:15:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5001?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1707739469.0","currentOid":""},"activityList":{"items":[{"before":"b4daf84cf8a90ef38e3a2328df6271bdaf19de01","after":"e92dbec0e5fb51bad6037d01d6131c9ab4ce3f55","ref":"refs/heads/main","pushedAt":"2024-02-17T02:22:12.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat(ecs): credentialSpecs in ContainerDefinitionOptions (#29085)\n\n### Issue # (if applicable)\n\nCloses #N/A\n\n### Reason for this change\n\nv2.127.0 updated the L1 construct for AWS::ECS::TaskDefinition, adding support for the property ContainerDefinitions.CredentialSpecs, [see](https://github.com/aws/aws-cdk/pull/29053). This PR adds support for CredentialSpecs property in the L2 construct used by `Ec2TaskDefinition.addContainer` method.\n\n### Description of changes\n\nAdded property in L2 construct, updated unit test and added integration test.\n\n### Description of how you validated changes\n\n- [x] Unit test updated and validated\n- [x] Integration test added and validated\n\n### Checklist\n- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(ecs): credentialSpecs in ContainerDefinitionOptions (aws#29085)"}},{"before":"6fbcce66c50a6bea3b2f38541c54af6d5fbffaa7","after":"b4daf84cf8a90ef38e3a2328df6271bdaf19de01","ref":"refs/heads/main","pushedAt":"2024-02-16T02:23:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat(events-targets): `launchType` property for ECS task (#29069)\n\n### Issue # (if applicable)\n\nCloses #28990.\n\n### Reason for this change\n\nThere are cases where a task definition is created to be compatible with both EC2 and Fargate, and then we want to run the task in Fargate.\n\n### Description of changes\n\nI created the `launchType` property. The `launchType` is overridden if the property is specified.\n\n### Description of how you validated changes\n\nBoth unit and integ tests\n\n### Checklist\n- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(events-targets): launchType property for ECS task (aws#29069)"}},{"before":"6c90efc454cb4388ced308a3ffbb4a4a11fb6681","after":"d9952610f21eca1ca30aece99c1b911eaaed58b8","ref":"refs/heads/v2-release","pushedAt":"2024-02-15T02:24:56.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore(release): 2.128.0 (#29107)\n\nSee [CHANGELOG](https://github.com/aws/aws-cdk/blob/bump/2.128.0/CHANGELOG.md)","shortMessageHtmlLink":"chore(release): 2.128.0 (aws#29107)"}},{"before":"a21731c9b1f34525433fbee668ebb2321debf5b8","after":"6fbcce66c50a6bea3b2f38541c54af6d5fbffaa7","ref":"refs/heads/main","pushedAt":"2024-02-15T02:24:56.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore(ec2): correct device name in BastionHostLinux example (#29114)\n\nCloses #29103. \n\nI tested the example and it deploys.\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"chore(ec2): correct device name in BastionHostLinux example (aws#29114)"}},{"before":"e890e89e9fbe46c9f93ef2a16c26bd9a06694ca6","after":"a21731c9b1f34525433fbee668ebb2321debf5b8","ref":"refs/heads/main","pushedAt":"2024-02-14T02:23:22.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"fix(appconfig): deployment recreated on every cdk deployment (#28782)\n\nEvery time I perform a CDK deployment, the logicalId hash of the deployment resource changes and causes the deployment resource to be deleted and recreated. I'm assuming it is because the configuration `content` is part of the hash creation and I am creating the content using `lazy` and at the time of the hash creation it is still a token.\n\nLooking at the [CloudFormation\ndocs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html) for the deployment resource, a change to _any_ property causes a replacement so I don't think we need to control the recreation logic ourselves, we should just let CloudFormation do the resource replacement for us.\n\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"fix(appconfig): deployment recreated on every cdk deployment (aws#28782)"}},{"before":"1cc428067a504ca6e4814b272d82ac9c1322f684","after":"200532beef6752c8ff556fd0a50d9377837a0707","ref":"refs/heads/cw-table-widget","pushedAt":"2024-02-13T19:51:41.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"},"commit":{"message":"Merge branch 'main' into cw-table-widget","shortMessageHtmlLink":"Merge branch 'main' into cw-table-widget"}},{"before":"444161b77a81da781f508e27c669a5fdebc61522","after":"1cc428067a504ca6e4814b272d82ac9c1322f684","ref":"refs/heads/cw-table-widget","pushedAt":"2024-02-13T19:17:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"address comments","shortMessageHtmlLink":"address comments"}},{"before":"88decc6060732a6e2c1dd4b349b62c6df849ff07","after":"e890e89e9fbe46c9f93ef2a16c26bd9a06694ca6","ref":"refs/heads/main","pushedAt":"2024-02-13T02:23:23.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat(codedeploy): ignoreAlarmConfiguration parameter to Deployment Groups (#26957)\n\nThe alarms on a CodeDeploy group are configurable to be enabled or disabled through the SDK or UI. Bringing in that functionality to the CDK to have parity. The parameter name mirrors the \"Ignore alarm configuration\" checkbox in the alarm configuration section of the UI.\n\nMotivation: Developers are able to disable _rollback_ on alarm, but this leaves deployments in a stopped state should any alarms be active. Including this configuration will align with the expectation that alarms will not block a deployment in lower environments via a flag rather than logic to include/exclude alarms on the deployment group based on environment. I'm sure there are other use cases for disabling the alarm configuration on a deployment group.\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(codedeploy): ignoreAlarmConfiguration parameter to Deployment Gr…"}},{"before":null,"after":"444161b77a81da781f508e27c669a5fdebc61522","ref":"refs/heads/cw-table-widget","pushedAt":"2024-02-12T12:04:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat(cloudwatch): add TableWidget","shortMessageHtmlLink":"feat(cloudwatch): add TableWidget"}},{"before":"fb74c41afd359fbefc896f23c6c16ca0cf60e110","after":"6c90efc454cb4388ced308a3ffbb4a4a11fb6681","ref":"refs/heads/v2-release","pushedAt":"2024-02-12T02:24:25.000Z","pushType":"push","commitsCount":55,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore(release): 2.127.0 (#29060)\n\nSee [CHANGELOG](https://github.com/aws/aws-cdk/blob/bump/2.127.0/CHANGELOG.md)","shortMessageHtmlLink":"chore(release): 2.127.0 (aws#29060)"}},{"before":"9de77bb5e43971d615abb34b77b997f5143f775d","after":"88decc6060732a6e2c1dd4b349b62c6df849ff07","ref":"refs/heads/main","pushedAt":"2024-02-11T21:41:09.000Z","pushType":"push","commitsCount":34,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat: allow overriding the filename of the processed file after substitution (#29029)\n\n### Issue # (if applicable)\n\nCloses #28450 \n\n### Reason for this change\n\nCurrently, the filename is automatically generated based on its fingerprint. There's no way to override the resulting filename.\n\n### Description of changes\n\nAdded an optional `destinationKey` parameter. If this is provided, the construct would use the `destinationKey` when uploading the resulting processed file to S3. If the `destinationKey` is not provided, the current approach would be the default.\n\n### Description of how you validated changes\n\nAdded a unit test to confirm that the correct filename is being used.\n\n### Checklist\n- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)\n\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat: allow overriding the filename of the processed file after subst…"}},{"before":"7e77e025271ab31e65f0621278fd2c9771f4f1ca","after":"fb74c41afd359fbefc896f23c6c16ca0cf60e110","ref":"refs/heads/v2-release","pushedAt":"2024-02-04T02:26:12.000Z","pushType":"push","commitsCount":96,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.126.0 (#28967)\n\nSee CHANGELOG.v2.md and CHANGELOG.v2.alpha.md\n\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"chore: release 2.126.0 (aws#28967)"}},{"before":"45b8398bec9ba9c03f195c14f3b92188c9058a7b","after":"9de77bb5e43971d615abb34b77b997f5143f775d","ref":"refs/heads/main","pushedAt":"2024-02-03T19:10:30.000Z","pushType":"push","commitsCount":104,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"fix(ec2): deploying an isolated subnet fails when `ipv6AssignAddressOnCreation` is set to true (#28902)\n\nThis PR resolves the issue where deploying an isolated subnet with `ipv6AssignAddressOnCreation` enabled fails. \n\n### example\n```ts\nnew Vpc(stack, 'TheVPC', {\n ipProtocol: IpProtocol.DUAL_STACK,\n subnetConfiguration: [\n {\n subnetType: testData.subnetType,\n name: 'subnetName',\n ipv6AssignAddressOnCreation: true,\n },\n ],\n });\n```\n\n### error\n```sh\n6:39:48 PM | CREATE_FAILED | AWS::EC2::Subnet | vpcisolatedSubnet1Subnet06BBE51F\nTemplate error: Fn::Select cannot select nonexistent value at index 0\n```\n\n### solution\nA dependency on the CidrBlock has been added [as discussed in issue](https://github.com/aws/aws-cdk/issues/28843#issuecomment-1909006632).\n\n```ts\n (this.isolatedSubnets as PrivateSubnet[]).forEach((isolatedSubnet) => {\n if (this.ipv6CidrBlock !== undefined) {\n isolatedSubnet.node.addDependency(this.ipv6CidrBlock);\n }\n });\n```\n\n\n## Question\nThis modification results in the failure of existing integration tests.\nI don't consider this change to be a breaking one, so I went ahead and updated the snapshot. Is that okay?\n```sh\n CHANGED aws-ec2/test/integ.vpc-dual-stack-ec2 0.776s\n Resources\n[~] AWS::EC2::Subnet Ip6VpcDualStackPrivateSubnet1Subnet842B7F4C \n └─ [+] DependsOn\n └─ [\"Ip6VpcDualStackipv6cidr40BE830A\"]\n[~] AWS::EC2::RouteTable Ip6VpcDualStackPrivateSubnet1RouteTable5326D239 \n └─ [+] DependsOn\n └─ [\"Ip6VpcDualStackipv6cidr40BE830A\"]\n[~] AWS::EC2::SubnetRouteTableAssociation Ip6VpcDualStackPrivateSubnet1RouteTableAssociationF1C10B6A \n └─ [+] DependsOn\n └─ [\"Ip6VpcDualStackipv6cidr40BE830A\"]\n[~] AWS::EC2::Subnet Ip6VpcDualStackPrivateSubnet2SubnetEB493489 \n └─ [+] DependsOn\n └─ [\"Ip6VpcDualStackipv6cidr40BE830A\"]\n[~] AWS::EC2::RouteTable Ip6VpcDualStackPrivateSubnet2RouteTable56BF517C \n └─ [+] DependsOn\n └─ [\"Ip6VpcDualStackipv6cidr40BE830A\"]\n[~] AWS::EC2::SubnetRouteTableAssociation Ip6VpcDualStackPrivateSubnet2RouteTableAssociationD37A3D3D \n └─ [+] DependsOn\n └─ [\"Ip6VpcDualStackipv6cidr40BE830A\"]\n```\n\nCloses #28843\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"fix(ec2): deploying an isolated subnet fails when `ipv6AssignAddressO…"}},{"before":"04e5480399c2ff3f3487583343fd3021a63b63e1","after":"45b8398bec9ba9c03f195c14f3b92188c9058a7b","ref":"refs/heads/main","pushedAt":"2024-01-20T02:30:47.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat(dynamodb): import data from the bucket (#28610)\n\nThis PR adds support for importing data from a bucket.\nThis feature is not supported by `AWS::DynamoDB::GlobalTable`, so it is implemented only in the `Table` construct.\n\n### Details of this feature\nUsers can create DynamoDB table using data from the bucket.\nThe data to be imported can be a single object or multiple objects.\nThis can be selected by specifying the prefix of the key.\n\nData format must be CSV, DynamoDB JSON, or Amazon Ion.\nZSTD or GZIP compressed data can also be imported.\n\nFor CSV files, delimiter and header can be specified as options.\nhttps://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3forDynamoDB.html\n\nIn CloudFormation, use this feat as follows.\n```yaml\nAWSTemplateFormatVersion: \"2010-09-09\"\nResources:\n MyTable:\n Type: AWS::DynamoDB::Table\n Properties:\n AttributeDefinitions:\n -\n AttributeName: \"id\"\n AttributeType: \"S\"\n KeySchema:\n -\n AttributeName: \"id\"\n KeyType: \"HASH\"\n TableName: \"myTableName\"\n ImportSourceSpecification:\n InputCompressionType: NONE # GZIP | ZSTD \n InputFormat: DYNAMODB_JSON # ION | CSV\n S3BucketSource:\n S3Bucket: cloudfs-s3\n S3KeyPrefix: db\n```\nhttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html\n\nCloses #21825\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(dynamodb): import data from the bucket (aws#28610)"}},{"before":null,"after":"7e77e025271ab31e65f0621278fd2c9771f4f1ca","ref":"refs/heads/v2-release","pushedAt":"2024-01-19T02:34:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore(release): 2.122.0 (#28754)\n\nSee [CHANGELOG](https://github.com/aws/aws-cdk/blob/bump/2.122.0/CHANGELOG.md)","shortMessageHtmlLink":"chore(release): 2.122.0 (aws#28754)"}},{"before":"30a0d3314dfd0ad40a56cc7c69a1ccbefe1e1871","after":"04e5480399c2ff3f3487583343fd3021a63b63e1","ref":"refs/heads/main","pushedAt":"2024-01-19T02:34:53.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"fix(appsync): add dependency to logretention for graphql apis log group (#28548)\n\nThis change adds a dependency to log retention if logconfig is set for `GraphqlApi`. This in turn avoids the race condition when subsequent resources refer to the log group property of `GraphqlApi.logGroup`\n\nlogGroup is now referring to the custom resource's output log ARN and further resources will depend on the custom resource to be created first.\n\nCloses #26564\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"fix(appsync): add dependency to logretention for graphql apis log gro…"}},{"before":"0f2b8f8e329480cd35db1dc9792bff6d2f0a990a","after":"30a0d3314dfd0ad40a56cc7c69a1ccbefe1e1871","ref":"refs/heads/main","pushedAt":"2024-01-18T02:32:36.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"fix(ecs): EC2 metadata access is blocked when using EC2 capacity provider for autoscaling (#28437)\n\n### Why is this needed?\nWhen adding a auto scaling group as a capacity provider using `Cluster.addAsgCapacityProvider` and when the task definition being run uses the AWS_VPC network mode, it results in the metadata service at `169.254.169.254` being blocked . This is a security best practice as detailed [here](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/security-iam-roles.html). This practice is implemented [here](https://github.com/aws/aws-cdk/blame/2d9de189e583186f2b77386ae4fcfff42c864568/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts#L502-L504). However by doing this, some applications such as those raised in #28270 as well as the aws-otel package will not be able to source for the AWS region and thus, cause the application to crash and exit. \n\n### What does it implement?\nThis PR add an override to the addContainer method when using the Ec2TaskDefinition to add in the AWS_REGION environment variable to the container if the network mode is set as AWS_VPC. The region is sourced by referencing to the stack which includes this construct at synth time.This environment variable is only required in the EC2 Capacity Provider mode and not in Fargate as this issue of not being able to source for the region on startup is only present when using the EC2 Capacity Provider with the AWS_VPC networking mode. The initial issue addresses this during the `addAsgCapacityProvider` action which targets the cluster. However, we cannot mutate the task definition at that point in time thus, this change addresses it when the task definition is actually added to a service that meets all the requirements whereby the failure to source for region will occur.\n\nUpdated the relevant integration tests to reflect the new environment variable being created alongside user-defined environment variables.\n\nCloses #28270\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"fix(ecs): EC2 metadata access is blocked when using EC2 capacity prov…"}},{"before":"1e69cc6e56516e8053880c334e319b1d5a829eef","after":"0f2b8f8e329480cd35db1dc9792bff6d2f0a990a","ref":"refs/heads/main","pushedAt":"2024-01-17T02:33:00.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"fix(amplify): addBranch fails synth with \"cannot find entry file...\" (#28658)\n\nError:\n\n```bash\nError: Cannot find entry file at /node_modules/@aws-cdk/custom-resource-handlers/dist/\naws-amplify-alpha/asset-deployment-handler/index.js\n```\n\nIn #27955, we migrated the aws-amplify-alpha custom resource to `@aws-cdk/custom-resource-handlers`, our internal package for storing all custom resources. However, this migration was half-baked. The reason is because we seem to have depended on our `@aws-cdk/custom-resource-handlers` package directly. That works locally, as we have `custom-resource-handlers` readily available. \n\n```\n|-- @aws-cdk\n |-- aws-amplify-alpha\n |-- custom-resource-handlers\n```\n\n`aws-amplify-alpha` directly went into `custom-resource-handlers` to grab the necessary entry file. This works locally, because we have access to all folders with impunity.\n\nOf course, when packaged and published, we publish only `aws-amplify-alpha` with no other outside folders:\n\n```\n|-- @aws-cdk \n |-- aws-amplify-alpha\n```\n\nThus, the published module would not have access to the file under `custom-resource-handlers`, and predictably fails at synth time. \n\nIn `aws-cdk-lib`, we airlift the necessary files _into_ the package and release it alongside `aws-cdk-lib`:\n\n```\n|-- aws-cdk-lib\n |-- aws-synthetics\n |-- custom-resource-handlers/dist/aws-synthetics/custom-resource-handler // this was airlifted into aws-cdk-lib\n```\n\nWe are supposed to do the same airlift mechanism for `aws-amplify-alpha` but somehow that was forgotten. This PR adds in the necessary structure, so now `aws-amplify-alpha` looks like this:\n\n```\n|-- @aws-cdk \n |-- aws-amplify-alpha\n |-- custom-resource-handlers/dist/aws-amplify-alpha // airlifted in via this PR\n |-- custom-resource-handlers/dist\n |-- aws-amplify-alpha\n```\n\n(please excuse my horrible ascii notation)\n\nFixes #28633. Fixes #28089. I tested my locally packaged `aws-amplify-alpha` on a local CDK app to confirm that the necessary structure exists in the packaged module.\n\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"fix(amplify): addBranch fails synth with \"cannot find entry file...\" (a…"}},{"before":"75722be8672e405aaeca608e415f178da35d59d4","after":"f60967b04f7e4cab847d5588cc04c4e5d656123e","ref":"refs/heads/firehose-zero-buffering","pushedAt":"2024-01-16T19:38:55.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"},"commit":{"message":"Merge branch 'main' into firehose-zero-buffering","shortMessageHtmlLink":"Merge branch 'main' into firehose-zero-buffering"}},{"before":"240bc93c483ad8e36c863ad0a2169d73ba77695a","after":"75722be8672e405aaeca608e415f178da35d59d4","ref":"refs/heads/firehose-zero-buffering","pushedAt":"2024-01-16T19:11:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"update aws-kinesisfirehose-alpha's README","shortMessageHtmlLink":"update aws-kinesisfirehose-alpha's README"}},{"before":"123112165e36b17f1d1c61d908324e1d9050d4cc","after":"1e69cc6e56516e8053880c334e319b1d5a829eef","ref":"refs/heads/main","pushedAt":"2024-01-16T02:32:35.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat(elbv2): Implement IConnectable to NLB (#28494)\n\n# Summary\nImplement an `IConnectable` interface to a NetworkLoadBalancer. \n\n# Why need this change?\nAWS CDK has great features for abstraction. `IConnectable` interface is one of this. `IConnectable` simplifies the management of security groups. AWS CDK add support security group to NLB at https://github.com/aws/aws-cdk/pull/27978. However, Currently NLB not implement `IConnectable`, so customers can't use useful interface in AWS CDK.\n\n# Example use case\n\n```ts\ndeclare const lb: elbv2.NetworkLoadBalancer;\ndeclare const asg: autoscaling.AutoScalingGroup;\n\nasg.connections.allowFrom(lb, ec2.Port.tcp(8088)); // currently can not\n```\n\nCloses #26735\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(elbv2): Implement IConnectable to NLB (aws#28494)"}},{"before":null,"after":"240bc93c483ad8e36c863ad0a2169d73ba77695a","ref":"refs/heads/firehose-zero-buffering","pushedAt":"2024-01-15T20:32:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat(firehose-destinations-alpha): support zero buffering","shortMessageHtmlLink":"feat(firehose-destinations-alpha): support zero buffering"}},{"before":"ad0d40cc3a75f1cadc044393b5cb3ec7e9ab71a4","after":"123112165e36b17f1d1c61d908324e1d9050d4cc","ref":"refs/heads/main","pushedAt":"2024-01-15T19:48:01.000Z","pushType":"push","commitsCount":1145,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"chore(deps): Bump tj-actions/changed-files from 41.0.1 to 41.1.1 (#28710)\n\nBumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 41.0.1 to 41.1.1.\n
\nRelease notes\n

Sourced from tj-actions/changed-files's releases.

\n
\n

v41.1.1

\n

What's Changed

\n\n

Full Changelog: https://github.com/tj-actions/changed-files/compare/v41...v41.1.1

\n

v41.1.0

\n

What's Changed

\n\n

Full Changelog: https://github.com/tj-actions/changed-files/compare/v41...v41.1.0

\n
\n
\n
\nChangelog\n

Sourced from tj-actions/changed-files's changelog.

\n
\n

Changelog

\n

41.1.1 - (2024-01-13)

\n

🐛 Bug Fixes

\n\n

⬆️ Upgrades

\n\n

Co-authored-by: jackton1 jackton1@users.noreply.github.com (e0579ab) - (tj-actions[bot])

\n

41.1.0 - (2024-01-13)

\n

🚀 Features

\n\n

🐛 Bug Fixes

\n\n

🔄 Update

\n\n

Co-authored-by: jackton1 jackton1@users.noreply.github.com (3649d28) - (tj-actions[bot])

\n\n

Co-authored-by: jackton1 jackton1@users.noreply.github.com (3fbf5fb) - (tj-actions[bot])

\n\n

⚙️ Miscellaneous Tasks

\n\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tj-actions/changed-files&package-manager=github_actions&previous-version=41.0.1&new-version=41.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
","shortMessageHtmlLink":"chore(deps): Bump tj-actions/changed-files from 41.0.1 to 41.1.1 (aws…"}},{"before":"7926560f0a150d8fd39d0775df5259621b8068ae","after":"ad0d40cc3a75f1cadc044393b5cb3ec7e9ab71a4","ref":"refs/heads/main","pushedAt":"2023-07-11T22:38:45.689Z","pushType":"push","commitsCount":18,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat(synthetics): lifecycle rules for auto-generated artifact buckets (#26290)\n\nA re-roll of #22863. Thanks for getting this started @mackensen!\n\nThis change exposes the lifecycle rules property for new and existing auto-generated artifact buckets so that workload owners can easily manage growth.\n\nFixes #22634\n\nCo-authored-by: Charles Fulton fultonc@lafayette.edu\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(synthetics): lifecycle rules for auto-generated artifact buckets ("}},{"before":"7926560f0a150d8fd39d0775df5259621b8068ae","after":"ad0d40cc3a75f1cadc044393b5cb3ec7e9ab71a4","ref":"refs/heads/main","pushedAt":"2023-07-11T22:38:45.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat(synthetics): lifecycle rules for auto-generated artifact buckets (#26290)\n\nA re-roll of #22863. Thanks for getting this started @mackensen!\n\nThis change exposes the lifecycle rules property for new and existing auto-generated artifact buckets so that workload owners can easily manage growth.\n\nFixes #22634\n\nCo-authored-by: Charles Fulton fultonc@lafayette.edu\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(synthetics): lifecycle rules for auto-generated artifact buckets ("}},{"before":"9952572494788678f7929af6042b7158d652b643","after":null,"ref":"refs/heads/svw-period","pushedAt":"2023-07-07T21:17:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"}},{"before":"9a30123ccb2f56fd0450775b934f1290cafe0f17","after":"9952572494788678f7929af6042b7158d652b643","ref":"refs/heads/svw-period","pushedAt":"2023-07-07T19:51:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"empty commit to force build","shortMessageHtmlLink":"empty commit to force build"}},{"before":"6cccc9f4c2b32bb6fd222e1e36725f4cf698bf73","after":"9a30123ccb2f56fd0450775b934f1290cafe0f17","ref":"refs/heads/svw-period","pushedAt":"2023-07-07T19:14:19.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"colifran","name":"Colin Francis","path":"/colifran","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/131073567?s=80&v=4"},"commit":{"message":"Merge branch 'main' into svw-period","shortMessageHtmlLink":"Merge branch 'main' into svw-period"}},{"before":"1520d7759ad28e5295f21cd1df115c639bb5ef1c","after":"7926560f0a150d8fd39d0775df5259621b8068ae","ref":"refs/heads/main","pushedAt":"2023-07-07T14:36:47.366Z","pushType":"push","commitsCount":14,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat(cloudfront): add denyList to OriginRequestPolicy behaviors (#25767)\n\nAdded static method `denyList` for\n* `OriginRequestCookieBehavior`\n* `OriginRequestHeaderBehavior`\n* `OriginRequestQueryStringBehavior`\n\nDue to recent CloudFormation update: the `allExcept` allowed behavior was added to\n* [`CookieBehavior`](https://github.com/awsdocs/aws-cloudformation-user-guide/commit/a38f2735de1b0b34a4feac1c7bde47524e0966b5#diff-630d84276f15d7dbe9836107b0c289d8692c9279ae10adacf34344273f28fcecR33)\n* [`HeaderBehavior`](https://github.com/awsdocs/aws-cloudformation-user-guide/commit/a38f2735de1b0b34a4feac1c7bde47524e0966b5#diff-83c67e21c489d688c4da6943452187182e96e8974f447bd3479044da752fe43bR34)\n* [`QueryStringBehavior`](https://github.com/awsdocs/aws-cloudformation-user-guide/commit/a38f2735de1b0b34a4feac1c7bde47524e0966b5#diff-96b632ead034b3554fb62969ffa46e799f53a1edfb3cfed5deba5df4d769aab1R34)\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(cloudfront): add denyList to OriginRequestPolicy behaviors (aws#…"}},{"before":"1520d7759ad28e5295f21cd1df115c639bb5ef1c","after":"7926560f0a150d8fd39d0775df5259621b8068ae","ref":"refs/heads/main","pushedAt":"2023-07-07T14:36:47.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"humanzz","name":"Ahmed Kamel","path":"/humanzz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5001?s=80&v=4"},"commit":{"message":"feat(cloudfront): add denyList to OriginRequestPolicy behaviors (#25767)\n\nAdded static method `denyList` for\n* `OriginRequestCookieBehavior`\n* `OriginRequestHeaderBehavior`\n* `OriginRequestQueryStringBehavior`\n\nDue to recent CloudFormation update: the `allExcept` allowed behavior was added to\n* [`CookieBehavior`](https://github.com/awsdocs/aws-cloudformation-user-guide/commit/a38f2735de1b0b34a4feac1c7bde47524e0966b5#diff-630d84276f15d7dbe9836107b0c289d8692c9279ae10adacf34344273f28fcecR33)\n* [`HeaderBehavior`](https://github.com/awsdocs/aws-cloudformation-user-guide/commit/a38f2735de1b0b34a4feac1c7bde47524e0966b5#diff-83c67e21c489d688c4da6943452187182e96e8974f447bd3479044da752fe43bR34)\n* [`QueryStringBehavior`](https://github.com/awsdocs/aws-cloudformation-user-guide/commit/a38f2735de1b0b34a4feac1c7bde47524e0966b5#diff-96b632ead034b3554fb62969ffa46e799f53a1edfb3cfed5deba5df4d769aab1R34)\n\n----\n\n*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*","shortMessageHtmlLink":"feat(cloudfront): add denyList to OriginRequestPolicy behaviors (aws#…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0xN1QwMjoyMjoxMi4wMDAwMDBazwAAAAP9HPTP","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0xN1QwMjoyMjoxMi4wMDAwMDBazwAAAAP9HPTP","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNy0wN1QxNDozNjo0Ny4wMDAwMDBazwAAAANQ7DCr"}},"title":"Activity · humanzz/aws-cdk"}