/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a scheduled action. You can use a scheduled action to trigger some
* Amazon Redshift API operations on a schedule. For information about which API
* operations can be scheduled, see ScheduledActionType. See
* Also:
AWS
* API Reference
The name of the scheduled action.
*/ inline const Aws::String& GetScheduledActionName() const{ return m_scheduledActionName; } /** *The name of the scheduled action.
*/ inline void SetScheduledActionName(const Aws::String& value) { m_scheduledActionName = value; } /** *The name of the scheduled action.
*/ inline void SetScheduledActionName(Aws::String&& value) { m_scheduledActionName = std::move(value); } /** *The name of the scheduled action.
*/ inline void SetScheduledActionName(const char* value) { m_scheduledActionName.assign(value); } /** *The name of the scheduled action.
*/ inline CreateScheduledActionResult& WithScheduledActionName(const Aws::String& value) { SetScheduledActionName(value); return *this;} /** *The name of the scheduled action.
*/ inline CreateScheduledActionResult& WithScheduledActionName(Aws::String&& value) { SetScheduledActionName(std::move(value)); return *this;} /** *The name of the scheduled action.
*/ inline CreateScheduledActionResult& WithScheduledActionName(const char* value) { SetScheduledActionName(value); return *this;} /** *A JSON format string of the Amazon Redshift API operation with input * parameters.
*"{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}
".
*
A JSON format string of the Amazon Redshift API operation with input * parameters.
*"{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}
".
*
A JSON format string of the Amazon Redshift API operation with input * parameters.
*"{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}
".
*
A JSON format string of the Amazon Redshift API operation with input * parameters.
*"{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}
".
*
A JSON format string of the Amazon Redshift API operation with input * parameters.
*"{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}
".
*
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled * action. Schedule invocations must be separated by at least one hour.
*Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)
". For
* example, "at(2016-03-04T17:27:00)
".
Format of cron
* expressions is "cron(Minutes Hours Day-of-month Month Day-of-week
* Year)
". For example, "cron(0 10 ? * MON *)
". For more
* information, see Cron
* Expressions in the Amazon CloudWatch Events User Guide.
The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline const Aws::String& GetIamRole() const{ return m_iamRole; } /** *The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline void SetIamRole(const Aws::String& value) { m_iamRole = value; } /** *The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline void SetIamRole(Aws::String&& value) { m_iamRole = std::move(value); } /** *The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline void SetIamRole(const char* value) { m_iamRole.assign(value); } /** *The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline CreateScheduledActionResult& WithIamRole(const Aws::String& value) { SetIamRole(value); return *this;} /** *The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline CreateScheduledActionResult& WithIamRole(Aws::String&& value) { SetIamRole(std::move(value)); return *this;} /** *The IAM role to assume to run the scheduled action. This IAM role must have * permission to run the Amazon Redshift API operation in the scheduled action. * This IAM role must allow the Amazon Redshift scheduler (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 * Cluster Management Guide.
*/ inline CreateScheduledActionResult& WithIamRole(const char* value) { SetIamRole(value); return *this;} /** *The description of the scheduled action.
*/ inline const Aws::String& GetScheduledActionDescription() const{ return m_scheduledActionDescription; } /** *The description of the scheduled action.
*/ inline void SetScheduledActionDescription(const Aws::String& value) { m_scheduledActionDescription = value; } /** *The description of the scheduled action.
*/ inline void SetScheduledActionDescription(Aws::String&& value) { m_scheduledActionDescription = std::move(value); } /** *The description of the scheduled action.
*/ inline void SetScheduledActionDescription(const char* value) { m_scheduledActionDescription.assign(value); } /** *The description of the scheduled action.
*/ inline CreateScheduledActionResult& WithScheduledActionDescription(const Aws::String& value) { SetScheduledActionDescription(value); return *this;} /** *The description of the scheduled action.
*/ inline CreateScheduledActionResult& WithScheduledActionDescription(Aws::String&& value) { SetScheduledActionDescription(std::move(value)); return *this;} /** *The description of the scheduled action.
*/ inline CreateScheduledActionResult& WithScheduledActionDescription(const char* value) { SetScheduledActionDescription(value); return *this;} /** *The state of the scheduled action. For example, DISABLED
.
The state of the scheduled action. For example, DISABLED
.
The state of the scheduled action. For example, DISABLED
.
The state of the scheduled action. For example, DISABLED
.
The state of the scheduled action. For example, DISABLED
.
List of times when the scheduled action will run.
*/ inline const Aws::VectorList of times when the scheduled action will run.
*/ inline void SetNextInvocations(const Aws::VectorList of times when the scheduled action will run.
*/ inline void SetNextInvocations(Aws::VectorList of times when the scheduled action will run.
*/ inline CreateScheduledActionResult& WithNextInvocations(const Aws::VectorList of times when the scheduled action will run.
*/ inline CreateScheduledActionResult& WithNextInvocations(Aws::VectorList of times when the scheduled action will run.
*/ inline CreateScheduledActionResult& AddNextInvocations(const Aws::Utils::DateTime& value) { m_nextInvocations.push_back(value); return *this; } /** *List of times when the scheduled action will run.
*/ inline CreateScheduledActionResult& AddNextInvocations(Aws::Utils::DateTime&& value) { m_nextInvocations.push_back(std::move(value)); return *this; } /** *The start time in UTC when the schedule is active. Before this time, the * scheduled action does not trigger.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The start time in UTC when the schedule is active. Before this time, the * scheduled action does not trigger.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } /** *The start time in UTC when the schedule is active. Before this time, the * scheduled action does not trigger.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } /** *The start time in UTC when the schedule is active. Before this time, the * scheduled action does not trigger.
*/ inline CreateScheduledActionResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The start time in UTC when the schedule is active. Before this time, the * scheduled action does not trigger.
*/ inline CreateScheduledActionResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *The end time in UTC when the schedule is no longer active. After this time, * the scheduled action does not trigger.
*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *The end time in UTC when the schedule is no longer active. After this time, * the scheduled action does not trigger.
*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } /** *The end time in UTC when the schedule is no longer active. After this time, * the scheduled action does not trigger.
*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } /** *The end time in UTC when the schedule is no longer active. After this time, * the scheduled action does not trigger.
*/ inline CreateScheduledActionResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *The end time in UTC when the schedule is no longer active. After this time, * the scheduled action does not trigger.
*/ inline CreateScheduledActionResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline CreateScheduledActionResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline CreateScheduledActionResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_scheduledActionName; ScheduledActionType m_targetAction; Aws::String m_schedule; Aws::String m_iamRole; Aws::String m_scheduledActionDescription; ScheduledActionState m_state; Aws::Vector