/**
* 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