/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Firehose { namespace Model { /** *

Describes the destination for a delivery stream.

See Also:

* AWS * API Reference

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

The ID of the destination.

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

The ID of the destination.

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

The ID of the destination.

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

The ID of the destination.

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

The ID of the destination.

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

The ID of the destination.

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

The ID of the destination.

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

The ID of the destination.

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

[Deprecated] The destination in Amazon S3.

*/ inline const S3DestinationDescription& GetS3DestinationDescription() const{ return m_s3DestinationDescription; } /** *

[Deprecated] The destination in Amazon S3.

*/ inline bool S3DestinationDescriptionHasBeenSet() const { return m_s3DestinationDescriptionHasBeenSet; } /** *

[Deprecated] The destination in Amazon S3.

*/ inline void SetS3DestinationDescription(const S3DestinationDescription& value) { m_s3DestinationDescriptionHasBeenSet = true; m_s3DestinationDescription = value; } /** *

[Deprecated] The destination in Amazon S3.

*/ inline void SetS3DestinationDescription(S3DestinationDescription&& value) { m_s3DestinationDescriptionHasBeenSet = true; m_s3DestinationDescription = std::move(value); } /** *

[Deprecated] The destination in Amazon S3.

*/ inline DestinationDescription& WithS3DestinationDescription(const S3DestinationDescription& value) { SetS3DestinationDescription(value); return *this;} /** *

[Deprecated] The destination in Amazon S3.

*/ inline DestinationDescription& WithS3DestinationDescription(S3DestinationDescription&& value) { SetS3DestinationDescription(std::move(value)); return *this;} /** *

The destination in Amazon S3.

*/ inline const ExtendedS3DestinationDescription& GetExtendedS3DestinationDescription() const{ return m_extendedS3DestinationDescription; } /** *

The destination in Amazon S3.

*/ inline bool ExtendedS3DestinationDescriptionHasBeenSet() const { return m_extendedS3DestinationDescriptionHasBeenSet; } /** *

The destination in Amazon S3.

*/ inline void SetExtendedS3DestinationDescription(const ExtendedS3DestinationDescription& value) { m_extendedS3DestinationDescriptionHasBeenSet = true; m_extendedS3DestinationDescription = value; } /** *

The destination in Amazon S3.

*/ inline void SetExtendedS3DestinationDescription(ExtendedS3DestinationDescription&& value) { m_extendedS3DestinationDescriptionHasBeenSet = true; m_extendedS3DestinationDescription = std::move(value); } /** *

The destination in Amazon S3.

*/ inline DestinationDescription& WithExtendedS3DestinationDescription(const ExtendedS3DestinationDescription& value) { SetExtendedS3DestinationDescription(value); return *this;} /** *

The destination in Amazon S3.

*/ inline DestinationDescription& WithExtendedS3DestinationDescription(ExtendedS3DestinationDescription&& value) { SetExtendedS3DestinationDescription(std::move(value)); return *this;} /** *

The destination in Amazon Redshift.

*/ inline const RedshiftDestinationDescription& GetRedshiftDestinationDescription() const{ return m_redshiftDestinationDescription; } /** *

The destination in Amazon Redshift.

*/ inline bool RedshiftDestinationDescriptionHasBeenSet() const { return m_redshiftDestinationDescriptionHasBeenSet; } /** *

The destination in Amazon Redshift.

*/ inline void SetRedshiftDestinationDescription(const RedshiftDestinationDescription& value) { m_redshiftDestinationDescriptionHasBeenSet = true; m_redshiftDestinationDescription = value; } /** *

The destination in Amazon Redshift.

*/ inline void SetRedshiftDestinationDescription(RedshiftDestinationDescription&& value) { m_redshiftDestinationDescriptionHasBeenSet = true; m_redshiftDestinationDescription = std::move(value); } /** *

The destination in Amazon Redshift.

*/ inline DestinationDescription& WithRedshiftDestinationDescription(const RedshiftDestinationDescription& value) { SetRedshiftDestinationDescription(value); return *this;} /** *

The destination in Amazon Redshift.

*/ inline DestinationDescription& WithRedshiftDestinationDescription(RedshiftDestinationDescription&& value) { SetRedshiftDestinationDescription(std::move(value)); return *this;} /** *

The destination in Amazon ES.

*/ inline const ElasticsearchDestinationDescription& GetElasticsearchDestinationDescription() const{ return m_elasticsearchDestinationDescription; } /** *

The destination in Amazon ES.

*/ inline bool ElasticsearchDestinationDescriptionHasBeenSet() const { return m_elasticsearchDestinationDescriptionHasBeenSet; } /** *

The destination in Amazon ES.

*/ inline void SetElasticsearchDestinationDescription(const ElasticsearchDestinationDescription& value) { m_elasticsearchDestinationDescriptionHasBeenSet = true; m_elasticsearchDestinationDescription = value; } /** *

The destination in Amazon ES.

*/ inline void SetElasticsearchDestinationDescription(ElasticsearchDestinationDescription&& value) { m_elasticsearchDestinationDescriptionHasBeenSet = true; m_elasticsearchDestinationDescription = std::move(value); } /** *

The destination in Amazon ES.

*/ inline DestinationDescription& WithElasticsearchDestinationDescription(const ElasticsearchDestinationDescription& value) { SetElasticsearchDestinationDescription(value); return *this;} /** *

The destination in Amazon ES.

*/ inline DestinationDescription& WithElasticsearchDestinationDescription(ElasticsearchDestinationDescription&& value) { SetElasticsearchDestinationDescription(std::move(value)); return *this;} /** *

The destination in Splunk.

*/ inline const SplunkDestinationDescription& GetSplunkDestinationDescription() const{ return m_splunkDestinationDescription; } /** *

The destination in Splunk.

*/ inline bool SplunkDestinationDescriptionHasBeenSet() const { return m_splunkDestinationDescriptionHasBeenSet; } /** *

The destination in Splunk.

*/ inline void SetSplunkDestinationDescription(const SplunkDestinationDescription& value) { m_splunkDestinationDescriptionHasBeenSet = true; m_splunkDestinationDescription = value; } /** *

The destination in Splunk.

*/ inline void SetSplunkDestinationDescription(SplunkDestinationDescription&& value) { m_splunkDestinationDescriptionHasBeenSet = true; m_splunkDestinationDescription = std::move(value); } /** *

The destination in Splunk.

*/ inline DestinationDescription& WithSplunkDestinationDescription(const SplunkDestinationDescription& value) { SetSplunkDestinationDescription(value); return *this;} /** *

The destination in Splunk.

*/ inline DestinationDescription& WithSplunkDestinationDescription(SplunkDestinationDescription&& value) { SetSplunkDestinationDescription(std::move(value)); return *this;} /** *

Describes the specified HTTP endpoint destination.

*/ inline const HttpEndpointDestinationDescription& GetHttpEndpointDestinationDescription() const{ return m_httpEndpointDestinationDescription; } /** *

Describes the specified HTTP endpoint destination.

*/ inline bool HttpEndpointDestinationDescriptionHasBeenSet() const { return m_httpEndpointDestinationDescriptionHasBeenSet; } /** *

Describes the specified HTTP endpoint destination.

*/ inline void SetHttpEndpointDestinationDescription(const HttpEndpointDestinationDescription& value) { m_httpEndpointDestinationDescriptionHasBeenSet = true; m_httpEndpointDestinationDescription = value; } /** *

Describes the specified HTTP endpoint destination.

*/ inline void SetHttpEndpointDestinationDescription(HttpEndpointDestinationDescription&& value) { m_httpEndpointDestinationDescriptionHasBeenSet = true; m_httpEndpointDestinationDescription = std::move(value); } /** *

Describes the specified HTTP endpoint destination.

*/ inline DestinationDescription& WithHttpEndpointDestinationDescription(const HttpEndpointDestinationDescription& value) { SetHttpEndpointDestinationDescription(value); return *this;} /** *

Describes the specified HTTP endpoint destination.

*/ inline DestinationDescription& WithHttpEndpointDestinationDescription(HttpEndpointDestinationDescription&& value) { SetHttpEndpointDestinationDescription(std::move(value)); return *this;} private: Aws::String m_destinationId; bool m_destinationIdHasBeenSet; S3DestinationDescription m_s3DestinationDescription; bool m_s3DestinationDescriptionHasBeenSet; ExtendedS3DestinationDescription m_extendedS3DestinationDescription; bool m_extendedS3DestinationDescriptionHasBeenSet; RedshiftDestinationDescription m_redshiftDestinationDescription; bool m_redshiftDestinationDescriptionHasBeenSet; ElasticsearchDestinationDescription m_elasticsearchDestinationDescription; bool m_elasticsearchDestinationDescriptionHasBeenSet; SplunkDestinationDescription m_splunkDestinationDescription; bool m_splunkDestinationDescriptionHasBeenSet; HttpEndpointDestinationDescription m_httpEndpointDestinationDescription; bool m_httpEndpointDestinationDescriptionHasBeenSet; }; } // namespace Model } // namespace Firehose } // namespace Aws