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')