Open valerio-iachini opened 2 weeks ago
Hey @valerio-iachini, I'm sorry you're running into this issue!
I was able to reproduce it on our end. Currently the provider is adding all properties marked as writeOnly
but not createOnly
to the update requests sent to AWS APIs.
For aws-native:pipes:Pipe
the sourceParameters
parameter is marked as writeOnly
and some of the nested properties like sourceParameters/ManagedStreamingKafkaParameters/TopicName
are marked as createOnly
.
Right now the check for writeOnly
/createOnly
was only operating at the root level, but it seems like it needs to traverse property paths.
As a workaround you could try using the aws-classic provider: https://www.pulumi.com/registry/packages/aws/api-docs/pipes/pipe/
I checked what other resources are affected by this and the only one that has a similar setup is aws-native.refactorspaces.Route
. So this seems to be a fairly isolated issue
Tracking the underlying issue here: https://github.com/pulumi/pulumi-aws-native/issues/1722
What happened?
We are encountering an issue while updating the
aws-native:pipes:Pipe
resource connected to a self-managed Kafka instance using thePipeSelfManagedKafkaAccessConfigurationCredentials0PropertiesArgs
. When we attempt to update the resource, we receive the following error:However, we are not changing the
TopicName
orStartingPosition
properties. We are only updating the version of the enrichment Lambda.To work around this, we manually updated the Lambda version via the AWS console, refreshed the Pulumi stack, and successfully completed the
pulumi up
.Our concern is that this behavior might be a bug in Pulumi, where the tool is attempting to update other properties (like
TopicName
andStartingPosition
) that are designated ascreateOnlyProperties
, instead of only updating the Lambda version as expected.Could you please investigate whether Pulumi is incorrectly triggering updates to these
createOnlyProperties
when only the Lambda version is being modified?Thank you for your support.
Steps to Recreate the Issue:
Create the Initial Pipe: Define and deploy the pipe with an initial enrichment Lambda function ARN using
pulumi up
.Modify the Enrichment ARN: Change the ARN for the enrichment Lambda function in your Pulumi code.
Update the Pipe: Run
pulumi up
again to apply the changes.Example
Output of
pulumi about
CLI Version 3.106.0 Go Version go1.22.0 Go Compiler gc
Plugins NAME VERSION aws 5.43.0 aws-native 0.121.0
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).