/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.kinesisvideo.model; import java.io.Serializable; /** *
* This API enables you to specify the duration that the camera, or local media
* file, should record onto the Edge Agent. The ScheduleConfig
* consists of the ScheduleExpression
and the
* DurationInMinutes
attributes.
*
* If the ScheduleConfig
is not provided in the
* RecorderConfig
, then the Edge Agent will always be set to
* recording mode.
*
* If the ScheduleConfig
is not provided in the
* UploaderConfig
, then the Edge Agent will upload at regular
* intervals (every 1 hour).
*
* The Quartz cron expression that takes care of scheduling jobs to record
* from the camera, or local media file, onto the Edge Agent. If the
* ScheduleExpression
is not provided for the
* RecorderConfig
, then the Edge Agent will always be set to
* recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid * expressions and its use. *
*
* Constraints:
* Length: 11 - 100
* Pattern: [^\n]{11,100}
*/
private String scheduleExpression;
/**
*
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then the
* DurationInSeconds
attribute should also be specified.
*
* Constraints:
* Range: 60 - 3600
*/
private Integer durationInSeconds;
/**
*
* The Quartz cron expression that takes care of scheduling jobs to record
* from the camera, or local media file, onto the Edge Agent. If the
* ScheduleExpression
is not provided for the
* RecorderConfig
, then the Edge Agent will always be set to
* recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid * expressions and its use. *
*
* Constraints:
* Length: 11 - 100
* Pattern: [^\n]{11,100}
*
* @return
* The Quartz cron expression that takes care of scheduling jobs to
* record from the camera, or local media file, onto the Edge Agent.
* If the ScheduleExpression
is not provided for the
* RecorderConfig
, then the Edge Agent will always be
* set to recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid * expressions and its use. *
*/ public String getScheduleExpression() { return scheduleExpression; } /** *
* The Quartz cron expression that takes care of scheduling jobs to record
* from the camera, or local media file, onto the Edge Agent. If the
* ScheduleExpression
is not provided for the
* RecorderConfig
, then the Edge Agent will always be set to
* recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid * expressions and its use. *
*
* Constraints:
* Length: 11 - 100
* Pattern: [^\n]{11,100}
*
* @param scheduleExpression
* The Quartz cron expression that takes care of scheduling jobs
* to record from the camera, or local media file, onto the Edge
* Agent. If the ScheduleExpression
is not provided
* for the RecorderConfig
, then the Edge Agent will
* always be set to recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the * valid expressions and its use. *
*/ public void setScheduleExpression(String scheduleExpression) { this.scheduleExpression = scheduleExpression; } /** *
* The Quartz cron expression that takes care of scheduling jobs to record
* from the camera, or local media file, onto the Edge Agent. If the
* ScheduleExpression
is not provided for the
* RecorderConfig
, then the Edge Agent will always be set to
* recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid * expressions and its use. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 11 - 100
* Pattern: [^\n]{11,100}
*
* @param scheduleExpression
* The Quartz cron expression that takes care of scheduling jobs
* to record from the camera, or local media file, onto the Edge
* Agent. If the ScheduleExpression
is not provided
* for the RecorderConfig
, then the Edge Agent will
* always be set to recording mode.
*
* For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the * valid expressions and its use. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ScheduleConfig withScheduleExpression(String scheduleExpression) { this.scheduleExpression = scheduleExpression; return this; } /** *
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then the
* DurationInSeconds
attribute should also be specified.
*
* Constraints:
* Range: 60 - 3600
*
* @return
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then the
* DurationInSeconds
attribute should also be
* specified.
*
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then the
* DurationInSeconds
attribute should also be specified.
*
* Constraints:
* Range: 60 - 3600
*
* @param durationInSeconds
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then
* the DurationInSeconds
attribute should also be
* specified.
*
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then the
* DurationInSeconds
attribute should also be specified.
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Range: 60 - 3600
*
* @param durationInSeconds
* The total duration to record the media. If the
* ScheduleExpression
attribute is provided, then
* the DurationInSeconds
attribute should also be
* specified.
*