Migration-scripts/cdk/lambda/quicksight_migration/quicksight_migration/batch_migration_lambda.py [211:279]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            source_template = qs_utils.describe_template(sourcesession, source_analysis_id)
        except Exception as ex:
            analysis_failed.append(
                {
                    "Error Type": "Create Source Template Error",
                    "sourceanalysisid": source_analysis_id,
                    "Name": source_analysis_name,
                    "Error": str(ex)
                }
            )
            continue

        while source_template['Template']['Version']['Status'] == "CREATION_IN_PROGRESS":
            time.sleep(5)
            source_template = qs_utils.describe_template(sourcesession, source_analysis_id)
            if source_template['Template']['Version']['Status'] == "CREATION_SUCCESSFUL":
                try:
                    updateres = qs_utils.update_template_permission(
                        sourcesession, source_analysis_id, targetadmin)
                except Exception as ex:
                    qs_utils.delete_template(sourcesession, source_analysis_id)
                    analysis_failed.append(
                        {
                            "Error Type": "Update Source Template Permission Error",
                            "sourceanalysisid": source_analysis_id,
                            "Name": source_analysis_name,
                            "Error": str(ex)
                        }
                    )
        else:
            if source_template['Template']['Version']['Status'] == "CREATION_SUCCESSFUL":
                try:
                    updateres = qs_utils.update_template_permission(
                        sourcesession, source_analysis_id, targetadmin)
                except Exception as ex:
                    qs_utils.delete_template(sourcesession, source_analysis_id)
                    analysis_failed.append(
                        {
                            "Error Type": "Update Source Template Permission Error",
                            "sourceanalysisid": source_analysis_id,
                            "Name": source_analysis_name,
                            "Error": str(ex)
                        }
                    )
                    continue

        datasets = qs_utils.data_sets(targetsession)
        template = source_template['Template']
        dsref = []
        missing = False

        for dsc in template['Version']['DataSetConfigurations']:
            config = template['Version']['DataSetConfigurations'].index(dsc)
            for dataset in datasets:
                if dsc['Placeholder'] == dataset['Name']:
                    dsref.append({
                        'DataSetPlaceholder': dsc['Placeholder'],
                        'DataSetArn': dataset['Arn']
                    })
                if config > len(dsref):
                    place_holder = f"Dataset {dsc['Placeholder']} is missing!"
                    analysis_failed.append(
                        {
                            "Error Type": "Datasets in target env are missing for this analysis",
                            "sourceanalysisid": source_analysis_id,
                            "Name": source_analysis_name,
                            "Error": str(place_holder)
                        }
                    )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



Migration-scripts/cdk/lambda/quicksight_migration/quicksight_migration/incremental_migration_lambda.py [317:385]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            source_template = qs_utils.describe_template(sourcesession, source_analysis_id)
        except Exception as ex:
            analysis_failed.append(
                {
                    "Error Type": "Create Source Template Error",
                    "sourceanalysisid": source_analysis_id,
                    "Name": source_analysis_name,
                    "Error": str(ex)
                }
            )
            continue

        while source_template['Template']['Version']['Status'] == "CREATION_IN_PROGRESS":
            time.sleep(5)
            source_template = qs_utils.describe_template(sourcesession, source_analysis_id)
            if source_template['Template']['Version']['Status'] == "CREATION_SUCCESSFUL":
                try:
                    updateres = qs_utils.update_template_permission(
                        sourcesession, source_analysis_id, targetadmin)
                except Exception as ex:
                    qs_utils.delete_template(sourcesession, source_analysis_id)
                    analysis_failed.append(
                        {
                            "Error Type": "Update Source Template Permission Error",
                            "sourceanalysisid": source_analysis_id,
                            "Name": source_analysis_name,
                            "Error": str(ex)
                        }
                    )
        else:
            if source_template['Template']['Version']['Status'] == "CREATION_SUCCESSFUL":
                try:
                    updateres = qs_utils.update_template_permission(
                        sourcesession, source_analysis_id, targetadmin)
                except Exception as ex:
                    qs_utils.delete_template(sourcesession, source_analysis_id)
                    analysis_failed.append(
                        {
                            "Error Type": "Update Source Template Permission Error",
                            "sourceanalysisid": source_analysis_id,
                            "Name": source_analysis_name,
                            "Error": str(ex)
                        }
                    )
                    continue

        datasets = qs_utils.data_sets(targetsession)
        template = source_template['Template']
        dsref = []
        missing = False

        for dsc in template['Version']['DataSetConfigurations']:
            config = template['Version']['DataSetConfigurations'].index(dsc)
            for dataset in datasets:
                if dsc['Placeholder'] == dataset['Name']:
                    dsref.append({
                        'DataSetPlaceholder': dsc['Placeholder'],
                        'DataSetArn': dataset['Arn']
                    })
                if config > len(dsref):
                    place_holder = f"Dataset {dsc['Placeholder']} is missing!"
                    analysis_failed.append(
                        {
                            "Error Type": "Datasets in target env are missing for this analysis",
                            "sourceanalysisid": source_analysis_id,
                            "Name": source_analysis_name,
                            "Error": str(place_holder)
                        }
                    )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



