def describe_events(filter=None, nextToken=None, maxResults=None, locale=None):
    """
    Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the  DescribeEventDetails and  DescribeAffectedEntities operations.
    If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime , starting with the most recent.
    See also: AWS API Documentation
    
    
    :example: response = client.describe_events(
        filter={
            'eventArns': [
                'string',
            ],
            'eventTypeCodes': [
                'string',
            ],
            'services': [
                'string',
            ],
            'regions': [
                'string',
            ],
            'availabilityZones': [
                'string',
            ],
            'startTimes': [
                {
                    'from': datetime(2015, 1, 1),
                    'to': datetime(2015, 1, 1)
                },
            ],
            'endTimes': [
                {
                    'from': datetime(2015, 1, 1),
                    'to': datetime(2015, 1, 1)
                },
            ],
            'lastUpdatedTimes': [
                {
                    'from': datetime(2015, 1, 1),
                    'to': datetime(2015, 1, 1)
                },
            ],
            'entityArns': [
                'string',
            ],
            'entityValues': [
                'string',
            ],
            'eventTypeCategories': [
                'issue'|'accountNotification'|'scheduledChange',
            ],
            'tags': [
                {
                    'string': 'string'
                },
            ],
            'eventStatusCodes': [
                'open'|'closed'|'upcoming',
            ]
        },
        nextToken='string',
        maxResults=123,
        locale='string'
    )
    
    
    :type filter: dict
    :param filter: Values to narrow the results returned.
            eventArns (list) --A list of event ARNs (unique identifiers). For example: 'arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331', 'arn:aws:health:us-west-1::event/AWS_EBS_LOST_VOLUME_xyz'
            (string) --
            eventTypeCodes (list) --A list of unique identifiers for event types. For example, 'AWS_EC2_SYSTEM_MAINTENANCE_EVENT','AWS_RDS_MAINTENANCE_SCHEDULED'
            (string) --
            services (list) --The AWS services associated with the event. For example, EC2 , RDS .
            (string) --
            regions (list) --A list of AWS regions.
            (string) --
            availabilityZones (list) --A list of AWS availability zones.
            (string) --
            startTimes (list) --A list of dates and times that the event began.
            (dict) --A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime , endTime , or lastUpdatedTime ) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from . If from is not set and to is set: match items where the timestamp value is equal to or before to .
            from (datetime) --The starting date and time of a time range.
            to (datetime) --The ending date and time of a time range.
            
            endTimes (list) --A list of dates and times that the event ended.
            (dict) --A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime , endTime , or lastUpdatedTime ) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from . If from is not set and to is set: match items where the timestamp value is equal to or before to .
            from (datetime) --The starting date and time of a time range.
            to (datetime) --The ending date and time of a time range.
            
            lastUpdatedTimes (list) --A list of dates and times that the event was last updated.
            (dict) --A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime , endTime , or lastUpdatedTime ) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from . If from is not set and to is set: match items where the timestamp value is equal to or before to .
            from (datetime) --The starting date and time of a time range.
            to (datetime) --The ending date and time of a time range.
            
            entityArns (list) --A list of entity ARNs (unique identifiers).
            (string) --
            entityValues (list) --A list of entity identifiers, such as EC2 instance IDs (i-34ab692e ) or EBS volumes (vol-426ab23e ).
            (string) --
            eventTypeCategories (list) --A list of event type category codes (issue , scheduledChange , or accountNotification ).
            (string) --
            tags (list) --A map of entity tags attached to the affected entity.
            (dict) --
            (string) --
            (string) --
            
            eventStatusCodes (list) --A list of event status codes.
            (string) --
            

    :type nextToken: string
    :param nextToken: If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

    :type maxResults: integer
    :param maxResults: The maximum number of items to return in one batch, between 10 and 100, inclusive.

    :type locale: string
    :param locale: The locale (language) to return information in. English (en) is the default and the only supported value at this time.

    :rtype: dict
    :return: {
        'events': [
            {
                'arn': 'string',
                'service': 'string',
                'eventTypeCode': 'string',
                'eventTypeCategory': 'issue'|'accountNotification'|'scheduledChange',
                'region': 'string',
                'availabilityZone': 'string',
                'startTime': datetime(2015, 1, 1),
                'endTime': datetime(2015, 1, 1),
                'lastUpdatedTime': datetime(2015, 1, 1),
                'statusCode': 'open'|'closed'|'upcoming'
            },
        ],
        'nextToken': 'string'
    }
    
    
    """
    pass
