Skip to content

create_scheduled_action async

create_scheduled_action(
    scheduled_action_name: ScheduledActionName,
    target_action: TargetAction,
    schedule: Schedule,
    role_arn: IamRoleArn,
    namespace_name: NamespaceName,
    *,
    config_overrides: Optional[AsyncRedshiftServerlessClientConfig] = None,
    enabled: Optional[bool] = None,
    scheduled_action_description: Optional[str] = None,
    start_time: Optional[datetime] = None,
    end_time: Optional[datetime] = None,
) -> CreateScheduledActionResponse

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.

Parameters:

  • scheduled_action_name (ScheduledActionName) –

    The name of the scheduled action.

  • schedule (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.

  • role_arn (IamRoleArn) –

    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

  • namespace_name (NamespaceName) –

    The name of the namespace for which to create a scheduled action.

  • enabled (Optional[bool], default: None ) –

    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.

  • scheduled_action_description (Optional[str], default: None ) –

    The description of the scheduled action.

  • start_time (Optional[datetime], default: None ) –

    The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

  • end_time (Optional[datetime], default: None ) –

    The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

Raises:

Source code in docs_src/capo_redshift_serverless/_services/async_redshift_serverless.py
async def create_scheduled_action(
    self,
    scheduled_action_name: "capo_redshift_serverless.types.scheduled_action_name.ScheduledActionName",
    target_action: "capo_redshift_serverless.types.target_action.TargetAction",
    schedule: "capo_redshift_serverless.types.schedule.Schedule",
    role_arn: "capo_redshift_serverless.types.iam_role_arn.IamRoleArn",
    namespace_name: "capo_redshift_serverless.types.namespace_name.NamespaceName",
    *,
    config_overrides: Optional[AsyncRedshiftServerlessClientConfig] = None,
    enabled: Optional[bool] = None,
    scheduled_action_description: Optional[str] = None,
    start_time: Optional[datetime.datetime] = None,
    end_time: Optional[datetime.datetime] = None,
) -> "capo_redshift_serverless.types.create_scheduled_action_response.CreateScheduledActionResponse":
    """<p>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 <code>CreateSnapshot</code> API operation.</p>

    Args:
        scheduled_action_name: <p>The name of the scheduled action.</p>
        schedule: <p>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.</p> <ul> <li> <p>Format of at timestamp is <code>yyyy-mm-ddThh:mm:ss</code>. For example, <code>2016-03-04T17:27:00</code>.</p> </li> <li> <p>Format of cron expression is <code>(Minutes Hours Day-of-month Month Day-of-week Year)</code>. For example, <code>"(0 10 ? * MON *)"</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions">Cron Expressions</a> in the <i>Amazon CloudWatch Events User Guide</i>.</p> </li> </ul>
        role_arn: <p>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 <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html">Using Identity-Based Policies for Amazon Redshift</a> in the Amazon Redshift Management Guide</p>
        namespace_name: <p>The name of the namespace for which to create a scheduled action.</p>
        enabled: <p>Indicates whether the schedule is enabled. If false, the scheduled action does not trigger. For more information about <code>state</code> of the scheduled action, see <a href="https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_ScheduledAction.html">ScheduledAction</a>.</p>
        scheduled_action_description: <p>The description of the scheduled action.</p>
        start_time: <p>The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.</p>
        end_time: <p>The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.</p>

    Raises:
        capo_redshift_serverless.errors.conflict_exception.ConflictException: <p>The submitted action has conflicts.</p>
        capo_redshift_serverless.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception or failure.</p>
        capo_redshift_serverless.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource could not be found.</p>
        capo_redshift_serverless.errors.validation_exception.ValidationException: <p>The input failed to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_redshift_serverless.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_redshift_serverless.types.create_scheduled_action_request.CreateScheduledActionRequest]",
    ) -> AsyncOperationResponse[
        "capo_redshift_serverless.types.create_scheduled_action_response.CreateScheduledActionResponse"
    ]:
        import capo_redshift_serverless._operations.redshift_serverless.create_scheduled_action

        (
            output,
            http_response,
        ) = await capo_redshift_serverless._operations.redshift_serverless.create_scheduled_action.async_create_scheduled_action(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateScheduledAction")
    )
    input_: capo_redshift_serverless.types.create_scheduled_action_request.CreateScheduledActionRequest = {
        "scheduled_action_name": scheduled_action_name,
        "target_action": target_action,
        "schedule": schedule,
        "role_arn": role_arn,
        "namespace_name": namespace_name,
    }
    if enabled is not None:
        input_["enabled"] = enabled
    if scheduled_action_description is not None:
        input_["scheduled_action_description"] = scheduled_action_description
    if start_time is not None:
        input_["start_time"] = start_time
    if end_time is not None:
        input_["end_time"] = end_time

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output