createDashboard method
Creates a custom dashboard or the Highlights dashboard.
- Custom dashboards - Custom dashboards allow you to query events in any event data store type. You can add up to 10 widgets to a custom dashboard. You can manually refresh a custom dashboard, or you can set a refresh schedule.
- Highlights dashboard - You can create the Highlights dashboard to see a summary of key user activities and API usage across all your event data stores. CloudTrail Lake manages the Highlights dashboard and refreshes the dashboard every 6 hours. To create the Highlights dashboard, you must set and enable a refresh schedule.
StartQuery operation on your behalf. To provide
permissions, run the PutResourcePolicy operation to attach a
resource-based policy to each event data store. For more information, see
Example:
Allow CloudTrail to run queries to populate a dashboard in the
CloudTrail User Guide.
To set a refresh schedule, CloudTrail must be granted permissions to run
the StartDashboardRefresh operation to refresh the dashboard
on your behalf. To provide permissions, run the
PutResourcePolicy operation to attach a resource-based policy
to the dashboard. For more information, see
Resource-based policy example for a dashboard in the CloudTrail
User Guide.
For more information about dashboards, see CloudTrail Lake dashboards in the CloudTrail User Guide.
May throw ConflictException.
May throw EventDataStoreNotFoundException.
May throw InactiveEventDataStoreException.
May throw InsufficientEncryptionPolicyException.
May throw InvalidQueryStatementException.
May throw InvalidTagParameterException.
May throw ServiceQuotaExceededException.
May throw UnsupportedOperationException.
Parameter name :
The name of the dashboard. The name must be unique to your account.
To create the Highlights dashboard, the name must be
AWSCloudTrail-Highlights.
Parameter refreshSchedule :
The refresh schedule configuration for the dashboard.
To create the Highlights dashboard, you must set a refresh schedule and
set the Status to ENABLED. The Unit
for the refresh schedule must be HOURS and the
Value must be 6.
Parameter terminationProtectionEnabled :
Specifies whether termination protection is enabled for the dashboard. If
termination protection is enabled, you cannot delete the dashboard until
termination protection is disabled.
Parameter widgets :
An array of widgets for a custom dashboard. A custom dashboard can have a
maximum of ten widgets.
You do not need to specify widgets for the Highlights dashboard.
Implementation
Future<CreateDashboardResponse> createDashboard({
required String name,
RefreshSchedule? refreshSchedule,
List<Tag>? tagsList,
bool? terminationProtectionEnabled,
List<RequestWidget>? widgets,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'CloudTrail_20131101.CreateDashboard'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Name': name,
if (refreshSchedule != null) 'RefreshSchedule': refreshSchedule,
if (tagsList != null) 'TagsList': tagsList,
if (terminationProtectionEnabled != null)
'TerminationProtectionEnabled': terminationProtectionEnabled,
if (widgets != null) 'Widgets': widgets,
},
);
return CreateDashboardResponse.fromJson(jsonResponse.body);
}