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/redshift/Redshift_EXPORTS.h>
8 #include <aws/redshift/RedshiftRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/redshift/model/DataShareStatusForConsumer.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Redshift
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_REDSHIFT_API DescribeDataSharesForConsumerRequest : public RedshiftRequest
23   {
24   public:
25     DescribeDataSharesForConsumerRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "DescribeDataSharesForConsumer"; }
32 
33     Aws::String SerializePayload() const override;
34 
35   protected:
36     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
37 
38   public:
39 
40     /**
41      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
42      * datashares.</p>
43      */
GetConsumerArn()44     inline const Aws::String& GetConsumerArn() const{ return m_consumerArn; }
45 
46     /**
47      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
48      * datashares.</p>
49      */
ConsumerArnHasBeenSet()50     inline bool ConsumerArnHasBeenSet() const { return m_consumerArnHasBeenSet; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
54      * datashares.</p>
55      */
SetConsumerArn(const Aws::String & value)56     inline void SetConsumerArn(const Aws::String& value) { m_consumerArnHasBeenSet = true; m_consumerArn = value; }
57 
58     /**
59      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
60      * datashares.</p>
61      */
SetConsumerArn(Aws::String && value)62     inline void SetConsumerArn(Aws::String&& value) { m_consumerArnHasBeenSet = true; m_consumerArn = std::move(value); }
63 
64     /**
65      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
66      * datashares.</p>
67      */
SetConsumerArn(const char * value)68     inline void SetConsumerArn(const char* value) { m_consumerArnHasBeenSet = true; m_consumerArn.assign(value); }
69 
70     /**
71      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
72      * datashares.</p>
73      */
WithConsumerArn(const Aws::String & value)74     inline DescribeDataSharesForConsumerRequest& WithConsumerArn(const Aws::String& value) { SetConsumerArn(value); return *this;}
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
78      * datashares.</p>
79      */
WithConsumerArn(Aws::String && value)80     inline DescribeDataSharesForConsumerRequest& WithConsumerArn(Aws::String&& value) { SetConsumerArn(std::move(value)); return *this;}
81 
82     /**
83      * <p>The Amazon Resource Name (ARN) of the consumer that returns in the list of
84      * datashares.</p>
85      */
WithConsumerArn(const char * value)86     inline DescribeDataSharesForConsumerRequest& WithConsumerArn(const char* value) { SetConsumerArn(value); return *this;}
87 
88 
89     /**
90      * <p>An identifier giving the status of a datashare in the consumer cluster. If
91      * this field is specified, Amazon Redshift returns the list of datashares that
92      * have the specified status.</p>
93      */
GetStatus()94     inline const DataShareStatusForConsumer& GetStatus() const{ return m_status; }
95 
96     /**
97      * <p>An identifier giving the status of a datashare in the consumer cluster. If
98      * this field is specified, Amazon Redshift returns the list of datashares that
99      * have the specified status.</p>
100      */
StatusHasBeenSet()101     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
102 
103     /**
104      * <p>An identifier giving the status of a datashare in the consumer cluster. If
105      * this field is specified, Amazon Redshift returns the list of datashares that
106      * have the specified status.</p>
107      */
SetStatus(const DataShareStatusForConsumer & value)108     inline void SetStatus(const DataShareStatusForConsumer& value) { m_statusHasBeenSet = true; m_status = value; }
109 
110     /**
111      * <p>An identifier giving the status of a datashare in the consumer cluster. If
112      * this field is specified, Amazon Redshift returns the list of datashares that
113      * have the specified status.</p>
114      */
SetStatus(DataShareStatusForConsumer && value)115     inline void SetStatus(DataShareStatusForConsumer&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
116 
117     /**
118      * <p>An identifier giving the status of a datashare in the consumer cluster. If
119      * this field is specified, Amazon Redshift returns the list of datashares that
120      * have the specified status.</p>
121      */
WithStatus(const DataShareStatusForConsumer & value)122     inline DescribeDataSharesForConsumerRequest& WithStatus(const DataShareStatusForConsumer& value) { SetStatus(value); return *this;}
123 
124     /**
125      * <p>An identifier giving the status of a datashare in the consumer cluster. If
126      * this field is specified, Amazon Redshift returns the list of datashares that
127      * have the specified status.</p>
128      */
WithStatus(DataShareStatusForConsumer && value)129     inline DescribeDataSharesForConsumerRequest& WithStatus(DataShareStatusForConsumer&& value) { SetStatus(std::move(value)); return *this;}
130 
131 
132     /**
133      * <p>The maximum number of response records to return in each call. If the number
134      * of remaining response records exceeds the specified <code>MaxRecords</code>
135      * value, a value is returned in a <code>marker</code> field of the response. You
136      * can retrieve the next set of records by retrying the command with the returned
137      * marker value. </p>
138      */
GetMaxRecords()139     inline int GetMaxRecords() const{ return m_maxRecords; }
140 
141     /**
142      * <p>The maximum number of response records to return in each call. If the number
143      * of remaining response records exceeds the specified <code>MaxRecords</code>
144      * value, a value is returned in a <code>marker</code> field of the response. You
145      * can retrieve the next set of records by retrying the command with the returned
146      * marker value. </p>
147      */
MaxRecordsHasBeenSet()148     inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
149 
150     /**
151      * <p>The maximum number of response records to return in each call. If the number
152      * of remaining response records exceeds the specified <code>MaxRecords</code>
153      * value, a value is returned in a <code>marker</code> field of the response. You
154      * can retrieve the next set of records by retrying the command with the returned
155      * marker value. </p>
156      */
SetMaxRecords(int value)157     inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
158 
159     /**
160      * <p>The maximum number of response records to return in each call. If the number
161      * of remaining response records exceeds the specified <code>MaxRecords</code>
162      * value, a value is returned in a <code>marker</code> field of the response. You
163      * can retrieve the next set of records by retrying the command with the returned
164      * marker value. </p>
165      */
WithMaxRecords(int value)166     inline DescribeDataSharesForConsumerRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
167 
168 
169     /**
170      * <p>An optional parameter that specifies the starting point to return a set of
171      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
172      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
173      * value in the <code>Marker</code> field of the response. You can retrieve the
174      * next set of response records by providing the returned marker value in the
175      * <code>Marker</code> parameter and retrying the request. </p>
176      */
GetMarker()177     inline const Aws::String& GetMarker() const{ return m_marker; }
178 
179     /**
180      * <p>An optional parameter that specifies the starting point to return a set of
181      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
182      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
183      * value in the <code>Marker</code> field of the response. You can retrieve the
184      * next set of response records by providing the returned marker value in the
185      * <code>Marker</code> parameter and retrying the request. </p>
186      */
MarkerHasBeenSet()187     inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; }
188 
189     /**
190      * <p>An optional parameter that specifies the starting point to return a set of
191      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
192      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
193      * value in the <code>Marker</code> field of the response. You can retrieve the
194      * next set of response records by providing the returned marker value in the
195      * <code>Marker</code> parameter and retrying the request. </p>
196      */
SetMarker(const Aws::String & value)197     inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; }
198 
199     /**
200      * <p>An optional parameter that specifies the starting point to return a set of
201      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
202      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
203      * value in the <code>Marker</code> field of the response. You can retrieve the
204      * next set of response records by providing the returned marker value in the
205      * <code>Marker</code> parameter and retrying the request. </p>
206      */
SetMarker(Aws::String && value)207     inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); }
208 
209     /**
210      * <p>An optional parameter that specifies the starting point to return a set of
211      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
212      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
213      * value in the <code>Marker</code> field of the response. You can retrieve the
214      * next set of response records by providing the returned marker value in the
215      * <code>Marker</code> parameter and retrying the request. </p>
216      */
SetMarker(const char * value)217     inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); }
218 
219     /**
220      * <p>An optional parameter that specifies the starting point to return a set of
221      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
222      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
223      * value in the <code>Marker</code> field of the response. You can retrieve the
224      * next set of response records by providing the returned marker value in the
225      * <code>Marker</code> parameter and retrying the request. </p>
226      */
WithMarker(const Aws::String & value)227     inline DescribeDataSharesForConsumerRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
228 
229     /**
230      * <p>An optional parameter that specifies the starting point to return a set of
231      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
232      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
233      * value in the <code>Marker</code> field of the response. You can retrieve the
234      * next set of response records by providing the returned marker value in the
235      * <code>Marker</code> parameter and retrying the request. </p>
236      */
WithMarker(Aws::String && value)237     inline DescribeDataSharesForConsumerRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
238 
239     /**
240      * <p>An optional parameter that specifies the starting point to return a set of
241      * response records. When the results of a <a>DescribeDataSharesForConsumer</a>
242      * request exceed the value specified in <code>MaxRecords</code>, AWS returns a
243      * value in the <code>Marker</code> field of the response. You can retrieve the
244      * next set of response records by providing the returned marker value in the
245      * <code>Marker</code> parameter and retrying the request. </p>
246      */
WithMarker(const char * value)247     inline DescribeDataSharesForConsumerRequest& WithMarker(const char* value) { SetMarker(value); return *this;}
248 
249   private:
250 
251     Aws::String m_consumerArn;
252     bool m_consumerArnHasBeenSet;
253 
254     DataShareStatusForConsumer m_status;
255     bool m_statusHasBeenSet;
256 
257     int m_maxRecords;
258     bool m_maxRecordsHasBeenSet;
259 
260     Aws::String m_marker;
261     bool m_markerHasBeenSet;
262   };
263 
264 } // namespace Model
265 } // namespace Redshift
266 } // namespace Aws
267