astonishing-branch-30086
08/17/2020, 12:45 PMpulumi up
call.stocky-spoon-28903
08/17/2020, 2:52 PMgentle-diamond-70147
08/18/2020, 3:39 AMResourceValidationPolicy
- e.g. https://github.com/pulumi/templates-policy/blob/master/aws-python/__main__.py#L10-L15 and run pulumi with pulumi up --policy-pack path-to-policy-code/
.astonishing-branch-30086
08/18/2020, 2:20 PMgentle-diamond-70147
08/18/2020, 4:02 PMastonishing-branch-30086
08/19/2020, 11:16 AMfrom typing import Optional, Any
from uuid import uuid4
import pulumi
from pulumi import dynamic
class OnCreateWarningProvider(dynamic.ResourceProvider):
warning_printed = False
def print_warning(self, message):
if not self.warning_printed:
pulumi.warn(message)
OnCreateWarningProvider.warning_printed = True
def create(self, inputs: Any):
self.print_warning(inputs['message'])
return dynamic.CreateResult(id_=uuid4().hex, outs={})
class OnCreateWarning(dynamic.Resource):
def __init__(self, name: str, message: str, opts: Optional[pulumi.ResourceOptions] = None):
super().__init__(
OnCreateWarningProvider(),
name,
{'message': message},
opts=opts
)
that I would call with something like
messaging.OnCreateWarning(
name=f"on-create-warning-{resource_name}",
message="Resource was created!",
opts=pulumi.ResourceOptions(depends_on=[resource]),
)
How does this look, @stocky-spoon-28903, @gentle-diamond-70147? Any ideas on simplyfing or improving this further? Do I need to set the CreateResult id_, for example? Thanks!