aws-cloudformation / aws-cloudformation-resource-providers-cloudformation

The CloudFormation Resource Provider Package For AWS CloudFormation
https://aws.amazon.com/cloudformation/
Apache License 2.0
48 stars 35 forks source link

Setting ModuleVersion's ModulePackage field to "required" #34

Closed kfdarlington closed 3 years ago

kfdarlington commented 3 years ago

I had originally left ModuleVersion's ModulePackage field out of the "required" fields in the schema because it was causing issues with contract tests (i.e. contract tests would fail when attempting a delete operation because the module package field was required, but cannot be read in DescribeType requests and supplied to the delete handler #318). I had temporarily implemented manual validation in the ModuleVersion create handler to check for ModulePackage to compensate.

After building, running the unit tests, and testing these changes manually in my account through a number of create-, update-, and delete-stack operations, I am confident setting ModulePackage as "required" is safe, despite being flagged by the contract tests for the above reason. ModulePackage is not required as input to the delete handler -- only the ARN is.

With this change, the AWS::CloudFormation::ModuleVersion documentation will now agree with the schema as well.

I also added ModuleName to createOnlyProperties, as it should have been.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.