/* * Copyright 2018-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.timestreamquery.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateScheduledQueryRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* Name of the scheduled query. *

*/ private String name; /** *

* The query string to run. Parameter names can be specified in the query string @ character followed * by an identifier. The named Parameter @scheduled_runtime is reserved and can be used in the query to * get the time at which the query is scheduled to run. *

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a scheduled * query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime parameter is * initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. *

*/ private String queryString; /** *

* The schedule configuration for the query. *

*/ private ScheduleConfiguration scheduleConfiguration; /** *

* Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. *

*/ private NotificationConfiguration notificationConfiguration; /** *

* Configuration used for writing the result of a query. *

*/ private TargetConfiguration targetConfiguration; /** *

* Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same request * repeatedly will produce the same result. Making multiple identical CreateScheduledQuery requests has the same * effect as making a single request. *

* */ private String clientToken; /** *

* The ARN for the IAM role that Timestream will assume when running the scheduled query. *

*/ private String scheduledQueryExecutionRoleArn; /** *

* A list of key-value pairs to label the scheduled query. *

*/ private java.util.List tags; /** *

* The Amazon KMS key used to encrypt the scheduled query resource, at-rest. If the Amazon KMS key is not specified, * the scheduled query resource will be encrypted with a Timestream owned Amazon KMS key. To specify a KMS key, use * the key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix the name with alias/ *

*

* If ErrorReportConfiguration uses SSE_KMS as encryption type, the same KmsKeyId is used to encrypt * the error report at rest. *

*/ private String kmsKeyId; /** *

* Configuration for error reporting. Error reports will be generated when a problem is encountered when writing the * query results. *

*/ private ErrorReportConfiguration errorReportConfiguration; /** *

* Name of the scheduled query. *

* * @param name * Name of the scheduled query. */ public void setName(String name) { this.name = name; } /** *

* Name of the scheduled query. *

* * @return Name of the scheduled query. */ public String getName() { return this.name; } /** *

* Name of the scheduled query. *

* * @param name * Name of the scheduled query. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateScheduledQueryRequest withName(String name) { setName(name); return this; } /** *

* The query string to run. Parameter names can be specified in the query string @ character followed * by an identifier. The named Parameter @scheduled_runtime is reserved and can be used in the query to * get the time at which the query is scheduled to run. *

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a scheduled * query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime parameter is * initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. *

* * @param queryString * The query string to run. Parameter names can be specified in the query string @ character * followed by an identifier. The named Parameter @scheduled_runtime is reserved and can be used * in the query to get the time at which the query is scheduled to run.

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a * scheduled query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime * parameter is initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. */ public void setQueryString(String queryString) { this.queryString = queryString; } /** *

* The query string to run. Parameter names can be specified in the query string @ character followed * by an identifier. The named Parameter @scheduled_runtime is reserved and can be used in the query to * get the time at which the query is scheduled to run. *

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a scheduled * query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime parameter is * initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. *

* * @return The query string to run. Parameter names can be specified in the query string @ character * followed by an identifier. The named Parameter @scheduled_runtime is reserved and can be * used in the query to get the time at which the query is scheduled to run.

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a * scheduled query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime * parameter is initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. */ public String getQueryString() { return this.queryString; } /** *

* The query string to run. Parameter names can be specified in the query string @ character followed * by an identifier. The named Parameter @scheduled_runtime is reserved and can be used in the query to * get the time at which the query is scheduled to run. *

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a scheduled * query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime parameter is * initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. *

* * @param queryString * The query string to run. Parameter names can be specified in the query string @ character * followed by an identifier. The named Parameter @scheduled_runtime is reserved and can be used * in the query to get the time at which the query is scheduled to run.

*

* The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of * @scheduled_runtime paramater for each query run. For example, consider an instance of a * scheduled query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime * parameter is initialized to the timestamp 2021-12-01 00:00:00 when invoking the query. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateScheduledQueryRequest withQueryString(String queryString) { setQueryString(queryString); return this; } /** *

* The schedule configuration for the query. *

* * @param scheduleConfiguration * The schedule configuration for the query. */ public void setScheduleConfiguration(ScheduleConfiguration scheduleConfiguration) { this.scheduleConfiguration = scheduleConfiguration; } /** *

* The schedule configuration for the query. *

* * @return The schedule configuration for the query. */ public ScheduleConfiguration getScheduleConfiguration() { return this.scheduleConfiguration; } /** *

* The schedule configuration for the query. *

* * @param scheduleConfiguration * The schedule configuration for the query. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateScheduledQueryRequest withScheduleConfiguration(ScheduleConfiguration scheduleConfiguration) { setScheduleConfiguration(scheduleConfiguration); return this; } /** *

* Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. *

* * @param notificationConfiguration * Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. */ public void setNotificationConfiguration(NotificationConfiguration notificationConfiguration) { this.notificationConfiguration = notificationConfiguration; } /** *

* Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. *

* * @return Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. */ public NotificationConfiguration getNotificationConfiguration() { return this.notificationConfiguration; } /** *

* Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. *

* * @param notificationConfiguration * Notification configuration for the scheduled query. A notification is sent by Timestream when a query run * finishes, when the state is updated or when you delete it. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateScheduledQueryRequest withNotificationConfiguration(NotificationConfiguration notificationConfiguration) { setNotificationConfiguration(notificationConfiguration); return this; } /** *

* Configuration used for writing the result of a query. *

* * @param targetConfiguration * Configuration used for writing the result of a query. */ public void setTargetConfiguration(TargetConfiguration targetConfiguration) { this.targetConfiguration = targetConfiguration; } /** *

* Configuration used for writing the result of a query. *

* * @return Configuration used for writing the result of a query. */ public TargetConfiguration getTargetConfiguration() { return this.targetConfiguration; } /** *

* Configuration used for writing the result of a query. *

* * @param targetConfiguration * Configuration used for writing the result of a query. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateScheduledQueryRequest withTargetConfiguration(TargetConfiguration targetConfiguration) { setTargetConfiguration(targetConfiguration); return this; } /** *

* Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same request * repeatedly will produce the same result. Making multiple identical CreateScheduledQuery requests has the same * effect as making a single request. *

* * * @param clientToken * Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same * request repeatedly will produce the same result. Making multiple identical CreateScheduledQuery requests * has the same effect as making a single request.

*