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

The value of a document attribute. You can only provide one value for a * document attribute.

See Also:

AWS * API Reference

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

A string, such as "department".

*/ inline const Aws::String& GetStringValue() const{ return m_stringValue; } /** *

A string, such as "department".

*/ inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } /** *

A string, such as "department".

*/ inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } /** *

A string, such as "department".

*/ inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } /** *

A string, such as "department".

*/ inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } /** *

A string, such as "department".

*/ inline DocumentAttributeValue& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} /** *

A string, such as "department".

*/ inline DocumentAttributeValue& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} /** *

A string, such as "department".

*/ inline DocumentAttributeValue& WithStringValue(const char* value) { SetStringValue(value); return *this;} /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline const Aws::Vector& GetStringListValue() const{ return m_stringListValue; } /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline bool StringListValueHasBeenSet() const { return m_stringListValueHasBeenSet; } /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline void SetStringListValue(const Aws::Vector& value) { m_stringListValueHasBeenSet = true; m_stringListValue = value; } /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline void SetStringListValue(Aws::Vector&& value) { m_stringListValueHasBeenSet = true; m_stringListValue = std::move(value); } /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline DocumentAttributeValue& WithStringListValue(const Aws::Vector& value) { SetStringListValue(value); return *this;} /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline DocumentAttributeValue& WithStringListValue(Aws::Vector&& value) { SetStringListValue(std::move(value)); return *this;} /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline DocumentAttributeValue& AddStringListValue(const Aws::String& value) { m_stringListValueHasBeenSet = true; m_stringListValue.push_back(value); return *this; } /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline DocumentAttributeValue& AddStringListValue(Aws::String&& value) { m_stringListValueHasBeenSet = true; m_stringListValue.push_back(std::move(value)); return *this; } /** *

A list of strings. The default maximum length or number of strings is 10.

*/ inline DocumentAttributeValue& AddStringListValue(const char* value) { m_stringListValueHasBeenSet = true; m_stringListValue.push_back(value); return *this; } /** *

A long integer value.

*/ inline long long GetLongValue() const{ return m_longValue; } /** *

A long integer value.

*/ inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } /** *

A long integer value.

*/ inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } /** *

A long integer value.

*/ inline DocumentAttributeValue& WithLongValue(long long value) { SetLongValue(value); return *this;} /** *

A date expressed as an ISO 8601 string.

It is important for the time * zone to be included in the ISO 8601 date-time format. For example, * 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 * at 12:30PM (plus 10 seconds) in Central European Time.

*/ inline const Aws::Utils::DateTime& GetDateValue() const{ return m_dateValue; } /** *

A date expressed as an ISO 8601 string.

It is important for the time * zone to be included in the ISO 8601 date-time format. For example, * 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 * at 12:30PM (plus 10 seconds) in Central European Time.

*/ inline bool DateValueHasBeenSet() const { return m_dateValueHasBeenSet; } /** *

A date expressed as an ISO 8601 string.

It is important for the time * zone to be included in the ISO 8601 date-time format. For example, * 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 * at 12:30PM (plus 10 seconds) in Central European Time.

*/ inline void SetDateValue(const Aws::Utils::DateTime& value) { m_dateValueHasBeenSet = true; m_dateValue = value; } /** *

A date expressed as an ISO 8601 string.

It is important for the time * zone to be included in the ISO 8601 date-time format. For example, * 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 * at 12:30PM (plus 10 seconds) in Central European Time.

*/ inline void SetDateValue(Aws::Utils::DateTime&& value) { m_dateValueHasBeenSet = true; m_dateValue = std::move(value); } /** *

A date expressed as an ISO 8601 string.

It is important for the time * zone to be included in the ISO 8601 date-time format. For example, * 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 * at 12:30PM (plus 10 seconds) in Central European Time.

*/ inline DocumentAttributeValue& WithDateValue(const Aws::Utils::DateTime& value) { SetDateValue(value); return *this;} /** *

A date expressed as an ISO 8601 string.

It is important for the time * zone to be included in the ISO 8601 date-time format. For example, * 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 * at 12:30PM (plus 10 seconds) in Central European Time.

*/ inline DocumentAttributeValue& WithDateValue(Aws::Utils::DateTime&& value) { SetDateValue(std::move(value)); return *this;} private: Aws::String m_stringValue; bool m_stringValueHasBeenSet = false; Aws::Vector m_stringListValue; bool m_stringListValueHasBeenSet = false; long long m_longValue; bool m_longValueHasBeenSet = false; Aws::Utils::DateTime m_dateValue; bool m_dateValueHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws