def create()

in source/lambda/quicksight-custom-resources/util/analysis.py [0:0]


    def create(self):
        logger.info(f"requesting quicksight create_analysis: {self.id}")
        quicksight_client = get_quicksight_client()

        try:
            response = quicksight_client.create_analysis(
                AwsAccountId=self.aws_account_id,
                AnalysisId=self.id,
                Name=self.name,
                Permissions=self._get_permissions(),
                SourceEntity=self._get_source_entity(),
            )
            logger.info(f"finished quicksight create_analysis for id:{self.id} " f"response: {response}")
        except quicksight_client.exceptions.ResourceExistsException:
            response = quicksight_client.describe_analysis(AwsAccountId=self.aws_account_id, AnalysisId=self.id)
            response = response["Analysis"]
        except quicksight_client.exceptions.InvalidParameterValueException as exc:
            logger.error(str(exc))
            raise QuickSightFailure()

        self.arn = response["Arn"]
        return response