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

The configuration for publishing Amazon CloudWatch Internet Monitor internet * measurements to Amazon S3. The configuration includes the bucket name and * (optionally) prefix for the S3 bucket to store the measurements, and the * delivery status. The delivery status is ENABLED or * DISABLED, depending on whether you choose to deliver internet * measurements to S3 logs.

See Also:

AWS * API Reference

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

The Amazon S3 bucket name.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The Amazon S3 bucket name.

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The Amazon S3 bucket name.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The Amazon S3 bucket name.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The Amazon S3 bucket name.

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The Amazon S3 bucket name.

*/ inline S3Config& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The Amazon S3 bucket name.

*/ inline S3Config& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The Amazon S3 bucket name.

*/ inline S3Config& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The Amazon S3 bucket prefix.

*/ inline const Aws::String& GetBucketPrefix() const{ return m_bucketPrefix; } /** *

The Amazon S3 bucket prefix.

*/ inline bool BucketPrefixHasBeenSet() const { return m_bucketPrefixHasBeenSet; } /** *

The Amazon S3 bucket prefix.

*/ inline void SetBucketPrefix(const Aws::String& value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix = value; } /** *

The Amazon S3 bucket prefix.

*/ inline void SetBucketPrefix(Aws::String&& value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix = std::move(value); } /** *

The Amazon S3 bucket prefix.

*/ inline void SetBucketPrefix(const char* value) { m_bucketPrefixHasBeenSet = true; m_bucketPrefix.assign(value); } /** *

The Amazon S3 bucket prefix.

*/ inline S3Config& WithBucketPrefix(const Aws::String& value) { SetBucketPrefix(value); return *this;} /** *

The Amazon S3 bucket prefix.

*/ inline S3Config& WithBucketPrefix(Aws::String&& value) { SetBucketPrefix(std::move(value)); return *this;} /** *

The Amazon S3 bucket prefix.

*/ inline S3Config& WithBucketPrefix(const char* value) { SetBucketPrefix(value); return *this;} /** *

The status of publishing Internet Monitor internet measurements to an Amazon * S3 bucket.

*/ inline const LogDeliveryStatus& GetLogDeliveryStatus() const{ return m_logDeliveryStatus; } /** *

The status of publishing Internet Monitor internet measurements to an Amazon * S3 bucket.

*/ inline bool LogDeliveryStatusHasBeenSet() const { return m_logDeliveryStatusHasBeenSet; } /** *

The status of publishing Internet Monitor internet measurements to an Amazon * S3 bucket.

*/ inline void SetLogDeliveryStatus(const LogDeliveryStatus& value) { m_logDeliveryStatusHasBeenSet = true; m_logDeliveryStatus = value; } /** *

The status of publishing Internet Monitor internet measurements to an Amazon * S3 bucket.

*/ inline void SetLogDeliveryStatus(LogDeliveryStatus&& value) { m_logDeliveryStatusHasBeenSet = true; m_logDeliveryStatus = std::move(value); } /** *

The status of publishing Internet Monitor internet measurements to an Amazon * S3 bucket.

*/ inline S3Config& WithLogDeliveryStatus(const LogDeliveryStatus& value) { SetLogDeliveryStatus(value); return *this;} /** *

The status of publishing Internet Monitor internet measurements to an Amazon * S3 bucket.

*/ inline S3Config& WithLogDeliveryStatus(LogDeliveryStatus&& value) { SetLogDeliveryStatus(std::move(value)); return *this;} private: Aws::String m_bucketName; bool m_bucketNameHasBeenSet = false; Aws::String m_bucketPrefix; bool m_bucketPrefixHasBeenSet = false; LogDeliveryStatus m_logDeliveryStatus; bool m_logDeliveryStatusHasBeenSet = false; }; } // namespace Model } // namespace InternetMonitor } // namespace Aws