pulumi / pulumi-azure-native

Azure Native Provider
Apache License 2.0
125 stars 33 forks source link

Enforce exact arg value to be imported #853

Open PawelStadnicki opened 3 years ago

PawelStadnicki commented 3 years ago

I think that what I'm asking for may actually exist but I cannot find it. For some reason few our KeyVaults have Standard (notice upper case) sku name in template definitions.

The problem is that we cannot import those keyvaults as it is going to fail : image

I also know that sku name for KeyVault could be a string (not the enum that translates it to lower case like in our code), as it is presented in the current docs https://www.pulumi.com/docs/reference/pkg/azure-native/keyvault/vault/ but no matter API version I use I only have enums available.

No matter I'm using the API correctly or not (Am I ?) is there anything that can override to ultimate property value ? For example anything similar to imaginated attribute? []

mikhailshilkov commented 3 years ago

SKU name is defined as a strict enum (modelAsString = false) and lowercase values, so that's what we require on our side. I don't think there's a way to set it to a different capitalization, unfortunately.

Others (and myself) complained to Microsoft about this here: https://github.com/Azure/azure-rest-api-specs/issues/10943 and https://github.com/Azure/azure-rest-api-specs/issues/10082 but the cases are closed. I'll reach out to our contacts at Microsoft for clarification.

PawelStadnicki commented 3 years ago

Thanks. I will try to update the Standard to standard via Powershell so the Pulumi API/ ARM template will be happy, it is dangerous and not guaranteed to work but it should help.

btw az cli lists keyvault sku name as "standard" (properly), az cli resource properties lists it wrongly