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/servicecatalog/ServiceCatalog_EXPORTS.h>
8 #include <aws/servicecatalog/ServiceCatalogRequest.h>
9 #include <aws/servicecatalog/model/ListTagOptionsFilters.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ServiceCatalog
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_SERVICECATALOG_API ListTagOptionsRequest : public ServiceCatalogRequest
23   {
24   public:
25     ListTagOptionsRequest();
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 "ListTagOptions"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>The search filters. If no search filters are specified, the output includes
40      * all TagOptions.</p>
41      */
GetFilters()42     inline const ListTagOptionsFilters& GetFilters() const{ return m_filters; }
43 
44     /**
45      * <p>The search filters. If no search filters are specified, the output includes
46      * all TagOptions.</p>
47      */
FiltersHasBeenSet()48     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
49 
50     /**
51      * <p>The search filters. If no search filters are specified, the output includes
52      * all TagOptions.</p>
53      */
SetFilters(const ListTagOptionsFilters & value)54     inline void SetFilters(const ListTagOptionsFilters& value) { m_filtersHasBeenSet = true; m_filters = value; }
55 
56     /**
57      * <p>The search filters. If no search filters are specified, the output includes
58      * all TagOptions.</p>
59      */
SetFilters(ListTagOptionsFilters && value)60     inline void SetFilters(ListTagOptionsFilters&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
61 
62     /**
63      * <p>The search filters. If no search filters are specified, the output includes
64      * all TagOptions.</p>
65      */
WithFilters(const ListTagOptionsFilters & value)66     inline ListTagOptionsRequest& WithFilters(const ListTagOptionsFilters& value) { SetFilters(value); return *this;}
67 
68     /**
69      * <p>The search filters. If no search filters are specified, the output includes
70      * all TagOptions.</p>
71      */
WithFilters(ListTagOptionsFilters && value)72     inline ListTagOptionsRequest& WithFilters(ListTagOptionsFilters&& value) { SetFilters(std::move(value)); return *this;}
73 
74 
75     /**
76      * <p>The maximum number of items to return with this call.</p>
77      */
GetPageSize()78     inline int GetPageSize() const{ return m_pageSize; }
79 
80     /**
81      * <p>The maximum number of items to return with this call.</p>
82      */
PageSizeHasBeenSet()83     inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; }
84 
85     /**
86      * <p>The maximum number of items to return with this call.</p>
87      */
SetPageSize(int value)88     inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; }
89 
90     /**
91      * <p>The maximum number of items to return with this call.</p>
92      */
WithPageSize(int value)93     inline ListTagOptionsRequest& WithPageSize(int value) { SetPageSize(value); return *this;}
94 
95 
96     /**
97      * <p>The page token for the next set of results. To retrieve the first set of
98      * results, use null.</p>
99      */
GetPageToken()100     inline const Aws::String& GetPageToken() const{ return m_pageToken; }
101 
102     /**
103      * <p>The page token for the next set of results. To retrieve the first set of
104      * results, use null.</p>
105      */
PageTokenHasBeenSet()106     inline bool PageTokenHasBeenSet() const { return m_pageTokenHasBeenSet; }
107 
108     /**
109      * <p>The page token for the next set of results. To retrieve the first set of
110      * results, use null.</p>
111      */
SetPageToken(const Aws::String & value)112     inline void SetPageToken(const Aws::String& value) { m_pageTokenHasBeenSet = true; m_pageToken = value; }
113 
114     /**
115      * <p>The page token for the next set of results. To retrieve the first set of
116      * results, use null.</p>
117      */
SetPageToken(Aws::String && value)118     inline void SetPageToken(Aws::String&& value) { m_pageTokenHasBeenSet = true; m_pageToken = std::move(value); }
119 
120     /**
121      * <p>The page token for the next set of results. To retrieve the first set of
122      * results, use null.</p>
123      */
SetPageToken(const char * value)124     inline void SetPageToken(const char* value) { m_pageTokenHasBeenSet = true; m_pageToken.assign(value); }
125 
126     /**
127      * <p>The page token for the next set of results. To retrieve the first set of
128      * results, use null.</p>
129      */
WithPageToken(const Aws::String & value)130     inline ListTagOptionsRequest& WithPageToken(const Aws::String& value) { SetPageToken(value); return *this;}
131 
132     /**
133      * <p>The page token for the next set of results. To retrieve the first set of
134      * results, use null.</p>
135      */
WithPageToken(Aws::String && value)136     inline ListTagOptionsRequest& WithPageToken(Aws::String&& value) { SetPageToken(std::move(value)); return *this;}
137 
138     /**
139      * <p>The page token for the next set of results. To retrieve the first set of
140      * results, use null.</p>
141      */
WithPageToken(const char * value)142     inline ListTagOptionsRequest& WithPageToken(const char* value) { SetPageToken(value); return *this;}
143 
144   private:
145 
146     ListTagOptionsFilters m_filters;
147     bool m_filtersHasBeenSet;
148 
149     int m_pageSize;
150     bool m_pageSizeHasBeenSet;
151 
152     Aws::String m_pageToken;
153     bool m_pageTokenHasBeenSet;
154   };
155 
156 } // namespace Model
157 } // namespace ServiceCatalog
158 } // namespace Aws
159