aws-cloudformation / cloudformation-coverage-roadmap

The AWS CloudFormation Public Coverage Roadmap
https://aws.amazon.com/cloudformation/
Creative Commons Attribution Share Alike 4.0 International
1.1k stars 53 forks source link

AWS::Chatbot::MicrosoftTeamsChannelConfiguration - TeamsChannelId validation pattern incorrect #1886

Open alexbaileymembr opened 6 months ago

alexbaileymembr commented 6 months ago

Name of the resource

Other

Resource Name

AWS::Chatbot::MicrosoftTeamsChannelConfiguration

Issue Description

The TeamsChannelId property of AWS::Chatbot::MicrosoftTeamsChannelConfiguration is displayed as ^([a-zA-Z0-9-_=+/.,])*%3a([a-zA-Z0-9-_=+/.,])*%40([a-zA-Z0-9-_=+/.,])*$ in the Cfn docs however when copying Team channel links the pattern should actually be ^([a-zA-Z0-9-_=+/.,])*%3A([a-zA-Z0-9-_=+/.,])*%40([a-zA-Z0-9-_=+/.,])*$ (at least in my case). Notice specifically that the pattern is %3A when copied from the Teams application and not %3a.

Weirdly, if I take my URL copied from Teams (which includes %3A) and update it manually to show %3a instead then the link still links to the right channel.

As an interesting note, if I create the configuration using the AWS console, I do not need to manually edit the URL that is provided from the Microsoft Teams application.

Expected Behavior

When copying a Teams link from Microsoft Teams, the channel ID should not need altering to be valid in Cfn to deploy a Teams configuration.

Observed Behavior

Teams channels copied from the link provided by the Microsoft Teams application do not match the expected pattern from Cfn. If you use the teams channel ID copied directly from the Microsoft Teams application, it does not deploy and provides the error:

Properties validation failed for resource TeamsConfiguration with message: #/TeamsChannelId: failed validation constraint for keyword [pattern]

Test Cases

Link to a Teams channel with Cfn

Other Details

Someone should probably either:

alexbaileymembr commented 6 months ago

Just as a secondary note, when changing the channel URL to use a instead of A, test notifications may not be able to be sent. The Chat Bot UI shows no channel name which appears to be related to this Terraform error https://github.com/hashicorp/terraform-provider-awscc/issues/1233.

This means it is seemingly impossible to deploy a working Teams channel configuration using Cfn.

MartinLoeper commented 6 months ago

Good catch! That saved me a ton of debugging. Thanks!