This message was deleted.
# python
s
This message was deleted.
b
error message:
Copy code
(kollective-1g8s_x9V-py3.10) C:\Users\sashi\PycharmProjects\Kollective\kollective_iac>pulumi up
        event_pattern=json.dumps({"source": ["aws.s3"],
      File "C:\Users\sashi\.pyenv\pyenv-win\versions\3.10.4\lib\json\__init__.py", line 231, in dumps
        return _default_encoder.encode(obj)
      File "C:\Users\sashi\.pyenv\pyenv-win\versions\3.10.4\lib\json\encoder.py", line 199, in encode
        chunks = self.iterencode(o, _one_shot=True)
      File "C:\Users\sashi\.pyenv\pyenv-win\versions\3.10.4\lib\json\encoder.py", line 257, in iterencode
        return _iterencode(o, 0)
      File "C:\Users\sashi\.pyenv\pyenv-win\versions\3.10.4\lib\json\encoder.py", line 179, in default
        raise TypeError(f'Object of type {o.__class__.__name__} '
    TypeError: Object of type Output is not JSON serializable
r
You'll need the apply outside the
json.dumps
Maybe something like this;
Copy code
def build_event_pattern(bucket_id):
    return json.dumps({
        "source": ["aws.s3"],
        "detail-type": ["Object Created"],
        "bucket": bucket_id,
        "object": {
            "key": [{
                "prefix": "user-data/roger/"
            }]
        }
    })
    
s3_rule = aws.cloudwatch.EventRule("rule",   event_pattern=bucket.id.apply(build_event_pattern)
)
❤️ 1
Actually you can use
pulum.Output.json_dumps
like documented here: https://www.pulumi.com/docs/intro/concepts/inputs-outputs/#converting-outputs-to-json
☝️ 1
b
Awesome - thank you very much @red-match-15116