# QueuedEventCollection

A collection of Dataset Dag Run Queues.  *New in version 2.9.0* 

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**datasets** | [**[QueuedEvent]**](QueuedEvent.md) |  | [optional] 
**total_entries** | **int** | Count of total objects in the current result set before pagination parameters (limit, offset) are applied.  | [optional] 
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


