createScheduledAction method
Creates a scheduled action. A scheduled action contains a schedule and an
Amazon Redshift API action. For example, you can create a schedule of when
to run the CreateSnapshot API operation.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ValidationException.
Parameter namespaceName :
The name of the namespace for which to create a scheduled action.
Parameter roleArn :
The ARN of the IAM role to assume to run the scheduled action. This IAM
role must have permission to run the Amazon Redshift Serverless API
operation in the scheduled action. This IAM role must allow the Amazon
Redshift scheduler to schedule creating snapshots. (Principal
scheduler.redshift.amazonaws.com) to assume permissions on your behalf.
For more information about the IAM role to use with the Amazon Redshift
scheduler, see Using
Identity-Based Policies for Amazon Redshift in the Amazon Redshift
Management Guide
Parameter schedule :
The schedule for a one-time (at timestamp format) or recurring (cron
format) scheduled action. Schedule invocations must be separated by at
least one hour. Times are in UTC.
-
Format of at timestamp is
yyyy-mm-ddThh:mm:ss. For example,2016-03-04T17:27:00. -
Format of cron expression is
(Minutes Hours Day-of-month Month Day-of-week Year). For example,"(0 10 ? * MON *)". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
Parameter scheduledActionName :
The name of the scheduled action.
Parameter enabled :
Indicates whether the schedule is enabled. If false, the scheduled action
does not trigger. For more information about state of the
scheduled action, see ScheduledAction.
Parameter endTime :
The end time in UTC when the schedule is no longer active. After this
time, the scheduled action does not trigger.
Parameter scheduledActionDescription :
The description of the scheduled action.
Parameter startTime :
The start time in UTC when the schedule is active. Before this time, the
scheduled action does not trigger.
Implementation
Future<CreateScheduledActionResponse> createScheduledAction({
required String namespaceName,
required String roleArn,
required Schedule schedule,
required String scheduledActionName,
required TargetAction targetAction,
bool? enabled,
DateTime? endTime,
String? scheduledActionDescription,
DateTime? startTime,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'RedshiftServerless.CreateScheduledAction'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'namespaceName': namespaceName,
'roleArn': roleArn,
'schedule': schedule,
'scheduledActionName': scheduledActionName,
'targetAction': targetAction,
if (enabled != null) 'enabled': enabled,
if (endTime != null) 'endTime': unixTimestampToJson(endTime),
if (scheduledActionDescription != null)
'scheduledActionDescription': scheduledActionDescription,
if (startTime != null) 'startTime': unixTimestampToJson(startTime),
},
);
return CreateScheduledActionResponse.fromJson(jsonResponse.body);
}