*** Settings *** Documentation Resource file for event notification subscription. *** Keywords *** Delete All Event Subscriptions [Documentation] Delete all event subscriptions. ${subscriptions}= Redfish.Get Attribute /redfish/v1/EventService/Subscriptions Members Return From Keyword If ${subscriptions} is None FOR ${subscription} IN @{subscriptions} Redfish.Delete ${subscription['@odata.id']} END Get Event Subscription IDs [Documentation] Get event subscription IDs. ${subscription_ids}= Create List ${subscriptions}= Redfish.Get Attribute /redfish/v1/EventService/Subscriptions Members Log ${subscriptions} FOR ${subscription} IN @{subscriptions} Append To List ${subscription_ids} ... ${subscription['@odata.id'].split("/redfish/v1/EventService/Subscriptions/")[-1]} END [Return] ${subscription_ids} Get Destination IPs Of Event Subscriptions [Documentation] Get all subscribed server IPs as a list from event subscriptions. ${subscription_ids}= Get Event Subscription IDs ${server_ips}= Create List FOR ${id} IN @{subscription_ids} ${destination}= Redfish.Get Attribute /redfish/v1/EventService/Subscriptions/${id} Destination # E.g. https://xx.xx.xx.xx:xxxx/redfish/events ${dest_ip}= Get Regexp Matches ${destination} .*://(.*):.* 1 ${server_ips}= Combine Lists ${server_ips} ${dest_ip} END [Return] ${server_ips} Delete Event Subscription Of Unpingable Destination IPs [Documentation] Delete event subscription with non-pinging destination IPs. ${subscription_ids}= Get Event Subscription IDs FOR ${id} IN @{subscription_ids} ${destination}= Redfish.Get Attribute /redfish/v1/EventService/Subscriptions/${id} Destination ${dest_ip}= Get Regexp Matches ${destination} .*://(.*):.* 1 ${status}= Run Keyword And Return Status Ping Host ${dest_ip}[0] IF ${status} == False Redfish.Delete /redfish/v1/EventService/Subscriptions/${id} END END