/** * 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 IoT { namespace Model { /** *

Information about the scheduled audit.

See Also:

AWS * API Reference

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

The name of the scheduled audit.

*/ inline const Aws::String& GetScheduledAuditName() const{ return m_scheduledAuditName; } /** *

The name of the scheduled audit.

*/ inline bool ScheduledAuditNameHasBeenSet() const { return m_scheduledAuditNameHasBeenSet; } /** *

The name of the scheduled audit.

*/ inline void SetScheduledAuditName(const Aws::String& value) { m_scheduledAuditNameHasBeenSet = true; m_scheduledAuditName = value; } /** *

The name of the scheduled audit.

*/ inline void SetScheduledAuditName(Aws::String&& value) { m_scheduledAuditNameHasBeenSet = true; m_scheduledAuditName = std::move(value); } /** *

The name of the scheduled audit.

*/ inline void SetScheduledAuditName(const char* value) { m_scheduledAuditNameHasBeenSet = true; m_scheduledAuditName.assign(value); } /** *

The name of the scheduled audit.

*/ inline ScheduledAuditMetadata& WithScheduledAuditName(const Aws::String& value) { SetScheduledAuditName(value); return *this;} /** *

The name of the scheduled audit.

*/ inline ScheduledAuditMetadata& WithScheduledAuditName(Aws::String&& value) { SetScheduledAuditName(std::move(value)); return *this;} /** *

The name of the scheduled audit.

*/ inline ScheduledAuditMetadata& WithScheduledAuditName(const char* value) { SetScheduledAuditName(value); return *this;} /** *

The ARN of the scheduled audit.

*/ inline const Aws::String& GetScheduledAuditArn() const{ return m_scheduledAuditArn; } /** *

The ARN of the scheduled audit.

*/ inline bool ScheduledAuditArnHasBeenSet() const { return m_scheduledAuditArnHasBeenSet; } /** *

The ARN of the scheduled audit.

*/ inline void SetScheduledAuditArn(const Aws::String& value) { m_scheduledAuditArnHasBeenSet = true; m_scheduledAuditArn = value; } /** *

The ARN of the scheduled audit.

*/ inline void SetScheduledAuditArn(Aws::String&& value) { m_scheduledAuditArnHasBeenSet = true; m_scheduledAuditArn = std::move(value); } /** *

The ARN of the scheduled audit.

*/ inline void SetScheduledAuditArn(const char* value) { m_scheduledAuditArnHasBeenSet = true; m_scheduledAuditArn.assign(value); } /** *

The ARN of the scheduled audit.

*/ inline ScheduledAuditMetadata& WithScheduledAuditArn(const Aws::String& value) { SetScheduledAuditArn(value); return *this;} /** *

The ARN of the scheduled audit.

*/ inline ScheduledAuditMetadata& WithScheduledAuditArn(Aws::String&& value) { SetScheduledAuditArn(std::move(value)); return *this;} /** *

The ARN of the scheduled audit.

*/ inline ScheduledAuditMetadata& WithScheduledAuditArn(const char* value) { SetScheduledAuditArn(value); return *this;} /** *

How often the scheduled audit occurs.

*/ inline const AuditFrequency& GetFrequency() const{ return m_frequency; } /** *

How often the scheduled audit occurs.

*/ inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } /** *

How often the scheduled audit occurs.

*/ inline void SetFrequency(const AuditFrequency& value) { m_frequencyHasBeenSet = true; m_frequency = value; } /** *

How often the scheduled audit occurs.

*/ inline void SetFrequency(AuditFrequency&& value) { m_frequencyHasBeenSet = true; m_frequency = std::move(value); } /** *

How often the scheduled audit occurs.

*/ inline ScheduledAuditMetadata& WithFrequency(const AuditFrequency& value) { SetFrequency(value); return *this;} /** *

How often the scheduled audit occurs.

*/ inline ScheduledAuditMetadata& WithFrequency(AuditFrequency&& value) { SetFrequency(std::move(value)); return *this;} /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline const Aws::String& GetDayOfMonth() const{ return m_dayOfMonth; } /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline bool DayOfMonthHasBeenSet() const { return m_dayOfMonthHasBeenSet; } /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline void SetDayOfMonth(const Aws::String& value) { m_dayOfMonthHasBeenSet = true; m_dayOfMonth = value; } /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline void SetDayOfMonth(Aws::String&& value) { m_dayOfMonthHasBeenSet = true; m_dayOfMonth = std::move(value); } /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline void SetDayOfMonth(const char* value) { m_dayOfMonthHasBeenSet = true; m_dayOfMonth.assign(value); } /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline ScheduledAuditMetadata& WithDayOfMonth(const Aws::String& value) { SetDayOfMonth(value); return *this;} /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline ScheduledAuditMetadata& WithDayOfMonth(Aws::String&& value) { SetDayOfMonth(std::move(value)); return *this;} /** *

The day of the month on which the scheduled audit is run (if the * frequency is "MONTHLY"). If days 29-31 are specified, and the month * does not have that many days, the audit takes place on the "LAST" day of the * month.

*/ inline ScheduledAuditMetadata& WithDayOfMonth(const char* value) { SetDayOfMonth(value); return *this;} /** *

The day of the week on which the scheduled audit is run (if the * frequency is "WEEKLY" or "BIWEEKLY").

*/ inline const DayOfWeek& GetDayOfWeek() const{ return m_dayOfWeek; } /** *

The day of the week on which the scheduled audit is run (if the * frequency is "WEEKLY" or "BIWEEKLY").

*/ inline bool DayOfWeekHasBeenSet() const { return m_dayOfWeekHasBeenSet; } /** *

The day of the week on which the scheduled audit is run (if the * frequency is "WEEKLY" or "BIWEEKLY").

*/ inline void SetDayOfWeek(const DayOfWeek& value) { m_dayOfWeekHasBeenSet = true; m_dayOfWeek = value; } /** *

The day of the week on which the scheduled audit is run (if the * frequency is "WEEKLY" or "BIWEEKLY").

*/ inline void SetDayOfWeek(DayOfWeek&& value) { m_dayOfWeekHasBeenSet = true; m_dayOfWeek = std::move(value); } /** *

The day of the week on which the scheduled audit is run (if the * frequency is "WEEKLY" or "BIWEEKLY").

*/ inline ScheduledAuditMetadata& WithDayOfWeek(const DayOfWeek& value) { SetDayOfWeek(value); return *this;} /** *

The day of the week on which the scheduled audit is run (if the * frequency is "WEEKLY" or "BIWEEKLY").

*/ inline ScheduledAuditMetadata& WithDayOfWeek(DayOfWeek&& value) { SetDayOfWeek(std::move(value)); return *this;} private: Aws::String m_scheduledAuditName; bool m_scheduledAuditNameHasBeenSet = false; Aws::String m_scheduledAuditArn; bool m_scheduledAuditArnHasBeenSet = false; AuditFrequency m_frequency; bool m_frequencyHasBeenSet = false; Aws::String m_dayOfMonth; bool m_dayOfMonthHasBeenSet = false; DayOfWeek m_dayOfWeek; bool m_dayOfWeekHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws