I'm just using the sample code from: https://docs.aws.amazon.com/cdk/api/v1/python/aws_cdk.aws_healthlake/CfnFHIRDatastore.html#aws_cdk.aws_healthlake.CfnFHIRDatastore.add_deletion_override
And I'm adding the import statements not included in that example.
#!/usr/bin/env python3
import aws_cdk as cdk
import aws_cdk.aws_healthlake as healthlake
from constructs import Construct
from healthlake.healthlake_stack import HealthlakeStack
app = cdk.App()
class HealthlakeStack():
def __init__(self, scope: Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
cfn_fHIRDatastore = healthlake.CfnFHIRDatastore(self, "MyCfnFHIRDatastore",
datastore_type_version="R4"
)
HealthlakeStack(app, "HealthLake")
app.synth()
When I run cdk synth
on this, I get back:
Traceback (most recent call last):
File "app.py", line 13, in <module>
class HealthlakeStack():
File "app.py", line 17, in HealthlakeStack
cfn_fHIRDatastore = healthlake.CfnFHIRDatastore(self, "MyCfnFHIRDatastore",
NameError: name 'self' is not defined
And if I remove self
, I get:
Traceback (most recent call last):
File "app.py", line 11, in <module>
class HealthlakeStack():
File "app.py", line 15, in HealthlakeStack
cfn_fHIRDatastore = healthlake.CfnFHIRDatastore("MyCfnFHIRDatastore",
File "redacted/python/site-packages/jsii/_runtime.py", line 86, in __call__
inst = super().__call__(*args, **kwargs)
TypeError: __init__() missing 1 required positional argument: 'id'
And I tried a few other things. I'm guessing I'm just not nesting this correctly or something else basic to Python.