1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/es/ElasticsearchService_EXPORTS.h>
8 #include <aws/es/model/InboundCrossClusterSearchConnectionStatusCode.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace ElasticsearchService
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Specifies the coonection status of an inbound cross-cluster search
29    * connection.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/InboundCrossClusterSearchConnectionStatus">AWS
31    * API Reference</a></p>
32    */
33   class AWS_ELASTICSEARCHSERVICE_API InboundCrossClusterSearchConnectionStatus
34   {
35   public:
36     InboundCrossClusterSearchConnectionStatus();
37     InboundCrossClusterSearchConnectionStatus(Aws::Utils::Json::JsonView jsonValue);
38     InboundCrossClusterSearchConnectionStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The state code for inbound connection. This can be one of the following:</p>
44      * <ul> <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by
45      * destination domain owner.</li> <li>APPROVED: Inbound connection is pending
46      * acceptance by destination domain owner.</li> <li>REJECTING: Inbound connection
47      * rejection is in process.</li> <li>REJECTED: Inbound connection is rejected.</li>
48      * <li>DELETING: Inbound connection deletion is in progress.</li> <li>DELETED:
49      * Inbound connection is deleted and cannot be used further.</li> </ul>
50      */
GetStatusCode()51     inline const InboundCrossClusterSearchConnectionStatusCode& GetStatusCode() const{ return m_statusCode; }
52 
53     /**
54      * <p>The state code for inbound connection. This can be one of the following:</p>
55      * <ul> <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by
56      * destination domain owner.</li> <li>APPROVED: Inbound connection is pending
57      * acceptance by destination domain owner.</li> <li>REJECTING: Inbound connection
58      * rejection is in process.</li> <li>REJECTED: Inbound connection is rejected.</li>
59      * <li>DELETING: Inbound connection deletion is in progress.</li> <li>DELETED:
60      * Inbound connection is deleted and cannot be used further.</li> </ul>
61      */
StatusCodeHasBeenSet()62     inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
63 
64     /**
65      * <p>The state code for inbound connection. This can be one of the following:</p>
66      * <ul> <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by
67      * destination domain owner.</li> <li>APPROVED: Inbound connection is pending
68      * acceptance by destination domain owner.</li> <li>REJECTING: Inbound connection
69      * rejection is in process.</li> <li>REJECTED: Inbound connection is rejected.</li>
70      * <li>DELETING: Inbound connection deletion is in progress.</li> <li>DELETED:
71      * Inbound connection is deleted and cannot be used further.</li> </ul>
72      */
SetStatusCode(const InboundCrossClusterSearchConnectionStatusCode & value)73     inline void SetStatusCode(const InboundCrossClusterSearchConnectionStatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
74 
75     /**
76      * <p>The state code for inbound connection. This can be one of the following:</p>
77      * <ul> <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by
78      * destination domain owner.</li> <li>APPROVED: Inbound connection is pending
79      * acceptance by destination domain owner.</li> <li>REJECTING: Inbound connection
80      * rejection is in process.</li> <li>REJECTED: Inbound connection is rejected.</li>
81      * <li>DELETING: Inbound connection deletion is in progress.</li> <li>DELETED:
82      * Inbound connection is deleted and cannot be used further.</li> </ul>
83      */
SetStatusCode(InboundCrossClusterSearchConnectionStatusCode && value)84     inline void SetStatusCode(InboundCrossClusterSearchConnectionStatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
85 
86     /**
87      * <p>The state code for inbound connection. This can be one of the following:</p>
88      * <ul> <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by
89      * destination domain owner.</li> <li>APPROVED: Inbound connection is pending
90      * acceptance by destination domain owner.</li> <li>REJECTING: Inbound connection
91      * rejection is in process.</li> <li>REJECTED: Inbound connection is rejected.</li>
92      * <li>DELETING: Inbound connection deletion is in progress.</li> <li>DELETED:
93      * Inbound connection is deleted and cannot be used further.</li> </ul>
94      */
WithStatusCode(const InboundCrossClusterSearchConnectionStatusCode & value)95     inline InboundCrossClusterSearchConnectionStatus& WithStatusCode(const InboundCrossClusterSearchConnectionStatusCode& value) { SetStatusCode(value); return *this;}
96 
97     /**
98      * <p>The state code for inbound connection. This can be one of the following:</p>
99      * <ul> <li>PENDING_ACCEPTANCE: Inbound connection is not yet accepted by
100      * destination domain owner.</li> <li>APPROVED: Inbound connection is pending
101      * acceptance by destination domain owner.</li> <li>REJECTING: Inbound connection
102      * rejection is in process.</li> <li>REJECTED: Inbound connection is rejected.</li>
103      * <li>DELETING: Inbound connection deletion is in progress.</li> <li>DELETED:
104      * Inbound connection is deleted and cannot be used further.</li> </ul>
105      */
WithStatusCode(InboundCrossClusterSearchConnectionStatusCode && value)106     inline InboundCrossClusterSearchConnectionStatus& WithStatusCode(InboundCrossClusterSearchConnectionStatusCode&& value) { SetStatusCode(std::move(value)); return *this;}
107 
108 
109     /**
110      * <p>Specifies verbose information for the inbound connection status.</p>
111      */
GetMessage()112     inline const Aws::String& GetMessage() const{ return m_message; }
113 
114     /**
115      * <p>Specifies verbose information for the inbound connection status.</p>
116      */
MessageHasBeenSet()117     inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
118 
119     /**
120      * <p>Specifies verbose information for the inbound connection status.</p>
121      */
SetMessage(const Aws::String & value)122     inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
123 
124     /**
125      * <p>Specifies verbose information for the inbound connection status.</p>
126      */
SetMessage(Aws::String && value)127     inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
128 
129     /**
130      * <p>Specifies verbose information for the inbound connection status.</p>
131      */
SetMessage(const char * value)132     inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
133 
134     /**
135      * <p>Specifies verbose information for the inbound connection status.</p>
136      */
WithMessage(const Aws::String & value)137     inline InboundCrossClusterSearchConnectionStatus& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
138 
139     /**
140      * <p>Specifies verbose information for the inbound connection status.</p>
141      */
WithMessage(Aws::String && value)142     inline InboundCrossClusterSearchConnectionStatus& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
143 
144     /**
145      * <p>Specifies verbose information for the inbound connection status.</p>
146      */
WithMessage(const char * value)147     inline InboundCrossClusterSearchConnectionStatus& WithMessage(const char* value) { SetMessage(value); return *this;}
148 
149   private:
150 
151     InboundCrossClusterSearchConnectionStatusCode m_statusCode;
152     bool m_statusCodeHasBeenSet;
153 
154     Aws::String m_message;
155     bool m_messageHasBeenSet;
156   };
157 
158 } // namespace Model
159 } // namespace ElasticsearchService
160 } // namespace Aws
161