Hi there! I am developing Dynamic Resource Provide...
# general
e
Hi there! I am developing Dynamic Resource Provider and faced with a strange trouble. Case: • Make intentionality configuration drift (update resource manually - NOT with Pulumi) • Run pipeline with
--refresh
option (method read is implemented) and expect that Pulumi to re-configure resource and eliminate drift • Language: Python • Pulumi version: 3.56.0 Details: • I run
pulumi preview --diff -r
• Pulumi shows that manually changed resource should be updated:
pulumi-python:dynamic:Resource: (update)
But there are no details in diff what are going to be substituted 😬
Copy code
~ pulumi-python:dynamic:Resource: (update)
        filed_1          : "aaaa"
        filed_2              : "bbbb"
        filed_3           : [
            [0]: "cccc"
        ]
Resources:              
    ~ 1 to update
    X unchanged
• As I run
pulumi up -y -r
, Pulumi re-configures resource and eliminates drift (pulumi up works good but pulumi preview doesn't show details) • I checked preview json and couldn't find
diffReasons
for this resource. However, other resources that are supposed to be updated have this field 😬 code example:
Copy code
def read(self, id_, args):
    ...
        value_1 = read_field_1()
        value_2 = read_field_2()
        value_3 = read_field_3()

        return ReadResult(id_, outs={'filed_1': value_1,
                                     'filed_2': value_2,
                                     'filed_3': value_3]
                                     })

    def diff(self, id, _olds, _news):
        return DiffResult(
            changes=_olds != _news,
            replaces=[],
            stables=None,
            delete_before_replace=True
        )
I would be grateful if someone help me with this issue.
Hi there! Can anyone help me with this please? 😬