/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace SSMContacts { namespace Model { class GetRotationResult { public: AWS_SSMCONTACTS_API GetRotationResult(); AWS_SSMCONTACTS_API GetRotationResult(const Aws::AmazonWebServiceResult& result); AWS_SSMCONTACTS_API GetRotationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline const Aws::String& GetRotationArn() const{ return m_rotationArn; } /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline void SetRotationArn(const Aws::String& value) { m_rotationArn = value; } /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline void SetRotationArn(Aws::String&& value) { m_rotationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline void SetRotationArn(const char* value) { m_rotationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline GetRotationResult& WithRotationArn(const Aws::String& value) { SetRotationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline GetRotationResult& WithRotationArn(Aws::String&& value) { SetRotationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the on-call rotation.

*/ inline GetRotationResult& WithRotationArn(const char* value) { SetRotationArn(value); return *this;} /** *

The name of the on-call rotation.

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

The name of the on-call rotation.

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

The name of the on-call rotation.

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

The name of the on-call rotation.

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

The name of the on-call rotation.

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

The name of the on-call rotation.

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

The name of the on-call rotation.

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

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline const Aws::Vector& GetContactIds() const{ return m_contactIds; } /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline void SetContactIds(const Aws::Vector& value) { m_contactIds = value; } /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline void SetContactIds(Aws::Vector&& value) { m_contactIds = std::move(value); } /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline GetRotationResult& WithContactIds(const Aws::Vector& value) { SetContactIds(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline GetRotationResult& WithContactIds(Aws::Vector&& value) { SetContactIds(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline GetRotationResult& AddContactIds(const Aws::String& value) { m_contactIds.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline GetRotationResult& AddContactIds(Aws::String&& value) { m_contactIds.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call * rotation team.

*/ inline GetRotationResult& AddContactIds(const char* value) { m_contactIds.push_back(value); return *this; } /** *

The specified start time for the on-call rotation.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

The specified start time for the on-call rotation.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } /** *

The specified start time for the on-call rotation.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } /** *

The specified start time for the on-call rotation.

*/ inline GetRotationResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The specified start time for the on-call rotation.

*/ inline GetRotationResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline const Aws::String& GetTimeZoneId() const{ return m_timeZoneId; } /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline void SetTimeZoneId(const Aws::String& value) { m_timeZoneId = value; } /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline void SetTimeZoneId(Aws::String&& value) { m_timeZoneId = std::move(value); } /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline void SetTimeZoneId(const char* value) { m_timeZoneId.assign(value); } /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline GetRotationResult& WithTimeZoneId(const Aws::String& value) { SetTimeZoneId(value); return *this;} /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline GetRotationResult& WithTimeZoneId(Aws::String&& value) { SetTimeZoneId(std::move(value)); return *this;} /** *

The time zone that the rotation’s activity is based on, in Internet Assigned * Numbers Authority (IANA) format.

*/ inline GetRotationResult& WithTimeZoneId(const char* value) { SetTimeZoneId(value); return *this;} /** *

Specifies how long a rotation lasts before restarting at the beginning of the * shift order.

*/ inline const RecurrenceSettings& GetRecurrence() const{ return m_recurrence; } /** *

Specifies how long a rotation lasts before restarting at the beginning of the * shift order.

*/ inline void SetRecurrence(const RecurrenceSettings& value) { m_recurrence = value; } /** *

Specifies how long a rotation lasts before restarting at the beginning of the * shift order.

*/ inline void SetRecurrence(RecurrenceSettings&& value) { m_recurrence = std::move(value); } /** *

Specifies how long a rotation lasts before restarting at the beginning of the * shift order.

*/ inline GetRotationResult& WithRecurrence(const RecurrenceSettings& value) { SetRecurrence(value); return *this;} /** *

Specifies how long a rotation lasts before restarting at the beginning of the * shift order.

*/ inline GetRotationResult& WithRecurrence(RecurrenceSettings&& value) { SetRecurrence(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetRotationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetRotationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetRotationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_rotationArn; Aws::String m_name; Aws::Vector m_contactIds; Aws::Utils::DateTime m_startTime; Aws::String m_timeZoneId; RecurrenceSettings m_recurrence; Aws::String m_requestId; }; } // namespace Model } // namespace SSMContacts } // namespace Aws