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/rds/RDS_EXPORTS.h>
8 #include <aws/rds/RDSRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/rds/model/Filter.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace RDS
17 {
18 namespace Model
19 {
20 
21   /**
22    * <p/><p><h3>See Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResourceMessage">AWS
24    * API Reference</a></p>
25    */
26   class AWS_RDS_API ListTagsForResourceRequest : public RDSRequest
27   {
28   public:
29     ListTagsForResourceRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; }
36 
37     Aws::String SerializePayload() const override;
38 
39   protected:
40     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
41 
42   public:
43 
44     /**
45      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
46      * Resource Name (ARN). For information about creating an ARN, see <a
47      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
48      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
49      */
GetResourceName()50     inline const Aws::String& GetResourceName() const{ return m_resourceName; }
51 
52     /**
53      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
54      * Resource Name (ARN). For information about creating an ARN, see <a
55      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
56      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
57      */
ResourceNameHasBeenSet()58     inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; }
59 
60     /**
61      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
62      * Resource Name (ARN). For information about creating an ARN, see <a
63      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
64      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
65      */
SetResourceName(const Aws::String & value)66     inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; }
67 
68     /**
69      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
70      * Resource Name (ARN). For information about creating an ARN, see <a
71      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
72      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
73      */
SetResourceName(Aws::String && value)74     inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); }
75 
76     /**
77      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
78      * Resource Name (ARN). For information about creating an ARN, see <a
79      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
80      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
81      */
SetResourceName(const char * value)82     inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); }
83 
84     /**
85      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
86      * Resource Name (ARN). For information about creating an ARN, see <a
87      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
88      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
89      */
WithResourceName(const Aws::String & value)90     inline ListTagsForResourceRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;}
91 
92     /**
93      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
94      * Resource Name (ARN). For information about creating an ARN, see <a
95      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
96      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
97      */
WithResourceName(Aws::String && value)98     inline ListTagsForResourceRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;}
99 
100     /**
101      * <p>The Amazon RDS resource with tags to be listed. This value is an Amazon
102      * Resource Name (ARN). For information about creating an ARN, see <a
103      * href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing">
104      * Constructing an ARN for Amazon RDS</a> in the <i>Amazon RDS User Guide</i>.</p>
105      */
WithResourceName(const char * value)106     inline ListTagsForResourceRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;}
107 
108 
109     /**
110      * <p>This parameter isn't currently supported.</p>
111      */
GetFilters()112     inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
113 
114     /**
115      * <p>This parameter isn't currently supported.</p>
116      */
FiltersHasBeenSet()117     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
118 
119     /**
120      * <p>This parameter isn't currently supported.</p>
121      */
SetFilters(const Aws::Vector<Filter> & value)122     inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
123 
124     /**
125      * <p>This parameter isn't currently supported.</p>
126      */
SetFilters(Aws::Vector<Filter> && value)127     inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
128 
129     /**
130      * <p>This parameter isn't currently supported.</p>
131      */
WithFilters(const Aws::Vector<Filter> & value)132     inline ListTagsForResourceRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
133 
134     /**
135      * <p>This parameter isn't currently supported.</p>
136      */
WithFilters(Aws::Vector<Filter> && value)137     inline ListTagsForResourceRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
138 
139     /**
140      * <p>This parameter isn't currently supported.</p>
141      */
AddFilters(const Filter & value)142     inline ListTagsForResourceRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
143 
144     /**
145      * <p>This parameter isn't currently supported.</p>
146      */
AddFilters(Filter && value)147     inline ListTagsForResourceRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
148 
149   private:
150 
151     Aws::String m_resourceName;
152     bool m_resourceNameHasBeenSet;
153 
154     Aws::Vector<Filter> m_filters;
155     bool m_filtersHasBeenSet;
156   };
157 
158 } // namespace Model
159 } // namespace RDS
160 } // namespace Aws
161