big-greece-60903
04/11/2023, 8:05 PMpulumi.Output.all(bucket.id).apply(lambda y: f"{y}")
- also tried:
import json
import pulumi
import pulumi_aws as aws
# Create an AWS resource (S3 Bucket)
bucket = aws.s3.Bucket('kollective-data')
# Export the name of the bucket
pulumi.export('bucket_name', bucket.id)
# Create an event rule to watch for events.
s3_rule = aws.cloudwatch.EventRule("rule",
event_pattern=json.dumps({"source": ["aws.s3"],
"detail-type": ["Object Created"],
"bucket": [pulumi.Output.all(bucket.id).apply(lambda y: f"{y}")],
"object": {
"key": [{
"prefix": "user-data/roger/"
}
]
}
})
)
(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
red-match-15116
04/11/2023, 8:52 PMjson.dumps
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)
)
pulum.Output.json_dumps
like documented here: https://www.pulumi.com/docs/intro/concepts/inputs-outputs/#converting-outputs-to-jsonbig-greece-60903
04/11/2023, 9:17 PM