/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Macie2 { namespace Model { /** *

Specifies the recurrence pattern for running a classification * job.

See Also:

AWS * API Reference

*/ class JobScheduleFrequency { public: AWS_MACIE2_API JobScheduleFrequency(); AWS_MACIE2_API JobScheduleFrequency(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API JobScheduleFrequency& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies a daily recurrence pattern for running the job.

*/ inline const DailySchedule& GetDailySchedule() const{ return m_dailySchedule; } /** *

Specifies a daily recurrence pattern for running the job.

*/ inline bool DailyScheduleHasBeenSet() const { return m_dailyScheduleHasBeenSet; } /** *

Specifies a daily recurrence pattern for running the job.

*/ inline void SetDailySchedule(const DailySchedule& value) { m_dailyScheduleHasBeenSet = true; m_dailySchedule = value; } /** *

Specifies a daily recurrence pattern for running the job.

*/ inline void SetDailySchedule(DailySchedule&& value) { m_dailyScheduleHasBeenSet = true; m_dailySchedule = std::move(value); } /** *

Specifies a daily recurrence pattern for running the job.

*/ inline JobScheduleFrequency& WithDailySchedule(const DailySchedule& value) { SetDailySchedule(value); return *this;} /** *

Specifies a daily recurrence pattern for running the job.

*/ inline JobScheduleFrequency& WithDailySchedule(DailySchedule&& value) { SetDailySchedule(std::move(value)); return *this;} /** *

Specifies a monthly recurrence pattern for running the job.

*/ inline const MonthlySchedule& GetMonthlySchedule() const{ return m_monthlySchedule; } /** *

Specifies a monthly recurrence pattern for running the job.

*/ inline bool MonthlyScheduleHasBeenSet() const { return m_monthlyScheduleHasBeenSet; } /** *

Specifies a monthly recurrence pattern for running the job.

*/ inline void SetMonthlySchedule(const MonthlySchedule& value) { m_monthlyScheduleHasBeenSet = true; m_monthlySchedule = value; } /** *

Specifies a monthly recurrence pattern for running the job.

*/ inline void SetMonthlySchedule(MonthlySchedule&& value) { m_monthlyScheduleHasBeenSet = true; m_monthlySchedule = std::move(value); } /** *

Specifies a monthly recurrence pattern for running the job.

*/ inline JobScheduleFrequency& WithMonthlySchedule(const MonthlySchedule& value) { SetMonthlySchedule(value); return *this;} /** *

Specifies a monthly recurrence pattern for running the job.

*/ inline JobScheduleFrequency& WithMonthlySchedule(MonthlySchedule&& value) { SetMonthlySchedule(std::move(value)); return *this;} /** *

Specifies a weekly recurrence pattern for running the job.

*/ inline const WeeklySchedule& GetWeeklySchedule() const{ return m_weeklySchedule; } /** *

Specifies a weekly recurrence pattern for running the job.

*/ inline bool WeeklyScheduleHasBeenSet() const { return m_weeklyScheduleHasBeenSet; } /** *

Specifies a weekly recurrence pattern for running the job.

*/ inline void SetWeeklySchedule(const WeeklySchedule& value) { m_weeklyScheduleHasBeenSet = true; m_weeklySchedule = value; } /** *

Specifies a weekly recurrence pattern for running the job.

*/ inline void SetWeeklySchedule(WeeklySchedule&& value) { m_weeklyScheduleHasBeenSet = true; m_weeklySchedule = std::move(value); } /** *

Specifies a weekly recurrence pattern for running the job.

*/ inline JobScheduleFrequency& WithWeeklySchedule(const WeeklySchedule& value) { SetWeeklySchedule(value); return *this;} /** *

Specifies a weekly recurrence pattern for running the job.

*/ inline JobScheduleFrequency& WithWeeklySchedule(WeeklySchedule&& value) { SetWeeklySchedule(std::move(value)); return *this;} private: DailySchedule m_dailySchedule; bool m_dailyScheduleHasBeenSet = false; MonthlySchedule m_monthlySchedule; bool m_monthlyScheduleHasBeenSet = false; WeeklySchedule m_weeklySchedule; bool m_weeklyScheduleHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws