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

Information about the maintenance window.

See Also:

AWS * API Reference

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

The ID of the maintenance window.

*/ inline const Aws::String& GetWindowId() const{ return m_windowId; } /** *

The ID of the maintenance window.

*/ inline bool WindowIdHasBeenSet() const { return m_windowIdHasBeenSet; } /** *

The ID of the maintenance window.

*/ inline void SetWindowId(const Aws::String& value) { m_windowIdHasBeenSet = true; m_windowId = value; } /** *

The ID of the maintenance window.

*/ inline void SetWindowId(Aws::String&& value) { m_windowIdHasBeenSet = true; m_windowId = std::move(value); } /** *

The ID of the maintenance window.

*/ inline void SetWindowId(const char* value) { m_windowIdHasBeenSet = true; m_windowId.assign(value); } /** *

The ID of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithWindowId(const Aws::String& value) { SetWindowId(value); return *this;} /** *

The ID of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithWindowId(Aws::String&& value) { SetWindowId(std::move(value)); return *this;} /** *

The ID of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithWindowId(const char* value) { SetWindowId(value); return *this;} /** *

The name of the maintenance window.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the maintenance window.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the maintenance window.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the maintenance window.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the maintenance window.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithName(const char* value) { SetName(value); return *this;} /** *

A description of the maintenance window.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the maintenance window.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the maintenance window.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the maintenance window.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the maintenance window.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the maintenance window.

*/ inline MaintenanceWindowIdentity& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Indicates whether the maintenance window is enabled.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Indicates whether the maintenance window is enabled.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Indicates whether the maintenance window is enabled.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Indicates whether the maintenance window is enabled.

*/ inline MaintenanceWindowIdentity& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The duration of the maintenance window in hours.

