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/cognito-idp/CognitoIdentityProvider_EXPORTS.h>
8 #include <aws/cognito-idp/CognitoIdentityProviderRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace CognitoIdentityProvider
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Represents the request to delete user attributes.</p><p><h3>See Also:</h3>
22    * <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserAttributesRequest">AWS
24    * API Reference</a></p>
25    */
26   class AWS_COGNITOIDENTITYPROVIDER_API DeleteUserAttributesRequest : public CognitoIdentityProviderRequest
27   {
28   public:
29     DeleteUserAttributesRequest();
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 "DeleteUserAttributes"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
42     /**
43      * <p>An array of strings representing the user attribute names you wish to
44      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
45      * prefix to the attribute name.</p>
46      */
GetUserAttributeNames()47     inline const Aws::Vector<Aws::String>& GetUserAttributeNames() const{ return m_userAttributeNames; }
48 
49     /**
50      * <p>An array of strings representing the user attribute names you wish to
51      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
52      * prefix to the attribute name.</p>
53      */
UserAttributeNamesHasBeenSet()54     inline bool UserAttributeNamesHasBeenSet() const { return m_userAttributeNamesHasBeenSet; }
55 
56     /**
57      * <p>An array of strings representing the user attribute names you wish to
58      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
59      * prefix to the attribute name.</p>
60      */
SetUserAttributeNames(const Aws::Vector<Aws::String> & value)61     inline void SetUserAttributeNames(const Aws::Vector<Aws::String>& value) { m_userAttributeNamesHasBeenSet = true; m_userAttributeNames = value; }
62 
63     /**
64      * <p>An array of strings representing the user attribute names you wish to
65      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
66      * prefix to the attribute name.</p>
67      */
SetUserAttributeNames(Aws::Vector<Aws::String> && value)68     inline void SetUserAttributeNames(Aws::Vector<Aws::String>&& value) { m_userAttributeNamesHasBeenSet = true; m_userAttributeNames = std::move(value); }
69 
70     /**
71      * <p>An array of strings representing the user attribute names you wish to
72      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
73      * prefix to the attribute name.</p>
74      */
WithUserAttributeNames(const Aws::Vector<Aws::String> & value)75     inline DeleteUserAttributesRequest& WithUserAttributeNames(const Aws::Vector<Aws::String>& value) { SetUserAttributeNames(value); return *this;}
76 
77     /**
78      * <p>An array of strings representing the user attribute names you wish to
79      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
80      * prefix to the attribute name.</p>
81      */
WithUserAttributeNames(Aws::Vector<Aws::String> && value)82     inline DeleteUserAttributesRequest& WithUserAttributeNames(Aws::Vector<Aws::String>&& value) { SetUserAttributeNames(std::move(value)); return *this;}
83 
84     /**
85      * <p>An array of strings representing the user attribute names you wish to
86      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
87      * prefix to the attribute name.</p>
88      */
AddUserAttributeNames(const Aws::String & value)89     inline DeleteUserAttributesRequest& AddUserAttributeNames(const Aws::String& value) { m_userAttributeNamesHasBeenSet = true; m_userAttributeNames.push_back(value); return *this; }
90 
91     /**
92      * <p>An array of strings representing the user attribute names you wish to
93      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
94      * prefix to the attribute name.</p>
95      */
AddUserAttributeNames(Aws::String && value)96     inline DeleteUserAttributesRequest& AddUserAttributeNames(Aws::String&& value) { m_userAttributeNamesHasBeenSet = true; m_userAttributeNames.push_back(std::move(value)); return *this; }
97 
98     /**
99      * <p>An array of strings representing the user attribute names you wish to
100      * delete.</p> <p>For custom attributes, you must prepend the <code>custom:</code>
101      * prefix to the attribute name.</p>
102      */
AddUserAttributeNames(const char * value)103     inline DeleteUserAttributesRequest& AddUserAttributeNames(const char* value) { m_userAttributeNamesHasBeenSet = true; m_userAttributeNames.push_back(value); return *this; }
104 
105 
106     /**
107      * <p>The access token used in the request to delete user attributes.</p>
108      */
GetAccessToken()109     inline const Aws::String& GetAccessToken() const{ return m_accessToken; }
110 
111     /**
112      * <p>The access token used in the request to delete user attributes.</p>
113      */
AccessTokenHasBeenSet()114     inline bool AccessTokenHasBeenSet() const { return m_accessTokenHasBeenSet; }
115 
116     /**
117      * <p>The access token used in the request to delete user attributes.</p>
118      */
SetAccessToken(const Aws::String & value)119     inline void SetAccessToken(const Aws::String& value) { m_accessTokenHasBeenSet = true; m_accessToken = value; }
120 
121     /**
122      * <p>The access token used in the request to delete user attributes.</p>
123      */
SetAccessToken(Aws::String && value)124     inline void SetAccessToken(Aws::String&& value) { m_accessTokenHasBeenSet = true; m_accessToken = std::move(value); }
125 
126     /**
127      * <p>The access token used in the request to delete user attributes.</p>
128      */
SetAccessToken(const char * value)129     inline void SetAccessToken(const char* value) { m_accessTokenHasBeenSet = true; m_accessToken.assign(value); }
130 
131     /**
132      * <p>The access token used in the request to delete user attributes.</p>
133      */
WithAccessToken(const Aws::String & value)134     inline DeleteUserAttributesRequest& WithAccessToken(const Aws::String& value) { SetAccessToken(value); return *this;}
135 
136     /**
137      * <p>The access token used in the request to delete user attributes.</p>
138      */
WithAccessToken(Aws::String && value)139     inline DeleteUserAttributesRequest& WithAccessToken(Aws::String&& value) { SetAccessToken(std::move(value)); return *this;}
140 
141     /**
142      * <p>The access token used in the request to delete user attributes.</p>
143      */
WithAccessToken(const char * value)144     inline DeleteUserAttributesRequest& WithAccessToken(const char* value) { SetAccessToken(value); return *this;}
145 
146   private:
147 
148     Aws::Vector<Aws::String> m_userAttributeNames;
149     bool m_userAttributeNamesHasBeenSet;
150 
151     Aws::String m_accessToken;
152     bool m_accessTokenHasBeenSet;
153   };
154 
155 } // namespace Model
156 } // namespace CognitoIdentityProvider
157 } // namespace Aws
158