def _delete_group()

in gg_group_setup/cmd.py [0:0]


    def _delete_group(config_file, region, profile_name):
        logging.info('[begin] Deleting Group')
        config = GroupConfigFile(config_file=config_file)

        # delete the Greengrass Group entities
        gg_client = _get_gg_session(region=region, profile_name=profile_name)

        logger_def_id = config['logger_def']['id']
        logging.info('Deleting logger_def_id:{0}'.format(logger_def_id))
        try:
            gg_client.delete_logger_definition(LoggerDefinitionId=logger_def_id)
        except ClientError as ce:
            logging.error(ce)

        func_def_id = config['func_def']['id']
        logging.info('Deleting func_def_id:{0}'.format(func_def_id))
        try:
            gg_client.delete_function_definition(
                FunctionDefinitionId=func_def_id
            )
        except ClientError as ce:
            logging.error(ce)

        device_def_id = config['device_def']['id']
        logging.info('Deleting device_def_id:{0}'.format(device_def_id))
        try:
            gg_client.delete_device_definition(DeviceDefinitionId=device_def_id)
        except ClientError as ce:
            logging.error(ce)

        core_def_id = config['core_def']['id']
        logging.info('Deleting core_def_id:{0}'.format(core_def_id))
        try:
            gg_client.delete_core_definition(CoreDefinitionId=core_def_id)
        except ClientError as ce:
            logging.error(ce)

        group_id = config['group']['id']
        logging.info('Deleting group_id:{0}'.format(group_id))
        deployments = gg_client.list_deployments(
            GroupId=group_id, MaxResults='1'
        )
        if len(deployments['Deployments']) > 0:
            # there were previous deployments which need reset before delete
            logging.info('Reset deployments:{0} for group_id:{1}'.format(
                deployments, group_id))
            gg_client.reset_deployments(GroupId=group_id)

        try:
            gg_client.delete_group(GroupId=group_id)
        except ClientError as ce:
            logging.error(ce)
            return
        logging.info('[end] Deleted group')