AWS SDK for C++

AWS SDK for C++ Version 1.11.924

Loading...
Searching...
No Matches
CreateIndexRequest.h
1
6#pragma once
7#include <aws/clouddirectory/CloudDirectoryRequest.h>
8#include <aws/clouddirectory/CloudDirectory_EXPORTS.h>
9#include <aws/clouddirectory/model/AttributeKey.h>
10#include <aws/clouddirectory/model/ObjectReference.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace CloudDirectory {
18namespace Model {
19
23 public:
24 AWS_CLOUDDIRECTORY_API CreateIndexRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "CreateIndex"; }
31
32 AWS_CLOUDDIRECTORY_API Aws::String SerializePayload() const override;
33
34 AWS_CLOUDDIRECTORY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
35
37
40 inline const Aws::String& GetDirectoryArn() const { return m_directoryArn; }
41 inline bool DirectoryArnHasBeenSet() const { return m_directoryArnHasBeenSet; }
42 template <typename DirectoryArnT = Aws::String>
43 void SetDirectoryArn(DirectoryArnT&& value) {
44 m_directoryArnHasBeenSet = true;
45 m_directoryArn = std::forward<DirectoryArnT>(value);
46 }
47 template <typename DirectoryArnT = Aws::String>
48 CreateIndexRequest& WithDirectoryArn(DirectoryArnT&& value) {
49 SetDirectoryArn(std::forward<DirectoryArnT>(value));
50 return *this;
51 }
53
55
59 inline const Aws::Vector<AttributeKey>& GetOrderedIndexedAttributeList() const { return m_orderedIndexedAttributeList; }
60 inline bool OrderedIndexedAttributeListHasBeenSet() const { return m_orderedIndexedAttributeListHasBeenSet; }
61 template <typename OrderedIndexedAttributeListT = Aws::Vector<AttributeKey>>
62 void SetOrderedIndexedAttributeList(OrderedIndexedAttributeListT&& value) {
63 m_orderedIndexedAttributeListHasBeenSet = true;
64 m_orderedIndexedAttributeList = std::forward<OrderedIndexedAttributeListT>(value);
65 }
66 template <typename OrderedIndexedAttributeListT = Aws::Vector<AttributeKey>>
67 CreateIndexRequest& WithOrderedIndexedAttributeList(OrderedIndexedAttributeListT&& value) {
68 SetOrderedIndexedAttributeList(std::forward<OrderedIndexedAttributeListT>(value));
69 return *this;
70 }
71 template <typename OrderedIndexedAttributeListT = AttributeKey>
72 CreateIndexRequest& AddOrderedIndexedAttributeList(OrderedIndexedAttributeListT&& value) {
73 m_orderedIndexedAttributeListHasBeenSet = true;
74 m_orderedIndexedAttributeList.emplace_back(std::forward<OrderedIndexedAttributeListT>(value));
75 return *this;
76 }
78
80
84 inline bool GetIsUnique() const { return m_isUnique; }
85 inline bool IsUniqueHasBeenSet() const { return m_isUniqueHasBeenSet; }
86 inline void SetIsUnique(bool value) {
87 m_isUniqueHasBeenSet = true;
88 m_isUnique = value;
89 }
90 inline CreateIndexRequest& WithIsUnique(bool value) {
91 SetIsUnique(value);
92 return *this;
93 }
95
97
100 inline const ObjectReference& GetParentReference() const { return m_parentReference; }
101 inline bool ParentReferenceHasBeenSet() const { return m_parentReferenceHasBeenSet; }
102 template <typename ParentReferenceT = ObjectReference>
103 void SetParentReference(ParentReferenceT&& value) {
104 m_parentReferenceHasBeenSet = true;
105 m_parentReference = std::forward<ParentReferenceT>(value);
106 }
107 template <typename ParentReferenceT = ObjectReference>
108 CreateIndexRequest& WithParentReference(ParentReferenceT&& value) {
109 SetParentReference(std::forward<ParentReferenceT>(value));
110 return *this;
111 }
113
115
118 inline const Aws::String& GetLinkName() const { return m_linkName; }
119 inline bool LinkNameHasBeenSet() const { return m_linkNameHasBeenSet; }
120 template <typename LinkNameT = Aws::String>
121 void SetLinkName(LinkNameT&& value) {
122 m_linkNameHasBeenSet = true;
123 m_linkName = std::forward<LinkNameT>(value);
124 }
125 template <typename LinkNameT = Aws::String>
126 CreateIndexRequest& WithLinkName(LinkNameT&& value) {
127 SetLinkName(std::forward<LinkNameT>(value));
128 return *this;
129 }
131 private:
132 Aws::String m_directoryArn;
133
134 Aws::Vector<AttributeKey> m_orderedIndexedAttributeList;
135
136 bool m_isUnique{false};
137
138 ObjectReference m_parentReference;
139
140 Aws::String m_linkName;
141 bool m_directoryArnHasBeenSet = false;
142 bool m_orderedIndexedAttributeListHasBeenSet = false;
143 bool m_isUniqueHasBeenSet = false;
144 bool m_parentReferenceHasBeenSet = false;
145 bool m_linkNameHasBeenSet = false;
146};
147
148} // namespace Model
149} // namespace CloudDirectory
150} // namespace Aws
AWS_CLOUDDIRECTORY_API Aws::String SerializePayload() const override
AWS_CLOUDDIRECTORY_API CreateIndexRequest()=default
CreateIndexRequest & WithOrderedIndexedAttributeList(OrderedIndexedAttributeListT &&value)
AWS_CLOUDDIRECTORY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateIndexRequest & WithParentReference(ParentReferenceT &&value)
const Aws::Vector< AttributeKey > & GetOrderedIndexedAttributeList() const
const ObjectReference & GetParentReference() const
CreateIndexRequest & WithDirectoryArn(DirectoryArnT &&value)
CreateIndexRequest & AddOrderedIndexedAttributeList(OrderedIndexedAttributeListT &&value)
virtual const char * GetServiceRequestName() const override
CreateIndexRequest & WithIsUnique(bool value)
void SetParentReference(ParentReferenceT &&value)
CreateIndexRequest & WithLinkName(LinkNameT &&value)
void SetOrderedIndexedAttributeList(OrderedIndexedAttributeListT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector