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

Contains information about the publishing destination, including the ID, * type, and status.

See Also:

AWS * API Reference

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

The unique ID of the publishing destination.

*/ inline const Aws::String& GetDestinationId() const{ return m_destinationId; } /** *

The unique ID of the publishing destination.

*/ inline bool DestinationIdHasBeenSet() const { return m_destinationIdHasBeenSet; } /** *

The unique ID of the publishing destination.

*/ inline void SetDestinationId(const Aws::String& value) { m_destinationIdHasBeenSet = true; m_destinationId = value; } /** *

The unique ID of the publishing destination.

*/ inline void SetDestinationId(Aws::String&& value) { m_destinationIdHasBeenSet = true; m_destinationId = std::move(value); } /** *

The unique ID of the publishing destination.

*/ inline void SetDestinationId(const char* value) { m_destinationIdHasBeenSet = true; m_destinationId.assign(value); } /** *

The unique ID of the publishing destination.

*/ inline Destination& WithDestinationId(const Aws::String& value) { SetDestinationId(value); return *this;} /** *

The unique ID of the publishing destination.

*/ inline Destination& WithDestinationId(Aws::String&& value) { SetDestinationId(std::move(value)); return *this;} /** *

The unique ID of the publishing destination.

*/ inline Destination& WithDestinationId(const char* value) { SetDestinationId(value); return *this;} /** *

The type of resource used for the publishing destination. Currently, only * Amazon S3 buckets are supported.

*/ inline const DestinationType& GetDestinationType() const{ return m_destinationType; } /** *

The type of resource used for the publishing destination. Currently, only * Amazon S3 buckets are supported.

*/ inline bool DestinationTypeHasBeenSet() const { return m_destinationTypeHasBeenSet; } /** *

The type of resource used for the publishing destination. Currently, only * Amazon S3 buckets are supported.

*/ inline void SetDestinationType(const DestinationType& value) { m_destinationTypeHasBeenSet = true; m_destinationType = value; } /** *

The type of resource used for the publishing destination. Currently, only * Amazon S3 buckets are supported.

*/ inline void SetDestinationType(DestinationType&& value) { m_destinationTypeHasBeenSet = true; m_destinationType = std::move(value); } /** *

The type of resource used for the publishing destination. Currently, only * Amazon S3 buckets are supported.

*/ inline Destination& WithDestinationType(const DestinationType& value) { SetDestinationType(value); return *this;} /** *

The type of resource used for the publishing destination. Currently, only * Amazon S3 buckets are supported.

*/ inline Destination& WithDestinationType(DestinationType&& value) { SetDestinationType(std::move(value)); return *this;} /** *

The status of the publishing destination.

*/ inline const PublishingStatus& GetStatus() const{ return m_status; } /** *

The status of the publishing destination.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the publishing destination.

*/ inline void SetStatus(const PublishingStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the publishing destination.

*/ inline void SetStatus(PublishingStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the publishing destination.

*/ inline Destination& WithStatus(const PublishingStatus& value) { SetStatus(value); return *this;} /** *

The status of the publishing destination.

*/ inline Destination& WithStatus(PublishingStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_destinationId; bool m_destinationIdHasBeenSet = false; DestinationType m_destinationType; bool m_destinationTypeHasBeenSet = false; PublishingStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws