/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An attribute that is associated with the Facet.See
* Also:
AWS
* API Reference
The name of the facet attribute.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the facet attribute.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the facet attribute.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the facet attribute.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the facet attribute.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the facet attribute.
*/ inline FacetAttribute& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the facet attribute.
*/ inline FacetAttribute& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the facet attribute.
*/ inline FacetAttribute& WithName(const char* value) { SetName(value); return *this;} /** *A facet attribute consists of either a definition or a reference. This * structure contains the attribute definition. See Attribute * References for more information.
*/ inline const FacetAttributeDefinition& GetAttributeDefinition() const{ return m_attributeDefinition; } /** *A facet attribute consists of either a definition or a reference. This * structure contains the attribute definition. See Attribute * References for more information.
*/ inline bool AttributeDefinitionHasBeenSet() const { return m_attributeDefinitionHasBeenSet; } /** *A facet attribute consists of either a definition or a reference. This * structure contains the attribute definition. See Attribute * References for more information.
*/ inline void SetAttributeDefinition(const FacetAttributeDefinition& value) { m_attributeDefinitionHasBeenSet = true; m_attributeDefinition = value; } /** *A facet attribute consists of either a definition or a reference. This * structure contains the attribute definition. See Attribute * References for more information.
*/ inline void SetAttributeDefinition(FacetAttributeDefinition&& value) { m_attributeDefinitionHasBeenSet = true; m_attributeDefinition = std::move(value); } /** *A facet attribute consists of either a definition or a reference. This * structure contains the attribute definition. See Attribute * References for more information.
*/ inline FacetAttribute& WithAttributeDefinition(const FacetAttributeDefinition& value) { SetAttributeDefinition(value); return *this;} /** *A facet attribute consists of either a definition or a reference. This * structure contains the attribute definition. See Attribute * References for more information.
*/ inline FacetAttribute& WithAttributeDefinition(FacetAttributeDefinition&& value) { SetAttributeDefinition(std::move(value)); return *this;} /** *An attribute reference that is associated with the attribute. See Attribute * References for more information.
*/ inline const FacetAttributeReference& GetAttributeReference() const{ return m_attributeReference; } /** *An attribute reference that is associated with the attribute. See Attribute * References for more information.
*/ inline bool AttributeReferenceHasBeenSet() const { return m_attributeReferenceHasBeenSet; } /** *An attribute reference that is associated with the attribute. See Attribute * References for more information.
*/ inline void SetAttributeReference(const FacetAttributeReference& value) { m_attributeReferenceHasBeenSet = true; m_attributeReference = value; } /** *An attribute reference that is associated with the attribute. See Attribute * References for more information.
*/ inline void SetAttributeReference(FacetAttributeReference&& value) { m_attributeReferenceHasBeenSet = true; m_attributeReference = std::move(value); } /** *An attribute reference that is associated with the attribute. See Attribute * References for more information.
*/ inline FacetAttribute& WithAttributeReference(const FacetAttributeReference& value) { SetAttributeReference(value); return *this;} /** *An attribute reference that is associated with the attribute. See Attribute * References for more information.
*/ inline FacetAttribute& WithAttributeReference(FacetAttributeReference&& value) { SetAttributeReference(std::move(value)); return *this;} /** *The required behavior of the FacetAttribute.
The required behavior of the FacetAttribute.
The required behavior of the FacetAttribute.
The required behavior of the FacetAttribute.
The required behavior of the FacetAttribute.
The required behavior of the FacetAttribute.