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/AWSString.h> 10 #include <aws/cognito-idp/model/AuthFlowType.h> 11 #include <aws/core/utils/memory/stl/AWSMap.h> 12 #include <aws/cognito-idp/model/AnalyticsMetadataType.h> 13 #include <aws/cognito-idp/model/ContextDataType.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace CognitoIdentityProvider 19 { 20 namespace Model 21 { 22 23 /** 24 * <p>Initiates the authorization request, as an administrator.</p><p><h3>See 25 * Also:</h3> <a 26 * href="http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminInitiateAuthRequest">AWS 27 * API Reference</a></p> 28 */ 29 class AWS_COGNITOIDENTITYPROVIDER_API AdminInitiateAuthRequest : public CognitoIdentityProviderRequest 30 { 31 public: 32 AdminInitiateAuthRequest(); 33 34 // Service request name is the Operation name which will send this request out, 35 // each operation should has unique request name, so that we can get operation's name from this request. 36 // Note: this is not true for response, multiple operations may have the same response name, 37 // so we can not get operation's name from response. GetServiceRequestName()38 inline virtual const char* GetServiceRequestName() const override { return "AdminInitiateAuth"; } 39 40 Aws::String SerializePayload() const override; 41 42 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 43 44 45 /** 46 * <p>The ID of the Amazon Cognito user pool.</p> 47 */ GetUserPoolId()48 inline const Aws::String& GetUserPoolId() const{ return m_userPoolId; } 49 50 /** 51 * <p>The ID of the Amazon Cognito user pool.</p> 52 */ UserPoolIdHasBeenSet()53 inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; } 54 55 /** 56 * <p>The ID of the Amazon Cognito user pool.</p> 57 */ SetUserPoolId(const Aws::String & value)58 inline void SetUserPoolId(const Aws::String& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = value; } 59 60 /** 61 * <p>The ID of the Amazon Cognito user pool.</p> 62 */ SetUserPoolId(Aws::String && value)63 inline void SetUserPoolId(Aws::String&& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = std::move(value); } 64 65 /** 66 * <p>The ID of the Amazon Cognito user pool.</p> 67 */ SetUserPoolId(const char * value)68 inline void SetUserPoolId(const char* value) { m_userPoolIdHasBeenSet = true; m_userPoolId.assign(value); } 69 70 /** 71 * <p>The ID of the Amazon Cognito user pool.</p> 72 */ WithUserPoolId(const Aws::String & value)73 inline AdminInitiateAuthRequest& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} 74 75 /** 76 * <p>The ID of the Amazon Cognito user pool.</p> 77 */ WithUserPoolId(Aws::String && value)78 inline AdminInitiateAuthRequest& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} 79 80 /** 81 * <p>The ID of the Amazon Cognito user pool.</p> 82 */ WithUserPoolId(const char * value)83 inline AdminInitiateAuthRequest& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} 84 85 86 /** 87 * <p>The app client ID.</p> 88 */ GetClientId()89 inline const Aws::String& GetClientId() const{ return m_clientId; } 90 91 /** 92 * <p>The app client ID.</p> 93 */ ClientIdHasBeenSet()94 inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } 95 96 /** 97 * <p>The app client ID.</p> 98 */ SetClientId(const Aws::String & value)99 inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } 100 101 /** 102 * <p>The app client ID.</p> 103 */ SetClientId(Aws::String && value)104 inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } 105 106 /** 107 * <p>The app client ID.</p> 108 */ SetClientId(const char * value)109 inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } 110 111 /** 112 * <p>The app client ID.</p> 113 */ WithClientId(const Aws::String & value)114 inline AdminInitiateAuthRequest& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} 115 116 /** 117 * <p>The app client ID.</p> 118 */ WithClientId(Aws::String && value)119 inline AdminInitiateAuthRequest& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} 120 121 /** 122 * <p>The app client ID.</p> 123 */ WithClientId(const char * value)124 inline AdminInitiateAuthRequest& WithClientId(const char* value) { SetClientId(value); return *this;} 125 126 127 /** 128 * <p>The authentication flow for this call to execute. The API action will depend 129 * on this value. For example:</p> <ul> <li> <p> <code>REFRESH_TOKEN_AUTH</code> 130 * will take in a valid refresh token and return new tokens.</p> </li> <li> <p> 131 * <code>USER_SRP_AUTH</code> will take in <code>USERNAME</code> and 132 * <code>SRP_A</code> and return the SRP variables to be used for next challenge 133 * execution.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code> will take in 134 * <code>USERNAME</code> and <code>PASSWORD</code> and return the next challenge or 135 * tokens.</p> </li> </ul> <p>Valid values include:</p> <ul> <li> <p> 136 * <code>USER_SRP_AUTH</code>: Authentication flow for the Secure Remote Password 137 * (SRP) protocol.</p> </li> <li> <p> 138 * <code>REFRESH_TOKEN_AUTH</code>/<code>REFRESH_TOKEN</code>: Authentication flow 139 * for refreshing the access token and ID token by supplying a valid refresh 140 * token.</p> </li> <li> <p> <code>CUSTOM_AUTH</code>: Custom authentication 141 * flow.</p> </li> <li> <p> <code>ADMIN_NO_SRP_AUTH</code>: Non-SRP authentication 142 * flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled 143 * for calling the app client.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code>: 144 * Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a 145 * user migration Lambda trigger is set, this flow will invoke the user migration 146 * Lambda if the USERNAME is not found in the user pool. </p> </li> <li> <p> 147 * <code>ADMIN_USER_PASSWORD_AUTH</code>: Admin-based user password authentication. 148 * This replaces the <code>ADMIN_NO_SRP_AUTH</code> authentication flow. In this 149 * flow, Cognito receives the password in the request instead of using the SRP 150 * process to verify passwords.</p> </li> </ul> 151 */ GetAuthFlow()152 inline const AuthFlowType& GetAuthFlow() const{ return m_authFlow; } 153 154 /** 155 * <p>The authentication flow for this call to execute. The API action will depend 156 * on this value. For example:</p> <ul> <li> <p> <code>REFRESH_TOKEN_AUTH</code> 157 * will take in a valid refresh token and return new tokens.</p> </li> <li> <p> 158 * <code>USER_SRP_AUTH</code> will take in <code>USERNAME</code> and 159 * <code>SRP_A</code> and return the SRP variables to be used for next challenge 160 * execution.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code> will take in 161 * <code>USERNAME</code> and <code>PASSWORD</code> and return the next challenge or 162 * tokens.</p> </li> </ul> <p>Valid values include:</p> <ul> <li> <p> 163 * <code>USER_SRP_AUTH</code>: Authentication flow for the Secure Remote Password 164 * (SRP) protocol.</p> </li> <li> <p> 165 * <code>REFRESH_TOKEN_AUTH</code>/<code>REFRESH_TOKEN</code>: Authentication flow 166 * for refreshing the access token and ID token by supplying a valid refresh 167 * token.</p> </li> <li> <p> <code>CUSTOM_AUTH</code>: Custom authentication 168 * flow.</p> </li> <li> <p> <code>ADMIN_NO_SRP_AUTH</code>: Non-SRP authentication 169 * flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled 170 * for calling the app client.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code>: 171 * Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a 172 * user migration Lambda trigger is set, this flow will invoke the user migration 173 * Lambda if the USERNAME is not found in the user pool. </p> </li> <li> <p> 174 * <code>ADMIN_USER_PASSWORD_AUTH</code>: Admin-based user password authentication. 175 * This replaces the <code>ADMIN_NO_SRP_AUTH</code> authentication flow. In this 176 * flow, Cognito receives the password in the request instead of using the SRP 177 * process to verify passwords.</p> </li> </ul> 178 */ AuthFlowHasBeenSet()179 inline bool AuthFlowHasBeenSet() const { return m_authFlowHasBeenSet; } 180 181 /** 182 * <p>The authentication flow for this call to execute. The API action will depend 183 * on this value. For example:</p> <ul> <li> <p> <code>REFRESH_TOKEN_AUTH</code> 184 * will take in a valid refresh token and return new tokens.</p> </li> <li> <p> 185 * <code>USER_SRP_AUTH</code> will take in <code>USERNAME</code> and 186 * <code>SRP_A</code> and return the SRP variables to be used for next challenge 187 * execution.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code> will take in 188 * <code>USERNAME</code> and <code>PASSWORD</code> and return the next challenge or 189 * tokens.</p> </li> </ul> <p>Valid values include:</p> <ul> <li> <p> 190 * <code>USER_SRP_AUTH</code>: Authentication flow for the Secure Remote Password 191 * (SRP) protocol.</p> </li> <li> <p> 192 * <code>REFRESH_TOKEN_AUTH</code>/<code>REFRESH_TOKEN</code>: Authentication flow 193 * for refreshing the access token and ID token by supplying a valid refresh 194 * token.</p> </li> <li> <p> <code>CUSTOM_AUTH</code>: Custom authentication 195 * flow.</p> </li> <li> <p> <code>ADMIN_NO_SRP_AUTH</code>: Non-SRP authentication 196 * flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled 197 * for calling the app client.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code>: 198 * Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a 199 * user migration Lambda trigger is set, this flow will invoke the user migration 200 * Lambda if the USERNAME is not found in the user pool. </p> </li> <li> <p> 201 * <code>ADMIN_USER_PASSWORD_AUTH</code>: Admin-based user password authentication. 202 * This replaces the <code>ADMIN_NO_SRP_AUTH</code> authentication flow. In this 203 * flow, Cognito receives the password in the request instead of using the SRP 204 * process to verify passwords.</p> </li> </ul> 205 */ SetAuthFlow(const AuthFlowType & value)206 inline void SetAuthFlow(const AuthFlowType& value) { m_authFlowHasBeenSet = true; m_authFlow = value; } 207 208 /** 209 * <p>The authentication flow for this call to execute. The API action will depend 210 * on this value. For example:</p> <ul> <li> <p> <code>REFRESH_TOKEN_AUTH</code> 211 * will take in a valid refresh token and return new tokens.</p> </li> <li> <p> 212 * <code>USER_SRP_AUTH</code> will take in <code>USERNAME</code> and 213 * <code>SRP_A</code> and return the SRP variables to be used for next challenge 214 * execution.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code> will take in 215 * <code>USERNAME</code> and <code>PASSWORD</code> and return the next challenge or 216 * tokens.</p> </li> </ul> <p>Valid values include:</p> <ul> <li> <p> 217 * <code>USER_SRP_AUTH</code>: Authentication flow for the Secure Remote Password 218 * (SRP) protocol.</p> </li> <li> <p> 219 * <code>REFRESH_TOKEN_AUTH</code>/<code>REFRESH_TOKEN</code>: Authentication flow 220 * for refreshing the access token and ID token by supplying a valid refresh 221 * token.</p> </li> <li> <p> <code>CUSTOM_AUTH</code>: Custom authentication 222 * flow.</p> </li> <li> <p> <code>ADMIN_NO_SRP_AUTH</code>: Non-SRP authentication 223 * flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled 224 * for calling the app client.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code>: 225 * Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a 226 * user migration Lambda trigger is set, this flow will invoke the user migration 227 * Lambda if the USERNAME is not found in the user pool. </p> </li> <li> <p> 228 * <code>ADMIN_USER_PASSWORD_AUTH</code>: Admin-based user password authentication. 229 * This replaces the <code>ADMIN_NO_SRP_AUTH</code> authentication flow. In this 230 * flow, Cognito receives the password in the request instead of using the SRP 231 * process to verify passwords.</p> </li> </ul> 232 */ SetAuthFlow(AuthFlowType && value)233 inline void SetAuthFlow(AuthFlowType&& value) { m_authFlowHasBeenSet = true; m_authFlow = std::move(value); } 234 235 /** 236 * <p>The authentication flow for this call to execute. The API action will depend 237 * on this value. For example:</p> <ul> <li> <p> <code>REFRESH_TOKEN_AUTH</code> 238 * will take in a valid refresh token and return new tokens.</p> </li> <li> <p> 239 * <code>USER_SRP_AUTH</code> will take in <code>USERNAME</code> and 240 * <code>SRP_A</code> and return the SRP variables to be used for next challenge 241 * execution.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code> will take in 242 * <code>USERNAME</code> and <code>PASSWORD</code> and return the next challenge or 243 * tokens.</p> </li> </ul> <p>Valid values include:</p> <ul> <li> <p> 244 * <code>USER_SRP_AUTH</code>: Authentication flow for the Secure Remote Password 245 * (SRP) protocol.</p> </li> <li> <p> 246 * <code>REFRESH_TOKEN_AUTH</code>/<code>REFRESH_TOKEN</code>: Authentication flow 247 * for refreshing the access token and ID token by supplying a valid refresh 248 * token.</p> </li> <li> <p> <code>CUSTOM_AUTH</code>: Custom authentication 249 * flow.</p> </li> <li> <p> <code>ADMIN_NO_SRP_AUTH</code>: Non-SRP authentication 250 * flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled 251 * for calling the app client.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code>: 252 * Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a 253 * user migration Lambda trigger is set, this flow will invoke the user migration 254 * Lambda if the USERNAME is not found in the user pool. </p> </li> <li> <p> 255 * <code>ADMIN_USER_PASSWORD_AUTH</code>: Admin-based user password authentication. 256 * This replaces the <code>ADMIN_NO_SRP_AUTH</code> authentication flow. In this 257 * flow, Cognito receives the password in the request instead of using the SRP 258 * process to verify passwords.</p> </li> </ul> 259 */ WithAuthFlow(const AuthFlowType & value)260 inline AdminInitiateAuthRequest& WithAuthFlow(const AuthFlowType& value) { SetAuthFlow(value); return *this;} 261 262 /** 263 * <p>The authentication flow for this call to execute. The API action will depend 264 * on this value. For example:</p> <ul> <li> <p> <code>REFRESH_TOKEN_AUTH</code> 265 * will take in a valid refresh token and return new tokens.</p> </li> <li> <p> 266 * <code>USER_SRP_AUTH</code> will take in <code>USERNAME</code> and 267 * <code>SRP_A</code> and return the SRP variables to be used for next challenge 268 * execution.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code> will take in 269 * <code>USERNAME</code> and <code>PASSWORD</code> and return the next challenge or 270 * tokens.</p> </li> </ul> <p>Valid values include:</p> <ul> <li> <p> 271 * <code>USER_SRP_AUTH</code>: Authentication flow for the Secure Remote Password 272 * (SRP) protocol.</p> </li> <li> <p> 273 * <code>REFRESH_TOKEN_AUTH</code>/<code>REFRESH_TOKEN</code>: Authentication flow 274 * for refreshing the access token and ID token by supplying a valid refresh 275 * token.</p> </li> <li> <p> <code>CUSTOM_AUTH</code>: Custom authentication 276 * flow.</p> </li> <li> <p> <code>ADMIN_NO_SRP_AUTH</code>: Non-SRP authentication 277 * flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled 278 * for calling the app client.</p> </li> <li> <p> <code>USER_PASSWORD_AUTH</code>: 279 * Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a 280 * user migration Lambda trigger is set, this flow will invoke the user migration 281 * Lambda if the USERNAME is not found in the user pool. </p> </li> <li> <p> 282 * <code>ADMIN_USER_PASSWORD_AUTH</code>: Admin-based user password authentication. 283 * This replaces the <code>ADMIN_NO_SRP_AUTH</code> authentication flow. In this 284 * flow, Cognito receives the password in the request instead of using the SRP 285 * process to verify passwords.</p> </li> </ul> 286 */ WithAuthFlow(AuthFlowType && value)287 inline AdminInitiateAuthRequest& WithAuthFlow(AuthFlowType&& value) { SetAuthFlow(std::move(value)); return *this;} 288 289 290 /** 291 * <p>The authentication parameters. These are inputs corresponding to the 292 * <code>AuthFlow</code> that you are invoking. The required values depend on the 293 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 294 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 295 * <code>SECRET_HASH</code> (required if the app client is configured with a client 296 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 297 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 298 * (required), <code>SECRET_HASH</code> (required if the app client is configured 299 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 300 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 301 * <code>SECRET_HASH</code> (if app client is configured with client secret), 302 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 303 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 304 * <code>SECRET_HASH</code> (if app client is configured with client secret), 305 * <code>DEVICE_KEY</code>. To start the authentication flow with password 306 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 307 * SRP_A Value)</code>.</p> </li> </ul> 308 */ GetAuthParameters()309 inline const Aws::Map<Aws::String, Aws::String>& GetAuthParameters() const{ return m_authParameters; } 310 311 /** 312 * <p>The authentication parameters. These are inputs corresponding to the 313 * <code>AuthFlow</code> that you are invoking. The required values depend on the 314 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 315 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 316 * <code>SECRET_HASH</code> (required if the app client is configured with a client 317 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 318 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 319 * (required), <code>SECRET_HASH</code> (required if the app client is configured 320 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 321 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 322 * <code>SECRET_HASH</code> (if app client is configured with client secret), 323 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 324 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 325 * <code>SECRET_HASH</code> (if app client is configured with client secret), 326 * <code>DEVICE_KEY</code>. To start the authentication flow with password 327 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 328 * SRP_A Value)</code>.</p> </li> </ul> 329 */ AuthParametersHasBeenSet()330 inline bool AuthParametersHasBeenSet() const { return m_authParametersHasBeenSet; } 331 332 /** 333 * <p>The authentication parameters. These are inputs corresponding to the 334 * <code>AuthFlow</code> that you are invoking. The required values depend on the 335 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 336 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 337 * <code>SECRET_HASH</code> (required if the app client is configured with a client 338 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 339 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 340 * (required), <code>SECRET_HASH</code> (required if the app client is configured 341 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 342 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 343 * <code>SECRET_HASH</code> (if app client is configured with client secret), 344 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 345 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 346 * <code>SECRET_HASH</code> (if app client is configured with client secret), 347 * <code>DEVICE_KEY</code>. To start the authentication flow with password 348 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 349 * SRP_A Value)</code>.</p> </li> </ul> 350 */ SetAuthParameters(const Aws::Map<Aws::String,Aws::String> & value)351 inline void SetAuthParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_authParametersHasBeenSet = true; m_authParameters = value; } 352 353 /** 354 * <p>The authentication parameters. These are inputs corresponding to the 355 * <code>AuthFlow</code> that you are invoking. The required values depend on the 356 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 357 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 358 * <code>SECRET_HASH</code> (required if the app client is configured with a client 359 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 360 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 361 * (required), <code>SECRET_HASH</code> (required if the app client is configured 362 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 363 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 364 * <code>SECRET_HASH</code> (if app client is configured with client secret), 365 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 366 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 367 * <code>SECRET_HASH</code> (if app client is configured with client secret), 368 * <code>DEVICE_KEY</code>. To start the authentication flow with password 369 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 370 * SRP_A Value)</code>.</p> </li> </ul> 371 */ SetAuthParameters(Aws::Map<Aws::String,Aws::String> && value)372 inline void SetAuthParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_authParametersHasBeenSet = true; m_authParameters = std::move(value); } 373 374 /** 375 * <p>The authentication parameters. These are inputs corresponding to the 376 * <code>AuthFlow</code> that you are invoking. The required values depend on the 377 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 378 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 379 * <code>SECRET_HASH</code> (required if the app client is configured with a client 380 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 381 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 382 * (required), <code>SECRET_HASH</code> (required if the app client is configured 383 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 384 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 385 * <code>SECRET_HASH</code> (if app client is configured with client secret), 386 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 387 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 388 * <code>SECRET_HASH</code> (if app client is configured with client secret), 389 * <code>DEVICE_KEY</code>. To start the authentication flow with password 390 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 391 * SRP_A Value)</code>.</p> </li> </ul> 392 */ WithAuthParameters(const Aws::Map<Aws::String,Aws::String> & value)393 inline AdminInitiateAuthRequest& WithAuthParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetAuthParameters(value); return *this;} 394 395 /** 396 * <p>The authentication parameters. These are inputs corresponding to the 397 * <code>AuthFlow</code> that you are invoking. The required values depend on the 398 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 399 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 400 * <code>SECRET_HASH</code> (required if the app client is configured with a client 401 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 402 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 403 * (required), <code>SECRET_HASH</code> (required if the app client is configured 404 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 405 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 406 * <code>SECRET_HASH</code> (if app client is configured with client secret), 407 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 408 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 409 * <code>SECRET_HASH</code> (if app client is configured with client secret), 410 * <code>DEVICE_KEY</code>. To start the authentication flow with password 411 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 412 * SRP_A Value)</code>.</p> </li> </ul> 413 */ WithAuthParameters(Aws::Map<Aws::String,Aws::String> && value)414 inline AdminInitiateAuthRequest& WithAuthParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetAuthParameters(std::move(value)); return *this;} 415 416 /** 417 * <p>The authentication parameters. These are inputs corresponding to the 418 * <code>AuthFlow</code> that you are invoking. The required values depend on the 419 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 420 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 421 * <code>SECRET_HASH</code> (required if the app client is configured with a client 422 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 423 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 424 * (required), <code>SECRET_HASH</code> (required if the app client is configured 425 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 426 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 427 * <code>SECRET_HASH</code> (if app client is configured with client secret), 428 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 429 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 430 * <code>SECRET_HASH</code> (if app client is configured with client secret), 431 * <code>DEVICE_KEY</code>. To start the authentication flow with password 432 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 433 * SRP_A Value)</code>.</p> </li> </ul> 434 */ AddAuthParameters(const Aws::String & key,const Aws::String & value)435 inline AdminInitiateAuthRequest& AddAuthParameters(const Aws::String& key, const Aws::String& value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(key, value); return *this; } 436 437 /** 438 * <p>The authentication parameters. These are inputs corresponding to the 439 * <code>AuthFlow</code> that you are invoking. The required values depend on the 440 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 441 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 442 * <code>SECRET_HASH</code> (required if the app client is configured with a client 443 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 444 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 445 * (required), <code>SECRET_HASH</code> (required if the app client is configured 446 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 447 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 448 * <code>SECRET_HASH</code> (if app client is configured with client secret), 449 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 450 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 451 * <code>SECRET_HASH</code> (if app client is configured with client secret), 452 * <code>DEVICE_KEY</code>. To start the authentication flow with password 453 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 454 * SRP_A Value)</code>.</p> </li> </ul> 455 */ AddAuthParameters(Aws::String && key,const Aws::String & value)456 inline AdminInitiateAuthRequest& AddAuthParameters(Aws::String&& key, const Aws::String& value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(std::move(key), value); return *this; } 457 458 /** 459 * <p>The authentication parameters. These are inputs corresponding to the 460 * <code>AuthFlow</code> that you are invoking. The required values depend on the 461 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 462 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 463 * <code>SECRET_HASH</code> (required if the app client is configured with a client 464 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 465 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 466 * (required), <code>SECRET_HASH</code> (required if the app client is configured 467 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 468 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 469 * <code>SECRET_HASH</code> (if app client is configured with client secret), 470 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 471 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 472 * <code>SECRET_HASH</code> (if app client is configured with client secret), 473 * <code>DEVICE_KEY</code>. To start the authentication flow with password 474 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 475 * SRP_A Value)</code>.</p> </li> </ul> 476 */ AddAuthParameters(const Aws::String & key,Aws::String && value)477 inline AdminInitiateAuthRequest& AddAuthParameters(const Aws::String& key, Aws::String&& value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(key, std::move(value)); return *this; } 478 479 /** 480 * <p>The authentication parameters. These are inputs corresponding to the 481 * <code>AuthFlow</code> that you are invoking. The required values depend on the 482 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 483 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 484 * <code>SECRET_HASH</code> (required if the app client is configured with a client 485 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 486 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 487 * (required), <code>SECRET_HASH</code> (required if the app client is configured 488 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 489 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 490 * <code>SECRET_HASH</code> (if app client is configured with client secret), 491 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 492 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 493 * <code>SECRET_HASH</code> (if app client is configured with client secret), 494 * <code>DEVICE_KEY</code>. To start the authentication flow with password 495 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 496 * SRP_A Value)</code>.</p> </li> </ul> 497 */ AddAuthParameters(Aws::String && key,Aws::String && value)498 inline AdminInitiateAuthRequest& AddAuthParameters(Aws::String&& key, Aws::String&& value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(std::move(key), std::move(value)); return *this; } 499 500 /** 501 * <p>The authentication parameters. These are inputs corresponding to the 502 * <code>AuthFlow</code> that you are invoking. The required values depend on the 503 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 504 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 505 * <code>SECRET_HASH</code> (required if the app client is configured with a client 506 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 507 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 508 * (required), <code>SECRET_HASH</code> (required if the app client is configured 509 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 510 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 511 * <code>SECRET_HASH</code> (if app client is configured with client secret), 512 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 513 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 514 * <code>SECRET_HASH</code> (if app client is configured with client secret), 515 * <code>DEVICE_KEY</code>. To start the authentication flow with password 516 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 517 * SRP_A Value)</code>.</p> </li> </ul> 518 */ AddAuthParameters(const char * key,Aws::String && value)519 inline AdminInitiateAuthRequest& AddAuthParameters(const char* key, Aws::String&& value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(key, std::move(value)); return *this; } 520 521 /** 522 * <p>The authentication parameters. These are inputs corresponding to the 523 * <code>AuthFlow</code> that you are invoking. The required values depend on the 524 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 525 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 526 * <code>SECRET_HASH</code> (required if the app client is configured with a client 527 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 528 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 529 * (required), <code>SECRET_HASH</code> (required if the app client is configured 530 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 531 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 532 * <code>SECRET_HASH</code> (if app client is configured with client secret), 533 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 534 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 535 * <code>SECRET_HASH</code> (if app client is configured with client secret), 536 * <code>DEVICE_KEY</code>. To start the authentication flow with password 537 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 538 * SRP_A Value)</code>.</p> </li> </ul> 539 */ AddAuthParameters(Aws::String && key,const char * value)540 inline AdminInitiateAuthRequest& AddAuthParameters(Aws::String&& key, const char* value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(std::move(key), value); return *this; } 541 542 /** 543 * <p>The authentication parameters. These are inputs corresponding to the 544 * <code>AuthFlow</code> that you are invoking. The required values depend on the 545 * value of <code>AuthFlow</code>:</p> <ul> <li> <p>For <code>USER_SRP_AUTH</code>: 546 * <code>USERNAME</code> (required), <code>SRP_A</code> (required), 547 * <code>SECRET_HASH</code> (required if the app client is configured with a client 548 * secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 549 * <code>REFRESH_TOKEN_AUTH/REFRESH_TOKEN</code>: <code>REFRESH_TOKEN</code> 550 * (required), <code>SECRET_HASH</code> (required if the app client is configured 551 * with a client secret), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 552 * <code>ADMIN_NO_SRP_AUTH</code>: <code>USERNAME</code> (required), 553 * <code>SECRET_HASH</code> (if app client is configured with client secret), 554 * <code>PASSWORD</code> (required), <code>DEVICE_KEY</code>.</p> </li> <li> <p>For 555 * <code>CUSTOM_AUTH</code>: <code>USERNAME</code> (required), 556 * <code>SECRET_HASH</code> (if app client is configured with client secret), 557 * <code>DEVICE_KEY</code>. To start the authentication flow with password 558 * verification, include <code>ChallengeName: SRP_A</code> and <code>SRP_A: (The 559 * SRP_A Value)</code>.</p> </li> </ul> 560 */ AddAuthParameters(const char * key,const char * value)561 inline AdminInitiateAuthRequest& AddAuthParameters(const char* key, const char* value) { m_authParametersHasBeenSet = true; m_authParameters.emplace(key, value); return *this; } 562 563 564 /** 565 * <p>A map of custom key-value pairs that you can provide as input for certain 566 * custom workflows that this action triggers.</p> <p>You create custom workflows 567 * by assigning Lambda functions to user pool triggers. When you use the 568 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 569 * are specified for various triggers. The ClientMetadata value is passed as input 570 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 571 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 572 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 573 * passes a JSON payload, which the function receives as input. This payload 574 * contains a <code>validationData</code> attribute, which provides the data that 575 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 576 * In your function code in Lambda, you can process the <code>validationData</code> 577 * value to enhance your workflow for your specific needs.</p> <p>When you use the 578 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 579 * following triggers, but it does not provide the ClientMetadata value as 580 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 581 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 582 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 583 * </li> </ul> <p>For more information, see <a 584 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 585 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 586 * Guide</i>.</p> <p>Take the following limitations into consideration when 587 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 588 * store the ClientMetadata value. This data is available only to Lambda triggers 589 * that are assigned to a user pool to support custom workflows. If your user pool 590 * configuration does not include triggers, the ClientMetadata parameter serves no 591 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 592 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 593 * value, so don't use it to provide sensitive information.</p> </li> </ul> 594 */ GetClientMetadata()595 inline const Aws::Map<Aws::String, Aws::String>& GetClientMetadata() const{ return m_clientMetadata; } 596 597 /** 598 * <p>A map of custom key-value pairs that you can provide as input for certain 599 * custom workflows that this action triggers.</p> <p>You create custom workflows 600 * by assigning Lambda functions to user pool triggers. When you use the 601 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 602 * are specified for various triggers. The ClientMetadata value is passed as input 603 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 604 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 605 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 606 * passes a JSON payload, which the function receives as input. This payload 607 * contains a <code>validationData</code> attribute, which provides the data that 608 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 609 * In your function code in Lambda, you can process the <code>validationData</code> 610 * value to enhance your workflow for your specific needs.</p> <p>When you use the 611 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 612 * following triggers, but it does not provide the ClientMetadata value as 613 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 614 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 615 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 616 * </li> </ul> <p>For more information, see <a 617 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 618 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 619 * Guide</i>.</p> <p>Take the following limitations into consideration when 620 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 621 * store the ClientMetadata value. This data is available only to Lambda triggers 622 * that are assigned to a user pool to support custom workflows. If your user pool 623 * configuration does not include triggers, the ClientMetadata parameter serves no 624 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 625 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 626 * value, so don't use it to provide sensitive information.</p> </li> </ul> 627 */ ClientMetadataHasBeenSet()628 inline bool ClientMetadataHasBeenSet() const { return m_clientMetadataHasBeenSet; } 629 630 /** 631 * <p>A map of custom key-value pairs that you can provide as input for certain 632 * custom workflows that this action triggers.</p> <p>You create custom workflows 633 * by assigning Lambda functions to user pool triggers. When you use the 634 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 635 * are specified for various triggers. The ClientMetadata value is passed as input 636 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 637 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 638 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 639 * passes a JSON payload, which the function receives as input. This payload 640 * contains a <code>validationData</code> attribute, which provides the data that 641 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 642 * In your function code in Lambda, you can process the <code>validationData</code> 643 * value to enhance your workflow for your specific needs.</p> <p>When you use the 644 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 645 * following triggers, but it does not provide the ClientMetadata value as 646 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 647 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 648 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 649 * </li> </ul> <p>For more information, see <a 650 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 651 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 652 * Guide</i>.</p> <p>Take the following limitations into consideration when 653 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 654 * store the ClientMetadata value. This data is available only to Lambda triggers 655 * that are assigned to a user pool to support custom workflows. If your user pool 656 * configuration does not include triggers, the ClientMetadata parameter serves no 657 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 658 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 659 * value, so don't use it to provide sensitive information.</p> </li> </ul> 660 */ SetClientMetadata(const Aws::Map<Aws::String,Aws::String> & value)661 inline void SetClientMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata = value; } 662 663 /** 664 * <p>A map of custom key-value pairs that you can provide as input for certain 665 * custom workflows that this action triggers.</p> <p>You create custom workflows 666 * by assigning Lambda functions to user pool triggers. When you use the 667 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 668 * are specified for various triggers. The ClientMetadata value is passed as input 669 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 670 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 671 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 672 * passes a JSON payload, which the function receives as input. This payload 673 * contains a <code>validationData</code> attribute, which provides the data that 674 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 675 * In your function code in Lambda, you can process the <code>validationData</code> 676 * value to enhance your workflow for your specific needs.</p> <p>When you use the 677 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 678 * following triggers, but it does not provide the ClientMetadata value as 679 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 680 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 681 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 682 * </li> </ul> <p>For more information, see <a 683 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 684 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 685 * Guide</i>.</p> <p>Take the following limitations into consideration when 686 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 687 * store the ClientMetadata value. This data is available only to Lambda triggers 688 * that are assigned to a user pool to support custom workflows. If your user pool 689 * configuration does not include triggers, the ClientMetadata parameter serves no 690 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 691 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 692 * value, so don't use it to provide sensitive information.</p> </li> </ul> 693 */ SetClientMetadata(Aws::Map<Aws::String,Aws::String> && value)694 inline void SetClientMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata = std::move(value); } 695 696 /** 697 * <p>A map of custom key-value pairs that you can provide as input for certain 698 * custom workflows that this action triggers.</p> <p>You create custom workflows 699 * by assigning Lambda functions to user pool triggers. When you use the 700 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 701 * are specified for various triggers. The ClientMetadata value is passed as input 702 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 703 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 704 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 705 * passes a JSON payload, which the function receives as input. This payload 706 * contains a <code>validationData</code> attribute, which provides the data that 707 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 708 * In your function code in Lambda, you can process the <code>validationData</code> 709 * value to enhance your workflow for your specific needs.</p> <p>When you use the 710 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 711 * following triggers, but it does not provide the ClientMetadata value as 712 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 713 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 714 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 715 * </li> </ul> <p>For more information, see <a 716 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 717 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 718 * Guide</i>.</p> <p>Take the following limitations into consideration when 719 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 720 * store the ClientMetadata value. This data is available only to Lambda triggers 721 * that are assigned to a user pool to support custom workflows. If your user pool 722 * configuration does not include triggers, the ClientMetadata parameter serves no 723 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 724 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 725 * value, so don't use it to provide sensitive information.</p> </li> </ul> 726 */ WithClientMetadata(const Aws::Map<Aws::String,Aws::String> & value)727 inline AdminInitiateAuthRequest& WithClientMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetClientMetadata(value); return *this;} 728 729 /** 730 * <p>A map of custom key-value pairs that you can provide as input for certain 731 * custom workflows that this action triggers.</p> <p>You create custom workflows 732 * by assigning Lambda functions to user pool triggers. When you use the 733 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 734 * are specified for various triggers. The ClientMetadata value is passed as input 735 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 736 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 737 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 738 * passes a JSON payload, which the function receives as input. This payload 739 * contains a <code>validationData</code> attribute, which provides the data that 740 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 741 * In your function code in Lambda, you can process the <code>validationData</code> 742 * value to enhance your workflow for your specific needs.</p> <p>When you use the 743 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 744 * following triggers, but it does not provide the ClientMetadata value as 745 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 746 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 747 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 748 * </li> </ul> <p>For more information, see <a 749 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 750 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 751 * Guide</i>.</p> <p>Take the following limitations into consideration when 752 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 753 * store the ClientMetadata value. This data is available only to Lambda triggers 754 * that are assigned to a user pool to support custom workflows. If your user pool 755 * configuration does not include triggers, the ClientMetadata parameter serves no 756 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 757 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 758 * value, so don't use it to provide sensitive information.</p> </li> </ul> 759 */ WithClientMetadata(Aws::Map<Aws::String,Aws::String> && value)760 inline AdminInitiateAuthRequest& WithClientMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetClientMetadata(std::move(value)); return *this;} 761 762 /** 763 * <p>A map of custom key-value pairs that you can provide as input for certain 764 * custom workflows that this action triggers.</p> <p>You create custom workflows 765 * by assigning Lambda functions to user pool triggers. When you use the 766 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 767 * are specified for various triggers. The ClientMetadata value is passed as input 768 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 769 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 770 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 771 * passes a JSON payload, which the function receives as input. This payload 772 * contains a <code>validationData</code> attribute, which provides the data that 773 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 774 * In your function code in Lambda, you can process the <code>validationData</code> 775 * value to enhance your workflow for your specific needs.</p> <p>When you use the 776 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 777 * following triggers, but it does not provide the ClientMetadata value as 778 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 779 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 780 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 781 * </li> </ul> <p>For more information, see <a 782 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 783 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 784 * Guide</i>.</p> <p>Take the following limitations into consideration when 785 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 786 * store the ClientMetadata value. This data is available only to Lambda triggers 787 * that are assigned to a user pool to support custom workflows. If your user pool 788 * configuration does not include triggers, the ClientMetadata parameter serves no 789 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 790 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 791 * value, so don't use it to provide sensitive information.</p> </li> </ul> 792 */ AddClientMetadata(const Aws::String & key,const Aws::String & value)793 inline AdminInitiateAuthRequest& AddClientMetadata(const Aws::String& key, const Aws::String& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(key, value); return *this; } 794 795 /** 796 * <p>A map of custom key-value pairs that you can provide as input for certain 797 * custom workflows that this action triggers.</p> <p>You create custom workflows 798 * by assigning Lambda functions to user pool triggers. When you use the 799 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 800 * are specified for various triggers. The ClientMetadata value is passed as input 801 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 802 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 803 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 804 * passes a JSON payload, which the function receives as input. This payload 805 * contains a <code>validationData</code> attribute, which provides the data that 806 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 807 * In your function code in Lambda, you can process the <code>validationData</code> 808 * value to enhance your workflow for your specific needs.</p> <p>When you use the 809 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 810 * following triggers, but it does not provide the ClientMetadata value as 811 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 812 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 813 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 814 * </li> </ul> <p>For more information, see <a 815 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 816 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 817 * Guide</i>.</p> <p>Take the following limitations into consideration when 818 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 819 * store the ClientMetadata value. This data is available only to Lambda triggers 820 * that are assigned to a user pool to support custom workflows. If your user pool 821 * configuration does not include triggers, the ClientMetadata parameter serves no 822 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 823 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 824 * value, so don't use it to provide sensitive information.</p> </li> </ul> 825 */ AddClientMetadata(Aws::String && key,const Aws::String & value)826 inline AdminInitiateAuthRequest& AddClientMetadata(Aws::String&& key, const Aws::String& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(std::move(key), value); return *this; } 827 828 /** 829 * <p>A map of custom key-value pairs that you can provide as input for certain 830 * custom workflows that this action triggers.</p> <p>You create custom workflows 831 * by assigning Lambda functions to user pool triggers. When you use the 832 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 833 * are specified for various triggers. The ClientMetadata value is passed as input 834 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 835 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 836 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 837 * passes a JSON payload, which the function receives as input. This payload 838 * contains a <code>validationData</code> attribute, which provides the data that 839 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 840 * In your function code in Lambda, you can process the <code>validationData</code> 841 * value to enhance your workflow for your specific needs.</p> <p>When you use the 842 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 843 * following triggers, but it does not provide the ClientMetadata value as 844 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 845 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 846 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 847 * </li> </ul> <p>For more information, see <a 848 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 849 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 850 * Guide</i>.</p> <p>Take the following limitations into consideration when 851 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 852 * store the ClientMetadata value. This data is available only to Lambda triggers 853 * that are assigned to a user pool to support custom workflows. If your user pool 854 * configuration does not include triggers, the ClientMetadata parameter serves no 855 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 856 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 857 * value, so don't use it to provide sensitive information.</p> </li> </ul> 858 */ AddClientMetadata(const Aws::String & key,Aws::String && value)859 inline AdminInitiateAuthRequest& AddClientMetadata(const Aws::String& key, Aws::String&& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(key, std::move(value)); return *this; } 860 861 /** 862 * <p>A map of custom key-value pairs that you can provide as input for certain 863 * custom workflows that this action triggers.</p> <p>You create custom workflows 864 * by assigning Lambda functions to user pool triggers. When you use the 865 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 866 * are specified for various triggers. The ClientMetadata value is passed as input 867 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 868 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 869 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 870 * passes a JSON payload, which the function receives as input. This payload 871 * contains a <code>validationData</code> attribute, which provides the data that 872 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 873 * In your function code in Lambda, you can process the <code>validationData</code> 874 * value to enhance your workflow for your specific needs.</p> <p>When you use the 875 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 876 * following triggers, but it does not provide the ClientMetadata value as 877 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 878 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 879 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 880 * </li> </ul> <p>For more information, see <a 881 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 882 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 883 * Guide</i>.</p> <p>Take the following limitations into consideration when 884 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 885 * store the ClientMetadata value. This data is available only to Lambda triggers 886 * that are assigned to a user pool to support custom workflows. If your user pool 887 * configuration does not include triggers, the ClientMetadata parameter serves no 888 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 889 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 890 * value, so don't use it to provide sensitive information.</p> </li> </ul> 891 */ AddClientMetadata(Aws::String && key,Aws::String && value)892 inline AdminInitiateAuthRequest& AddClientMetadata(Aws::String&& key, Aws::String&& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(std::move(key), std::move(value)); return *this; } 893 894 /** 895 * <p>A map of custom key-value pairs that you can provide as input for certain 896 * custom workflows that this action triggers.</p> <p>You create custom workflows 897 * by assigning Lambda functions to user pool triggers. When you use the 898 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 899 * are specified for various triggers. The ClientMetadata value is passed as input 900 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 901 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 902 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 903 * passes a JSON payload, which the function receives as input. This payload 904 * contains a <code>validationData</code> attribute, which provides the data that 905 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 906 * In your function code in Lambda, you can process the <code>validationData</code> 907 * value to enhance your workflow for your specific needs.</p> <p>When you use the 908 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 909 * following triggers, but it does not provide the ClientMetadata value as 910 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 911 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 912 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 913 * </li> </ul> <p>For more information, see <a 914 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 915 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 916 * Guide</i>.</p> <p>Take the following limitations into consideration when 917 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 918 * store the ClientMetadata value. This data is available only to Lambda triggers 919 * that are assigned to a user pool to support custom workflows. If your user pool 920 * configuration does not include triggers, the ClientMetadata parameter serves no 921 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 922 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 923 * value, so don't use it to provide sensitive information.</p> </li> </ul> 924 */ AddClientMetadata(const char * key,Aws::String && value)925 inline AdminInitiateAuthRequest& AddClientMetadata(const char* key, Aws::String&& value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(key, std::move(value)); return *this; } 926 927 /** 928 * <p>A map of custom key-value pairs that you can provide as input for certain 929 * custom workflows that this action triggers.</p> <p>You create custom workflows 930 * by assigning Lambda functions to user pool triggers. When you use the 931 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 932 * are specified for various triggers. The ClientMetadata value is passed as input 933 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 934 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 935 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 936 * passes a JSON payload, which the function receives as input. This payload 937 * contains a <code>validationData</code> attribute, which provides the data that 938 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 939 * In your function code in Lambda, you can process the <code>validationData</code> 940 * value to enhance your workflow for your specific needs.</p> <p>When you use the 941 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 942 * following triggers, but it does not provide the ClientMetadata value as 943 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 944 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 945 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 946 * </li> </ul> <p>For more information, see <a 947 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 948 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 949 * Guide</i>.</p> <p>Take the following limitations into consideration when 950 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 951 * store the ClientMetadata value. This data is available only to Lambda triggers 952 * that are assigned to a user pool to support custom workflows. If your user pool 953 * configuration does not include triggers, the ClientMetadata parameter serves no 954 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 955 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 956 * value, so don't use it to provide sensitive information.</p> </li> </ul> 957 */ AddClientMetadata(Aws::String && key,const char * value)958 inline AdminInitiateAuthRequest& AddClientMetadata(Aws::String&& key, const char* value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(std::move(key), value); return *this; } 959 960 /** 961 * <p>A map of custom key-value pairs that you can provide as input for certain 962 * custom workflows that this action triggers.</p> <p>You create custom workflows 963 * by assigning Lambda functions to user pool triggers. When you use the 964 * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that 965 * are specified for various triggers. The ClientMetadata value is passed as input 966 * to the functions for only the following triggers:</p> <ul> <li> <p>Pre 967 * signup</p> </li> <li> <p>Pre authentication</p> </li> <li> <p>User migration</p> 968 * </li> </ul> <p>When Amazon Cognito invokes the functions for these triggers, it 969 * passes a JSON payload, which the function receives as input. This payload 970 * contains a <code>validationData</code> attribute, which provides the data that 971 * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. 972 * In your function code in Lambda, you can process the <code>validationData</code> 973 * value to enhance your workflow for your specific needs.</p> <p>When you use the 974 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the 975 * following triggers, but it does not provide the ClientMetadata value as 976 * input:</p> <ul> <li> <p>Post authentication</p> </li> <li> <p>Custom message</p> 977 * </li> <li> <p>Pre token generation</p> </li> <li> <p>Create auth challenge</p> 978 * </li> <li> <p>Define auth challenge</p> </li> <li> <p>Verify auth challenge</p> 979 * </li> </ul> <p>For more information, see <a 980 * href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html">Customizing 981 * User Pool Workflows with Lambda Triggers</a> in the <i>Amazon Cognito Developer 982 * Guide</i>.</p> <p>Take the following limitations into consideration when 983 * you use the ClientMetadata parameter:</p> <ul> <li> <p>Amazon Cognito does not 984 * store the ClientMetadata value. This data is available only to Lambda triggers 985 * that are assigned to a user pool to support custom workflows. If your user pool 986 * configuration does not include triggers, the ClientMetadata parameter serves no 987 * purpose.</p> </li> <li> <p>Amazon Cognito does not validate the ClientMetadata 988 * value.</p> </li> <li> <p>Amazon Cognito does not encrypt the the ClientMetadata 989 * value, so don't use it to provide sensitive information.</p> </li> </ul> 990 */ AddClientMetadata(const char * key,const char * value)991 inline AdminInitiateAuthRequest& AddClientMetadata(const char* key, const char* value) { m_clientMetadataHasBeenSet = true; m_clientMetadata.emplace(key, value); return *this; } 992 993 994 /** 995 * <p>The analytics metadata for collecting Amazon Pinpoint metrics for 996 * <code>AdminInitiateAuth</code> calls.</p> 997 */ GetAnalyticsMetadata()998 inline const AnalyticsMetadataType& GetAnalyticsMetadata() const{ return m_analyticsMetadata; } 999 1000 /** 1001 * <p>The analytics metadata for collecting Amazon Pinpoint metrics for 1002 * <code>AdminInitiateAuth</code> calls.</p> 1003 */ AnalyticsMetadataHasBeenSet()1004 inline bool AnalyticsMetadataHasBeenSet() const { return m_analyticsMetadataHasBeenSet; } 1005 1006 /** 1007 * <p>The analytics metadata for collecting Amazon Pinpoint metrics for 1008 * <code>AdminInitiateAuth</code> calls.</p> 1009 */ SetAnalyticsMetadata(const AnalyticsMetadataType & value)1010 inline void SetAnalyticsMetadata(const AnalyticsMetadataType& value) { m_analyticsMetadataHasBeenSet = true; m_analyticsMetadata = value; } 1011 1012 /** 1013 * <p>The analytics metadata for collecting Amazon Pinpoint metrics for 1014 * <code>AdminInitiateAuth</code> calls.</p> 1015 */ SetAnalyticsMetadata(AnalyticsMetadataType && value)1016 inline void SetAnalyticsMetadata(AnalyticsMetadataType&& value) { m_analyticsMetadataHasBeenSet = true; m_analyticsMetadata = std::move(value); } 1017 1018 /** 1019 * <p>The analytics metadata for collecting Amazon Pinpoint metrics for 1020 * <code>AdminInitiateAuth</code> calls.</p> 1021 */ WithAnalyticsMetadata(const AnalyticsMetadataType & value)1022 inline AdminInitiateAuthRequest& WithAnalyticsMetadata(const AnalyticsMetadataType& value) { SetAnalyticsMetadata(value); return *this;} 1023 1024 /** 1025 * <p>The analytics metadata for collecting Amazon Pinpoint metrics for 1026 * <code>AdminInitiateAuth</code> calls.</p> 1027 */ WithAnalyticsMetadata(AnalyticsMetadataType && value)1028 inline AdminInitiateAuthRequest& WithAnalyticsMetadata(AnalyticsMetadataType&& value) { SetAnalyticsMetadata(std::move(value)); return *this;} 1029 1030 1031 /** 1032 * <p>Contextual data such as the user's device fingerprint, IP address, or 1033 * location used for evaluating the risk of an unexpected event by Amazon Cognito 1034 * advanced security.</p> 1035 */ GetContextData()1036 inline const ContextDataType& GetContextData() const{ return m_contextData; } 1037 1038 /** 1039 * <p>Contextual data such as the user's device fingerprint, IP address, or 1040 * location used for evaluating the risk of an unexpected event by Amazon Cognito 1041 * advanced security.</p> 1042 */ ContextDataHasBeenSet()1043 inline bool ContextDataHasBeenSet() const { return m_contextDataHasBeenSet; } 1044 1045 /** 1046 * <p>Contextual data such as the user's device fingerprint, IP address, or 1047 * location used for evaluating the risk of an unexpected event by Amazon Cognito 1048 * advanced security.</p> 1049 */ SetContextData(const ContextDataType & value)1050 inline void SetContextData(const ContextDataType& value) { m_contextDataHasBeenSet = true; m_contextData = value; } 1051 1052 /** 1053 * <p>Contextual data such as the user's device fingerprint, IP address, or 1054 * location used for evaluating the risk of an unexpected event by Amazon Cognito 1055 * advanced security.</p> 1056 */ SetContextData(ContextDataType && value)1057 inline void SetContextData(ContextDataType&& value) { m_contextDataHasBeenSet = true; m_contextData = std::move(value); } 1058 1059 /** 1060 * <p>Contextual data such as the user's device fingerprint, IP address, or 1061 * location used for evaluating the risk of an unexpected event by Amazon Cognito 1062 * advanced security.</p> 1063 */ WithContextData(const ContextDataType & value)1064 inline AdminInitiateAuthRequest& WithContextData(const ContextDataType& value) { SetContextData(value); return *this;} 1065 1066 /** 1067 * <p>Contextual data such as the user's device fingerprint, IP address, or 1068 * location used for evaluating the risk of an unexpected event by Amazon Cognito 1069 * advanced security.</p> 1070 */ WithContextData(ContextDataType && value)1071 inline AdminInitiateAuthRequest& WithContextData(ContextDataType&& value) { SetContextData(std::move(value)); return *this;} 1072 1073 private: 1074 1075 Aws::String m_userPoolId; 1076 bool m_userPoolIdHasBeenSet; 1077 1078 Aws::String m_clientId; 1079 bool m_clientIdHasBeenSet; 1080 1081 AuthFlowType m_authFlow; 1082 bool m_authFlowHasBeenSet; 1083 1084 Aws::Map<Aws::String, Aws::String> m_authParameters; 1085 bool m_authParametersHasBeenSet; 1086 1087 Aws::Map<Aws::String, Aws::String> m_clientMetadata; 1088 bool m_clientMetadataHasBeenSet; 1089 1090 AnalyticsMetadataType m_analyticsMetadata; 1091 bool m_analyticsMetadataHasBeenSet; 1092 1093 ContextDataType m_contextData; 1094 bool m_contextDataHasBeenSet; 1095 }; 1096 1097 } // namespace Model 1098 } // namespace CognitoIdentityProvider 1099 } // namespace Aws 1100