*/ inline int GetDuration() const{ return m_duration; } /** *

The duration of the maintenance window in hours.

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

The duration of the maintenance window in hours.

*/ inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } /** *

The duration of the maintenance window in hours.

*/ inline MaintenanceWindowIdentity& WithDuration(int value) { SetDuration(value); return *this;} /** *

The number of hours before the end of the maintenance window that Amazon Web * Services Systems Manager stops scheduling new tasks for execution.

*/ inline int GetCutoff() const{ return m_cutoff; } /** *

The number of hours before the end of the maintenance window that Amazon Web * Services Systems Manager stops scheduling new tasks for execution.

*/ inline bool CutoffHasBeenSet() const { return m_cutoffHasBeenSet; } /** *

The number of hours before the end of the maintenance window that Amazon Web * Services Systems Manager stops scheduling new tasks for execution.

*/ inline void SetCutoff(int value) { m_cutoffHasBeenSet = true; m_cutoff = value; } /** *

The number of hours before the end of the maintenance window that Amazon Web * Services Systems Manager stops scheduling new tasks for execution.

*/ inline MaintenanceWindowIdentity& WithCutoff(int value) { SetCutoff(value); return *this;} /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline const Aws::String& GetSchedule() const{ return m_schedule; } /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); } /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline MaintenanceWindowIdentity& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;} /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline MaintenanceWindowIdentity& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;} /** *

The schedule of the maintenance window in the form of a cron or rate * expression.

*/ inline MaintenanceWindowIdentity& WithSchedule(const char* value) { SetSchedule(value); return *this;} /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline const Aws::String& GetScheduleTimezone() const{ return m_scheduleTimezone; } /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline bool ScheduleTimezoneHasBeenSet() const { return m_scheduleTimezoneHasBeenSet; } /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline void SetScheduleTimezone(const Aws::String& value) { m_scheduleTimezoneHasBeenSet = true; m_scheduleTimezone = value; } /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline void SetScheduleTimezone(Aws::String&& value) { m_scheduleTimezoneHasBeenSet = true; m_scheduleTimezone = std::move(value); } /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline void SetScheduleTimezone(const char* value) { m_scheduleTimezoneHasBeenSet = true; m_scheduleTimezone.assign(value); } /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline MaintenanceWindowIdentity& WithScheduleTimezone(const Aws::String& value) { SetScheduleTimezone(value); return *this;} /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline MaintenanceWindowIdentity& WithScheduleTimezone(Aws::String&& value) { SetScheduleTimezone(std::move(value)); return *this;} /** *

The time zone that the scheduled maintenance window executions are based on, * in Internet Assigned Numbers Authority (IANA) format.

*/ inline MaintenanceWindowIdentity& WithScheduleTimezone(const char* value) { SetScheduleTimezone(value); return *this;} /** *

The number of days to wait to run a maintenance window after the scheduled * cron expression date and time.

*/ inline int GetScheduleOffset() const{ return m_scheduleOffset; } /** *

The number of days to wait to run a maintenance window after the scheduled * cron expression date and time.

*/ inline bool ScheduleOffsetHasBeenSet() const { return m_scheduleOffsetHasBeenSet; } /** *

The number of days to wait to run a maintenance window after the scheduled * cron expression date and time.

*/ inline void SetScheduleOffset(int value) { m_scheduleOffsetHasBeenSet = true; m_scheduleOffset = value; } /** *

The number of days to wait to run a maintenance window after the scheduled * cron expression date and time.

*/ inline MaintenanceWindowIdentity& WithScheduleOffset(int value) { SetScheduleOffset(value); return *this;} /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline const Aws::String& GetEndDate() const{ return m_endDate; } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline void SetEndDate(const Aws::String& value) { m_endDateHasBeenSet = true; m_endDate = value; } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline void SetEndDate(Aws::String&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline void SetEndDate(const char* value) { m_endDateHasBeenSet = true; m_endDate.assign(value); } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline MaintenanceWindowIdentity& WithEndDate(const Aws::String& value) { SetEndDate(value); return *this;} /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline MaintenanceWindowIdentity& WithEndDate(Aws::String&& value) { SetEndDate(std::move(value)); return *this;} /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become inactive.

*/ inline MaintenanceWindowIdentity& WithEndDate(const char* value) { SetEndDate(value); return *this;} /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline const Aws::String& GetStartDate() const{ return m_startDate; } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline void SetStartDate(const Aws::String& value) { m_startDateHasBeenSet = true; m_startDate = value; } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline void SetStartDate(Aws::String&& value) { m_startDateHasBeenSet = true; m_startDate = std::move(value); } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline void SetStartDate(const char* value) { m_startDateHasBeenSet = true; m_startDate.assign(value); } /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline MaintenanceWindowIdentity& WithStartDate(const Aws::String& value) { SetStartDate(value); return *this;} /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline MaintenanceWindowIdentity& WithStartDate(Aws::String&& value) { SetStartDate(std::move(value)); return *this;} /** *

The date and time, in ISO-8601 Extended format, for when the maintenance * window is scheduled to become active.

*/ inline MaintenanceWindowIdentity& WithStartDate(const char* value) { SetStartDate(value); return *this;} /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline const Aws::String& GetNextExecutionTime() const{ return m_nextExecutionTime; } /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline bool NextExecutionTimeHasBeenSet() const { return m_nextExecutionTimeHasBeenSet; } /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline void SetNextExecutionTime(const Aws::String& value) { m_nextExecutionTimeHasBeenSet = true; m_nextExecutionTime = value; } /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline void SetNextExecutionTime(Aws::String&& value) { m_nextExecutionTimeHasBeenSet = true; m_nextExecutionTime = std::move(value); } /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline void SetNextExecutionTime(const char* value) { m_nextExecutionTimeHasBeenSet = true; m_nextExecutionTime.assign(value); } /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline MaintenanceWindowIdentity& WithNextExecutionTime(const Aws::String& value) { SetNextExecutionTime(value); return *this;} /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline MaintenanceWindowIdentity& WithNextExecutionTime(Aws::String&& value) { SetNextExecutionTime(std::move(value)); return *this;} /** *

The next time the maintenance window will actually run, taking into account * any specified times for the maintenance window to become active or inactive.

*/ inline MaintenanceWindowIdentity& WithNextExecutionTime(const char* value) { SetNextExecutionTime(value); return *this;} private: Aws::String m_windowId; bool m_windowIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; int m_duration; bool m_durationHasBeenSet = false; int m_cutoff; bool m_cutoffHasBeenSet = false; Aws::String m_schedule; bool m_scheduleHasBeenSet = false; Aws::String m_scheduleTimezone; bool m_scheduleTimezoneHasBeenSet = false; int m_scheduleOffset; bool m_scheduleOffsetHasBeenSet = false; Aws::String m_endDate; bool m_endDateHasBeenSet = false; Aws::String m_startDate; bool m_startDateHasBeenSet = false; Aws::String m_nextExecutionTime; bool m_nextExecutionTimeHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws