aws-cloudformation / cloudformation-resource-schema

The CloudFormation Resource Schema defines the shape and semantic for resources provisioned by CloudFormation. It is used by provider developers using the CloudFormation RPDK.
Apache License 2.0
90 stars 38 forks source link

Add nonPublicProperties and nonPublicDefinitions lists of JSONPointers #133

Closed WaelA closed 2 years ago

WaelA commented 2 years ago

Description of changes:

Add nonPublicProperties and nonPublicDefinitions lists of JSONPointers in metaschema. Adding top level lists to allow hidden property and definition paths to be accepted. Also update lombok version as it fails local build.

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

benbridts commented 2 years ago

I have some questions:

WaelA commented 2 years ago

I have some questions:

* How do nonPublicProperties work with contract tests? Are they expected to be always returned? Only sometimes? Is there a test for either behaviour?

They are as any other properties. If you specify them in the test input, they will get tested, otherwise they shall not matter.

* How does that work with Cloud Control Api? Will it be hidden or not hidden there?

Cloud Control Api will behave same as CloudFormation. The only difference is that nonPublic properties are not documented yet as other properties and shall be used with care as they represent unreleased features.

* What happens if I use a nonPublicDefinition in a regular property? And vice versa?

It is all about visibility and what should be available for public to use.