aws-cloudformation / cloudformation-cli

The CloudFormation Provider Development Toolkit allows you to author your own resource providers and modules that can be used by CloudFormation.
Apache License 2.0
318 stars 162 forks source link

Metadata attribute tagging is not supported by CloudFormation #850

Open ycourtois opened 2 years ago

ycourtois commented 2 years ago

Metadata attribute "taggable" is marked as deprecated inside resource definition schema. https://github.com/aws-cloudformation/cloudformation-cli/blob/d8212e82e3ca84bec4861739766b355de3ef49ad/src/rpdk/core/data/schema/provider.definition.schema.v1.json#L120

Instead, we should use "tagging".

Example:

  ...
  "tagging": {
    "taggable": false
  },
  ...

However, if I use this attribute, deployment with CloudFormation ends with an "Internal failure" after a long waiting period. I have performed tests on several regions (included us-east-1), result is always the same.

The issue is reproducible with the example resource generated with cfn init. Edit the json schema and add the following block under the "properties" one.

  "properties": {
    ...
  },
  "tagging": {
    "taggable": false
  },
  ...

Submit the extension with cfn submit and try to deploy your resource with CloudFormation.

ammokhov commented 2 years ago

which plugin did you use? If it's java you might want to upgrade https://github.com/aws-cloudformation/cloudformation-resource-schema as it contains the change as well. Meanwhile, we will investigate the issue

ycourtois commented 2 years ago

I have updated the issue description and added the information about the plugin I used. ==> cloudformation-cli-python-plugin (2.1.4)

Yunhao-Jiao commented 2 years ago

Hi this feature is currently blocked by a pending deployment so internal failures will be thrown when you try to create a new stack even before resource creation is initiated. Feature will be officially available since 12.13 according to the new deployment schedule. So feel free to revert it now or retry later after that date.