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

A count of documents that meets a specific aggregation * criteria.

See Also:

AWS API * Reference

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

The value counted for the particular bucket.

*/ inline const Aws::String& GetKeyValue() const{ return m_keyValue; } /** *

The value counted for the particular bucket.

*/ inline bool KeyValueHasBeenSet() const { return m_keyValueHasBeenSet; } /** *

The value counted for the particular bucket.

*/ inline void SetKeyValue(const Aws::String& value) { m_keyValueHasBeenSet = true; m_keyValue = value; } /** *

The value counted for the particular bucket.

*/ inline void SetKeyValue(Aws::String&& value) { m_keyValueHasBeenSet = true; m_keyValue = std::move(value); } /** *

The value counted for the particular bucket.

*/ inline void SetKeyValue(const char* value) { m_keyValueHasBeenSet = true; m_keyValue.assign(value); } /** *

The value counted for the particular bucket.

*/ inline Bucket& WithKeyValue(const Aws::String& value) { SetKeyValue(value); return *this;} /** *

The value counted for the particular bucket.

*/ inline Bucket& WithKeyValue(Aws::String&& value) { SetKeyValue(std::move(value)); return *this;} /** *

The value counted for the particular bucket.

*/ inline Bucket& WithKeyValue(const char* value) { SetKeyValue(value); return *this;} /** *

The number of documents that have the value counted for the particular * bucket.

*/ inline int GetCount() const{ return m_count; } /** *

The number of documents that have the value counted for the particular * bucket.

*/ inline bool CountHasBeenSet() const { return m_countHasBeenSet; } /** *

The number of documents that have the value counted for the particular * bucket.

*/ inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } /** *

The number of documents that have the value counted for the particular * bucket.

*/ inline Bucket& WithCount(int value) { SetCount(value); return *this;} private: Aws::String m_keyValue; bool m_keyValueHasBeenSet = false; int m_count; bool m_countHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws