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

Revisit TypeNullableBool projection #4723

Open
t0yv0 opened this issue Nov 6, 2024 · 0 comments
Open

Revisit TypeNullableBool projection #4723

t0yv0 opened this issue Nov 6, 2024 · 0 comments
Labels
impact/usability Something that impacts users' ability to use the product easily and intuitively kind/enhancement Improvements or new features

Comments

@t0yv0
Copy link
Member

t0yv0 commented Nov 6, 2024

The upstream provider defines a TypeNullableBool type that is represented as a Terraform string with values of "", "true", "false".

As of #4707 all instances of this type can be found here:

upstream/internal/service/ec2/ec2_launch_template.go:69:										Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:71:										DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:72:										ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:75:										Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:77:										DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:78:										ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:216:				Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:218:				DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:219:				ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:746:							Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:748:							DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:749:							ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:752:							Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:754:							DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:755:							ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:758:							Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:760:							DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:761:							ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:833:							Type:             nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:835:							DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/ec2/ec2_launch_template.go:836:							ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/ec2/ec2_spot_fleet_request.go:844:				Type:         nullable.TypeNullableBool,
upstream/internal/service/ec2/ec2_spot_fleet_request.go:846:				ValidateFunc: nullable.ValidateTypeStringNullableBool,
upstream/internal/service/elasticache/replication_group.go:89:				Type:         nullable.TypeNullableBool,
upstream/internal/service/elasticache/replication_group.go:92:				ValidateFunc: nullable.ValidateTypeStringNullableBool,
upstream/internal/service/elasticache/cluster.go:68:				Type:         nullable.TypeNullableBool,
upstream/internal/service/elasticache/cluster.go:71:				ValidateFunc: nullable.ValidateTypeStringNullableBool,
upstream/internal/service/elasticache/replication_group_migrate.go:66:				Type:     nullable.TypeNullableBool,
upstream/internal/service/elbv2/target_group.go:211:				Type:             nullable.TypeNullableBool,
upstream/internal/service/elbv2/target_group.go:214:				DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/elbv2/target_group.go:215:				ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/mq/broker_data_source.go:181:							Type:     nullable.TypeNullableBool,
upstream/internal/service/mq/broker.go:260:							Type:             nullable.TypeNullableBool,
upstream/internal/service/mq/broker.go:262:							ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/mq/broker.go:263:							DiffSuppressFunc: nullable.DiffSuppressNullableBoolFalseAsNull,
upstream/internal/service/evidently/feature.go:166:										Type:         nullable.TypeNullableBool,
upstream/internal/service/evidently/feature.go:168:										ValidateFunc: nullable.ValidateTypeStringNullableBool,
upstream/internal/service/imagebuilder/container_recipe.go:146:													Type:             nullable.TypeNullableBool,
upstream/internal/service/imagebuilder/container_recipe.go:149:													DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/imagebuilder/container_recipe.go:150:													ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/imagebuilder/container_recipe.go:153:													Type:             nullable.TypeNullableBool,
upstream/internal/service/imagebuilder/container_recipe.go:156:													DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/imagebuilder/container_recipe.go:157:													ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/imagebuilder/image_recipe.go:68:										Type:             nullable.TypeNullableBool,
upstream/internal/service/imagebuilder/image_recipe.go:71:										DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/imagebuilder/image_recipe.go:72:										ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/imagebuilder/image_recipe.go:75:										Type:             nullable.TypeNullableBool,
upstream/internal/service/imagebuilder/image_recipe.go:78:										DiffSuppressFunc: nullable.DiffSuppressNullableBool,
upstream/internal/service/imagebuilder/image_recipe.go:79:										ValidateFunc:     nullable.ValidateTypeStringNullableBool,
upstream/internal/service/imagebuilder/image_recipe_data_source.go:47:										Type:     nullable.TypeNullableBool,
upstream/internal/service/imagebuilder/image_recipe_data_source.go:51:										Type:     nullable.TypeNullableBool,
upstream/internal/service/accessanalyzer/archive_rule.go:69:							Type:         nullable.TypeNullableBool,
upstream/internal/service/accessanalyzer/archive_rule.go:72:							ValidateFunc: nullable.ValidateTypeStringNullableBool,

By default this projects to Pulumi as "string", but in case of skipMetadataApiCheck property the Pulumi provider overrides the projection so that it projects as bool. We should consider if it is worth doing this in all the other places.

@pulumi-bot pulumi-bot added the needs-triage Needs attention from the triage team label Nov 6, 2024
@t0yv0 t0yv0 mentioned this issue Nov 6, 2024
@t0yv0 t0yv0 added impact/usability Something that impacts users' ability to use the product easily and intuitively and removed needs-triage Needs attention from the triage team labels Nov 8, 2024
@mikhailshilkov mikhailshilkov added the kind/enhancement Improvements or new features label Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact/usability Something that impacts users' ability to use the product easily and intuitively kind/enhancement Improvements or new features
Projects
None yet
Development

No branches or pull requests

3 participants