/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace IoT { namespace Model { /** */ class AWS_IOT_API CreateScheduledAuditRequest : public IoTRequest { public: CreateScheduledAuditRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateScheduledAudit"; } Aws::String SerializePayload() const override; /** *

How often the scheduled audit takes place, either DAILY, * WEEKLY, BIWEEKLY or MONTHLY. The start * time of each audit is determined by the system.

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

How often the scheduled audit takes place, either DAILY, * WEEKLY, BIWEEKLY or MONTHLY. The start * time of each audit is determined by the system.

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

How often the scheduled audit takes place, either DAILY, * WEEKLY, BIWEEKLY or MONTHLY. The start * time of each audit is determined by the system.

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

How often the scheduled audit takes place, either DAILY, * WEEKLY, BIWEEKLY or MONTHLY. The start * time of each audit is determined by the system.

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

How often the scheduled audit takes place, either DAILY, * WEEKLY, BIWEEKLY or MONTHLY. The start * time of each audit is determined by the system.

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

How often the scheduled audit takes place, either DAILY, * WEEKLY, BIWEEKLY or MONTHLY. The start * time of each audit is determined by the system.

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

The day of the month on which the scheduled audit takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't 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 takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't 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 takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't 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 takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't 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 takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't 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 takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't have that many days, the audit takes place on the LAST day * of the month.

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

The day of the month on which the scheduled audit takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't have that many days, the audit takes place on the LAST day * of the month.

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

The day of the month on which the scheduled audit takes place. This can be * "1" through "31" or "LAST". This field is required if the "frequency" parameter * is set to MONTHLY. If days 29 to 31 are specified, and the month * doesn't have that many days, the audit takes place on the LAST day * of the month.

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

The day of the week on which the scheduled audit takes place, either * SUN, MON, TUE, WED, * THU, FRI, or SAT. This field is required * if the frequency parameter is set to WEEKLY or * BIWEEKLY.

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

The day of the week on which the scheduled audit takes place, either * SUN, MON, TUE, WED, * THU, FRI, or SAT. This field is required * if the frequency parameter is set to WEEKLY or * BIWEEKLY.

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

The day of the week on which the scheduled audit takes place, either * SUN, MON, TUE, WED, * THU, FRI, or SAT. This field is required * if the frequency parameter is set to 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 takes place, either * SUN, MON, TUE, WED, * THU, FRI, or SAT. This field is required * if the frequency parameter is set to 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 takes place, either * SUN, MON, TUE, WED, * THU, FRI, or SAT. This field is required * if the frequency parameter is set to WEEKLY or * BIWEEKLY.

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

The day of the week on which the scheduled audit takes place, either * SUN, MON, TUE, WED, * THU, FRI, or SAT. This field is required * if the frequency parameter is set to WEEKLY or * BIWEEKLY.

*/ inline CreateScheduledAuditRequest& WithDayOfWeek(DayOfWeek&& value) { SetDayOfWeek(std::move(value)); return *this;} /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline const Aws::Vector& GetTargetCheckNames() const{ return m_targetCheckNames; } /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline bool TargetCheckNamesHasBeenSet() const { return m_targetCheckNamesHasBeenSet; } /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline void SetTargetCheckNames(const Aws::Vector& value) { m_targetCheckNamesHasBeenSet = true; m_targetCheckNames = value; } /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline void SetTargetCheckNames(Aws::Vector&& value) { m_targetCheckNamesHasBeenSet = true; m_targetCheckNames = std::move(value); } /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline CreateScheduledAuditRequest& WithTargetCheckNames(const Aws::Vector& value) { SetTargetCheckNames(value); return *this;} /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline CreateScheduledAuditRequest& WithTargetCheckNames(Aws::Vector&& value) { SetTargetCheckNames(std::move(value)); return *this;} /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline CreateScheduledAuditRequest& AddTargetCheckNames(const Aws::String& value) { m_targetCheckNamesHasBeenSet = true; m_targetCheckNames.push_back(value); return *this; } /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline CreateScheduledAuditRequest& AddTargetCheckNames(Aws::String&& value) { m_targetCheckNamesHasBeenSet = true; m_targetCheckNames.push_back(std::move(value)); return *this; } /** *

Which checks are performed during the scheduled audit. Checks must be enabled * for your account. (Use DescribeAccountAuditConfiguration to see the * list of all checks, including those that are enabled or use * UpdateAccountAuditConfiguration to select which checks are * enabled.)

*/ inline CreateScheduledAuditRequest& AddTargetCheckNames(const char* value) { m_targetCheckNamesHasBeenSet = true; m_targetCheckNames.push_back(value); return *this; } /** *

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

The name you want to give to the scheduled audit. (Max. 128 chars)

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

Metadata that can be used to manage the scheduled audit.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Metadata that can be used to manage the scheduled audit.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Metadata that can be used to manage the scheduled audit.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Metadata that can be used to manage the scheduled audit.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Metadata that can be used to manage the scheduled audit.

*/ inline CreateScheduledAuditRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Metadata that can be used to manage the scheduled audit.

*/ inline CreateScheduledAuditRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Metadata that can be used to manage the scheduled audit.

*/ inline CreateScheduledAuditRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Metadata that can be used to manage the scheduled audit.

*/ inline CreateScheduledAuditRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: AuditFrequency m_frequency; bool m_frequencyHasBeenSet; Aws::String m_dayOfMonth; bool m_dayOfMonthHasBeenSet; DayOfWeek m_dayOfWeek; bool m_dayOfWeekHasBeenSet; Aws::Vector m_targetCheckNames; bool m_targetCheckNamesHasBeenSet; Aws::String m_scheduledAuditName; bool m_scheduledAuditNameHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; }; } // namespace Model } // namespace IoT } // namespace Aws