Linking between cloudwatch event and the target lambda

I have a lambda function that puts a cloud watch rule and target on the other lambda function based on the cloud watch rule set , it invokes the second lambda function.

The rule is created in cloudwatch event list, however it does not appear as a trigger of the lambda. If I modify the event (without any change) from the gui interface and that I validate, then the trigger appears in the lambda trigger list.

I am using python boto3, these are the steps that I am following

create the lambda
create the rule
create the targets
call lambda add-permission with the lambda arn,

still I am facing the issue my cloud watch rule is never triggered, when i edit the cloud watch rule manually then the trigger works.

I am facing this issue since 3 weeks, could any one suggest.