in ebcli/operations/commonops.py [0:0]
def filter_events(events, version_label=None, request_id=None, env_name=None):
"""
Method filters events by their version_label, request_id, or env_name if supplied,
or any combination if multiple are specified.
:param events: A list of `events` returned by the `DescribeEvents` API
:param version_label: An optional `version_label` of the environment to filter by
:param request_id: An optional `request_id` of the operation being waited on to filter by
:param env_name: An optional `environment_name` of the environment that is being waited on
:return: A new list of events filtered as per the rules above.
"""
filtered_events = []
for event in events:
if version_label and event.version_label and (event.version_label != version_label):
continue
if request_id and event.request_id and (event.request_id != request_id):
continue
if env_name and event.environment_name and (event.environment_name != env_name):
continue
filtered_events.append(event)
return filtered_events