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

feat(appconfig): add deploy method to configuration constructs #28174

Closed
wants to merge 44 commits into from

Conversation

chenjane-dev
Copy link
Contributor

Adding a deploy method to the configuration construct to allow deployments on a config at any time after creation.


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

@github-actions github-actions bot added p2 valued-contributor [Pilot] contributed between 6-12 PRs to the CDK labels Nov 28, 2023
@aws-cdk-automation aws-cdk-automation requested a review from a team November 28, 2023 20:35
@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Nov 28, 2023
Copy link
Contributor

@lpizzinidev lpizzinidev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! 💪
I left you some notes for minor adjustments.

*
* @param environment The environment to deploy the configuration to
*/
public deploy(environment: IEnvironment) {
Copy link
Contributor

@lpizzinidev lpizzinidev Nov 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should use this function to create the deployment in deployConfigToEnvironments as well to avoid code repetitions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm yeah I had this change, but it wouldn't allow this naming convention because the deployTo object already exists

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't see the edit on the comment above. deployConfigToEnvironments has different behavior and shouldn't be used here. I can however create another method to reference to avoid the duplicate code.

packages/@aws-cdk/aws-appconfig-alpha/README.md Outdated Show resolved Hide resolved
@@ -149,6 +149,45 @@ describe('configuration', () => {
Template.fromStack(stack).resourceCountIs('AWS::AppConfig::Deployment', 1);
});

test('configuration using deploy method', () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please add unit tests for:

  • Configuration with no env and no deployTo that calls method
  • Configuration with env and deployTo that calls method

@aws-cdk-automation aws-cdk-automation removed the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Nov 30, 2023
chenjane-dev and others added 2 commits November 30, 2023 10:41
Co-authored-by: Luca Pizzini <lpizzini7@gmail.com>
@lpizzinidev
Copy link
Contributor

@chenjane-dev
Can you please address #28174 (comment)?

Copy link
Contributor

@lpizzinidev lpizzinidev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 👍

@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Dec 1, 2023
@vinayak-kukreja vinayak-kukreja self-assigned this Dec 5, 2023
sumupitchayan and others added 14 commits December 5, 2023 14:59
*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
When using `WINDOWS_SERVER_2019_CONTAINER`, only MEDIUM and LARGE computeType is supported.
https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html

However, currently only ComputeType `SMALL` is validated.
This PR modified to generate an error when ComputeType is specified as X2_LARGE in WindowsBuildImage.
```ts
    new codebuild.Project(this, 'CodeBuildCdk', {
      source: codebuild.Source.codeCommit({ repository: codecommit.Repository.fromRepositoryName(this, "Repo", "sample") }),
      environment: {
        computeType: codebuild.ComputeType.X2_LARGE, // generate error in synth stage
        buildImage:  codebuild.WindowsBuildImage.WINDOWS_BASE_2_0
      }
    });
```

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This PR moves the dynamodb replica handler from `aws-cdk-lib` to our new centralized location for custom resource handlers in the `@aws-cdk` package.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…ion integ test (aws#28181)

This PR adds directions that can be used when running the cross account zone delegation integ test. The directions are the exact same as what is provided for running the [cross account assume role integ test](https://github.com/aws/aws-cdk/blob/20bfa721525d290f453b17ad4bc91b7fb8922635/packages/%40aws-cdk-testing/framework-integ/test/custom-resources/test/aws-custom-resource/integ.cross-account-assumeRole.ts#L7-L29).

----

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

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
It is more or less frustrating that we have to check if a variable is undefined or not before calling the `CfnResource.isCfnResource` method. For example,

```ts
const bucket1 = new Bucket(stack, 'Bucket1');
const bucket1Resource = bucket1.node.defaultChild;
if (bucket1Resource !== undefined &&  // Currently we need this!
    cdk.CfnResource.isCfnResource(bucket1Resource)
) {
    bucket1Resource.addDependency(...);
}
```

With this PR, `isCfnResource` now accepts `any` type as input and performs the necessary validations inside.

```ts
const bucket1 = new Bucket(stack, 'Bucket1');
const bucket1Resource = bucket1.node.defaultChild;
if (cdk.CfnResource.isCfnResource(bucket1Resource)) { // much smoother
    bucket1Resource.addDependency(...);
}
```

Actually, other `isXxx` methods have consistent signatures like the one below:

```ts
public static isStack(x: any): x is Stack
public static isReference(x: any): x is Reference
public static isCfnElement(x: any): x is CfnElement
// and more...
```

This change also makes the `isCfnResource` consistent with these signatures.

Note that this is not a breaking change, because the input constraint is relaxed, not tightened, so all the old code will work without change.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This PR moves the cross account zone handler from aws-cdk-lib to our new centralized location for custom resource handlers in the [@aws-cdk](https://github.com/aws-cdk) package.

----

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

Improve docstrings to explain that parameter objectsKeyPattern of type any should take in string inputs.

Unable to directly change the parameter type because of backwards compatibility concerns (mentioned in aws#27486 we are improving documentation as an alternative solution.

Closes aws#27481.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
An eventBridgePutEvents target was implemented similar to the already existing LambdaInvoke/StepFunctionStartExecution target.

I needed to change some properties and methods from Target.ts from private to protected so that the logic could be reused (hope that is ok).

Some design choices to outline (let me know if you disagree or have improvements I could take :) ):
1. PutEvents would accept multiple Entries (eg. an array), but I decided to support just one single event, because how Target is currently designed (to support only one target arn). It also aligns with the templated integration in the aws management console.
2. It throws an error in the constructor if the base prop `input` is used. All the props should be delivered by the new `EventBridgePutEventsEntry`. It felt not right for the developer experience to split the object (detail to `input` and `source`, `detailType` to `EventBridgePutEventsEntry` ).


Closes aws#27454.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
We are excited to graduate the `@aws-cdk/aws-apigatewayv2-alpha`, `@aws-cdk/aws-apigatewayv2-authorizers-alpha`, and `@aws-cdk/aws-apigatewayv2-integrations-alpha` modules to STABLE.

They now live on as:
- `aws-cdk-lib/aws-apigatewayv2`
- `aws-cdk-lib/aws-apigatewayv2-authorizers`
- `aws-cdk-lib/aws-apigatewayv2-integrations`

**Deprecated properties removed**:

- `httpApiId` has been removed in `aws-apigatewayv2`. Use `apiId` instead.
----

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

The hotswappable resource detectors failed to correctly identify `AWS::IAM::Policy` resources as not-hotswappable.

When `--hotswap-fallback` was used and the only change to the stack was with `AWS::IAM::Policy`, this caused the deploy command to first report IAM changes, and then report `no changes` on the stack.

<img width="1076" alt="image" src="https://github.com/aws/aws-cdk/assets/379814/d77320bc-fc8d-4b70-b710-2c28467d07e5">

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…e_modules/@aws-cdk/integ-runner/lib/workers/db.json.gz'" (aws#28199)

After aws#27813 the `deploy` action was broken with the above error. This is effectively the same as aws#27983 .

To ensure these kind of issues are not slipping through again, the PR is adding a basic testing harness for `cli-lib` to `@aws-cdk-testing/cli-integtests`.

----

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

This PR adds InspectorStartAssessmentRun Target for EventBridge Scheduler.

In [the issue](aws#27453), the `inspector.CfnAssessmentTarget` is used in the `InspectorStartAssessmentRun`. But it should be a `CfnAssessmentTemplate` so I fixed.

```ts
  export class InspectorStartAssessmentRun extends ScheduleTargetBase implements IScheduleTarget {
    constructor(
      private readonly target: inspector.CfnAssessmentTarget, // <- here
      private readonly props: ScheduleTargetBaseProps,
    ) {
```

Closes aws#27453.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
chrispidcock and others added 22 commits December 5, 2023 14:59
…eMode property (aws#27560)

This patch adds support for the `tiered` `storage mode` and Kafka versions `2.8.2.tiered` & `3.5.1` in the `aws-msk-alpha` package.

---

### Changes

- added Kafka versions `2.8.2.tiered` & `3.5.1`.
- added `storageMode` L1 construct property to the L2 msk
- added unit and integ tests for `Kafka versions and 'storageMode`
- updated test versions to latest supported Kafka version as desired

Ref:
- [aws: MSK supported Kafka versions](https://docs.aws.amazon.com/msk/latest/developerguide/supported-kafka-versions.html)

---

Closes aws#27551

----

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

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
AWS Service Spec packages to latest versions.
… after re:Invent launch (aws#28227)

Removes temporary patch schema `aws-logs-loggroup.json`.

----

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

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Saw some formatting issues that I'm fixing here.

----

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

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.2.0 to 40.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tj-actions/changed-files/releases">tj-actions/changed-files's releases</a>.</em></p>
<blockquote>
<h2>v40.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgraded to v40.2.0 by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1746">tj-actions/changed-files#1746</a></li>
<li>chore: update README.md by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1749">tj-actions/changed-files#1749</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1750">tj-actions/changed-files#1750</a></li>
<li>chore(deps): update typescript-eslint monorepo to v6.13.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1751">tj-actions/changed-files#1751</a></li>
<li>chore(deps): update typescript-eslint monorepo to v6.13.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1753">tj-actions/changed-files#1753</a></li>
<li>chore: remove unused job by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1754">tj-actions/changed-files#1754</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1755">tj-actions/changed-files#1755</a></li>
<li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1757">tj-actions/changed-files#1757</a></li>
<li>security: remove usage of pull_request_target event from test.yml by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1758">tj-actions/changed-files#1758</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v20.10.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1761">tj-actions/changed-files#1761</a></li>
<li>test: verify bug writing outputs when files_yaml is used by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1762">tj-actions/changed-files#1762</a></li>
<li>security: Update test.yml removing pull_request_review event by <a href="https://github.com/jackton1"><code>@​jackton1</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1763">tj-actions/changed-files#1763</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v20.10.2 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1764">tj-actions/changed-files#1764</a></li>
<li>chore(deps): update dependency eslint to v8.55.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1765">tj-actions/changed-files#1765</a></li>
<li>chore(deps): update dependency eslint-config-prettier to v9.1.0 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1766">tj-actions/changed-files#1766</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1767">tj-actions/changed-files#1767</a></li>
<li>Updated README.md by <a href="https://github.com/tj-actions-bot"><code>@​tj-actions-bot</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1769">tj-actions/changed-files#1769</a></li>
<li>chore(deps): update dependency <code>@​types/node</code> to v20.10.3 by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1768">tj-actions/changed-files#1768</a></li>
<li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@​renovate</code></a> in <a href="https://redirect.github.com/tj-actions/changed-files/pull/1770">tj-actions/changed-files#1770</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/tj-actions/changed-files/compare/v40...v40.2.1">https://github.com/tj-actions/changed-files/compare/v40...v40.2.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tj-actions/changed-files/blob/main/HISTORY.md">tj-actions/changed-files's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h1><a href="https://github.com/tj-actions/changed-files/compare/v40.2.0...v40.2.1">40.2.1</a> - (2023-12-04)</h1>
<h2>➕ Add</h2>
<ul>
<li>Added missing changes and modified dist assets.
(<a href="https://github.com/tj-actions/changed-files/commit/1c938490c880156b746568a518594309cfb3f66b">1c93849</a>)  - (GitHub Action)</li>
<li>Added missing changes and modified dist assets.
(<a href="https://github.com/tj-actions/changed-files/commit/ee5ef758aa548d365981b0889bab497dd108a785">ee5ef75</a>)  - (GitHub Action)</li>
</ul>
<h2>➖ Remove</h2>
<ul>
<li>Deleted .github/workflows/greetings.yml (<a href="https://github.com/tj-actions/changed-files/commit/f91c9fe8b1f4719a8e3901b4878b31105efcb66e">f91c9fe</a>)  - (Tonye Jack)</li>
</ul>
<h2>🔄 Update</h2>
<ul>
<li>Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1769">#1769</a>)</li>
</ul>
<p>Co-authored-by: jackton1 <a href="mailto:jackton1@users.noreply.github.com">jackton1@users.noreply.github.com</a> (<a href="https://github.com/tj-actions/changed-files/commit/66b77cbd0c866511f45c4f624e61034699bc70c2">66b77cb</a>)  - (tj-actions[bot])</p>
<ul>
<li>Update README.md (<a href="https://github.com/tj-actions/changed-files/commit/10bfa980b7876a94d460f54bd1b46d5c54b025d3">10bfa98</a>)  - (Tonye Jack)</li>
<li>Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1767">#1767</a>)</li>
</ul>
<p>Co-authored-by: jackton1 <a href="mailto:jackton1@users.noreply.github.com">jackton1@users.noreply.github.com</a>
Co-authored-by: Tonye Jack <a href="mailto:jtonye@ymail.com">jtonye@ymail.com</a> (<a href="https://github.com/tj-actions/changed-files/commit/9e46b4f7f7dce12301b893ec0484694ae579108d">9e46b4f</a>)  - (tj-actions[bot])</p>
<ul>
<li>Update README.md (<a href="https://github.com/tj-actions/changed-files/commit/3bf61725348c8cd85dcf9ce468c35a8e15a5c77e">3bf6172</a>)  - (Tonye Jack)</li>
<li>Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1755">#1755</a>)</li>
</ul>
<p>Co-authored-by: jackton1 <a href="mailto:jackton1@users.noreply.github.com">jackton1@users.noreply.github.com</a> (<a href="https://github.com/tj-actions/changed-files/commit/48427afe26457522a3f0f4a5afae46a8bb6261b1">48427af</a>)  - (tj-actions[bot])</p>
<ul>
<li>Update README.md (<a href="https://github.com/tj-actions/changed-files/commit/742ed362b6c6415493f2dd3a2e86ccbb60e1035a">742ed36</a>)  - (Tonye Jack)</li>
<li>Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1750">#1750</a>)</li>
</ul>
<p>Co-authored-by: repo-ranger[bot]  (<a href="https://github.com/tj-actions/changed-files/commit/86cabf5ea23ece4cc5468211fbab9fb76f2b1d91">86cabf5</a>)  - (tj-actions[bot])</p>
<h2>📝 Other</h2>
<ul>
<li>Update test.yml removing pull_request_review event (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1763">#1763</a>) (<a href="https://github.com/tj-actions/changed-files/commit/af6bdde59acc56af0e0a6c6a8acff0d3562162ba">af6bdde</a>)  - (Tonye Jack)</li>
<li>Remove usage of pull_request_target event from test.yml (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1758">#1758</a>) (<a href="https://github.com/tj-actions/changed-files/commit/3ca6b800138b4c660c4b99b76bb064cdf3f31e59">3ca6b80</a>)  - (Tonye Jack)</li>
</ul>
<h2>🧪 Testing</h2>
<ul>
<li>Verify bug writing outputs when files_yaml is used (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1762">#1762</a>) (<a href="https://github.com/tj-actions/changed-files/commit/fc1fb2b582f5e701390f9f6200dddd7425a3cc70">fc1fb2b</a>)  - (Tonye Jack)</li>
</ul>
<h2>⚙️ Miscellaneous Tasks</h2>
<ul>
<li><strong>deps:</strong> Lock file maintenance (<a href="https://github.com/tj-actions/changed-files/commit/ba558db9775398895ee078c784a5ddef602bb754">ba558db</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v20.10.3 (<a href="https://github.com/tj-actions/changed-files/commit/bf19fa23a6b30fb87fe85abdb237154c4573c08c">bf19fa2</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency eslint-config-prettier to v9.1.0 (<a href="https://github.com/tj-actions/changed-files/commit/45581f0044c213a3f45e5036d921892484eb7a0d">45581f0</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency eslint to v8.55.0 (<a href="https://github.com/tj-actions/changed-files/commit/9ebb48b57af1c93015957959d7d9ffe546df3ccd">9ebb48b</a>)  - (renovate[bot])</li>
<li><strong>deps:</strong> Update dependency <code>@​types/node</code> to v20.10.2 (<a href="https://github.com/tj-actions/changed-files/commit/4e2dca3ba527858faa57966af9baff3c9bbbb5d6">4e2dca3</a>)  - (renovate[bot])</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tj-actions/changed-files/commit/1c938490c880156b746568a518594309cfb3f66b"><code>1c93849</code></a> Added missing changes and modified dist assets.</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/ba558db9775398895ee078c784a5ddef602bb754"><code>ba558db</code></a> chore(deps): lock file maintenance</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/bf19fa23a6b30fb87fe85abdb237154c4573c08c"><code>bf19fa2</code></a> chore(deps): update dependency <code>@​types/node</code> to v20.10.3</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/66b77cbd0c866511f45c4f624e61034699bc70c2"><code>66b77cb</code></a> Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1769">#1769</a>)</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/10bfa980b7876a94d460f54bd1b46d5c54b025d3"><code>10bfa98</code></a> Update README.md</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/9e46b4f7f7dce12301b893ec0484694ae579108d"><code>9e46b4f</code></a> Updated README.md (<a href="https://redirect.github.com/tj-actions/changed-files/issues/1767">#1767</a>)</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/3bf61725348c8cd85dcf9ce468c35a8e15a5c77e"><code>3bf6172</code></a> Update README.md</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/45581f0044c213a3f45e5036d921892484eb7a0d"><code>45581f0</code></a> chore(deps): update dependency eslint-config-prettier to v9.1.0</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/9ebb48b57af1c93015957959d7d9ffe546df3ccd"><code>9ebb48b</code></a> chore(deps): update dependency eslint to v8.55.0</li>
<li><a href="https://github.com/tj-actions/changed-files/commit/4e2dca3ba527858faa57966af9baff3c9bbbb5d6"><code>4e2dca3</code></a> chore(deps): update dependency <code>@​types/node</code> to v20.10.2</li>
<li>Additional commits viewable in <a href="https://github.com/tj-actions/changed-files/compare/da093c1609db0edd0a037ce9664e135f74bf30d9...1c938490c880156b746568a518594309cfb3f66b">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tj-actions/changed-files&package-manager=github_actions&previous-version=40.2.0&new-version=40.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot 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`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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)
- `@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)
- `@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)


</details>
…7845)

This PR adds KinesisStreamPutRecord Target for EventBridge Scheduler.

Closes aws#27451.

----

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

Addressed the following points about Authorizer's `identitySource` property.

- Reference link is broken.
  - now: https://docs.aws.amazon.com/apigateway/api-reference/link-relation/authorizer-create/#identitySource
  - new: https://docs.aws.amazon.com/apigateway/latest/api/API_CreateAuthorizer.html#apigw-CreateAuthorizer-request-identitySource
- One explanation was confusing, so I enclosed it in quotes.
  - now: ```this should be `method.request.header.Authorizer` where Authorizer is the header containing the bearer token.```
  - new: ```this should be `method.request.header.Authorizer` where `Authorizer` is the header containing the bearer token.```
- Not using the static method written in the doc to set default values when a prop is not specified.
  - now: `'method.request.header.Authorization'`
  - new: `IdentitySource.header('Authorization')`

----

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

The API Gateway V2 modules which were graduated to stable with [2.112.0](https://github.com/aws/aws-cdk/releases/tag/v2.112.0) were not added to the main package exports. In particular:

- aws-apigatewayv2-authorizers
- aws-apigatewayv2-integrations

Closes aws#28239.

Now, I am not completely familiar with JSII and the CDK, so this may be only one part of the required solution to include these missing packages. 

----

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

When importing a config from a file, you can now pass a relative path (`config.json`) instead of the absolute path (`/Users/..../config.json`).

Closes aws#26937.

----

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

Fixes `attachToUser`, `attachToRole`, and `attachToGroup` for `Policy` and `ManagedPolicy` to use ARNs as a discriminant for resource equality to prevent duplicates on imported resources.

Closes aws#28101.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Supporting composite alarm role creation on the AppConfig environment.

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

This adds a `grantConnect` method to the `DatabaseCluster` which gives an IAM entity access to connect to the cluster using the specified database user.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Moved the url property from RestApi class to the RestApiBase to have the url property on all derived class. This will fix the problem mentioned in the issue where SpecRestApi does not work with the RestApiOrigin construct.

PS. I could not perform the integration tests as the free tier on my personal account expired.

Closes aws#27501.

----

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

When we use CallAwsService for Step Functions task, CDK generates IAM policy to grant permission regarding the API call. However, if we specify `mwaa` as service in CallAwsService, CDK generates wrong policy statement such as `mwaa:listEnvironments`. Correct service prefix for MWAA is `airflow`.

https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonmanagedworkflowsforapacheairflow.html
> Amazon Managed Workflows for Apache Airflow (service prefix: airflow) provides the following service-specific resources, actions, and condition context keys for use in IAM permission policies.

This PR solves the issue by adding `mwaa` into iamServiceMap. This is similar with aws#27623.

Closes aws#28081

----

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

This PR adds KinesisDataFirehosePutRecord as a target for an EventBridge scheduler.

Closes aws#27450.

----

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

**Motivation:**

The current implementation of `keyArn` within the AWS CDK AWS KMS module returns the Key ARN for a key and an alias, which causes confusion for users expecting the Alias ARN. This PR aims to alleviate this confusion by providing clearer access to the Alias ARN.

**Changes:**

Introducing a new attribute `aliasArn` that mirrors the value from `keyArn` specifically for aliases to explicitly retrieve the Alias ARN. 

```typescript
/**
 * The ARN of the alias.
 *
 * @Attribute
 * @deprecated use `aliasArn` instead
 */
public get keyArn(): string {
  return Stack.of(this).formatArn({
    service: 'kms',
    // aliasName already contains the '/'
    resource: this.aliasName,
  });
}

/**
 * The ARN of the alias.
 *
 * @Attribute
 */
public get aliasArn(): string {
  return this.keyArn;
}
```

**Query:**

Should we deprecate the existing `keyArn` and mirror it in `aliasArn` or change the logic within `keyArn` to `aliasArn` and use the `keyArn` as the mirror?

> Your feedback on the preferred approach would be greatly appreciated!

Closes aws#28105.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
AWS Service Spec packages to latest versions.
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation added the pr/needs-cli-test-run This PR needs CLI tests run against it. label Dec 5, 2023
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: ce5244e
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

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

@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Dec 5, 2023
@aws-cdk-automation
Copy link
Collaborator

The pull request linter fails with the following errors:

❌ CLI code has changed. A maintainer must run the code through the testing pipeline (git fetch origin pull/28174/head && git push -f origin FETCH_HEAD:test-main-pipeline), then add the 'pr-linter/cli-integ-tested' label when the pipeline succeeds.

PRs must pass status checks before we can provide a meaningful review.

If you would like to request an exemption from the status checks or clarification on feedback, please leave a comment on this PR containing Exemption Request and/or Clarification Request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p2 pr/needs-cli-test-run This PR needs CLI tests run against it. valued-contributor [Pilot] contributed between 6-12 PRs to the CDK
Projects
None yet
Development

Successfully merging this pull request may close these issues.