def __init__()

in cdk_service_catalog/cdk_service_catalog_ecs_stack.py [0:0]


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

        accounts = self.node.try_get_context("shared_accounts_ecs")
        roles = self.node.try_get_context("roles")
        users = self.node.try_get_context("users")
        groups = self.node.try_get_context("groups")

        portfolio = servicecatalog.Portfolio(self, "ECS_Portfolio",
            display_name="ECS_Portfolio",
            provider_name="Platform Team",
            description="ECS Portfolio"
        )

        #Provision portfolio to shared accounts.
        for acc in accounts:        
            portfolio.share_with_account(acc)
        
        #Permissions
        for r in roles:
            role=iam.Role.from_role_arn(self,r,role_arn=r)
            portfolio.give_access_to_role(role)

        for g in groups:
            group=iam.Group.from_group_arn(self,g,group_arn=g)
            portfolio.give_access_to_group(group)

        for u in users:
            user=iam.User.from_user_arn(self,u,user_arn=u)
            portfolio.give_access_to_user(user)


        ecs_cluster = servicecatalog.CloudFormationProduct(self, "ECS_Cluster_Product",
            product_name="ECS Cluster",
            owner="Platform Team",
            product_versions=[
                servicecatalog.CloudFormationProductVersion(
                    cloud_formation_template=servicecatalog.CloudFormationTemplate.from_product_stack(ECSCluster(self, "ECSClusterTemplate")),
                    product_version_name="v1",                    
                    validate_template = True
                )
            ],
            description = "ECS Cluster provisioning Product",
            support_email = "support@youremail.com",
            support_url = "https://doc.youremail.com/"
        )
       
        ecs_task = servicecatalog.CloudFormationProduct(self, "ECS_Task",
            product_name="ECS Task Definition",
            owner="Platform Team",
           product_versions=[
                servicecatalog.CloudFormationProductVersion(
                    cloud_formation_template=servicecatalog.CloudFormationTemplate.from_asset("products/ecs/ecs-task.yml"),
                    product_version_name="v1",
                    validate_template = True
                )
            ],
            description = "ECS Task Definition provisioning Product",
            support_email = "support@youremail.com",
            support_url = "https://doc.youremail.com/"
        )

        portfolio.add_product(ecs_cluster)

        # General tags applied to all resources created on this scope (self)
        cdk.Tags.of(self).add("key", "value")