def __init__()

in 4-serverless-cicd-stack/static-service-cicd/static_cicd/static_cicd_stack.py [0:0]


    def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
        super().__init__(scope, id, **kwargs)

        # The code that defines your stack goes here
            
        base_api = _apigw.RestApi(self, 'PetclinicApiGatewayWithCors')
            
        api_resource = base_api.root.add_resource('api')

        self.add_cors_options(api_resource)
        
        website_bucket = _s3.Bucket(self, 'PetclinicWebsite',
            website_index_document='index.html',
            public_read_access=True,
            removal_policy=core.RemovalPolicy.DESTROY
        )

        code = _commit.Repository(self, 'ServerlessCode',
        	   repository_name='spring-petclinic-static-resource'
        	)

        build_project = _build.PipelineProject(self, 'StaticWebBuild',
          build_spec=_build.BuildSpec.from_object({
            'version': 0.2,
            'phases': {
               'install': {
                 'runtime-versions': {
                   'java': 'openjdk8'
                 },
                 'commands': []
              },
               'build': {
                 'commands': [
                    'mv scripts/config.js scripts/config.js.origin',
                    'sed -e "s,http://localhost:8081/,$API_ENDPOINT,g" scripts/config.js.origin > scripts/config.js'
                ]
              },
            },
            'artifacts': {
              'files': '**/*'
            },
          }),
          environment_variables={'API_ENDPOINT': _build.BuildEnvironmentVariable(value=base_api.url)},
          environment=_build.BuildEnvironment(
            build_image=_build.LinuxBuildImage.STANDARD_2_0)
        )

        source_output = _pipeline.Artifact('SourceOutput')
        build_output = _pipeline.Artifact('BuildOutput')

        pipline = _pipeline.Pipeline(self, 'ServerlessPipeline',
                stages=[
                    {
                        'stageName': 'Source',
                        'actions': [_action.CodeCommitSourceAction(
                        	action_name='CodeCommit_Source',
                        	repository=code,
                        	output=source_output
                        	)]
                    },{
                        'stageName': 'Build',
                        'actions':[_action.CodeBuildAction(
                            action_name='CodeBuild_Static',
                            project=build_project,
                            input=source_output,
                            outputs=[build_output]
                            )]
                    },{
                        'stageName': 'Deploy',
                        'actions': [_action.S3DeployAction(
                            action_name='Web_Static_Deploy',
                            input=build_output,
                            bucket=website_bucket
                         )]
                    }]
            )
        core.CfnOutput(self, 'PetclinicApiGatewayWithCorsId', export_name='PetclinicApiGatewayWithCorsId', value=base_api.rest_api_id)
        core.CfnOutput(self, "PetclinicWebsiteUrl",export_name="PetclinicWebsiteUrl",value=website_bucket.bucket_website_url)