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

A structure that represents a named entity.

See Also:

AWS * API Reference

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

The name of the entity.

*/ inline const Aws::String& GetFieldName() const{ return m_fieldName; } /** *

The name of the entity.

*/ inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } /** *

The name of the entity.

*/ inline void SetFieldName(const Aws::String& value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } /** *

The name of the entity.

*/ inline void SetFieldName(Aws::String&& value) { m_fieldNameHasBeenSet = true; m_fieldName = std::move(value); } /** *

The name of the entity.

*/ inline void SetFieldName(const char* value) { m_fieldNameHasBeenSet = true; m_fieldName.assign(value); } /** *

The name of the entity.

*/ inline NamedEntityDefinition& WithFieldName(const Aws::String& value) { SetFieldName(value); return *this;} /** *

The name of the entity.

*/ inline NamedEntityDefinition& WithFieldName(Aws::String&& value) { SetFieldName(std::move(value)); return *this;} /** *

The name of the entity.

*/ inline NamedEntityDefinition& WithFieldName(const char* value) { SetFieldName(value); return *this;} /** *

The property name to be used for the named entity.

*/ inline const Aws::String& GetPropertyName() const{ return m_propertyName; } /** *

The property name to be used for the named entity.

*/ inline bool PropertyNameHasBeenSet() const { return m_propertyNameHasBeenSet; } /** *

The property name to be used for the named entity.

*/ inline void SetPropertyName(const Aws::String& value) { m_propertyNameHasBeenSet = true; m_propertyName = value; } /** *

The property name to be used for the named entity.

*/ inline void SetPropertyName(Aws::String&& value) { m_propertyNameHasBeenSet = true; m_propertyName = std::move(value); } /** *

The property name to be used for the named entity.

*/ inline void SetPropertyName(const char* value) { m_propertyNameHasBeenSet = true; m_propertyName.assign(value); } /** *

The property name to be used for the named entity.

*/ inline NamedEntityDefinition& WithPropertyName(const Aws::String& value) { SetPropertyName(value); return *this;} /** *

The property name to be used for the named entity.

*/ inline NamedEntityDefinition& WithPropertyName(Aws::String&& value) { SetPropertyName(std::move(value)); return *this;} /** *

The property name to be used for the named entity.

*/ inline NamedEntityDefinition& WithPropertyName(const char* value) { SetPropertyName(value); return *this;} /** *

The property role. Valid values for this structure are PRIMARY * and ID.

*/ inline const PropertyRole& GetPropertyRole() const{ return m_propertyRole; } /** *

The property role. Valid values for this structure are PRIMARY * and ID.

*/ inline bool PropertyRoleHasBeenSet() const { return m_propertyRoleHasBeenSet; } /** *

The property role. Valid values for this structure are PRIMARY * and ID.

*/ inline void SetPropertyRole(const PropertyRole& value) { m_propertyRoleHasBeenSet = true; m_propertyRole = value; } /** *

The property role. Valid values for this structure are PRIMARY * and ID.

*/ inline void SetPropertyRole(PropertyRole&& value) { m_propertyRoleHasBeenSet = true; m_propertyRole = std::move(value); } /** *

The property role. Valid values for this structure are PRIMARY * and ID.

*/ inline NamedEntityDefinition& WithPropertyRole(const PropertyRole& value) { SetPropertyRole(value); return *this;} /** *

The property role. Valid values for this structure are PRIMARY * and ID.

*/ inline NamedEntityDefinition& WithPropertyRole(PropertyRole&& value) { SetPropertyRole(std::move(value)); return *this;} /** *

The property usage. Valid values for this structure are INHERIT, * DIMENSION, and MEASURE.

*/ inline const PropertyUsage& GetPropertyUsage() const{ return m_propertyUsage; } /** *

The property usage. Valid values for this structure are INHERIT, * DIMENSION, and MEASURE.

*/ inline bool PropertyUsageHasBeenSet() const { return m_propertyUsageHasBeenSet; } /** *

The property usage. Valid values for this structure are INHERIT, * DIMENSION, and MEASURE.

*/ inline void SetPropertyUsage(const PropertyUsage& value) { m_propertyUsageHasBeenSet = true; m_propertyUsage = value; } /** *

The property usage. Valid values for this structure are INHERIT, * DIMENSION, and MEASURE.

*/ inline void SetPropertyUsage(PropertyUsage&& value) { m_propertyUsageHasBeenSet = true; m_propertyUsage = std::move(value); } /** *

The property usage. Valid values for this structure are INHERIT, * DIMENSION, and MEASURE.

*/ inline NamedEntityDefinition& WithPropertyUsage(const PropertyUsage& value) { SetPropertyUsage(value); return *this;} /** *

The property usage. Valid values for this structure are INHERIT, * DIMENSION, and MEASURE.

*/ inline NamedEntityDefinition& WithPropertyUsage(PropertyUsage&& value) { SetPropertyUsage(std::move(value)); return *this;} /** *

The definition of a metric.

*/ inline const NamedEntityDefinitionMetric& GetMetric() const{ return m_metric; } /** *

The definition of a metric.

*/ inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; } /** *

The definition of a metric.

*/ inline void SetMetric(const NamedEntityDefinitionMetric& value) { m_metricHasBeenSet = true; m_metric = value; } /** *

The definition of a metric.

*/ inline void SetMetric(NamedEntityDefinitionMetric&& value) { m_metricHasBeenSet = true; m_metric = std::move(value); } /** *

The definition of a metric.

*/ inline NamedEntityDefinition& WithMetric(const NamedEntityDefinitionMetric& value) { SetMetric(value); return *this;} /** *

The definition of a metric.

*/ inline NamedEntityDefinition& WithMetric(NamedEntityDefinitionMetric&& value) { SetMetric(std::move(value)); return *this;} private: Aws::String m_fieldName; bool m_fieldNameHasBeenSet = false; Aws::String m_propertyName; bool m_propertyNameHasBeenSet = false; PropertyRole m_propertyRole; bool m_propertyRoleHasBeenSet = false; PropertyUsage m_propertyUsage; bool m_propertyUsageHasBeenSet = false; NamedEntityDefinitionMetric m_metric; bool m_metricHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws