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

A list that contains the status of the delivery of the configuration stream * notification to the Amazon SNS topic.

See Also:

AWS * API Reference

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

Status of the last attempted delivery.

Note Providing an SNS * topic on a DeliveryChannel * for Config is optional. If the SNS delivery is turned off, the last status will * be Not_Applicable.

*/ inline const DeliveryStatus& GetLastStatus() const{ return m_lastStatus; } /** *

Status of the last attempted delivery.

Note Providing an SNS * topic on a DeliveryChannel * for Config is optional. If the SNS delivery is turned off, the last status will * be Not_Applicable.

*/ inline bool LastStatusHasBeenSet() const { return m_lastStatusHasBeenSet; } /** *

Status of the last attempted delivery.

Note Providing an SNS * topic on a DeliveryChannel * for Config is optional. If the SNS delivery is turned off, the last status will * be Not_Applicable.

*/ inline void SetLastStatus(const DeliveryStatus& value) { m_lastStatusHasBeenSet = true; m_lastStatus = value; } /** *

Status of the last attempted delivery.

Note Providing an SNS * topic on a DeliveryChannel * for Config is optional. If the SNS delivery is turned off, the last status will * be Not_Applicable.

*/ inline void SetLastStatus(DeliveryStatus&& value) { m_lastStatusHasBeenSet = true; m_lastStatus = std::move(value); } /** *

Status of the last attempted delivery.

Note Providing an SNS * topic on a DeliveryChannel * for Config is optional. If the SNS delivery is turned off, the last status will * be Not_Applicable.

*/ inline ConfigStreamDeliveryInfo& WithLastStatus(const DeliveryStatus& value) { SetLastStatus(value); return *this;} /** *

Status of the last attempted delivery.

Note Providing an SNS * topic on a DeliveryChannel * for Config is optional. If the SNS delivery is turned off, the last status will * be Not_Applicable.

*/ inline ConfigStreamDeliveryInfo& WithLastStatus(DeliveryStatus&& value) { SetLastStatus(std::move(value)); return *this;} /** *

The error code from the last attempted delivery.

*/ inline const Aws::String& GetLastErrorCode() const{ return m_lastErrorCode; } /** *

The error code from the last attempted delivery.

*/ inline bool LastErrorCodeHasBeenSet() const { return m_lastErrorCodeHasBeenSet; } /** *

The error code from the last attempted delivery.

*/ inline void SetLastErrorCode(const Aws::String& value) { m_lastErrorCodeHasBeenSet = true; m_lastErrorCode = value; } /** *

The error code from the last attempted delivery.

*/ inline void SetLastErrorCode(Aws::String&& value) { m_lastErrorCodeHasBeenSet = true; m_lastErrorCode = std::move(value); } /** *

The error code from the last attempted delivery.

*/ inline void SetLastErrorCode(const char* value) { m_lastErrorCodeHasBeenSet = true; m_lastErrorCode.assign(value); } /** *

The error code from the last attempted delivery.

*/ inline ConfigStreamDeliveryInfo& WithLastErrorCode(const Aws::String& value) { SetLastErrorCode(value); return *this;} /** *

The error code from the last attempted delivery.

*/ inline ConfigStreamDeliveryInfo& WithLastErrorCode(Aws::String&& value) { SetLastErrorCode(std::move(value)); return *this;} /** *

The error code from the last attempted delivery.

*/ inline ConfigStreamDeliveryInfo& WithLastErrorCode(const char* value) { SetLastErrorCode(value); return *this;} /** *

The error message from the last attempted delivery.

*/ inline const Aws::String& GetLastErrorMessage() const{ return m_lastErrorMessage; } /** *

The error message from the last attempted delivery.

*/ inline bool LastErrorMessageHasBeenSet() const { return m_lastErrorMessageHasBeenSet; } /** *

The error message from the last attempted delivery.

*/ inline void SetLastErrorMessage(const Aws::String& value) { m_lastErrorMessageHasBeenSet = true; m_lastErrorMessage = value; } /** *

The error message from the last attempted delivery.

*/ inline void SetLastErrorMessage(Aws::String&& value) { m_lastErrorMessageHasBeenSet = true; m_lastErrorMessage = std::move(value); } /** *

The error message from the last attempted delivery.

*/ inline void SetLastErrorMessage(const char* value) { m_lastErrorMessageHasBeenSet = true; m_lastErrorMessage.assign(value); } /** *

The error message from the last attempted delivery.

*/ inline ConfigStreamDeliveryInfo& WithLastErrorMessage(const Aws::String& value) { SetLastErrorMessage(value); return *this;} /** *

The error message from the last attempted delivery.

*/ inline ConfigStreamDeliveryInfo& WithLastErrorMessage(Aws::String&& value) { SetLastErrorMessage(std::move(value)); return *this;} /** *

The error message from the last attempted delivery.

*/ inline ConfigStreamDeliveryInfo& WithLastErrorMessage(const char* value) { SetLastErrorMessage(value); return *this;} /** *

The time from the last status change.

*/ inline const Aws::Utils::DateTime& GetLastStatusChangeTime() const{ return m_lastStatusChangeTime; } /** *

The time from the last status change.

*/ inline bool LastStatusChangeTimeHasBeenSet() const { return m_lastStatusChangeTimeHasBeenSet; } /** *

The time from the last status change.

*/ inline void SetLastStatusChangeTime(const Aws::Utils::DateTime& value) { m_lastStatusChangeTimeHasBeenSet = true; m_lastStatusChangeTime = value; } /** *

The time from the last status change.

*/ inline void SetLastStatusChangeTime(Aws::Utils::DateTime&& value) { m_lastStatusChangeTimeHasBeenSet = true; m_lastStatusChangeTime = std::move(value); } /** *

The time from the last status change.

*/ inline ConfigStreamDeliveryInfo& WithLastStatusChangeTime(const Aws::Utils::DateTime& value) { SetLastStatusChangeTime(value); return *this;} /** *

The time from the last status change.

*/ inline ConfigStreamDeliveryInfo& WithLastStatusChangeTime(Aws::Utils::DateTime&& value) { SetLastStatusChangeTime(std::move(value)); return *this;} private: DeliveryStatus m_lastStatus; bool m_lastStatusHasBeenSet = false; Aws::String m_lastErrorCode; bool m_lastErrorCodeHasBeenSet = false; Aws::String m_lastErrorMessage; bool m_lastErrorMessageHasBeenSet = false; Aws::Utils::DateTime m_lastStatusChangeTime; bool m_lastStatusChangeTimeHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws