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

One or more aggregators for viewing counts of OpsData using different * dimensions such as Source, CreatedTime, or * Source and CreatedTime, to name a few.

See Also:

* AWS * API Reference

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

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline const Aws::String& GetAggregatorType() const{ return m_aggregatorType; } /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline bool AggregatorTypeHasBeenSet() const { return m_aggregatorTypeHasBeenSet; } /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline void SetAggregatorType(const Aws::String& value) { m_aggregatorTypeHasBeenSet = true; m_aggregatorType = value; } /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline void SetAggregatorType(Aws::String&& value) { m_aggregatorTypeHasBeenSet = true; m_aggregatorType = std::move(value); } /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline void SetAggregatorType(const char* value) { m_aggregatorTypeHasBeenSet = true; m_aggregatorType.assign(value); } /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline OpsAggregator& WithAggregatorType(const Aws::String& value) { SetAggregatorType(value); return *this;} /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline OpsAggregator& WithAggregatorType(Aws::String&& value) { SetAggregatorType(std::move(value)); return *this;} /** *

Either a Range or Count aggregator for limiting an * OpsData summary.

*/ inline OpsAggregator& WithAggregatorType(const char* value) { SetAggregatorType(value); return *this;} /** *

The data type name to use for viewing counts of OpsData.

*/ inline const Aws::String& GetTypeName() const{ return m_typeName; } /** *

The data type name to use for viewing counts of OpsData.

*/ inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } /** *

The data type name to use for viewing counts of OpsData.

*/ inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } /** *

The data type name to use for viewing counts of OpsData.

*/ inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } /** *

The data type name to use for viewing counts of OpsData.

*/ inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } /** *

The data type name to use for viewing counts of OpsData.

*/ inline OpsAggregator& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} /** *

The data type name to use for viewing counts of OpsData.

*/ inline OpsAggregator& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} /** *

The data type name to use for viewing counts of OpsData.

*/ inline OpsAggregator& WithTypeName(const char* value) { SetTypeName(value); return *this;} /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline const Aws::String& GetAttributeName() const{ return m_attributeName; } /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline bool AttributeNameHasBeenSet() const { return m_attributeNameHasBeenSet; } /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline void SetAttributeName(const Aws::String& value) { m_attributeNameHasBeenSet = true; m_attributeName = value; } /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline void SetAttributeName(Aws::String&& value) { m_attributeNameHasBeenSet = true; m_attributeName = std::move(value); } /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline void SetAttributeName(const char* value) { m_attributeNameHasBeenSet = true; m_attributeName.assign(value); } /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline OpsAggregator& WithAttributeName(const Aws::String& value) { SetAttributeName(value); return *this;} /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline OpsAggregator& WithAttributeName(Aws::String&& value) { SetAttributeName(std::move(value)); return *this;} /** *

The name of an OpsData attribute on which to limit the count of OpsData.

*/ inline OpsAggregator& WithAttributeName(const char* value) { SetAttributeName(value); return *this;} /** *

The aggregator value.

*/ inline const Aws::Map& GetValues() const{ return m_values; } /** *

The aggregator value.

*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *

The aggregator value.

*/ inline void SetValues(const Aws::Map& value) { m_valuesHasBeenSet = true; m_values = value; } /** *

The aggregator value.

*/ inline void SetValues(Aws::Map&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** *

The aggregator value.

*/ inline OpsAggregator& WithValues(const Aws::Map& value) { SetValues(value); return *this;} /** *

The aggregator value.

*/ inline OpsAggregator& WithValues(Aws::Map&& value) { SetValues(std::move(value)); return *this;} /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(const Aws::String& key, const Aws::String& value) { m_valuesHasBeenSet = true; m_values.emplace(key, value); return *this; } /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(Aws::String&& key, const Aws::String& value) { m_valuesHasBeenSet = true; m_values.emplace(std::move(key), value); return *this; } /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(const Aws::String& key, Aws::String&& value) { m_valuesHasBeenSet = true; m_values.emplace(key, std::move(value)); return *this; } /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(Aws::String&& key, Aws::String&& value) { m_valuesHasBeenSet = true; m_values.emplace(std::move(key), std::move(value)); return *this; } /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(const char* key, Aws::String&& value) { m_valuesHasBeenSet = true; m_values.emplace(key, std::move(value)); return *this; } /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(Aws::String&& key, const char* value) { m_valuesHasBeenSet = true; m_values.emplace(std::move(key), value); return *this; } /** *

The aggregator value.

*/ inline OpsAggregator& AddValues(const char* key, const char* value) { m_valuesHasBeenSet = true; m_values.emplace(key, value); return *this; } /** *

The aggregator filters.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

The aggregator filters.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

The aggregator filters.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

The aggregator filters.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

The aggregator filters.

*/ inline OpsAggregator& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

The aggregator filters.

*/ inline OpsAggregator& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

The aggregator filters.

*/ inline OpsAggregator& AddFilters(const OpsFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

The aggregator filters.

*/ inline OpsAggregator& AddFilters(OpsFilter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

A nested aggregator for viewing counts of OpsData.

*/ inline const Aws::Vector& GetAggregators() const{ return m_aggregators; } /** *

A nested aggregator for viewing counts of OpsData.

*/ inline bool AggregatorsHasBeenSet() const { return m_aggregatorsHasBeenSet; } /** *

A nested aggregator for viewing counts of OpsData.

*/ inline void SetAggregators(const Aws::Vector& value) { m_aggregatorsHasBeenSet = true; m_aggregators = value; } /** *

A nested aggregator for viewing counts of OpsData.

*/ inline void SetAggregators(Aws::Vector&& value) { m_aggregatorsHasBeenSet = true; m_aggregators = std::move(value); } /** *

A nested aggregator for viewing counts of OpsData.

*/ inline OpsAggregator& WithAggregators(const Aws::Vector& value) { SetAggregators(value); return *this;} /** *

A nested aggregator for viewing counts of OpsData.

*/ inline OpsAggregator& WithAggregators(Aws::Vector&& value) { SetAggregators(std::move(value)); return *this;} /** *

A nested aggregator for viewing counts of OpsData.

*/ inline OpsAggregator& AddAggregators(const OpsAggregator& value) { m_aggregatorsHasBeenSet = true; m_aggregators.push_back(value); return *this; } /** *

A nested aggregator for viewing counts of OpsData.

*/ inline OpsAggregator& AddAggregators(OpsAggregator&& value) { m_aggregatorsHasBeenSet = true; m_aggregators.push_back(std::move(value)); return *this; } private: Aws::String m_aggregatorType; bool m_aggregatorTypeHasBeenSet = false; Aws::String m_typeName; bool m_typeNameHasBeenSet = false; Aws::String m_attributeName; bool m_attributeNameHasBeenSet = false; Aws::Map m_values; bool m_valuesHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; Aws::Vector m_aggregators; bool m_aggregatorsHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws