in ae/modeling_stack.py [0:0]
def __init__(self, scope: core.Construct, construct_id: str, bucket_name: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
self._PREFIX = construct_id
# Create Role for the SageMaker Backend
self._service_role = iam.Role(
self, f'{self._PREFIX}-ServiceRole',
role_name=f'{self._PREFIX}-ServiceRole',
assumed_by=iam.CompositePrincipal(
iam.ServicePrincipal("sagemaker.amazonaws.com"),
iam.ServicePrincipal("lambda.amazonaws.com"),
iam.ServicePrincipal("s3.amazonaws.com")
)
)
self._service_role.add_managed_policy(iam.ManagedPolicy.from_aws_managed_policy_name('AWSCodeCommitPowerUser'))
self._service_role.add_managed_policy(iam.ManagedPolicy.from_aws_managed_policy_name('AmazonSageMakerFullAccess'))
self._service_role.add_managed_policy(iam.ManagedPolicy.from_aws_managed_policy_name('AmazonS3FullAccess'))
# Create SageMaker instance
self._notebook_lifecycle = sagemaker.CfnNotebookInstanceLifecycleConfig(
self, f'{self._PREFIX}-LifeCycleConfig',
notebook_instance_lifecycle_config_name='ae-config',
on_create=[sagemaker.CfnNotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHookProperty(
content=core.Fn.base64(f"""