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

Represents an index and an attached object.

See Also:

AWS * API Reference

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

The indexed attribute values.

*/ inline const Aws::Vector& GetIndexedAttributes() const{ return m_indexedAttributes; } /** *

The indexed attribute values.

*/ inline bool IndexedAttributesHasBeenSet() const { return m_indexedAttributesHasBeenSet; } /** *

The indexed attribute values.

*/ inline void SetIndexedAttributes(const Aws::Vector& value) { m_indexedAttributesHasBeenSet = true; m_indexedAttributes = value; } /** *

The indexed attribute values.

*/ inline void SetIndexedAttributes(Aws::Vector&& value) { m_indexedAttributesHasBeenSet = true; m_indexedAttributes = std::move(value); } /** *

The indexed attribute values.

*/ inline IndexAttachment& WithIndexedAttributes(const Aws::Vector& value) { SetIndexedAttributes(value); return *this;} /** *

The indexed attribute values.

*/ inline IndexAttachment& WithIndexedAttributes(Aws::Vector&& value) { SetIndexedAttributes(std::move(value)); return *this;} /** *

The indexed attribute values.

*/ inline IndexAttachment& AddIndexedAttributes(const AttributeKeyAndValue& value) { m_indexedAttributesHasBeenSet = true; m_indexedAttributes.push_back(value); return *this; } /** *

The indexed attribute values.

*/ inline IndexAttachment& AddIndexedAttributes(AttributeKeyAndValue&& value) { m_indexedAttributesHasBeenSet = true; m_indexedAttributes.push_back(std::move(value)); return *this; } /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline const Aws::String& GetObjectIdentifier() const{ return m_objectIdentifier; } /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline bool ObjectIdentifierHasBeenSet() const { return m_objectIdentifierHasBeenSet; } /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline void SetObjectIdentifier(const Aws::String& value) { m_objectIdentifierHasBeenSet = true; m_objectIdentifier = value; } /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline void SetObjectIdentifier(Aws::String&& value) { m_objectIdentifierHasBeenSet = true; m_objectIdentifier = std::move(value); } /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline void SetObjectIdentifier(const char* value) { m_objectIdentifierHasBeenSet = true; m_objectIdentifier.assign(value); } /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline IndexAttachment& WithObjectIdentifier(const Aws::String& value) { SetObjectIdentifier(value); return *this;} /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline IndexAttachment& WithObjectIdentifier(Aws::String&& value) { SetObjectIdentifier(std::move(value)); return *this;} /** *

In response to ListIndex, the ObjectIdentifier of the * object attached to the index. In response to ListAttachedIndices, the * ObjectIdentifier of the index attached to the object. This field * will always contain the ObjectIdentifier of the object on the * opposite side of the attachment specified in the query.

*/ inline IndexAttachment& WithObjectIdentifier(const char* value) { SetObjectIdentifier(value); return *this;} private: Aws::Vector m_indexedAttributes; bool m_indexedAttributesHasBeenSet = false; Aws::String m_objectIdentifier; bool m_objectIdentifierHasBeenSet = false; }; } // namespace Model } // namespace CloudDirectory } // namespace Aws