CloudWatch Log Groups deletion using AWS Lambda function

0

Hi Aws, Need a lambda function to delete log group with no retention and if the retention period <365 days, and with no KMS encryption configured

Aman
asked a year ago319 views
3 Answers
1
profile picture
EXPERT
answered a year ago
profile picture
EXPERT
reviewed a year ago
0

I have edited the code created in this question to the code that meets your requirements.
https://repost.aws/questions/QUMcZ1aqV1Rwu-IozegdMF6g/delete-cloudwatch-log-groups-using-aws-lambda-function

The following code inserts an if statement in line 10 to determine if the retention period is less than 365 days and if the file is not encrypted by KMS.

import boto3

def lambda_handler(event, context):
    logs_client = boto3.client('logs')
    response = logs_client.describe_log_groups()

    for log_group in response['logGroups']:
        if 'retentionInDays' in log_group:
            retentionin_days = log_group['retentionInDays']
            if retentionin_days < 365 and 'kmsKeyId' not in log_group:
                log_group_name = log_group['logGroupName']
                logs_client.delete_log_group(logGroupName=log_group_name)
profile picture
EXPERT
answered a year ago
  • what if the log groups have never expire? how to delete that?

0

what if the log groups have never expire? how to delete that?

Aman
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions