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

Contains information about an audit log destination.

See Also:

* AWS * API Reference

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

Contains information about an Amazon S3 bucket.

*/ inline const S3Bucket& GetS3Bucket() const{ return m_s3Bucket; } /** *

Contains information about an Amazon S3 bucket.

*/ inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } /** *

Contains information about an Amazon S3 bucket.

*/ inline void SetS3Bucket(const S3Bucket& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } /** *

Contains information about an Amazon S3 bucket.

*/ inline void SetS3Bucket(S3Bucket&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } /** *

Contains information about an Amazon S3 bucket.

*/ inline Destination& WithS3Bucket(const S3Bucket& value) { SetS3Bucket(value); return *this;} /** *

Contains information about an Amazon S3 bucket.

*/ inline Destination& WithS3Bucket(S3Bucket&& value) { SetS3Bucket(std::move(value)); return *this;} /** *

Contains information about an Amazon Kinesis Data Firehose delivery * stream.

*/ inline const FirehoseStream& GetFirehoseStream() const{ return m_firehoseStream; } /** *

Contains information about an Amazon Kinesis Data Firehose delivery * stream.

*/ inline bool FirehoseStreamHasBeenSet() const { return m_firehoseStreamHasBeenSet; } /** *

Contains information about an Amazon Kinesis Data Firehose delivery * stream.

*/ inline void SetFirehoseStream(const FirehoseStream& value) { m_firehoseStreamHasBeenSet = true; m_firehoseStream = value; } /** *

Contains information about an Amazon Kinesis Data Firehose delivery * stream.

*/ inline void SetFirehoseStream(FirehoseStream&& value) { m_firehoseStreamHasBeenSet = true; m_firehoseStream = std::move(value); } /** *

Contains information about an Amazon Kinesis Data Firehose delivery * stream.

*/ inline Destination& WithFirehoseStream(const FirehoseStream& value) { SetFirehoseStream(value); return *this;} /** *

Contains information about an Amazon Kinesis Data Firehose delivery * stream.

*/ inline Destination& WithFirehoseStream(FirehoseStream&& value) { SetFirehoseStream(std::move(value)); return *this;} private: S3Bucket m_s3Bucket; bool m_s3BucketHasBeenSet = false; FirehoseStream m_firehoseStream; bool m_firehoseStreamHasBeenSet = false; }; } // namespace Model } // namespace AppFabric } // namespace Aws