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/lexv2-models/LexModelsV2_EXPORTS.h>
8 #include <aws/lexv2-models/LexModelsV2Request.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Http
16 {
17     class URI;
18 } //namespace Http
19 namespace LexModelsV2
20 {
21 namespace Model
22 {
23 
24   /**
25    */
26   class AWS_LEXMODELSV2_API UntagResourceRequest : public LexModelsV2Request
27   {
28   public:
29     UntagResourceRequest();
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 "UntagResource"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
40 
41 
42     /**
43      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
44      */
GetResourceARN()45     inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
46 
47     /**
48      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
49      */
ResourceARNHasBeenSet()50     inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
54      */
SetResourceARN(const Aws::String & value)55     inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
56 
57     /**
58      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
59      */
SetResourceARN(Aws::String && value)60     inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
61 
62     /**
63      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
64      */
SetResourceARN(const char * value)65     inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
66 
67     /**
68      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
69      */
WithResourceARN(const Aws::String & value)70     inline UntagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
71 
72     /**
73      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
74      */
WithResourceARN(Aws::String && value)75     inline UntagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
76 
77     /**
78      * <p>The Amazon Resource Name (ARN) of the resource to remove the tags from.</p>
79      */
WithResourceARN(const char * value)80     inline UntagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
81 
82 
83     /**
84      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
85      * on the resource, it is ignored.</p>
86      */
GetTagKeys()87     inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; }
88 
89     /**
90      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
91      * on the resource, it is ignored.</p>
92      */
TagKeysHasBeenSet()93     inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; }
94 
95     /**
96      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
97      * on the resource, it is ignored.</p>
98      */
SetTagKeys(const Aws::Vector<Aws::String> & value)99     inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; }
100 
101     /**
102      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
103      * on the resource, it is ignored.</p>
104      */
SetTagKeys(Aws::Vector<Aws::String> && value)105     inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); }
106 
107     /**
108      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
109      * on the resource, it is ignored.</p>
110      */
WithTagKeys(const Aws::Vector<Aws::String> & value)111     inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;}
112 
113     /**
114      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
115      * on the resource, it is ignored.</p>
116      */
WithTagKeys(Aws::Vector<Aws::String> && value)117     inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;}
118 
119     /**
120      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
121      * on the resource, it is ignored.</p>
122      */
AddTagKeys(const Aws::String & value)123     inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
124 
125     /**
126      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
127      * on the resource, it is ignored.</p>
128      */
AddTagKeys(Aws::String && value)129     inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; }
130 
131     /**
132      * <p>A list of tag keys to remove from the resource. If a tag key does not exist
133      * on the resource, it is ignored.</p>
134      */
AddTagKeys(const char * value)135     inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
136 
137   private:
138 
139     Aws::String m_resourceARN;
140     bool m_resourceARNHasBeenSet;
141 
142     Aws::Vector<Aws::String> m_tagKeys;
143     bool m_tagKeysHasBeenSet;
144   };
145 
146 } // namespace Model
147 } // namespace LexModelsV2
148 } // namespace Aws
149