github.com/aavshr/aws-sdk-go@v1.41.3/service/cognitoidentityprovider/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package cognitoidentityprovider
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/credentials"
    12  	"github.com/aavshr/aws-sdk-go/aws/request"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol"
    14  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    15  )
    16  
    17  const opAddCustomAttributes = "AddCustomAttributes"
    18  
    19  // AddCustomAttributesRequest generates a "aws/request.Request" representing the
    20  // client's request for the AddCustomAttributes operation. The "output" return
    21  // value will be populated with the request's response once the request completes
    22  // successfully.
    23  //
    24  // Use "Send" method on the returned Request to send the API call to the service.
    25  // the "output" return value is not valid until after Send returns without error.
    26  //
    27  // See AddCustomAttributes for more information on using the AddCustomAttributes
    28  // API call, and error handling.
    29  //
    30  // This method is useful when you want to inject custom logic or configuration
    31  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    32  //
    33  //
    34  //    // Example sending a request using the AddCustomAttributesRequest method.
    35  //    req, resp := client.AddCustomAttributesRequest(params)
    36  //
    37  //    err := req.Send()
    38  //    if err == nil { // resp is now filled
    39  //        fmt.Println(resp)
    40  //    }
    41  //
    42  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AddCustomAttributes
    43  func (c *CognitoIdentityProvider) AddCustomAttributesRequest(input *AddCustomAttributesInput) (req *request.Request, output *AddCustomAttributesOutput) {
    44  	op := &request.Operation{
    45  		Name:       opAddCustomAttributes,
    46  		HTTPMethod: "POST",
    47  		HTTPPath:   "/",
    48  	}
    49  
    50  	if input == nil {
    51  		input = &AddCustomAttributesInput{}
    52  	}
    53  
    54  	output = &AddCustomAttributesOutput{}
    55  	req = c.newRequest(op, input, output)
    56  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    57  	return
    58  }
    59  
    60  // AddCustomAttributes API operation for Amazon Cognito Identity Provider.
    61  //
    62  // Adds additional user attributes to the user pool schema.
    63  //
    64  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    65  // with awserr.Error's Code and Message methods to get detailed information about
    66  // the error.
    67  //
    68  // See the AWS API reference guide for Amazon Cognito Identity Provider's
    69  // API operation AddCustomAttributes for usage and error information.
    70  //
    71  // Returned Error Types:
    72  //   * ResourceNotFoundException
    73  //   This exception is thrown when the Amazon Cognito service cannot find the
    74  //   requested resource.
    75  //
    76  //   * InvalidParameterException
    77  //   This exception is thrown when the Amazon Cognito service encounters an invalid
    78  //   parameter.
    79  //
    80  //   * TooManyRequestsException
    81  //   This exception is thrown when the user has made too many requests for a given
    82  //   operation.
    83  //
    84  //   * NotAuthorizedException
    85  //   This exception is thrown when a user is not authorized.
    86  //
    87  //   * UserImportInProgressException
    88  //   This exception is thrown when you are trying to modify a user pool while
    89  //   a user import job is in progress for that pool.
    90  //
    91  //   * InternalErrorException
    92  //   This exception is thrown when Amazon Cognito encounters an internal error.
    93  //
    94  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AddCustomAttributes
    95  func (c *CognitoIdentityProvider) AddCustomAttributes(input *AddCustomAttributesInput) (*AddCustomAttributesOutput, error) {
    96  	req, out := c.AddCustomAttributesRequest(input)
    97  	return out, req.Send()
    98  }
    99  
   100  // AddCustomAttributesWithContext is the same as AddCustomAttributes with the addition of
   101  // the ability to pass a context and additional request options.
   102  //
   103  // See AddCustomAttributes for details on how to use this API operation.
   104  //
   105  // The context must be non-nil and will be used for request cancellation. If
   106  // the context is nil a panic will occur. In the future the SDK may create
   107  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   108  // for more information on using Contexts.
   109  func (c *CognitoIdentityProvider) AddCustomAttributesWithContext(ctx aws.Context, input *AddCustomAttributesInput, opts ...request.Option) (*AddCustomAttributesOutput, error) {
   110  	req, out := c.AddCustomAttributesRequest(input)
   111  	req.SetContext(ctx)
   112  	req.ApplyOptions(opts...)
   113  	return out, req.Send()
   114  }
   115  
   116  const opAdminAddUserToGroup = "AdminAddUserToGroup"
   117  
   118  // AdminAddUserToGroupRequest generates a "aws/request.Request" representing the
   119  // client's request for the AdminAddUserToGroup operation. The "output" return
   120  // value will be populated with the request's response once the request completes
   121  // successfully.
   122  //
   123  // Use "Send" method on the returned Request to send the API call to the service.
   124  // the "output" return value is not valid until after Send returns without error.
   125  //
   126  // See AdminAddUserToGroup for more information on using the AdminAddUserToGroup
   127  // API call, and error handling.
   128  //
   129  // This method is useful when you want to inject custom logic or configuration
   130  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   131  //
   132  //
   133  //    // Example sending a request using the AdminAddUserToGroupRequest method.
   134  //    req, resp := client.AdminAddUserToGroupRequest(params)
   135  //
   136  //    err := req.Send()
   137  //    if err == nil { // resp is now filled
   138  //        fmt.Println(resp)
   139  //    }
   140  //
   141  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminAddUserToGroup
   142  func (c *CognitoIdentityProvider) AdminAddUserToGroupRequest(input *AdminAddUserToGroupInput) (req *request.Request, output *AdminAddUserToGroupOutput) {
   143  	op := &request.Operation{
   144  		Name:       opAdminAddUserToGroup,
   145  		HTTPMethod: "POST",
   146  		HTTPPath:   "/",
   147  	}
   148  
   149  	if input == nil {
   150  		input = &AdminAddUserToGroupInput{}
   151  	}
   152  
   153  	output = &AdminAddUserToGroupOutput{}
   154  	req = c.newRequest(op, input, output)
   155  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   156  	return
   157  }
   158  
   159  // AdminAddUserToGroup API operation for Amazon Cognito Identity Provider.
   160  //
   161  // Adds the specified user to the specified group.
   162  //
   163  // Calling this action requires developer credentials.
   164  //
   165  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   166  // with awserr.Error's Code and Message methods to get detailed information about
   167  // the error.
   168  //
   169  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   170  // API operation AdminAddUserToGroup for usage and error information.
   171  //
   172  // Returned Error Types:
   173  //   * InvalidParameterException
   174  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   175  //   parameter.
   176  //
   177  //   * ResourceNotFoundException
   178  //   This exception is thrown when the Amazon Cognito service cannot find the
   179  //   requested resource.
   180  //
   181  //   * TooManyRequestsException
   182  //   This exception is thrown when the user has made too many requests for a given
   183  //   operation.
   184  //
   185  //   * NotAuthorizedException
   186  //   This exception is thrown when a user is not authorized.
   187  //
   188  //   * UserNotFoundException
   189  //   This exception is thrown when a user is not found.
   190  //
   191  //   * InternalErrorException
   192  //   This exception is thrown when Amazon Cognito encounters an internal error.
   193  //
   194  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminAddUserToGroup
   195  func (c *CognitoIdentityProvider) AdminAddUserToGroup(input *AdminAddUserToGroupInput) (*AdminAddUserToGroupOutput, error) {
   196  	req, out := c.AdminAddUserToGroupRequest(input)
   197  	return out, req.Send()
   198  }
   199  
   200  // AdminAddUserToGroupWithContext is the same as AdminAddUserToGroup with the addition of
   201  // the ability to pass a context and additional request options.
   202  //
   203  // See AdminAddUserToGroup for details on how to use this API operation.
   204  //
   205  // The context must be non-nil and will be used for request cancellation. If
   206  // the context is nil a panic will occur. In the future the SDK may create
   207  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   208  // for more information on using Contexts.
   209  func (c *CognitoIdentityProvider) AdminAddUserToGroupWithContext(ctx aws.Context, input *AdminAddUserToGroupInput, opts ...request.Option) (*AdminAddUserToGroupOutput, error) {
   210  	req, out := c.AdminAddUserToGroupRequest(input)
   211  	req.SetContext(ctx)
   212  	req.ApplyOptions(opts...)
   213  	return out, req.Send()
   214  }
   215  
   216  const opAdminConfirmSignUp = "AdminConfirmSignUp"
   217  
   218  // AdminConfirmSignUpRequest generates a "aws/request.Request" representing the
   219  // client's request for the AdminConfirmSignUp operation. The "output" return
   220  // value will be populated with the request's response once the request completes
   221  // successfully.
   222  //
   223  // Use "Send" method on the returned Request to send the API call to the service.
   224  // the "output" return value is not valid until after Send returns without error.
   225  //
   226  // See AdminConfirmSignUp for more information on using the AdminConfirmSignUp
   227  // API call, and error handling.
   228  //
   229  // This method is useful when you want to inject custom logic or configuration
   230  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   231  //
   232  //
   233  //    // Example sending a request using the AdminConfirmSignUpRequest method.
   234  //    req, resp := client.AdminConfirmSignUpRequest(params)
   235  //
   236  //    err := req.Send()
   237  //    if err == nil { // resp is now filled
   238  //        fmt.Println(resp)
   239  //    }
   240  //
   241  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminConfirmSignUp
   242  func (c *CognitoIdentityProvider) AdminConfirmSignUpRequest(input *AdminConfirmSignUpInput) (req *request.Request, output *AdminConfirmSignUpOutput) {
   243  	op := &request.Operation{
   244  		Name:       opAdminConfirmSignUp,
   245  		HTTPMethod: "POST",
   246  		HTTPPath:   "/",
   247  	}
   248  
   249  	if input == nil {
   250  		input = &AdminConfirmSignUpInput{}
   251  	}
   252  
   253  	output = &AdminConfirmSignUpOutput{}
   254  	req = c.newRequest(op, input, output)
   255  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   256  	return
   257  }
   258  
   259  // AdminConfirmSignUp API operation for Amazon Cognito Identity Provider.
   260  //
   261  // Confirms user registration as an admin without using a confirmation code.
   262  // Works on any user.
   263  //
   264  // Calling this action requires developer credentials.
   265  //
   266  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   267  // with awserr.Error's Code and Message methods to get detailed information about
   268  // the error.
   269  //
   270  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   271  // API operation AdminConfirmSignUp for usage and error information.
   272  //
   273  // Returned Error Types:
   274  //   * ResourceNotFoundException
   275  //   This exception is thrown when the Amazon Cognito service cannot find the
   276  //   requested resource.
   277  //
   278  //   * InvalidParameterException
   279  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   280  //   parameter.
   281  //
   282  //   * UnexpectedLambdaException
   283  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
   284  //   exception with the Lambda service.
   285  //
   286  //   * UserLambdaValidationException
   287  //   This exception is thrown when the Amazon Cognito service encounters a user
   288  //   validation exception with the Lambda service.
   289  //
   290  //   * NotAuthorizedException
   291  //   This exception is thrown when a user is not authorized.
   292  //
   293  //   * TooManyFailedAttemptsException
   294  //   This exception is thrown when the user has made too many failed attempts
   295  //   for a given action (e.g., sign in).
   296  //
   297  //   * InvalidLambdaResponseException
   298  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   299  //   Lambda response.
   300  //
   301  //   * TooManyRequestsException
   302  //   This exception is thrown when the user has made too many requests for a given
   303  //   operation.
   304  //
   305  //   * LimitExceededException
   306  //   This exception is thrown when a user exceeds the limit for a requested Amazon
   307  //   Web Services resource.
   308  //
   309  //   * UserNotFoundException
   310  //   This exception is thrown when a user is not found.
   311  //
   312  //   * InternalErrorException
   313  //   This exception is thrown when Amazon Cognito encounters an internal error.
   314  //
   315  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminConfirmSignUp
   316  func (c *CognitoIdentityProvider) AdminConfirmSignUp(input *AdminConfirmSignUpInput) (*AdminConfirmSignUpOutput, error) {
   317  	req, out := c.AdminConfirmSignUpRequest(input)
   318  	return out, req.Send()
   319  }
   320  
   321  // AdminConfirmSignUpWithContext is the same as AdminConfirmSignUp with the addition of
   322  // the ability to pass a context and additional request options.
   323  //
   324  // See AdminConfirmSignUp for details on how to use this API operation.
   325  //
   326  // The context must be non-nil and will be used for request cancellation. If
   327  // the context is nil a panic will occur. In the future the SDK may create
   328  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   329  // for more information on using Contexts.
   330  func (c *CognitoIdentityProvider) AdminConfirmSignUpWithContext(ctx aws.Context, input *AdminConfirmSignUpInput, opts ...request.Option) (*AdminConfirmSignUpOutput, error) {
   331  	req, out := c.AdminConfirmSignUpRequest(input)
   332  	req.SetContext(ctx)
   333  	req.ApplyOptions(opts...)
   334  	return out, req.Send()
   335  }
   336  
   337  const opAdminCreateUser = "AdminCreateUser"
   338  
   339  // AdminCreateUserRequest generates a "aws/request.Request" representing the
   340  // client's request for the AdminCreateUser operation. The "output" return
   341  // value will be populated with the request's response once the request completes
   342  // successfully.
   343  //
   344  // Use "Send" method on the returned Request to send the API call to the service.
   345  // the "output" return value is not valid until after Send returns without error.
   346  //
   347  // See AdminCreateUser for more information on using the AdminCreateUser
   348  // API call, and error handling.
   349  //
   350  // This method is useful when you want to inject custom logic or configuration
   351  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   352  //
   353  //
   354  //    // Example sending a request using the AdminCreateUserRequest method.
   355  //    req, resp := client.AdminCreateUserRequest(params)
   356  //
   357  //    err := req.Send()
   358  //    if err == nil { // resp is now filled
   359  //        fmt.Println(resp)
   360  //    }
   361  //
   362  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminCreateUser
   363  func (c *CognitoIdentityProvider) AdminCreateUserRequest(input *AdminCreateUserInput) (req *request.Request, output *AdminCreateUserOutput) {
   364  	op := &request.Operation{
   365  		Name:       opAdminCreateUser,
   366  		HTTPMethod: "POST",
   367  		HTTPPath:   "/",
   368  	}
   369  
   370  	if input == nil {
   371  		input = &AdminCreateUserInput{}
   372  	}
   373  
   374  	output = &AdminCreateUserOutput{}
   375  	req = c.newRequest(op, input, output)
   376  	return
   377  }
   378  
   379  // AdminCreateUser API operation for Amazon Cognito Identity Provider.
   380  //
   381  // Creates a new user in the specified user pool.
   382  //
   383  // If MessageAction is not set, the default is to send a welcome message via
   384  // email or phone (SMS).
   385  //
   386  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
   387  // telecom carriers require that you register an origination phone number before
   388  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
   389  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
   390  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
   391  // registered number automatically. Otherwise, Cognito users that must receive
   392  // SMS messages might be unable to sign up, activate their accounts, or sign
   393  // in.
   394  //
   395  // If you have never used SMS text messages with Amazon Cognito or any other
   396  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
   397  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
   398  // , you’ll have limitations, such as sending messages to only verified phone
   399  // numbers. After testing in the sandbox environment, you can move out of the
   400  // SMS sandbox and into production. For more information, see SMS message settings
   401  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
   402  // in the Amazon Cognito Developer Guide.
   403  //
   404  // This message is based on a template that you configured in your call to create
   405  // or update a user pool. This template includes your custom sign-up instructions
   406  // and placeholders for user name and temporary password.
   407  //
   408  // Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction
   409  // parameter, and Amazon Cognito will not send any email.
   410  //
   411  // In either case, the user will be in the FORCE_CHANGE_PASSWORD state until
   412  // they sign in and change their password.
   413  //
   414  // AdminCreateUser requires developer credentials.
   415  //
   416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   417  // with awserr.Error's Code and Message methods to get detailed information about
   418  // the error.
   419  //
   420  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   421  // API operation AdminCreateUser for usage and error information.
   422  //
   423  // Returned Error Types:
   424  //   * ResourceNotFoundException
   425  //   This exception is thrown when the Amazon Cognito service cannot find the
   426  //   requested resource.
   427  //
   428  //   * InvalidParameterException
   429  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   430  //   parameter.
   431  //
   432  //   * UserNotFoundException
   433  //   This exception is thrown when a user is not found.
   434  //
   435  //   * UsernameExistsException
   436  //   This exception is thrown when Amazon Cognito encounters a user name that
   437  //   already exists in the user pool.
   438  //
   439  //   * InvalidPasswordException
   440  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   441  //   password.
   442  //
   443  //   * CodeDeliveryFailureException
   444  //   This exception is thrown when a verification code fails to deliver successfully.
   445  //
   446  //   * UnexpectedLambdaException
   447  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
   448  //   exception with the Lambda service.
   449  //
   450  //   * UserLambdaValidationException
   451  //   This exception is thrown when the Amazon Cognito service encounters a user
   452  //   validation exception with the Lambda service.
   453  //
   454  //   * InvalidLambdaResponseException
   455  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   456  //   Lambda response.
   457  //
   458  //   * PreconditionNotMetException
   459  //   This exception is thrown when a precondition is not met.
   460  //
   461  //   * InvalidSmsRoleAccessPolicyException
   462  //   This exception is returned when the role provided for SMS configuration does
   463  //   not have permission to publish using Amazon SNS.
   464  //
   465  //   * InvalidSmsRoleTrustRelationshipException
   466  //   This exception is thrown when the trust relationship is invalid for the role
   467  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
   468  //   or the external ID provided in the role does not match what is provided in
   469  //   the SMS configuration for the user pool.
   470  //
   471  //   * TooManyRequestsException
   472  //   This exception is thrown when the user has made too many requests for a given
   473  //   operation.
   474  //
   475  //   * NotAuthorizedException
   476  //   This exception is thrown when a user is not authorized.
   477  //
   478  //   * UnsupportedUserStateException
   479  //   The request failed because the user is in an unsupported state.
   480  //
   481  //   * InternalErrorException
   482  //   This exception is thrown when Amazon Cognito encounters an internal error.
   483  //
   484  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminCreateUser
   485  func (c *CognitoIdentityProvider) AdminCreateUser(input *AdminCreateUserInput) (*AdminCreateUserOutput, error) {
   486  	req, out := c.AdminCreateUserRequest(input)
   487  	return out, req.Send()
   488  }
   489  
   490  // AdminCreateUserWithContext is the same as AdminCreateUser with the addition of
   491  // the ability to pass a context and additional request options.
   492  //
   493  // See AdminCreateUser for details on how to use this API operation.
   494  //
   495  // The context must be non-nil and will be used for request cancellation. If
   496  // the context is nil a panic will occur. In the future the SDK may create
   497  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   498  // for more information on using Contexts.
   499  func (c *CognitoIdentityProvider) AdminCreateUserWithContext(ctx aws.Context, input *AdminCreateUserInput, opts ...request.Option) (*AdminCreateUserOutput, error) {
   500  	req, out := c.AdminCreateUserRequest(input)
   501  	req.SetContext(ctx)
   502  	req.ApplyOptions(opts...)
   503  	return out, req.Send()
   504  }
   505  
   506  const opAdminDeleteUser = "AdminDeleteUser"
   507  
   508  // AdminDeleteUserRequest generates a "aws/request.Request" representing the
   509  // client's request for the AdminDeleteUser operation. The "output" return
   510  // value will be populated with the request's response once the request completes
   511  // successfully.
   512  //
   513  // Use "Send" method on the returned Request to send the API call to the service.
   514  // the "output" return value is not valid until after Send returns without error.
   515  //
   516  // See AdminDeleteUser for more information on using the AdminDeleteUser
   517  // API call, and error handling.
   518  //
   519  // This method is useful when you want to inject custom logic or configuration
   520  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   521  //
   522  //
   523  //    // Example sending a request using the AdminDeleteUserRequest method.
   524  //    req, resp := client.AdminDeleteUserRequest(params)
   525  //
   526  //    err := req.Send()
   527  //    if err == nil { // resp is now filled
   528  //        fmt.Println(resp)
   529  //    }
   530  //
   531  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDeleteUser
   532  func (c *CognitoIdentityProvider) AdminDeleteUserRequest(input *AdminDeleteUserInput) (req *request.Request, output *AdminDeleteUserOutput) {
   533  	op := &request.Operation{
   534  		Name:       opAdminDeleteUser,
   535  		HTTPMethod: "POST",
   536  		HTTPPath:   "/",
   537  	}
   538  
   539  	if input == nil {
   540  		input = &AdminDeleteUserInput{}
   541  	}
   542  
   543  	output = &AdminDeleteUserOutput{}
   544  	req = c.newRequest(op, input, output)
   545  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   546  	return
   547  }
   548  
   549  // AdminDeleteUser API operation for Amazon Cognito Identity Provider.
   550  //
   551  // Deletes a user as an administrator. Works on any user.
   552  //
   553  // Calling this action requires developer credentials.
   554  //
   555  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   556  // with awserr.Error's Code and Message methods to get detailed information about
   557  // the error.
   558  //
   559  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   560  // API operation AdminDeleteUser for usage and error information.
   561  //
   562  // Returned Error Types:
   563  //   * ResourceNotFoundException
   564  //   This exception is thrown when the Amazon Cognito service cannot find the
   565  //   requested resource.
   566  //
   567  //   * InvalidParameterException
   568  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   569  //   parameter.
   570  //
   571  //   * TooManyRequestsException
   572  //   This exception is thrown when the user has made too many requests for a given
   573  //   operation.
   574  //
   575  //   * NotAuthorizedException
   576  //   This exception is thrown when a user is not authorized.
   577  //
   578  //   * UserNotFoundException
   579  //   This exception is thrown when a user is not found.
   580  //
   581  //   * InternalErrorException
   582  //   This exception is thrown when Amazon Cognito encounters an internal error.
   583  //
   584  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDeleteUser
   585  func (c *CognitoIdentityProvider) AdminDeleteUser(input *AdminDeleteUserInput) (*AdminDeleteUserOutput, error) {
   586  	req, out := c.AdminDeleteUserRequest(input)
   587  	return out, req.Send()
   588  }
   589  
   590  // AdminDeleteUserWithContext is the same as AdminDeleteUser with the addition of
   591  // the ability to pass a context and additional request options.
   592  //
   593  // See AdminDeleteUser for details on how to use this API operation.
   594  //
   595  // The context must be non-nil and will be used for request cancellation. If
   596  // the context is nil a panic will occur. In the future the SDK may create
   597  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   598  // for more information on using Contexts.
   599  func (c *CognitoIdentityProvider) AdminDeleteUserWithContext(ctx aws.Context, input *AdminDeleteUserInput, opts ...request.Option) (*AdminDeleteUserOutput, error) {
   600  	req, out := c.AdminDeleteUserRequest(input)
   601  	req.SetContext(ctx)
   602  	req.ApplyOptions(opts...)
   603  	return out, req.Send()
   604  }
   605  
   606  const opAdminDeleteUserAttributes = "AdminDeleteUserAttributes"
   607  
   608  // AdminDeleteUserAttributesRequest generates a "aws/request.Request" representing the
   609  // client's request for the AdminDeleteUserAttributes operation. The "output" return
   610  // value will be populated with the request's response once the request completes
   611  // successfully.
   612  //
   613  // Use "Send" method on the returned Request to send the API call to the service.
   614  // the "output" return value is not valid until after Send returns without error.
   615  //
   616  // See AdminDeleteUserAttributes for more information on using the AdminDeleteUserAttributes
   617  // API call, and error handling.
   618  //
   619  // This method is useful when you want to inject custom logic or configuration
   620  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   621  //
   622  //
   623  //    // Example sending a request using the AdminDeleteUserAttributesRequest method.
   624  //    req, resp := client.AdminDeleteUserAttributesRequest(params)
   625  //
   626  //    err := req.Send()
   627  //    if err == nil { // resp is now filled
   628  //        fmt.Println(resp)
   629  //    }
   630  //
   631  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDeleteUserAttributes
   632  func (c *CognitoIdentityProvider) AdminDeleteUserAttributesRequest(input *AdminDeleteUserAttributesInput) (req *request.Request, output *AdminDeleteUserAttributesOutput) {
   633  	op := &request.Operation{
   634  		Name:       opAdminDeleteUserAttributes,
   635  		HTTPMethod: "POST",
   636  		HTTPPath:   "/",
   637  	}
   638  
   639  	if input == nil {
   640  		input = &AdminDeleteUserAttributesInput{}
   641  	}
   642  
   643  	output = &AdminDeleteUserAttributesOutput{}
   644  	req = c.newRequest(op, input, output)
   645  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   646  	return
   647  }
   648  
   649  // AdminDeleteUserAttributes API operation for Amazon Cognito Identity Provider.
   650  //
   651  // Deletes the user attributes in a user pool as an administrator. Works on
   652  // any user.
   653  //
   654  // Calling this action requires developer credentials.
   655  //
   656  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   657  // with awserr.Error's Code and Message methods to get detailed information about
   658  // the error.
   659  //
   660  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   661  // API operation AdminDeleteUserAttributes for usage and error information.
   662  //
   663  // Returned Error Types:
   664  //   * ResourceNotFoundException
   665  //   This exception is thrown when the Amazon Cognito service cannot find the
   666  //   requested resource.
   667  //
   668  //   * InvalidParameterException
   669  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   670  //   parameter.
   671  //
   672  //   * TooManyRequestsException
   673  //   This exception is thrown when the user has made too many requests for a given
   674  //   operation.
   675  //
   676  //   * NotAuthorizedException
   677  //   This exception is thrown when a user is not authorized.
   678  //
   679  //   * UserNotFoundException
   680  //   This exception is thrown when a user is not found.
   681  //
   682  //   * InternalErrorException
   683  //   This exception is thrown when Amazon Cognito encounters an internal error.
   684  //
   685  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDeleteUserAttributes
   686  func (c *CognitoIdentityProvider) AdminDeleteUserAttributes(input *AdminDeleteUserAttributesInput) (*AdminDeleteUserAttributesOutput, error) {
   687  	req, out := c.AdminDeleteUserAttributesRequest(input)
   688  	return out, req.Send()
   689  }
   690  
   691  // AdminDeleteUserAttributesWithContext is the same as AdminDeleteUserAttributes with the addition of
   692  // the ability to pass a context and additional request options.
   693  //
   694  // See AdminDeleteUserAttributes for details on how to use this API operation.
   695  //
   696  // The context must be non-nil and will be used for request cancellation. If
   697  // the context is nil a panic will occur. In the future the SDK may create
   698  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   699  // for more information on using Contexts.
   700  func (c *CognitoIdentityProvider) AdminDeleteUserAttributesWithContext(ctx aws.Context, input *AdminDeleteUserAttributesInput, opts ...request.Option) (*AdminDeleteUserAttributesOutput, error) {
   701  	req, out := c.AdminDeleteUserAttributesRequest(input)
   702  	req.SetContext(ctx)
   703  	req.ApplyOptions(opts...)
   704  	return out, req.Send()
   705  }
   706  
   707  const opAdminDisableProviderForUser = "AdminDisableProviderForUser"
   708  
   709  // AdminDisableProviderForUserRequest generates a "aws/request.Request" representing the
   710  // client's request for the AdminDisableProviderForUser operation. The "output" return
   711  // value will be populated with the request's response once the request completes
   712  // successfully.
   713  //
   714  // Use "Send" method on the returned Request to send the API call to the service.
   715  // the "output" return value is not valid until after Send returns without error.
   716  //
   717  // See AdminDisableProviderForUser for more information on using the AdminDisableProviderForUser
   718  // API call, and error handling.
   719  //
   720  // This method is useful when you want to inject custom logic or configuration
   721  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   722  //
   723  //
   724  //    // Example sending a request using the AdminDisableProviderForUserRequest method.
   725  //    req, resp := client.AdminDisableProviderForUserRequest(params)
   726  //
   727  //    err := req.Send()
   728  //    if err == nil { // resp is now filled
   729  //        fmt.Println(resp)
   730  //    }
   731  //
   732  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUser
   733  func (c *CognitoIdentityProvider) AdminDisableProviderForUserRequest(input *AdminDisableProviderForUserInput) (req *request.Request, output *AdminDisableProviderForUserOutput) {
   734  	op := &request.Operation{
   735  		Name:       opAdminDisableProviderForUser,
   736  		HTTPMethod: "POST",
   737  		HTTPPath:   "/",
   738  	}
   739  
   740  	if input == nil {
   741  		input = &AdminDisableProviderForUserInput{}
   742  	}
   743  
   744  	output = &AdminDisableProviderForUserOutput{}
   745  	req = c.newRequest(op, input, output)
   746  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   747  	return
   748  }
   749  
   750  // AdminDisableProviderForUser API operation for Amazon Cognito Identity Provider.
   751  //
   752  // Disables the user from signing in with the specified external (SAML or social)
   753  // identity provider. If the user to disable is a Cognito User Pools native
   754  // username + password user, they are not permitted to use their password to
   755  // sign-in. If the user to disable is a linked external IdP user, any link between
   756  // that user and an existing user is removed. The next time the external user
   757  // (no longer attached to the previously linked DestinationUser) signs in, they
   758  // must create a new user account. See AdminLinkProviderForUser (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminLinkProviderForUser.html).
   759  //
   760  // This action is enabled only for admin access and requires developer credentials.
   761  //
   762  // The ProviderName must match the value specified when creating an IdP for
   763  // the pool.
   764  //
   765  // To disable a native username + password user, the ProviderName value must
   766  // be Cognito and the ProviderAttributeName must be Cognito_Subject, with the
   767  // ProviderAttributeValue being the name that is used in the user pool for the
   768  // user.
   769  //
   770  // The ProviderAttributeName must always be Cognito_Subject for social identity
   771  // providers. The ProviderAttributeValue must always be the exact subject that
   772  // was used when the user was originally linked as a source user.
   773  //
   774  // For de-linking a SAML identity, there are two scenarios. If the linked identity
   775  // has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue
   776  // must be the same values that were used for the SourceUser when the identities
   777  // were originally linked using AdminLinkProviderForUser call. (If the linking
   778  // was done with ProviderAttributeName set to Cognito_Subject, the same applies
   779  // here). However, if the user has already signed in, the ProviderAttributeName
   780  // must be Cognito_Subject and ProviderAttributeValue must be the subject of
   781  // the SAML assertion.
   782  //
   783  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   784  // with awserr.Error's Code and Message methods to get detailed information about
   785  // the error.
   786  //
   787  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   788  // API operation AdminDisableProviderForUser for usage and error information.
   789  //
   790  // Returned Error Types:
   791  //   * ResourceNotFoundException
   792  //   This exception is thrown when the Amazon Cognito service cannot find the
   793  //   requested resource.
   794  //
   795  //   * InvalidParameterException
   796  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   797  //   parameter.
   798  //
   799  //   * TooManyRequestsException
   800  //   This exception is thrown when the user has made too many requests for a given
   801  //   operation.
   802  //
   803  //   * NotAuthorizedException
   804  //   This exception is thrown when a user is not authorized.
   805  //
   806  //   * UserNotFoundException
   807  //   This exception is thrown when a user is not found.
   808  //
   809  //   * AliasExistsException
   810  //   This exception is thrown when a user tries to confirm the account with an
   811  //   email or phone number that has already been supplied as an alias from a different
   812  //   account. This exception tells user that an account with this email or phone
   813  //   already exists.
   814  //
   815  //   * InternalErrorException
   816  //   This exception is thrown when Amazon Cognito encounters an internal error.
   817  //
   818  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUser
   819  func (c *CognitoIdentityProvider) AdminDisableProviderForUser(input *AdminDisableProviderForUserInput) (*AdminDisableProviderForUserOutput, error) {
   820  	req, out := c.AdminDisableProviderForUserRequest(input)
   821  	return out, req.Send()
   822  }
   823  
   824  // AdminDisableProviderForUserWithContext is the same as AdminDisableProviderForUser with the addition of
   825  // the ability to pass a context and additional request options.
   826  //
   827  // See AdminDisableProviderForUser for details on how to use this API operation.
   828  //
   829  // The context must be non-nil and will be used for request cancellation. If
   830  // the context is nil a panic will occur. In the future the SDK may create
   831  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   832  // for more information on using Contexts.
   833  func (c *CognitoIdentityProvider) AdminDisableProviderForUserWithContext(ctx aws.Context, input *AdminDisableProviderForUserInput, opts ...request.Option) (*AdminDisableProviderForUserOutput, error) {
   834  	req, out := c.AdminDisableProviderForUserRequest(input)
   835  	req.SetContext(ctx)
   836  	req.ApplyOptions(opts...)
   837  	return out, req.Send()
   838  }
   839  
   840  const opAdminDisableUser = "AdminDisableUser"
   841  
   842  // AdminDisableUserRequest generates a "aws/request.Request" representing the
   843  // client's request for the AdminDisableUser operation. The "output" return
   844  // value will be populated with the request's response once the request completes
   845  // successfully.
   846  //
   847  // Use "Send" method on the returned Request to send the API call to the service.
   848  // the "output" return value is not valid until after Send returns without error.
   849  //
   850  // See AdminDisableUser for more information on using the AdminDisableUser
   851  // API call, and error handling.
   852  //
   853  // This method is useful when you want to inject custom logic or configuration
   854  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   855  //
   856  //
   857  //    // Example sending a request using the AdminDisableUserRequest method.
   858  //    req, resp := client.AdminDisableUserRequest(params)
   859  //
   860  //    err := req.Send()
   861  //    if err == nil { // resp is now filled
   862  //        fmt.Println(resp)
   863  //    }
   864  //
   865  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableUser
   866  func (c *CognitoIdentityProvider) AdminDisableUserRequest(input *AdminDisableUserInput) (req *request.Request, output *AdminDisableUserOutput) {
   867  	op := &request.Operation{
   868  		Name:       opAdminDisableUser,
   869  		HTTPMethod: "POST",
   870  		HTTPPath:   "/",
   871  	}
   872  
   873  	if input == nil {
   874  		input = &AdminDisableUserInput{}
   875  	}
   876  
   877  	output = &AdminDisableUserOutput{}
   878  	req = c.newRequest(op, input, output)
   879  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   880  	return
   881  }
   882  
   883  // AdminDisableUser API operation for Amazon Cognito Identity Provider.
   884  //
   885  // Disables the specified user.
   886  //
   887  // Calling this action requires developer credentials.
   888  //
   889  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   890  // with awserr.Error's Code and Message methods to get detailed information about
   891  // the error.
   892  //
   893  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   894  // API operation AdminDisableUser for usage and error information.
   895  //
   896  // Returned Error Types:
   897  //   * ResourceNotFoundException
   898  //   This exception is thrown when the Amazon Cognito service cannot find the
   899  //   requested resource.
   900  //
   901  //   * InvalidParameterException
   902  //   This exception is thrown when the Amazon Cognito service encounters an invalid
   903  //   parameter.
   904  //
   905  //   * TooManyRequestsException
   906  //   This exception is thrown when the user has made too many requests for a given
   907  //   operation.
   908  //
   909  //   * NotAuthorizedException
   910  //   This exception is thrown when a user is not authorized.
   911  //
   912  //   * UserNotFoundException
   913  //   This exception is thrown when a user is not found.
   914  //
   915  //   * InternalErrorException
   916  //   This exception is thrown when Amazon Cognito encounters an internal error.
   917  //
   918  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableUser
   919  func (c *CognitoIdentityProvider) AdminDisableUser(input *AdminDisableUserInput) (*AdminDisableUserOutput, error) {
   920  	req, out := c.AdminDisableUserRequest(input)
   921  	return out, req.Send()
   922  }
   923  
   924  // AdminDisableUserWithContext is the same as AdminDisableUser with the addition of
   925  // the ability to pass a context and additional request options.
   926  //
   927  // See AdminDisableUser for details on how to use this API operation.
   928  //
   929  // The context must be non-nil and will be used for request cancellation. If
   930  // the context is nil a panic will occur. In the future the SDK may create
   931  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   932  // for more information on using Contexts.
   933  func (c *CognitoIdentityProvider) AdminDisableUserWithContext(ctx aws.Context, input *AdminDisableUserInput, opts ...request.Option) (*AdminDisableUserOutput, error) {
   934  	req, out := c.AdminDisableUserRequest(input)
   935  	req.SetContext(ctx)
   936  	req.ApplyOptions(opts...)
   937  	return out, req.Send()
   938  }
   939  
   940  const opAdminEnableUser = "AdminEnableUser"
   941  
   942  // AdminEnableUserRequest generates a "aws/request.Request" representing the
   943  // client's request for the AdminEnableUser operation. The "output" return
   944  // value will be populated with the request's response once the request completes
   945  // successfully.
   946  //
   947  // Use "Send" method on the returned Request to send the API call to the service.
   948  // the "output" return value is not valid until after Send returns without error.
   949  //
   950  // See AdminEnableUser for more information on using the AdminEnableUser
   951  // API call, and error handling.
   952  //
   953  // This method is useful when you want to inject custom logic or configuration
   954  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   955  //
   956  //
   957  //    // Example sending a request using the AdminEnableUserRequest method.
   958  //    req, resp := client.AdminEnableUserRequest(params)
   959  //
   960  //    err := req.Send()
   961  //    if err == nil { // resp is now filled
   962  //        fmt.Println(resp)
   963  //    }
   964  //
   965  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminEnableUser
   966  func (c *CognitoIdentityProvider) AdminEnableUserRequest(input *AdminEnableUserInput) (req *request.Request, output *AdminEnableUserOutput) {
   967  	op := &request.Operation{
   968  		Name:       opAdminEnableUser,
   969  		HTTPMethod: "POST",
   970  		HTTPPath:   "/",
   971  	}
   972  
   973  	if input == nil {
   974  		input = &AdminEnableUserInput{}
   975  	}
   976  
   977  	output = &AdminEnableUserOutput{}
   978  	req = c.newRequest(op, input, output)
   979  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   980  	return
   981  }
   982  
   983  // AdminEnableUser API operation for Amazon Cognito Identity Provider.
   984  //
   985  // Enables the specified user as an administrator. Works on any user.
   986  //
   987  // Calling this action requires developer credentials.
   988  //
   989  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   990  // with awserr.Error's Code and Message methods to get detailed information about
   991  // the error.
   992  //
   993  // See the AWS API reference guide for Amazon Cognito Identity Provider's
   994  // API operation AdminEnableUser for usage and error information.
   995  //
   996  // Returned Error Types:
   997  //   * ResourceNotFoundException
   998  //   This exception is thrown when the Amazon Cognito service cannot find the
   999  //   requested resource.
  1000  //
  1001  //   * InvalidParameterException
  1002  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1003  //   parameter.
  1004  //
  1005  //   * TooManyRequestsException
  1006  //   This exception is thrown when the user has made too many requests for a given
  1007  //   operation.
  1008  //
  1009  //   * NotAuthorizedException
  1010  //   This exception is thrown when a user is not authorized.
  1011  //
  1012  //   * UserNotFoundException
  1013  //   This exception is thrown when a user is not found.
  1014  //
  1015  //   * InternalErrorException
  1016  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1017  //
  1018  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminEnableUser
  1019  func (c *CognitoIdentityProvider) AdminEnableUser(input *AdminEnableUserInput) (*AdminEnableUserOutput, error) {
  1020  	req, out := c.AdminEnableUserRequest(input)
  1021  	return out, req.Send()
  1022  }
  1023  
  1024  // AdminEnableUserWithContext is the same as AdminEnableUser with the addition of
  1025  // the ability to pass a context and additional request options.
  1026  //
  1027  // See AdminEnableUser for details on how to use this API operation.
  1028  //
  1029  // The context must be non-nil and will be used for request cancellation. If
  1030  // the context is nil a panic will occur. In the future the SDK may create
  1031  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1032  // for more information on using Contexts.
  1033  func (c *CognitoIdentityProvider) AdminEnableUserWithContext(ctx aws.Context, input *AdminEnableUserInput, opts ...request.Option) (*AdminEnableUserOutput, error) {
  1034  	req, out := c.AdminEnableUserRequest(input)
  1035  	req.SetContext(ctx)
  1036  	req.ApplyOptions(opts...)
  1037  	return out, req.Send()
  1038  }
  1039  
  1040  const opAdminForgetDevice = "AdminForgetDevice"
  1041  
  1042  // AdminForgetDeviceRequest generates a "aws/request.Request" representing the
  1043  // client's request for the AdminForgetDevice operation. The "output" return
  1044  // value will be populated with the request's response once the request completes
  1045  // successfully.
  1046  //
  1047  // Use "Send" method on the returned Request to send the API call to the service.
  1048  // the "output" return value is not valid until after Send returns without error.
  1049  //
  1050  // See AdminForgetDevice for more information on using the AdminForgetDevice
  1051  // API call, and error handling.
  1052  //
  1053  // This method is useful when you want to inject custom logic or configuration
  1054  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1055  //
  1056  //
  1057  //    // Example sending a request using the AdminForgetDeviceRequest method.
  1058  //    req, resp := client.AdminForgetDeviceRequest(params)
  1059  //
  1060  //    err := req.Send()
  1061  //    if err == nil { // resp is now filled
  1062  //        fmt.Println(resp)
  1063  //    }
  1064  //
  1065  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminForgetDevice
  1066  func (c *CognitoIdentityProvider) AdminForgetDeviceRequest(input *AdminForgetDeviceInput) (req *request.Request, output *AdminForgetDeviceOutput) {
  1067  	op := &request.Operation{
  1068  		Name:       opAdminForgetDevice,
  1069  		HTTPMethod: "POST",
  1070  		HTTPPath:   "/",
  1071  	}
  1072  
  1073  	if input == nil {
  1074  		input = &AdminForgetDeviceInput{}
  1075  	}
  1076  
  1077  	output = &AdminForgetDeviceOutput{}
  1078  	req = c.newRequest(op, input, output)
  1079  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1080  	return
  1081  }
  1082  
  1083  // AdminForgetDevice API operation for Amazon Cognito Identity Provider.
  1084  //
  1085  // Forgets the device, as an administrator.
  1086  //
  1087  // Calling this action requires developer credentials.
  1088  //
  1089  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1090  // with awserr.Error's Code and Message methods to get detailed information about
  1091  // the error.
  1092  //
  1093  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1094  // API operation AdminForgetDevice for usage and error information.
  1095  //
  1096  // Returned Error Types:
  1097  //   * ResourceNotFoundException
  1098  //   This exception is thrown when the Amazon Cognito service cannot find the
  1099  //   requested resource.
  1100  //
  1101  //   * InvalidParameterException
  1102  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1103  //   parameter.
  1104  //
  1105  //   * InvalidUserPoolConfigurationException
  1106  //   This exception is thrown when the user pool configuration is invalid.
  1107  //
  1108  //   * TooManyRequestsException
  1109  //   This exception is thrown when the user has made too many requests for a given
  1110  //   operation.
  1111  //
  1112  //   * NotAuthorizedException
  1113  //   This exception is thrown when a user is not authorized.
  1114  //
  1115  //   * UserNotFoundException
  1116  //   This exception is thrown when a user is not found.
  1117  //
  1118  //   * InternalErrorException
  1119  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1120  //
  1121  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminForgetDevice
  1122  func (c *CognitoIdentityProvider) AdminForgetDevice(input *AdminForgetDeviceInput) (*AdminForgetDeviceOutput, error) {
  1123  	req, out := c.AdminForgetDeviceRequest(input)
  1124  	return out, req.Send()
  1125  }
  1126  
  1127  // AdminForgetDeviceWithContext is the same as AdminForgetDevice with the addition of
  1128  // the ability to pass a context and additional request options.
  1129  //
  1130  // See AdminForgetDevice for details on how to use this API operation.
  1131  //
  1132  // The context must be non-nil and will be used for request cancellation. If
  1133  // the context is nil a panic will occur. In the future the SDK may create
  1134  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1135  // for more information on using Contexts.
  1136  func (c *CognitoIdentityProvider) AdminForgetDeviceWithContext(ctx aws.Context, input *AdminForgetDeviceInput, opts ...request.Option) (*AdminForgetDeviceOutput, error) {
  1137  	req, out := c.AdminForgetDeviceRequest(input)
  1138  	req.SetContext(ctx)
  1139  	req.ApplyOptions(opts...)
  1140  	return out, req.Send()
  1141  }
  1142  
  1143  const opAdminGetDevice = "AdminGetDevice"
  1144  
  1145  // AdminGetDeviceRequest generates a "aws/request.Request" representing the
  1146  // client's request for the AdminGetDevice operation. The "output" return
  1147  // value will be populated with the request's response once the request completes
  1148  // successfully.
  1149  //
  1150  // Use "Send" method on the returned Request to send the API call to the service.
  1151  // the "output" return value is not valid until after Send returns without error.
  1152  //
  1153  // See AdminGetDevice for more information on using the AdminGetDevice
  1154  // API call, and error handling.
  1155  //
  1156  // This method is useful when you want to inject custom logic or configuration
  1157  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1158  //
  1159  //
  1160  //    // Example sending a request using the AdminGetDeviceRequest method.
  1161  //    req, resp := client.AdminGetDeviceRequest(params)
  1162  //
  1163  //    err := req.Send()
  1164  //    if err == nil { // resp is now filled
  1165  //        fmt.Println(resp)
  1166  //    }
  1167  //
  1168  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminGetDevice
  1169  func (c *CognitoIdentityProvider) AdminGetDeviceRequest(input *AdminGetDeviceInput) (req *request.Request, output *AdminGetDeviceOutput) {
  1170  	op := &request.Operation{
  1171  		Name:       opAdminGetDevice,
  1172  		HTTPMethod: "POST",
  1173  		HTTPPath:   "/",
  1174  	}
  1175  
  1176  	if input == nil {
  1177  		input = &AdminGetDeviceInput{}
  1178  	}
  1179  
  1180  	output = &AdminGetDeviceOutput{}
  1181  	req = c.newRequest(op, input, output)
  1182  	return
  1183  }
  1184  
  1185  // AdminGetDevice API operation for Amazon Cognito Identity Provider.
  1186  //
  1187  // Gets the device, as an administrator.
  1188  //
  1189  // Calling this action requires developer credentials.
  1190  //
  1191  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1192  // with awserr.Error's Code and Message methods to get detailed information about
  1193  // the error.
  1194  //
  1195  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1196  // API operation AdminGetDevice for usage and error information.
  1197  //
  1198  // Returned Error Types:
  1199  //   * ResourceNotFoundException
  1200  //   This exception is thrown when the Amazon Cognito service cannot find the
  1201  //   requested resource.
  1202  //
  1203  //   * InvalidParameterException
  1204  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1205  //   parameter.
  1206  //
  1207  //   * InvalidUserPoolConfigurationException
  1208  //   This exception is thrown when the user pool configuration is invalid.
  1209  //
  1210  //   * TooManyRequestsException
  1211  //   This exception is thrown when the user has made too many requests for a given
  1212  //   operation.
  1213  //
  1214  //   * InternalErrorException
  1215  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1216  //
  1217  //   * NotAuthorizedException
  1218  //   This exception is thrown when a user is not authorized.
  1219  //
  1220  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminGetDevice
  1221  func (c *CognitoIdentityProvider) AdminGetDevice(input *AdminGetDeviceInput) (*AdminGetDeviceOutput, error) {
  1222  	req, out := c.AdminGetDeviceRequest(input)
  1223  	return out, req.Send()
  1224  }
  1225  
  1226  // AdminGetDeviceWithContext is the same as AdminGetDevice with the addition of
  1227  // the ability to pass a context and additional request options.
  1228  //
  1229  // See AdminGetDevice for details on how to use this API operation.
  1230  //
  1231  // The context must be non-nil and will be used for request cancellation. If
  1232  // the context is nil a panic will occur. In the future the SDK may create
  1233  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1234  // for more information on using Contexts.
  1235  func (c *CognitoIdentityProvider) AdminGetDeviceWithContext(ctx aws.Context, input *AdminGetDeviceInput, opts ...request.Option) (*AdminGetDeviceOutput, error) {
  1236  	req, out := c.AdminGetDeviceRequest(input)
  1237  	req.SetContext(ctx)
  1238  	req.ApplyOptions(opts...)
  1239  	return out, req.Send()
  1240  }
  1241  
  1242  const opAdminGetUser = "AdminGetUser"
  1243  
  1244  // AdminGetUserRequest generates a "aws/request.Request" representing the
  1245  // client's request for the AdminGetUser operation. The "output" return
  1246  // value will be populated with the request's response once the request completes
  1247  // successfully.
  1248  //
  1249  // Use "Send" method on the returned Request to send the API call to the service.
  1250  // the "output" return value is not valid until after Send returns without error.
  1251  //
  1252  // See AdminGetUser for more information on using the AdminGetUser
  1253  // API call, and error handling.
  1254  //
  1255  // This method is useful when you want to inject custom logic or configuration
  1256  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1257  //
  1258  //
  1259  //    // Example sending a request using the AdminGetUserRequest method.
  1260  //    req, resp := client.AdminGetUserRequest(params)
  1261  //
  1262  //    err := req.Send()
  1263  //    if err == nil { // resp is now filled
  1264  //        fmt.Println(resp)
  1265  //    }
  1266  //
  1267  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminGetUser
  1268  func (c *CognitoIdentityProvider) AdminGetUserRequest(input *AdminGetUserInput) (req *request.Request, output *AdminGetUserOutput) {
  1269  	op := &request.Operation{
  1270  		Name:       opAdminGetUser,
  1271  		HTTPMethod: "POST",
  1272  		HTTPPath:   "/",
  1273  	}
  1274  
  1275  	if input == nil {
  1276  		input = &AdminGetUserInput{}
  1277  	}
  1278  
  1279  	output = &AdminGetUserOutput{}
  1280  	req = c.newRequest(op, input, output)
  1281  	return
  1282  }
  1283  
  1284  // AdminGetUser API operation for Amazon Cognito Identity Provider.
  1285  //
  1286  // Gets the specified user by user name in a user pool as an administrator.
  1287  // Works on any user.
  1288  //
  1289  // Calling this action requires developer credentials.
  1290  //
  1291  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1292  // with awserr.Error's Code and Message methods to get detailed information about
  1293  // the error.
  1294  //
  1295  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1296  // API operation AdminGetUser for usage and error information.
  1297  //
  1298  // Returned Error Types:
  1299  //   * ResourceNotFoundException
  1300  //   This exception is thrown when the Amazon Cognito service cannot find the
  1301  //   requested resource.
  1302  //
  1303  //   * InvalidParameterException
  1304  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1305  //   parameter.
  1306  //
  1307  //   * TooManyRequestsException
  1308  //   This exception is thrown when the user has made too many requests for a given
  1309  //   operation.
  1310  //
  1311  //   * NotAuthorizedException
  1312  //   This exception is thrown when a user is not authorized.
  1313  //
  1314  //   * UserNotFoundException
  1315  //   This exception is thrown when a user is not found.
  1316  //
  1317  //   * InternalErrorException
  1318  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1319  //
  1320  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminGetUser
  1321  func (c *CognitoIdentityProvider) AdminGetUser(input *AdminGetUserInput) (*AdminGetUserOutput, error) {
  1322  	req, out := c.AdminGetUserRequest(input)
  1323  	return out, req.Send()
  1324  }
  1325  
  1326  // AdminGetUserWithContext is the same as AdminGetUser with the addition of
  1327  // the ability to pass a context and additional request options.
  1328  //
  1329  // See AdminGetUser for details on how to use this API operation.
  1330  //
  1331  // The context must be non-nil and will be used for request cancellation. If
  1332  // the context is nil a panic will occur. In the future the SDK may create
  1333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1334  // for more information on using Contexts.
  1335  func (c *CognitoIdentityProvider) AdminGetUserWithContext(ctx aws.Context, input *AdminGetUserInput, opts ...request.Option) (*AdminGetUserOutput, error) {
  1336  	req, out := c.AdminGetUserRequest(input)
  1337  	req.SetContext(ctx)
  1338  	req.ApplyOptions(opts...)
  1339  	return out, req.Send()
  1340  }
  1341  
  1342  const opAdminInitiateAuth = "AdminInitiateAuth"
  1343  
  1344  // AdminInitiateAuthRequest generates a "aws/request.Request" representing the
  1345  // client's request for the AdminInitiateAuth operation. The "output" return
  1346  // value will be populated with the request's response once the request completes
  1347  // successfully.
  1348  //
  1349  // Use "Send" method on the returned Request to send the API call to the service.
  1350  // the "output" return value is not valid until after Send returns without error.
  1351  //
  1352  // See AdminInitiateAuth for more information on using the AdminInitiateAuth
  1353  // API call, and error handling.
  1354  //
  1355  // This method is useful when you want to inject custom logic or configuration
  1356  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1357  //
  1358  //
  1359  //    // Example sending a request using the AdminInitiateAuthRequest method.
  1360  //    req, resp := client.AdminInitiateAuthRequest(params)
  1361  //
  1362  //    err := req.Send()
  1363  //    if err == nil { // resp is now filled
  1364  //        fmt.Println(resp)
  1365  //    }
  1366  //
  1367  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminInitiateAuth
  1368  func (c *CognitoIdentityProvider) AdminInitiateAuthRequest(input *AdminInitiateAuthInput) (req *request.Request, output *AdminInitiateAuthOutput) {
  1369  	op := &request.Operation{
  1370  		Name:       opAdminInitiateAuth,
  1371  		HTTPMethod: "POST",
  1372  		HTTPPath:   "/",
  1373  	}
  1374  
  1375  	if input == nil {
  1376  		input = &AdminInitiateAuthInput{}
  1377  	}
  1378  
  1379  	output = &AdminInitiateAuthOutput{}
  1380  	req = c.newRequest(op, input, output)
  1381  	return
  1382  }
  1383  
  1384  // AdminInitiateAuth API operation for Amazon Cognito Identity Provider.
  1385  //
  1386  // Initiates the authentication flow, as an administrator.
  1387  //
  1388  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  1389  // telecom carriers require that you register an origination phone number before
  1390  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  1391  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  1392  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  1393  // registered number automatically. Otherwise, Cognito users that must receive
  1394  // SMS messages might be unable to sign up, activate their accounts, or sign
  1395  // in.
  1396  //
  1397  // If you have never used SMS text messages with Amazon Cognito or any other
  1398  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  1399  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  1400  // , you’ll have limitations, such as sending messages to only verified phone
  1401  // numbers. After testing in the sandbox environment, you can move out of the
  1402  // SMS sandbox and into production. For more information, see SMS message settings
  1403  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  1404  // in the Amazon Cognito Developer Guide.
  1405  //
  1406  // Calling this action requires developer credentials.
  1407  //
  1408  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1409  // with awserr.Error's Code and Message methods to get detailed information about
  1410  // the error.
  1411  //
  1412  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1413  // API operation AdminInitiateAuth for usage and error information.
  1414  //
  1415  // Returned Error Types:
  1416  //   * ResourceNotFoundException
  1417  //   This exception is thrown when the Amazon Cognito service cannot find the
  1418  //   requested resource.
  1419  //
  1420  //   * InvalidParameterException
  1421  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1422  //   parameter.
  1423  //
  1424  //   * NotAuthorizedException
  1425  //   This exception is thrown when a user is not authorized.
  1426  //
  1427  //   * TooManyRequestsException
  1428  //   This exception is thrown when the user has made too many requests for a given
  1429  //   operation.
  1430  //
  1431  //   * InternalErrorException
  1432  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1433  //
  1434  //   * UnexpectedLambdaException
  1435  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  1436  //   exception with the Lambda service.
  1437  //
  1438  //   * InvalidUserPoolConfigurationException
  1439  //   This exception is thrown when the user pool configuration is invalid.
  1440  //
  1441  //   * UserLambdaValidationException
  1442  //   This exception is thrown when the Amazon Cognito service encounters a user
  1443  //   validation exception with the Lambda service.
  1444  //
  1445  //   * InvalidLambdaResponseException
  1446  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1447  //   Lambda response.
  1448  //
  1449  //   * MFAMethodNotFoundException
  1450  //   This exception is thrown when Amazon Cognito cannot find a multi-factor authentication
  1451  //   (MFA) method.
  1452  //
  1453  //   * InvalidSmsRoleAccessPolicyException
  1454  //   This exception is returned when the role provided for SMS configuration does
  1455  //   not have permission to publish using Amazon SNS.
  1456  //
  1457  //   * InvalidSmsRoleTrustRelationshipException
  1458  //   This exception is thrown when the trust relationship is invalid for the role
  1459  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  1460  //   or the external ID provided in the role does not match what is provided in
  1461  //   the SMS configuration for the user pool.
  1462  //
  1463  //   * PasswordResetRequiredException
  1464  //   This exception is thrown when a password reset is required.
  1465  //
  1466  //   * UserNotFoundException
  1467  //   This exception is thrown when a user is not found.
  1468  //
  1469  //   * UserNotConfirmedException
  1470  //   This exception is thrown when a user is not confirmed successfully.
  1471  //
  1472  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminInitiateAuth
  1473  func (c *CognitoIdentityProvider) AdminInitiateAuth(input *AdminInitiateAuthInput) (*AdminInitiateAuthOutput, error) {
  1474  	req, out := c.AdminInitiateAuthRequest(input)
  1475  	return out, req.Send()
  1476  }
  1477  
  1478  // AdminInitiateAuthWithContext is the same as AdminInitiateAuth with the addition of
  1479  // the ability to pass a context and additional request options.
  1480  //
  1481  // See AdminInitiateAuth for details on how to use this API operation.
  1482  //
  1483  // The context must be non-nil and will be used for request cancellation. If
  1484  // the context is nil a panic will occur. In the future the SDK may create
  1485  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1486  // for more information on using Contexts.
  1487  func (c *CognitoIdentityProvider) AdminInitiateAuthWithContext(ctx aws.Context, input *AdminInitiateAuthInput, opts ...request.Option) (*AdminInitiateAuthOutput, error) {
  1488  	req, out := c.AdminInitiateAuthRequest(input)
  1489  	req.SetContext(ctx)
  1490  	req.ApplyOptions(opts...)
  1491  	return out, req.Send()
  1492  }
  1493  
  1494  const opAdminLinkProviderForUser = "AdminLinkProviderForUser"
  1495  
  1496  // AdminLinkProviderForUserRequest generates a "aws/request.Request" representing the
  1497  // client's request for the AdminLinkProviderForUser operation. The "output" return
  1498  // value will be populated with the request's response once the request completes
  1499  // successfully.
  1500  //
  1501  // Use "Send" method on the returned Request to send the API call to the service.
  1502  // the "output" return value is not valid until after Send returns without error.
  1503  //
  1504  // See AdminLinkProviderForUser for more information on using the AdminLinkProviderForUser
  1505  // API call, and error handling.
  1506  //
  1507  // This method is useful when you want to inject custom logic or configuration
  1508  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1509  //
  1510  //
  1511  //    // Example sending a request using the AdminLinkProviderForUserRequest method.
  1512  //    req, resp := client.AdminLinkProviderForUserRequest(params)
  1513  //
  1514  //    err := req.Send()
  1515  //    if err == nil { // resp is now filled
  1516  //        fmt.Println(resp)
  1517  //    }
  1518  //
  1519  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminLinkProviderForUser
  1520  func (c *CognitoIdentityProvider) AdminLinkProviderForUserRequest(input *AdminLinkProviderForUserInput) (req *request.Request, output *AdminLinkProviderForUserOutput) {
  1521  	op := &request.Operation{
  1522  		Name:       opAdminLinkProviderForUser,
  1523  		HTTPMethod: "POST",
  1524  		HTTPPath:   "/",
  1525  	}
  1526  
  1527  	if input == nil {
  1528  		input = &AdminLinkProviderForUserInput{}
  1529  	}
  1530  
  1531  	output = &AdminLinkProviderForUserOutput{}
  1532  	req = c.newRequest(op, input, output)
  1533  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1534  	return
  1535  }
  1536  
  1537  // AdminLinkProviderForUser API operation for Amazon Cognito Identity Provider.
  1538  //
  1539  // Links an existing user account in a user pool (DestinationUser) to an identity
  1540  // from an external identity provider (SourceUser) based on a specified attribute
  1541  // name and value from the external identity provider. This allows you to create
  1542  // a link from the existing user account to an external federated user identity
  1543  // that has not yet been used to sign in, so that the federated user identity
  1544  // can be used to sign in as the existing user account.
  1545  //
  1546  // For example, if there is an existing user with a username and password, this
  1547  // API links that user to a federated user identity, so that when the federated
  1548  // user identity is used, the user signs in as the existing user account.
  1549  //
  1550  // The maximum number of federated identities linked to a user is 5.
  1551  //
  1552  // Because this API allows a user with an external federated identity to sign
  1553  // in as an existing user in the user pool, it is critical that it only be used
  1554  // with external identity providers and provider attributes that have been trusted
  1555  // by the application owner.
  1556  //
  1557  // This action is enabled only for admin access and requires developer credentials.
  1558  //
  1559  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1560  // with awserr.Error's Code and Message methods to get detailed information about
  1561  // the error.
  1562  //
  1563  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1564  // API operation AdminLinkProviderForUser for usage and error information.
  1565  //
  1566  // Returned Error Types:
  1567  //   * ResourceNotFoundException
  1568  //   This exception is thrown when the Amazon Cognito service cannot find the
  1569  //   requested resource.
  1570  //
  1571  //   * InvalidParameterException
  1572  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1573  //   parameter.
  1574  //
  1575  //   * TooManyRequestsException
  1576  //   This exception is thrown when the user has made too many requests for a given
  1577  //   operation.
  1578  //
  1579  //   * NotAuthorizedException
  1580  //   This exception is thrown when a user is not authorized.
  1581  //
  1582  //   * UserNotFoundException
  1583  //   This exception is thrown when a user is not found.
  1584  //
  1585  //   * AliasExistsException
  1586  //   This exception is thrown when a user tries to confirm the account with an
  1587  //   email or phone number that has already been supplied as an alias from a different
  1588  //   account. This exception tells user that an account with this email or phone
  1589  //   already exists.
  1590  //
  1591  //   * LimitExceededException
  1592  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  1593  //   Web Services resource.
  1594  //
  1595  //   * InternalErrorException
  1596  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1597  //
  1598  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminLinkProviderForUser
  1599  func (c *CognitoIdentityProvider) AdminLinkProviderForUser(input *AdminLinkProviderForUserInput) (*AdminLinkProviderForUserOutput, error) {
  1600  	req, out := c.AdminLinkProviderForUserRequest(input)
  1601  	return out, req.Send()
  1602  }
  1603  
  1604  // AdminLinkProviderForUserWithContext is the same as AdminLinkProviderForUser with the addition of
  1605  // the ability to pass a context and additional request options.
  1606  //
  1607  // See AdminLinkProviderForUser for details on how to use this API operation.
  1608  //
  1609  // The context must be non-nil and will be used for request cancellation. If
  1610  // the context is nil a panic will occur. In the future the SDK may create
  1611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1612  // for more information on using Contexts.
  1613  func (c *CognitoIdentityProvider) AdminLinkProviderForUserWithContext(ctx aws.Context, input *AdminLinkProviderForUserInput, opts ...request.Option) (*AdminLinkProviderForUserOutput, error) {
  1614  	req, out := c.AdminLinkProviderForUserRequest(input)
  1615  	req.SetContext(ctx)
  1616  	req.ApplyOptions(opts...)
  1617  	return out, req.Send()
  1618  }
  1619  
  1620  const opAdminListDevices = "AdminListDevices"
  1621  
  1622  // AdminListDevicesRequest generates a "aws/request.Request" representing the
  1623  // client's request for the AdminListDevices operation. The "output" return
  1624  // value will be populated with the request's response once the request completes
  1625  // successfully.
  1626  //
  1627  // Use "Send" method on the returned Request to send the API call to the service.
  1628  // the "output" return value is not valid until after Send returns without error.
  1629  //
  1630  // See AdminListDevices for more information on using the AdminListDevices
  1631  // API call, and error handling.
  1632  //
  1633  // This method is useful when you want to inject custom logic or configuration
  1634  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1635  //
  1636  //
  1637  //    // Example sending a request using the AdminListDevicesRequest method.
  1638  //    req, resp := client.AdminListDevicesRequest(params)
  1639  //
  1640  //    err := req.Send()
  1641  //    if err == nil { // resp is now filled
  1642  //        fmt.Println(resp)
  1643  //    }
  1644  //
  1645  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListDevices
  1646  func (c *CognitoIdentityProvider) AdminListDevicesRequest(input *AdminListDevicesInput) (req *request.Request, output *AdminListDevicesOutput) {
  1647  	op := &request.Operation{
  1648  		Name:       opAdminListDevices,
  1649  		HTTPMethod: "POST",
  1650  		HTTPPath:   "/",
  1651  	}
  1652  
  1653  	if input == nil {
  1654  		input = &AdminListDevicesInput{}
  1655  	}
  1656  
  1657  	output = &AdminListDevicesOutput{}
  1658  	req = c.newRequest(op, input, output)
  1659  	return
  1660  }
  1661  
  1662  // AdminListDevices API operation for Amazon Cognito Identity Provider.
  1663  //
  1664  // Lists devices, as an administrator.
  1665  //
  1666  // Calling this action requires developer credentials.
  1667  //
  1668  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1669  // with awserr.Error's Code and Message methods to get detailed information about
  1670  // the error.
  1671  //
  1672  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1673  // API operation AdminListDevices for usage and error information.
  1674  //
  1675  // Returned Error Types:
  1676  //   * InvalidParameterException
  1677  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1678  //   parameter.
  1679  //
  1680  //   * ResourceNotFoundException
  1681  //   This exception is thrown when the Amazon Cognito service cannot find the
  1682  //   requested resource.
  1683  //
  1684  //   * InvalidUserPoolConfigurationException
  1685  //   This exception is thrown when the user pool configuration is invalid.
  1686  //
  1687  //   * TooManyRequestsException
  1688  //   This exception is thrown when the user has made too many requests for a given
  1689  //   operation.
  1690  //
  1691  //   * InternalErrorException
  1692  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1693  //
  1694  //   * NotAuthorizedException
  1695  //   This exception is thrown when a user is not authorized.
  1696  //
  1697  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListDevices
  1698  func (c *CognitoIdentityProvider) AdminListDevices(input *AdminListDevicesInput) (*AdminListDevicesOutput, error) {
  1699  	req, out := c.AdminListDevicesRequest(input)
  1700  	return out, req.Send()
  1701  }
  1702  
  1703  // AdminListDevicesWithContext is the same as AdminListDevices with the addition of
  1704  // the ability to pass a context and additional request options.
  1705  //
  1706  // See AdminListDevices for details on how to use this API operation.
  1707  //
  1708  // The context must be non-nil and will be used for request cancellation. If
  1709  // the context is nil a panic will occur. In the future the SDK may create
  1710  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1711  // for more information on using Contexts.
  1712  func (c *CognitoIdentityProvider) AdminListDevicesWithContext(ctx aws.Context, input *AdminListDevicesInput, opts ...request.Option) (*AdminListDevicesOutput, error) {
  1713  	req, out := c.AdminListDevicesRequest(input)
  1714  	req.SetContext(ctx)
  1715  	req.ApplyOptions(opts...)
  1716  	return out, req.Send()
  1717  }
  1718  
  1719  const opAdminListGroupsForUser = "AdminListGroupsForUser"
  1720  
  1721  // AdminListGroupsForUserRequest generates a "aws/request.Request" representing the
  1722  // client's request for the AdminListGroupsForUser operation. The "output" return
  1723  // value will be populated with the request's response once the request completes
  1724  // successfully.
  1725  //
  1726  // Use "Send" method on the returned Request to send the API call to the service.
  1727  // the "output" return value is not valid until after Send returns without error.
  1728  //
  1729  // See AdminListGroupsForUser for more information on using the AdminListGroupsForUser
  1730  // API call, and error handling.
  1731  //
  1732  // This method is useful when you want to inject custom logic or configuration
  1733  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1734  //
  1735  //
  1736  //    // Example sending a request using the AdminListGroupsForUserRequest method.
  1737  //    req, resp := client.AdminListGroupsForUserRequest(params)
  1738  //
  1739  //    err := req.Send()
  1740  //    if err == nil { // resp is now filled
  1741  //        fmt.Println(resp)
  1742  //    }
  1743  //
  1744  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListGroupsForUser
  1745  func (c *CognitoIdentityProvider) AdminListGroupsForUserRequest(input *AdminListGroupsForUserInput) (req *request.Request, output *AdminListGroupsForUserOutput) {
  1746  	op := &request.Operation{
  1747  		Name:       opAdminListGroupsForUser,
  1748  		HTTPMethod: "POST",
  1749  		HTTPPath:   "/",
  1750  		Paginator: &request.Paginator{
  1751  			InputTokens:     []string{"NextToken"},
  1752  			OutputTokens:    []string{"NextToken"},
  1753  			LimitToken:      "Limit",
  1754  			TruncationToken: "",
  1755  		},
  1756  	}
  1757  
  1758  	if input == nil {
  1759  		input = &AdminListGroupsForUserInput{}
  1760  	}
  1761  
  1762  	output = &AdminListGroupsForUserOutput{}
  1763  	req = c.newRequest(op, input, output)
  1764  	return
  1765  }
  1766  
  1767  // AdminListGroupsForUser API operation for Amazon Cognito Identity Provider.
  1768  //
  1769  // Lists the groups that the user belongs to.
  1770  //
  1771  // Calling this action requires developer credentials.
  1772  //
  1773  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1774  // with awserr.Error's Code and Message methods to get detailed information about
  1775  // the error.
  1776  //
  1777  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1778  // API operation AdminListGroupsForUser for usage and error information.
  1779  //
  1780  // Returned Error Types:
  1781  //   * InvalidParameterException
  1782  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1783  //   parameter.
  1784  //
  1785  //   * ResourceNotFoundException
  1786  //   This exception is thrown when the Amazon Cognito service cannot find the
  1787  //   requested resource.
  1788  //
  1789  //   * TooManyRequestsException
  1790  //   This exception is thrown when the user has made too many requests for a given
  1791  //   operation.
  1792  //
  1793  //   * NotAuthorizedException
  1794  //   This exception is thrown when a user is not authorized.
  1795  //
  1796  //   * UserNotFoundException
  1797  //   This exception is thrown when a user is not found.
  1798  //
  1799  //   * InternalErrorException
  1800  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1801  //
  1802  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListGroupsForUser
  1803  func (c *CognitoIdentityProvider) AdminListGroupsForUser(input *AdminListGroupsForUserInput) (*AdminListGroupsForUserOutput, error) {
  1804  	req, out := c.AdminListGroupsForUserRequest(input)
  1805  	return out, req.Send()
  1806  }
  1807  
  1808  // AdminListGroupsForUserWithContext is the same as AdminListGroupsForUser with the addition of
  1809  // the ability to pass a context and additional request options.
  1810  //
  1811  // See AdminListGroupsForUser for details on how to use this API operation.
  1812  //
  1813  // The context must be non-nil and will be used for request cancellation. If
  1814  // the context is nil a panic will occur. In the future the SDK may create
  1815  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1816  // for more information on using Contexts.
  1817  func (c *CognitoIdentityProvider) AdminListGroupsForUserWithContext(ctx aws.Context, input *AdminListGroupsForUserInput, opts ...request.Option) (*AdminListGroupsForUserOutput, error) {
  1818  	req, out := c.AdminListGroupsForUserRequest(input)
  1819  	req.SetContext(ctx)
  1820  	req.ApplyOptions(opts...)
  1821  	return out, req.Send()
  1822  }
  1823  
  1824  // AdminListGroupsForUserPages iterates over the pages of a AdminListGroupsForUser operation,
  1825  // calling the "fn" function with the response data for each page. To stop
  1826  // iterating, return false from the fn function.
  1827  //
  1828  // See AdminListGroupsForUser method for more information on how to use this operation.
  1829  //
  1830  // Note: This operation can generate multiple requests to a service.
  1831  //
  1832  //    // Example iterating over at most 3 pages of a AdminListGroupsForUser operation.
  1833  //    pageNum := 0
  1834  //    err := client.AdminListGroupsForUserPages(params,
  1835  //        func(page *cognitoidentityprovider.AdminListGroupsForUserOutput, lastPage bool) bool {
  1836  //            pageNum++
  1837  //            fmt.Println(page)
  1838  //            return pageNum <= 3
  1839  //        })
  1840  //
  1841  func (c *CognitoIdentityProvider) AdminListGroupsForUserPages(input *AdminListGroupsForUserInput, fn func(*AdminListGroupsForUserOutput, bool) bool) error {
  1842  	return c.AdminListGroupsForUserPagesWithContext(aws.BackgroundContext(), input, fn)
  1843  }
  1844  
  1845  // AdminListGroupsForUserPagesWithContext same as AdminListGroupsForUserPages except
  1846  // it takes a Context and allows setting request options on the pages.
  1847  //
  1848  // The context must be non-nil and will be used for request cancellation. If
  1849  // the context is nil a panic will occur. In the future the SDK may create
  1850  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1851  // for more information on using Contexts.
  1852  func (c *CognitoIdentityProvider) AdminListGroupsForUserPagesWithContext(ctx aws.Context, input *AdminListGroupsForUserInput, fn func(*AdminListGroupsForUserOutput, bool) bool, opts ...request.Option) error {
  1853  	p := request.Pagination{
  1854  		NewRequest: func() (*request.Request, error) {
  1855  			var inCpy *AdminListGroupsForUserInput
  1856  			if input != nil {
  1857  				tmp := *input
  1858  				inCpy = &tmp
  1859  			}
  1860  			req, _ := c.AdminListGroupsForUserRequest(inCpy)
  1861  			req.SetContext(ctx)
  1862  			req.ApplyOptions(opts...)
  1863  			return req, nil
  1864  		},
  1865  	}
  1866  
  1867  	for p.Next() {
  1868  		if !fn(p.Page().(*AdminListGroupsForUserOutput), !p.HasNextPage()) {
  1869  			break
  1870  		}
  1871  	}
  1872  
  1873  	return p.Err()
  1874  }
  1875  
  1876  const opAdminListUserAuthEvents = "AdminListUserAuthEvents"
  1877  
  1878  // AdminListUserAuthEventsRequest generates a "aws/request.Request" representing the
  1879  // client's request for the AdminListUserAuthEvents operation. The "output" return
  1880  // value will be populated with the request's response once the request completes
  1881  // successfully.
  1882  //
  1883  // Use "Send" method on the returned Request to send the API call to the service.
  1884  // the "output" return value is not valid until after Send returns without error.
  1885  //
  1886  // See AdminListUserAuthEvents for more information on using the AdminListUserAuthEvents
  1887  // API call, and error handling.
  1888  //
  1889  // This method is useful when you want to inject custom logic or configuration
  1890  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1891  //
  1892  //
  1893  //    // Example sending a request using the AdminListUserAuthEventsRequest method.
  1894  //    req, resp := client.AdminListUserAuthEventsRequest(params)
  1895  //
  1896  //    err := req.Send()
  1897  //    if err == nil { // resp is now filled
  1898  //        fmt.Println(resp)
  1899  //    }
  1900  //
  1901  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListUserAuthEvents
  1902  func (c *CognitoIdentityProvider) AdminListUserAuthEventsRequest(input *AdminListUserAuthEventsInput) (req *request.Request, output *AdminListUserAuthEventsOutput) {
  1903  	op := &request.Operation{
  1904  		Name:       opAdminListUserAuthEvents,
  1905  		HTTPMethod: "POST",
  1906  		HTTPPath:   "/",
  1907  		Paginator: &request.Paginator{
  1908  			InputTokens:     []string{"NextToken"},
  1909  			OutputTokens:    []string{"NextToken"},
  1910  			LimitToken:      "MaxResults",
  1911  			TruncationToken: "",
  1912  		},
  1913  	}
  1914  
  1915  	if input == nil {
  1916  		input = &AdminListUserAuthEventsInput{}
  1917  	}
  1918  
  1919  	output = &AdminListUserAuthEventsOutput{}
  1920  	req = c.newRequest(op, input, output)
  1921  	return
  1922  }
  1923  
  1924  // AdminListUserAuthEvents API operation for Amazon Cognito Identity Provider.
  1925  //
  1926  // Lists a history of user activity and any risks detected as part of Amazon
  1927  // Cognito advanced security.
  1928  //
  1929  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1930  // with awserr.Error's Code and Message methods to get detailed information about
  1931  // the error.
  1932  //
  1933  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  1934  // API operation AdminListUserAuthEvents for usage and error information.
  1935  //
  1936  // Returned Error Types:
  1937  //   * InvalidParameterException
  1938  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  1939  //   parameter.
  1940  //
  1941  //   * ResourceNotFoundException
  1942  //   This exception is thrown when the Amazon Cognito service cannot find the
  1943  //   requested resource.
  1944  //
  1945  //   * TooManyRequestsException
  1946  //   This exception is thrown when the user has made too many requests for a given
  1947  //   operation.
  1948  //
  1949  //   * NotAuthorizedException
  1950  //   This exception is thrown when a user is not authorized.
  1951  //
  1952  //   * UserNotFoundException
  1953  //   This exception is thrown when a user is not found.
  1954  //
  1955  //   * UserPoolAddOnNotEnabledException
  1956  //   This exception is thrown when user pool add-ons are not enabled.
  1957  //
  1958  //   * InternalErrorException
  1959  //   This exception is thrown when Amazon Cognito encounters an internal error.
  1960  //
  1961  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListUserAuthEvents
  1962  func (c *CognitoIdentityProvider) AdminListUserAuthEvents(input *AdminListUserAuthEventsInput) (*AdminListUserAuthEventsOutput, error) {
  1963  	req, out := c.AdminListUserAuthEventsRequest(input)
  1964  	return out, req.Send()
  1965  }
  1966  
  1967  // AdminListUserAuthEventsWithContext is the same as AdminListUserAuthEvents with the addition of
  1968  // the ability to pass a context and additional request options.
  1969  //
  1970  // See AdminListUserAuthEvents for details on how to use this API operation.
  1971  //
  1972  // The context must be non-nil and will be used for request cancellation. If
  1973  // the context is nil a panic will occur. In the future the SDK may create
  1974  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1975  // for more information on using Contexts.
  1976  func (c *CognitoIdentityProvider) AdminListUserAuthEventsWithContext(ctx aws.Context, input *AdminListUserAuthEventsInput, opts ...request.Option) (*AdminListUserAuthEventsOutput, error) {
  1977  	req, out := c.AdminListUserAuthEventsRequest(input)
  1978  	req.SetContext(ctx)
  1979  	req.ApplyOptions(opts...)
  1980  	return out, req.Send()
  1981  }
  1982  
  1983  // AdminListUserAuthEventsPages iterates over the pages of a AdminListUserAuthEvents operation,
  1984  // calling the "fn" function with the response data for each page. To stop
  1985  // iterating, return false from the fn function.
  1986  //
  1987  // See AdminListUserAuthEvents method for more information on how to use this operation.
  1988  //
  1989  // Note: This operation can generate multiple requests to a service.
  1990  //
  1991  //    // Example iterating over at most 3 pages of a AdminListUserAuthEvents operation.
  1992  //    pageNum := 0
  1993  //    err := client.AdminListUserAuthEventsPages(params,
  1994  //        func(page *cognitoidentityprovider.AdminListUserAuthEventsOutput, lastPage bool) bool {
  1995  //            pageNum++
  1996  //            fmt.Println(page)
  1997  //            return pageNum <= 3
  1998  //        })
  1999  //
  2000  func (c *CognitoIdentityProvider) AdminListUserAuthEventsPages(input *AdminListUserAuthEventsInput, fn func(*AdminListUserAuthEventsOutput, bool) bool) error {
  2001  	return c.AdminListUserAuthEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  2002  }
  2003  
  2004  // AdminListUserAuthEventsPagesWithContext same as AdminListUserAuthEventsPages except
  2005  // it takes a Context and allows setting request options on the pages.
  2006  //
  2007  // The context must be non-nil and will be used for request cancellation. If
  2008  // the context is nil a panic will occur. In the future the SDK may create
  2009  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2010  // for more information on using Contexts.
  2011  func (c *CognitoIdentityProvider) AdminListUserAuthEventsPagesWithContext(ctx aws.Context, input *AdminListUserAuthEventsInput, fn func(*AdminListUserAuthEventsOutput, bool) bool, opts ...request.Option) error {
  2012  	p := request.Pagination{
  2013  		NewRequest: func() (*request.Request, error) {
  2014  			var inCpy *AdminListUserAuthEventsInput
  2015  			if input != nil {
  2016  				tmp := *input
  2017  				inCpy = &tmp
  2018  			}
  2019  			req, _ := c.AdminListUserAuthEventsRequest(inCpy)
  2020  			req.SetContext(ctx)
  2021  			req.ApplyOptions(opts...)
  2022  			return req, nil
  2023  		},
  2024  	}
  2025  
  2026  	for p.Next() {
  2027  		if !fn(p.Page().(*AdminListUserAuthEventsOutput), !p.HasNextPage()) {
  2028  			break
  2029  		}
  2030  	}
  2031  
  2032  	return p.Err()
  2033  }
  2034  
  2035  const opAdminRemoveUserFromGroup = "AdminRemoveUserFromGroup"
  2036  
  2037  // AdminRemoveUserFromGroupRequest generates a "aws/request.Request" representing the
  2038  // client's request for the AdminRemoveUserFromGroup operation. The "output" return
  2039  // value will be populated with the request's response once the request completes
  2040  // successfully.
  2041  //
  2042  // Use "Send" method on the returned Request to send the API call to the service.
  2043  // the "output" return value is not valid until after Send returns without error.
  2044  //
  2045  // See AdminRemoveUserFromGroup for more information on using the AdminRemoveUserFromGroup
  2046  // API call, and error handling.
  2047  //
  2048  // This method is useful when you want to inject custom logic or configuration
  2049  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2050  //
  2051  //
  2052  //    // Example sending a request using the AdminRemoveUserFromGroupRequest method.
  2053  //    req, resp := client.AdminRemoveUserFromGroupRequest(params)
  2054  //
  2055  //    err := req.Send()
  2056  //    if err == nil { // resp is now filled
  2057  //        fmt.Println(resp)
  2058  //    }
  2059  //
  2060  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminRemoveUserFromGroup
  2061  func (c *CognitoIdentityProvider) AdminRemoveUserFromGroupRequest(input *AdminRemoveUserFromGroupInput) (req *request.Request, output *AdminRemoveUserFromGroupOutput) {
  2062  	op := &request.Operation{
  2063  		Name:       opAdminRemoveUserFromGroup,
  2064  		HTTPMethod: "POST",
  2065  		HTTPPath:   "/",
  2066  	}
  2067  
  2068  	if input == nil {
  2069  		input = &AdminRemoveUserFromGroupInput{}
  2070  	}
  2071  
  2072  	output = &AdminRemoveUserFromGroupOutput{}
  2073  	req = c.newRequest(op, input, output)
  2074  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2075  	return
  2076  }
  2077  
  2078  // AdminRemoveUserFromGroup API operation for Amazon Cognito Identity Provider.
  2079  //
  2080  // Removes the specified user from the specified group.
  2081  //
  2082  // Calling this action requires developer credentials.
  2083  //
  2084  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2085  // with awserr.Error's Code and Message methods to get detailed information about
  2086  // the error.
  2087  //
  2088  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2089  // API operation AdminRemoveUserFromGroup for usage and error information.
  2090  //
  2091  // Returned Error Types:
  2092  //   * InvalidParameterException
  2093  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2094  //   parameter.
  2095  //
  2096  //   * ResourceNotFoundException
  2097  //   This exception is thrown when the Amazon Cognito service cannot find the
  2098  //   requested resource.
  2099  //
  2100  //   * TooManyRequestsException
  2101  //   This exception is thrown when the user has made too many requests for a given
  2102  //   operation.
  2103  //
  2104  //   * NotAuthorizedException
  2105  //   This exception is thrown when a user is not authorized.
  2106  //
  2107  //   * UserNotFoundException
  2108  //   This exception is thrown when a user is not found.
  2109  //
  2110  //   * InternalErrorException
  2111  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2112  //
  2113  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminRemoveUserFromGroup
  2114  func (c *CognitoIdentityProvider) AdminRemoveUserFromGroup(input *AdminRemoveUserFromGroupInput) (*AdminRemoveUserFromGroupOutput, error) {
  2115  	req, out := c.AdminRemoveUserFromGroupRequest(input)
  2116  	return out, req.Send()
  2117  }
  2118  
  2119  // AdminRemoveUserFromGroupWithContext is the same as AdminRemoveUserFromGroup with the addition of
  2120  // the ability to pass a context and additional request options.
  2121  //
  2122  // See AdminRemoveUserFromGroup for details on how to use this API operation.
  2123  //
  2124  // The context must be non-nil and will be used for request cancellation. If
  2125  // the context is nil a panic will occur. In the future the SDK may create
  2126  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2127  // for more information on using Contexts.
  2128  func (c *CognitoIdentityProvider) AdminRemoveUserFromGroupWithContext(ctx aws.Context, input *AdminRemoveUserFromGroupInput, opts ...request.Option) (*AdminRemoveUserFromGroupOutput, error) {
  2129  	req, out := c.AdminRemoveUserFromGroupRequest(input)
  2130  	req.SetContext(ctx)
  2131  	req.ApplyOptions(opts...)
  2132  	return out, req.Send()
  2133  }
  2134  
  2135  const opAdminResetUserPassword = "AdminResetUserPassword"
  2136  
  2137  // AdminResetUserPasswordRequest generates a "aws/request.Request" representing the
  2138  // client's request for the AdminResetUserPassword operation. The "output" return
  2139  // value will be populated with the request's response once the request completes
  2140  // successfully.
  2141  //
  2142  // Use "Send" method on the returned Request to send the API call to the service.
  2143  // the "output" return value is not valid until after Send returns without error.
  2144  //
  2145  // See AdminResetUserPassword for more information on using the AdminResetUserPassword
  2146  // API call, and error handling.
  2147  //
  2148  // This method is useful when you want to inject custom logic or configuration
  2149  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2150  //
  2151  //
  2152  //    // Example sending a request using the AdminResetUserPasswordRequest method.
  2153  //    req, resp := client.AdminResetUserPasswordRequest(params)
  2154  //
  2155  //    err := req.Send()
  2156  //    if err == nil { // resp is now filled
  2157  //        fmt.Println(resp)
  2158  //    }
  2159  //
  2160  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminResetUserPassword
  2161  func (c *CognitoIdentityProvider) AdminResetUserPasswordRequest(input *AdminResetUserPasswordInput) (req *request.Request, output *AdminResetUserPasswordOutput) {
  2162  	op := &request.Operation{
  2163  		Name:       opAdminResetUserPassword,
  2164  		HTTPMethod: "POST",
  2165  		HTTPPath:   "/",
  2166  	}
  2167  
  2168  	if input == nil {
  2169  		input = &AdminResetUserPasswordInput{}
  2170  	}
  2171  
  2172  	output = &AdminResetUserPasswordOutput{}
  2173  	req = c.newRequest(op, input, output)
  2174  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2175  	return
  2176  }
  2177  
  2178  // AdminResetUserPassword API operation for Amazon Cognito Identity Provider.
  2179  //
  2180  // Resets the specified user's password in a user pool as an administrator.
  2181  // Works on any user.
  2182  //
  2183  // When a developer calls this API, the current password is invalidated, so
  2184  // it must be changed. If a user tries to sign in after the API is called, the
  2185  // app will get a PasswordResetRequiredException exception back and should direct
  2186  // the user down the flow to reset the password, which is the same as the forgot
  2187  // password flow. In addition, if the user pool has phone verification selected
  2188  // and a verified phone number exists for the user, or if email verification
  2189  // is selected and a verified email exists for the user, calling this API will
  2190  // also result in sending a message to the end user with the code to change
  2191  // their password.
  2192  //
  2193  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  2194  // telecom carriers require that you register an origination phone number before
  2195  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  2196  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  2197  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  2198  // registered number automatically. Otherwise, Cognito users that must receive
  2199  // SMS messages might be unable to sign up, activate their accounts, or sign
  2200  // in.
  2201  //
  2202  // If you have never used SMS text messages with Amazon Cognito or any other
  2203  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  2204  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  2205  // , you’ll have limitations, such as sending messages to only verified phone
  2206  // numbers. After testing in the sandbox environment, you can move out of the
  2207  // SMS sandbox and into production. For more information, see SMS message settings
  2208  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  2209  // in the Amazon Cognito Developer Guide.
  2210  //
  2211  // Calling this action requires developer credentials.
  2212  //
  2213  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2214  // with awserr.Error's Code and Message methods to get detailed information about
  2215  // the error.
  2216  //
  2217  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2218  // API operation AdminResetUserPassword for usage and error information.
  2219  //
  2220  // Returned Error Types:
  2221  //   * ResourceNotFoundException
  2222  //   This exception is thrown when the Amazon Cognito service cannot find the
  2223  //   requested resource.
  2224  //
  2225  //   * InvalidParameterException
  2226  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2227  //   parameter.
  2228  //
  2229  //   * UnexpectedLambdaException
  2230  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  2231  //   exception with the Lambda service.
  2232  //
  2233  //   * UserLambdaValidationException
  2234  //   This exception is thrown when the Amazon Cognito service encounters a user
  2235  //   validation exception with the Lambda service.
  2236  //
  2237  //   * NotAuthorizedException
  2238  //   This exception is thrown when a user is not authorized.
  2239  //
  2240  //   * InvalidLambdaResponseException
  2241  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2242  //   Lambda response.
  2243  //
  2244  //   * TooManyRequestsException
  2245  //   This exception is thrown when the user has made too many requests for a given
  2246  //   operation.
  2247  //
  2248  //   * LimitExceededException
  2249  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  2250  //   Web Services resource.
  2251  //
  2252  //   * UserNotFoundException
  2253  //   This exception is thrown when a user is not found.
  2254  //
  2255  //   * InvalidSmsRoleAccessPolicyException
  2256  //   This exception is returned when the role provided for SMS configuration does
  2257  //   not have permission to publish using Amazon SNS.
  2258  //
  2259  //   * InvalidEmailRoleAccessPolicyException
  2260  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  2261  //   identity. HTTP status code: 400.
  2262  //
  2263  //   * InvalidSmsRoleTrustRelationshipException
  2264  //   This exception is thrown when the trust relationship is invalid for the role
  2265  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  2266  //   or the external ID provided in the role does not match what is provided in
  2267  //   the SMS configuration for the user pool.
  2268  //
  2269  //   * InternalErrorException
  2270  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2271  //
  2272  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminResetUserPassword
  2273  func (c *CognitoIdentityProvider) AdminResetUserPassword(input *AdminResetUserPasswordInput) (*AdminResetUserPasswordOutput, error) {
  2274  	req, out := c.AdminResetUserPasswordRequest(input)
  2275  	return out, req.Send()
  2276  }
  2277  
  2278  // AdminResetUserPasswordWithContext is the same as AdminResetUserPassword with the addition of
  2279  // the ability to pass a context and additional request options.
  2280  //
  2281  // See AdminResetUserPassword for details on how to use this API operation.
  2282  //
  2283  // The context must be non-nil and will be used for request cancellation. If
  2284  // the context is nil a panic will occur. In the future the SDK may create
  2285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2286  // for more information on using Contexts.
  2287  func (c *CognitoIdentityProvider) AdminResetUserPasswordWithContext(ctx aws.Context, input *AdminResetUserPasswordInput, opts ...request.Option) (*AdminResetUserPasswordOutput, error) {
  2288  	req, out := c.AdminResetUserPasswordRequest(input)
  2289  	req.SetContext(ctx)
  2290  	req.ApplyOptions(opts...)
  2291  	return out, req.Send()
  2292  }
  2293  
  2294  const opAdminRespondToAuthChallenge = "AdminRespondToAuthChallenge"
  2295  
  2296  // AdminRespondToAuthChallengeRequest generates a "aws/request.Request" representing the
  2297  // client's request for the AdminRespondToAuthChallenge operation. The "output" return
  2298  // value will be populated with the request's response once the request completes
  2299  // successfully.
  2300  //
  2301  // Use "Send" method on the returned Request to send the API call to the service.
  2302  // the "output" return value is not valid until after Send returns without error.
  2303  //
  2304  // See AdminRespondToAuthChallenge for more information on using the AdminRespondToAuthChallenge
  2305  // API call, and error handling.
  2306  //
  2307  // This method is useful when you want to inject custom logic or configuration
  2308  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2309  //
  2310  //
  2311  //    // Example sending a request using the AdminRespondToAuthChallengeRequest method.
  2312  //    req, resp := client.AdminRespondToAuthChallengeRequest(params)
  2313  //
  2314  //    err := req.Send()
  2315  //    if err == nil { // resp is now filled
  2316  //        fmt.Println(resp)
  2317  //    }
  2318  //
  2319  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminRespondToAuthChallenge
  2320  func (c *CognitoIdentityProvider) AdminRespondToAuthChallengeRequest(input *AdminRespondToAuthChallengeInput) (req *request.Request, output *AdminRespondToAuthChallengeOutput) {
  2321  	op := &request.Operation{
  2322  		Name:       opAdminRespondToAuthChallenge,
  2323  		HTTPMethod: "POST",
  2324  		HTTPPath:   "/",
  2325  	}
  2326  
  2327  	if input == nil {
  2328  		input = &AdminRespondToAuthChallengeInput{}
  2329  	}
  2330  
  2331  	output = &AdminRespondToAuthChallengeOutput{}
  2332  	req = c.newRequest(op, input, output)
  2333  	return
  2334  }
  2335  
  2336  // AdminRespondToAuthChallenge API operation for Amazon Cognito Identity Provider.
  2337  //
  2338  // Responds to an authentication challenge, as an administrator.
  2339  //
  2340  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  2341  // telecom carriers require that you register an origination phone number before
  2342  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  2343  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  2344  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  2345  // registered number automatically. Otherwise, Cognito users that must receive
  2346  // SMS messages might be unable to sign up, activate their accounts, or sign
  2347  // in.
  2348  //
  2349  // If you have never used SMS text messages with Amazon Cognito or any other
  2350  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  2351  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  2352  // , you’ll have limitations, such as sending messages to only verified phone
  2353  // numbers. After testing in the sandbox environment, you can move out of the
  2354  // SMS sandbox and into production. For more information, see SMS message settings
  2355  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  2356  // in the Amazon Cognito Developer Guide.
  2357  //
  2358  // Calling this action requires developer credentials.
  2359  //
  2360  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2361  // with awserr.Error's Code and Message methods to get detailed information about
  2362  // the error.
  2363  //
  2364  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2365  // API operation AdminRespondToAuthChallenge for usage and error information.
  2366  //
  2367  // Returned Error Types:
  2368  //   * ResourceNotFoundException
  2369  //   This exception is thrown when the Amazon Cognito service cannot find the
  2370  //   requested resource.
  2371  //
  2372  //   * InvalidParameterException
  2373  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2374  //   parameter.
  2375  //
  2376  //   * NotAuthorizedException
  2377  //   This exception is thrown when a user is not authorized.
  2378  //
  2379  //   * CodeMismatchException
  2380  //   This exception is thrown if the provided code does not match what the server
  2381  //   was expecting.
  2382  //
  2383  //   * ExpiredCodeException
  2384  //   This exception is thrown if a code has expired.
  2385  //
  2386  //   * UnexpectedLambdaException
  2387  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  2388  //   exception with the Lambda service.
  2389  //
  2390  //   * InvalidPasswordException
  2391  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2392  //   password.
  2393  //
  2394  //   * UserLambdaValidationException
  2395  //   This exception is thrown when the Amazon Cognito service encounters a user
  2396  //   validation exception with the Lambda service.
  2397  //
  2398  //   * InvalidLambdaResponseException
  2399  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2400  //   Lambda response.
  2401  //
  2402  //   * TooManyRequestsException
  2403  //   This exception is thrown when the user has made too many requests for a given
  2404  //   operation.
  2405  //
  2406  //   * InvalidUserPoolConfigurationException
  2407  //   This exception is thrown when the user pool configuration is invalid.
  2408  //
  2409  //   * InternalErrorException
  2410  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2411  //
  2412  //   * MFAMethodNotFoundException
  2413  //   This exception is thrown when Amazon Cognito cannot find a multi-factor authentication
  2414  //   (MFA) method.
  2415  //
  2416  //   * InvalidSmsRoleAccessPolicyException
  2417  //   This exception is returned when the role provided for SMS configuration does
  2418  //   not have permission to publish using Amazon SNS.
  2419  //
  2420  //   * InvalidSmsRoleTrustRelationshipException
  2421  //   This exception is thrown when the trust relationship is invalid for the role
  2422  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  2423  //   or the external ID provided in the role does not match what is provided in
  2424  //   the SMS configuration for the user pool.
  2425  //
  2426  //   * AliasExistsException
  2427  //   This exception is thrown when a user tries to confirm the account with an
  2428  //   email or phone number that has already been supplied as an alias from a different
  2429  //   account. This exception tells user that an account with this email or phone
  2430  //   already exists.
  2431  //
  2432  //   * PasswordResetRequiredException
  2433  //   This exception is thrown when a password reset is required.
  2434  //
  2435  //   * UserNotFoundException
  2436  //   This exception is thrown when a user is not found.
  2437  //
  2438  //   * UserNotConfirmedException
  2439  //   This exception is thrown when a user is not confirmed successfully.
  2440  //
  2441  //   * SoftwareTokenMFANotFoundException
  2442  //   This exception is thrown when the software token TOTP multi-factor authentication
  2443  //   (MFA) is not enabled for the user pool.
  2444  //
  2445  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminRespondToAuthChallenge
  2446  func (c *CognitoIdentityProvider) AdminRespondToAuthChallenge(input *AdminRespondToAuthChallengeInput) (*AdminRespondToAuthChallengeOutput, error) {
  2447  	req, out := c.AdminRespondToAuthChallengeRequest(input)
  2448  	return out, req.Send()
  2449  }
  2450  
  2451  // AdminRespondToAuthChallengeWithContext is the same as AdminRespondToAuthChallenge with the addition of
  2452  // the ability to pass a context and additional request options.
  2453  //
  2454  // See AdminRespondToAuthChallenge for details on how to use this API operation.
  2455  //
  2456  // The context must be non-nil and will be used for request cancellation. If
  2457  // the context is nil a panic will occur. In the future the SDK may create
  2458  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2459  // for more information on using Contexts.
  2460  func (c *CognitoIdentityProvider) AdminRespondToAuthChallengeWithContext(ctx aws.Context, input *AdminRespondToAuthChallengeInput, opts ...request.Option) (*AdminRespondToAuthChallengeOutput, error) {
  2461  	req, out := c.AdminRespondToAuthChallengeRequest(input)
  2462  	req.SetContext(ctx)
  2463  	req.ApplyOptions(opts...)
  2464  	return out, req.Send()
  2465  }
  2466  
  2467  const opAdminSetUserMFAPreference = "AdminSetUserMFAPreference"
  2468  
  2469  // AdminSetUserMFAPreferenceRequest generates a "aws/request.Request" representing the
  2470  // client's request for the AdminSetUserMFAPreference operation. The "output" return
  2471  // value will be populated with the request's response once the request completes
  2472  // successfully.
  2473  //
  2474  // Use "Send" method on the returned Request to send the API call to the service.
  2475  // the "output" return value is not valid until after Send returns without error.
  2476  //
  2477  // See AdminSetUserMFAPreference for more information on using the AdminSetUserMFAPreference
  2478  // API call, and error handling.
  2479  //
  2480  // This method is useful when you want to inject custom logic or configuration
  2481  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2482  //
  2483  //
  2484  //    // Example sending a request using the AdminSetUserMFAPreferenceRequest method.
  2485  //    req, resp := client.AdminSetUserMFAPreferenceRequest(params)
  2486  //
  2487  //    err := req.Send()
  2488  //    if err == nil { // resp is now filled
  2489  //        fmt.Println(resp)
  2490  //    }
  2491  //
  2492  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserMFAPreference
  2493  func (c *CognitoIdentityProvider) AdminSetUserMFAPreferenceRequest(input *AdminSetUserMFAPreferenceInput) (req *request.Request, output *AdminSetUserMFAPreferenceOutput) {
  2494  	op := &request.Operation{
  2495  		Name:       opAdminSetUserMFAPreference,
  2496  		HTTPMethod: "POST",
  2497  		HTTPPath:   "/",
  2498  	}
  2499  
  2500  	if input == nil {
  2501  		input = &AdminSetUserMFAPreferenceInput{}
  2502  	}
  2503  
  2504  	output = &AdminSetUserMFAPreferenceOutput{}
  2505  	req = c.newRequest(op, input, output)
  2506  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2507  	return
  2508  }
  2509  
  2510  // AdminSetUserMFAPreference API operation for Amazon Cognito Identity Provider.
  2511  //
  2512  // Sets the user's multi-factor authentication (MFA) preference, including which
  2513  // MFA options are enabled and if any are preferred. Only one factor can be
  2514  // set as preferred. The preferred MFA factor will be used to authenticate a
  2515  // user if multiple factors are enabled. If multiple options are enabled and
  2516  // no preference is set, a challenge to choose an MFA option will be returned
  2517  // during sign in.
  2518  //
  2519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2520  // with awserr.Error's Code and Message methods to get detailed information about
  2521  // the error.
  2522  //
  2523  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2524  // API operation AdminSetUserMFAPreference for usage and error information.
  2525  //
  2526  // Returned Error Types:
  2527  //   * ResourceNotFoundException
  2528  //   This exception is thrown when the Amazon Cognito service cannot find the
  2529  //   requested resource.
  2530  //
  2531  //   * InvalidParameterException
  2532  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2533  //   parameter.
  2534  //
  2535  //   * NotAuthorizedException
  2536  //   This exception is thrown when a user is not authorized.
  2537  //
  2538  //   * PasswordResetRequiredException
  2539  //   This exception is thrown when a password reset is required.
  2540  //
  2541  //   * UserNotFoundException
  2542  //   This exception is thrown when a user is not found.
  2543  //
  2544  //   * UserNotConfirmedException
  2545  //   This exception is thrown when a user is not confirmed successfully.
  2546  //
  2547  //   * InternalErrorException
  2548  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2549  //
  2550  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserMFAPreference
  2551  func (c *CognitoIdentityProvider) AdminSetUserMFAPreference(input *AdminSetUserMFAPreferenceInput) (*AdminSetUserMFAPreferenceOutput, error) {
  2552  	req, out := c.AdminSetUserMFAPreferenceRequest(input)
  2553  	return out, req.Send()
  2554  }
  2555  
  2556  // AdminSetUserMFAPreferenceWithContext is the same as AdminSetUserMFAPreference with the addition of
  2557  // the ability to pass a context and additional request options.
  2558  //
  2559  // See AdminSetUserMFAPreference for details on how to use this API operation.
  2560  //
  2561  // The context must be non-nil and will be used for request cancellation. If
  2562  // the context is nil a panic will occur. In the future the SDK may create
  2563  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2564  // for more information on using Contexts.
  2565  func (c *CognitoIdentityProvider) AdminSetUserMFAPreferenceWithContext(ctx aws.Context, input *AdminSetUserMFAPreferenceInput, opts ...request.Option) (*AdminSetUserMFAPreferenceOutput, error) {
  2566  	req, out := c.AdminSetUserMFAPreferenceRequest(input)
  2567  	req.SetContext(ctx)
  2568  	req.ApplyOptions(opts...)
  2569  	return out, req.Send()
  2570  }
  2571  
  2572  const opAdminSetUserPassword = "AdminSetUserPassword"
  2573  
  2574  // AdminSetUserPasswordRequest generates a "aws/request.Request" representing the
  2575  // client's request for the AdminSetUserPassword operation. The "output" return
  2576  // value will be populated with the request's response once the request completes
  2577  // successfully.
  2578  //
  2579  // Use "Send" method on the returned Request to send the API call to the service.
  2580  // the "output" return value is not valid until after Send returns without error.
  2581  //
  2582  // See AdminSetUserPassword for more information on using the AdminSetUserPassword
  2583  // API call, and error handling.
  2584  //
  2585  // This method is useful when you want to inject custom logic or configuration
  2586  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2587  //
  2588  //
  2589  //    // Example sending a request using the AdminSetUserPasswordRequest method.
  2590  //    req, resp := client.AdminSetUserPasswordRequest(params)
  2591  //
  2592  //    err := req.Send()
  2593  //    if err == nil { // resp is now filled
  2594  //        fmt.Println(resp)
  2595  //    }
  2596  //
  2597  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserPassword
  2598  func (c *CognitoIdentityProvider) AdminSetUserPasswordRequest(input *AdminSetUserPasswordInput) (req *request.Request, output *AdminSetUserPasswordOutput) {
  2599  	op := &request.Operation{
  2600  		Name:       opAdminSetUserPassword,
  2601  		HTTPMethod: "POST",
  2602  		HTTPPath:   "/",
  2603  	}
  2604  
  2605  	if input == nil {
  2606  		input = &AdminSetUserPasswordInput{}
  2607  	}
  2608  
  2609  	output = &AdminSetUserPasswordOutput{}
  2610  	req = c.newRequest(op, input, output)
  2611  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2612  	return
  2613  }
  2614  
  2615  // AdminSetUserPassword API operation for Amazon Cognito Identity Provider.
  2616  //
  2617  // Sets the specified user's password in a user pool as an administrator. Works
  2618  // on any user.
  2619  //
  2620  // The password can be temporary or permanent. If it is temporary, the user
  2621  // status will be placed into the FORCE_CHANGE_PASSWORD state. When the user
  2622  // next tries to sign in, the InitiateAuth/AdminInitiateAuth response will contain
  2623  // the NEW_PASSWORD_REQUIRED challenge. If the user does not sign in before
  2624  // it expires, the user will not be able to sign in and their password will
  2625  // need to be reset by an administrator.
  2626  //
  2627  // Once the user has set a new password, or the password is permanent, the user
  2628  // status will be set to Confirmed.
  2629  //
  2630  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2631  // with awserr.Error's Code and Message methods to get detailed information about
  2632  // the error.
  2633  //
  2634  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2635  // API operation AdminSetUserPassword for usage and error information.
  2636  //
  2637  // Returned Error Types:
  2638  //   * ResourceNotFoundException
  2639  //   This exception is thrown when the Amazon Cognito service cannot find the
  2640  //   requested resource.
  2641  //
  2642  //   * NotAuthorizedException
  2643  //   This exception is thrown when a user is not authorized.
  2644  //
  2645  //   * UserNotFoundException
  2646  //   This exception is thrown when a user is not found.
  2647  //
  2648  //   * InternalErrorException
  2649  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2650  //
  2651  //   * TooManyRequestsException
  2652  //   This exception is thrown when the user has made too many requests for a given
  2653  //   operation.
  2654  //
  2655  //   * InvalidParameterException
  2656  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2657  //   parameter.
  2658  //
  2659  //   * InvalidPasswordException
  2660  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2661  //   password.
  2662  //
  2663  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserPassword
  2664  func (c *CognitoIdentityProvider) AdminSetUserPassword(input *AdminSetUserPasswordInput) (*AdminSetUserPasswordOutput, error) {
  2665  	req, out := c.AdminSetUserPasswordRequest(input)
  2666  	return out, req.Send()
  2667  }
  2668  
  2669  // AdminSetUserPasswordWithContext is the same as AdminSetUserPassword with the addition of
  2670  // the ability to pass a context and additional request options.
  2671  //
  2672  // See AdminSetUserPassword for details on how to use this API operation.
  2673  //
  2674  // The context must be non-nil and will be used for request cancellation. If
  2675  // the context is nil a panic will occur. In the future the SDK may create
  2676  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2677  // for more information on using Contexts.
  2678  func (c *CognitoIdentityProvider) AdminSetUserPasswordWithContext(ctx aws.Context, input *AdminSetUserPasswordInput, opts ...request.Option) (*AdminSetUserPasswordOutput, error) {
  2679  	req, out := c.AdminSetUserPasswordRequest(input)
  2680  	req.SetContext(ctx)
  2681  	req.ApplyOptions(opts...)
  2682  	return out, req.Send()
  2683  }
  2684  
  2685  const opAdminSetUserSettings = "AdminSetUserSettings"
  2686  
  2687  // AdminSetUserSettingsRequest generates a "aws/request.Request" representing the
  2688  // client's request for the AdminSetUserSettings operation. The "output" return
  2689  // value will be populated with the request's response once the request completes
  2690  // successfully.
  2691  //
  2692  // Use "Send" method on the returned Request to send the API call to the service.
  2693  // the "output" return value is not valid until after Send returns without error.
  2694  //
  2695  // See AdminSetUserSettings for more information on using the AdminSetUserSettings
  2696  // API call, and error handling.
  2697  //
  2698  // This method is useful when you want to inject custom logic or configuration
  2699  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2700  //
  2701  //
  2702  //    // Example sending a request using the AdminSetUserSettingsRequest method.
  2703  //    req, resp := client.AdminSetUserSettingsRequest(params)
  2704  //
  2705  //    err := req.Send()
  2706  //    if err == nil { // resp is now filled
  2707  //        fmt.Println(resp)
  2708  //    }
  2709  //
  2710  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserSettings
  2711  func (c *CognitoIdentityProvider) AdminSetUserSettingsRequest(input *AdminSetUserSettingsInput) (req *request.Request, output *AdminSetUserSettingsOutput) {
  2712  	op := &request.Operation{
  2713  		Name:       opAdminSetUserSettings,
  2714  		HTTPMethod: "POST",
  2715  		HTTPPath:   "/",
  2716  	}
  2717  
  2718  	if input == nil {
  2719  		input = &AdminSetUserSettingsInput{}
  2720  	}
  2721  
  2722  	output = &AdminSetUserSettingsOutput{}
  2723  	req = c.newRequest(op, input, output)
  2724  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2725  	return
  2726  }
  2727  
  2728  // AdminSetUserSettings API operation for Amazon Cognito Identity Provider.
  2729  //
  2730  // This action is no longer supported. You can use it to configure only SMS
  2731  // MFA. You can't use it to configure TOTP software token MFA. To configure
  2732  // either type of MFA, use AdminSetUserMFAPreference (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserMFAPreference.html)
  2733  // instead.
  2734  //
  2735  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2736  // with awserr.Error's Code and Message methods to get detailed information about
  2737  // the error.
  2738  //
  2739  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2740  // API operation AdminSetUserSettings for usage and error information.
  2741  //
  2742  // Returned Error Types:
  2743  //   * ResourceNotFoundException
  2744  //   This exception is thrown when the Amazon Cognito service cannot find the
  2745  //   requested resource.
  2746  //
  2747  //   * InvalidParameterException
  2748  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2749  //   parameter.
  2750  //
  2751  //   * NotAuthorizedException
  2752  //   This exception is thrown when a user is not authorized.
  2753  //
  2754  //   * UserNotFoundException
  2755  //   This exception is thrown when a user is not found.
  2756  //
  2757  //   * InternalErrorException
  2758  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2759  //
  2760  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserSettings
  2761  func (c *CognitoIdentityProvider) AdminSetUserSettings(input *AdminSetUserSettingsInput) (*AdminSetUserSettingsOutput, error) {
  2762  	req, out := c.AdminSetUserSettingsRequest(input)
  2763  	return out, req.Send()
  2764  }
  2765  
  2766  // AdminSetUserSettingsWithContext is the same as AdminSetUserSettings with the addition of
  2767  // the ability to pass a context and additional request options.
  2768  //
  2769  // See AdminSetUserSettings for details on how to use this API operation.
  2770  //
  2771  // The context must be non-nil and will be used for request cancellation. If
  2772  // the context is nil a panic will occur. In the future the SDK may create
  2773  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2774  // for more information on using Contexts.
  2775  func (c *CognitoIdentityProvider) AdminSetUserSettingsWithContext(ctx aws.Context, input *AdminSetUserSettingsInput, opts ...request.Option) (*AdminSetUserSettingsOutput, error) {
  2776  	req, out := c.AdminSetUserSettingsRequest(input)
  2777  	req.SetContext(ctx)
  2778  	req.ApplyOptions(opts...)
  2779  	return out, req.Send()
  2780  }
  2781  
  2782  const opAdminUpdateAuthEventFeedback = "AdminUpdateAuthEventFeedback"
  2783  
  2784  // AdminUpdateAuthEventFeedbackRequest generates a "aws/request.Request" representing the
  2785  // client's request for the AdminUpdateAuthEventFeedback operation. The "output" return
  2786  // value will be populated with the request's response once the request completes
  2787  // successfully.
  2788  //
  2789  // Use "Send" method on the returned Request to send the API call to the service.
  2790  // the "output" return value is not valid until after Send returns without error.
  2791  //
  2792  // See AdminUpdateAuthEventFeedback for more information on using the AdminUpdateAuthEventFeedback
  2793  // API call, and error handling.
  2794  //
  2795  // This method is useful when you want to inject custom logic or configuration
  2796  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2797  //
  2798  //
  2799  //    // Example sending a request using the AdminUpdateAuthEventFeedbackRequest method.
  2800  //    req, resp := client.AdminUpdateAuthEventFeedbackRequest(params)
  2801  //
  2802  //    err := req.Send()
  2803  //    if err == nil { // resp is now filled
  2804  //        fmt.Println(resp)
  2805  //    }
  2806  //
  2807  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateAuthEventFeedback
  2808  func (c *CognitoIdentityProvider) AdminUpdateAuthEventFeedbackRequest(input *AdminUpdateAuthEventFeedbackInput) (req *request.Request, output *AdminUpdateAuthEventFeedbackOutput) {
  2809  	op := &request.Operation{
  2810  		Name:       opAdminUpdateAuthEventFeedback,
  2811  		HTTPMethod: "POST",
  2812  		HTTPPath:   "/",
  2813  	}
  2814  
  2815  	if input == nil {
  2816  		input = &AdminUpdateAuthEventFeedbackInput{}
  2817  	}
  2818  
  2819  	output = &AdminUpdateAuthEventFeedbackOutput{}
  2820  	req = c.newRequest(op, input, output)
  2821  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2822  	return
  2823  }
  2824  
  2825  // AdminUpdateAuthEventFeedback API operation for Amazon Cognito Identity Provider.
  2826  //
  2827  // Provides feedback for an authentication event as to whether it was from a
  2828  // valid user. This feedback is used for improving the risk evaluation decision
  2829  // for the user pool as part of Amazon Cognito advanced security.
  2830  //
  2831  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2832  // with awserr.Error's Code and Message methods to get detailed information about
  2833  // the error.
  2834  //
  2835  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2836  // API operation AdminUpdateAuthEventFeedback for usage and error information.
  2837  //
  2838  // Returned Error Types:
  2839  //   * InvalidParameterException
  2840  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2841  //   parameter.
  2842  //
  2843  //   * ResourceNotFoundException
  2844  //   This exception is thrown when the Amazon Cognito service cannot find the
  2845  //   requested resource.
  2846  //
  2847  //   * TooManyRequestsException
  2848  //   This exception is thrown when the user has made too many requests for a given
  2849  //   operation.
  2850  //
  2851  //   * NotAuthorizedException
  2852  //   This exception is thrown when a user is not authorized.
  2853  //
  2854  //   * UserNotFoundException
  2855  //   This exception is thrown when a user is not found.
  2856  //
  2857  //   * UserPoolAddOnNotEnabledException
  2858  //   This exception is thrown when user pool add-ons are not enabled.
  2859  //
  2860  //   * InternalErrorException
  2861  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2862  //
  2863  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateAuthEventFeedback
  2864  func (c *CognitoIdentityProvider) AdminUpdateAuthEventFeedback(input *AdminUpdateAuthEventFeedbackInput) (*AdminUpdateAuthEventFeedbackOutput, error) {
  2865  	req, out := c.AdminUpdateAuthEventFeedbackRequest(input)
  2866  	return out, req.Send()
  2867  }
  2868  
  2869  // AdminUpdateAuthEventFeedbackWithContext is the same as AdminUpdateAuthEventFeedback with the addition of
  2870  // the ability to pass a context and additional request options.
  2871  //
  2872  // See AdminUpdateAuthEventFeedback for details on how to use this API operation.
  2873  //
  2874  // The context must be non-nil and will be used for request cancellation. If
  2875  // the context is nil a panic will occur. In the future the SDK may create
  2876  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2877  // for more information on using Contexts.
  2878  func (c *CognitoIdentityProvider) AdminUpdateAuthEventFeedbackWithContext(ctx aws.Context, input *AdminUpdateAuthEventFeedbackInput, opts ...request.Option) (*AdminUpdateAuthEventFeedbackOutput, error) {
  2879  	req, out := c.AdminUpdateAuthEventFeedbackRequest(input)
  2880  	req.SetContext(ctx)
  2881  	req.ApplyOptions(opts...)
  2882  	return out, req.Send()
  2883  }
  2884  
  2885  const opAdminUpdateDeviceStatus = "AdminUpdateDeviceStatus"
  2886  
  2887  // AdminUpdateDeviceStatusRequest generates a "aws/request.Request" representing the
  2888  // client's request for the AdminUpdateDeviceStatus operation. The "output" return
  2889  // value will be populated with the request's response once the request completes
  2890  // successfully.
  2891  //
  2892  // Use "Send" method on the returned Request to send the API call to the service.
  2893  // the "output" return value is not valid until after Send returns without error.
  2894  //
  2895  // See AdminUpdateDeviceStatus for more information on using the AdminUpdateDeviceStatus
  2896  // API call, and error handling.
  2897  //
  2898  // This method is useful when you want to inject custom logic or configuration
  2899  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2900  //
  2901  //
  2902  //    // Example sending a request using the AdminUpdateDeviceStatusRequest method.
  2903  //    req, resp := client.AdminUpdateDeviceStatusRequest(params)
  2904  //
  2905  //    err := req.Send()
  2906  //    if err == nil { // resp is now filled
  2907  //        fmt.Println(resp)
  2908  //    }
  2909  //
  2910  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateDeviceStatus
  2911  func (c *CognitoIdentityProvider) AdminUpdateDeviceStatusRequest(input *AdminUpdateDeviceStatusInput) (req *request.Request, output *AdminUpdateDeviceStatusOutput) {
  2912  	op := &request.Operation{
  2913  		Name:       opAdminUpdateDeviceStatus,
  2914  		HTTPMethod: "POST",
  2915  		HTTPPath:   "/",
  2916  	}
  2917  
  2918  	if input == nil {
  2919  		input = &AdminUpdateDeviceStatusInput{}
  2920  	}
  2921  
  2922  	output = &AdminUpdateDeviceStatusOutput{}
  2923  	req = c.newRequest(op, input, output)
  2924  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2925  	return
  2926  }
  2927  
  2928  // AdminUpdateDeviceStatus API operation for Amazon Cognito Identity Provider.
  2929  //
  2930  // Updates the device status as an administrator.
  2931  //
  2932  // Calling this action requires developer credentials.
  2933  //
  2934  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2935  // with awserr.Error's Code and Message methods to get detailed information about
  2936  // the error.
  2937  //
  2938  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  2939  // API operation AdminUpdateDeviceStatus for usage and error information.
  2940  //
  2941  // Returned Error Types:
  2942  //   * InvalidParameterException
  2943  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  2944  //   parameter.
  2945  //
  2946  //   * ResourceNotFoundException
  2947  //   This exception is thrown when the Amazon Cognito service cannot find the
  2948  //   requested resource.
  2949  //
  2950  //   * InvalidUserPoolConfigurationException
  2951  //   This exception is thrown when the user pool configuration is invalid.
  2952  //
  2953  //   * TooManyRequestsException
  2954  //   This exception is thrown when the user has made too many requests for a given
  2955  //   operation.
  2956  //
  2957  //   * NotAuthorizedException
  2958  //   This exception is thrown when a user is not authorized.
  2959  //
  2960  //   * UserNotFoundException
  2961  //   This exception is thrown when a user is not found.
  2962  //
  2963  //   * InternalErrorException
  2964  //   This exception is thrown when Amazon Cognito encounters an internal error.
  2965  //
  2966  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateDeviceStatus
  2967  func (c *CognitoIdentityProvider) AdminUpdateDeviceStatus(input *AdminUpdateDeviceStatusInput) (*AdminUpdateDeviceStatusOutput, error) {
  2968  	req, out := c.AdminUpdateDeviceStatusRequest(input)
  2969  	return out, req.Send()
  2970  }
  2971  
  2972  // AdminUpdateDeviceStatusWithContext is the same as AdminUpdateDeviceStatus with the addition of
  2973  // the ability to pass a context and additional request options.
  2974  //
  2975  // See AdminUpdateDeviceStatus for details on how to use this API operation.
  2976  //
  2977  // The context must be non-nil and will be used for request cancellation. If
  2978  // the context is nil a panic will occur. In the future the SDK may create
  2979  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2980  // for more information on using Contexts.
  2981  func (c *CognitoIdentityProvider) AdminUpdateDeviceStatusWithContext(ctx aws.Context, input *AdminUpdateDeviceStatusInput, opts ...request.Option) (*AdminUpdateDeviceStatusOutput, error) {
  2982  	req, out := c.AdminUpdateDeviceStatusRequest(input)
  2983  	req.SetContext(ctx)
  2984  	req.ApplyOptions(opts...)
  2985  	return out, req.Send()
  2986  }
  2987  
  2988  const opAdminUpdateUserAttributes = "AdminUpdateUserAttributes"
  2989  
  2990  // AdminUpdateUserAttributesRequest generates a "aws/request.Request" representing the
  2991  // client's request for the AdminUpdateUserAttributes operation. The "output" return
  2992  // value will be populated with the request's response once the request completes
  2993  // successfully.
  2994  //
  2995  // Use "Send" method on the returned Request to send the API call to the service.
  2996  // the "output" return value is not valid until after Send returns without error.
  2997  //
  2998  // See AdminUpdateUserAttributes for more information on using the AdminUpdateUserAttributes
  2999  // API call, and error handling.
  3000  //
  3001  // This method is useful when you want to inject custom logic or configuration
  3002  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3003  //
  3004  //
  3005  //    // Example sending a request using the AdminUpdateUserAttributesRequest method.
  3006  //    req, resp := client.AdminUpdateUserAttributesRequest(params)
  3007  //
  3008  //    err := req.Send()
  3009  //    if err == nil { // resp is now filled
  3010  //        fmt.Println(resp)
  3011  //    }
  3012  //
  3013  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateUserAttributes
  3014  func (c *CognitoIdentityProvider) AdminUpdateUserAttributesRequest(input *AdminUpdateUserAttributesInput) (req *request.Request, output *AdminUpdateUserAttributesOutput) {
  3015  	op := &request.Operation{
  3016  		Name:       opAdminUpdateUserAttributes,
  3017  		HTTPMethod: "POST",
  3018  		HTTPPath:   "/",
  3019  	}
  3020  
  3021  	if input == nil {
  3022  		input = &AdminUpdateUserAttributesInput{}
  3023  	}
  3024  
  3025  	output = &AdminUpdateUserAttributesOutput{}
  3026  	req = c.newRequest(op, input, output)
  3027  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3028  	return
  3029  }
  3030  
  3031  // AdminUpdateUserAttributes API operation for Amazon Cognito Identity Provider.
  3032  //
  3033  // Updates the specified user's attributes, including developer attributes,
  3034  // as an administrator. Works on any user.
  3035  //
  3036  // For custom attributes, you must prepend the custom: prefix to the attribute
  3037  // name.
  3038  //
  3039  // In addition to updating user attributes, this API can also be used to mark
  3040  // phone and email as verified.
  3041  //
  3042  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  3043  // telecom carriers require that you register an origination phone number before
  3044  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  3045  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  3046  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  3047  // registered number automatically. Otherwise, Cognito users that must receive
  3048  // SMS messages might be unable to sign up, activate their accounts, or sign
  3049  // in.
  3050  //
  3051  // If you have never used SMS text messages with Amazon Cognito or any other
  3052  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  3053  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  3054  // , you’ll have limitations, such as sending messages to only verified phone
  3055  // numbers. After testing in the sandbox environment, you can move out of the
  3056  // SMS sandbox and into production. For more information, see SMS message settings
  3057  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  3058  // in the Amazon Cognito Developer Guide.
  3059  //
  3060  // Calling this action requires developer credentials.
  3061  //
  3062  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3063  // with awserr.Error's Code and Message methods to get detailed information about
  3064  // the error.
  3065  //
  3066  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3067  // API operation AdminUpdateUserAttributes for usage and error information.
  3068  //
  3069  // Returned Error Types:
  3070  //   * ResourceNotFoundException
  3071  //   This exception is thrown when the Amazon Cognito service cannot find the
  3072  //   requested resource.
  3073  //
  3074  //   * InvalidParameterException
  3075  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3076  //   parameter.
  3077  //
  3078  //   * UnexpectedLambdaException
  3079  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  3080  //   exception with the Lambda service.
  3081  //
  3082  //   * UserLambdaValidationException
  3083  //   This exception is thrown when the Amazon Cognito service encounters a user
  3084  //   validation exception with the Lambda service.
  3085  //
  3086  //   * InvalidLambdaResponseException
  3087  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3088  //   Lambda response.
  3089  //
  3090  //   * AliasExistsException
  3091  //   This exception is thrown when a user tries to confirm the account with an
  3092  //   email or phone number that has already been supplied as an alias from a different
  3093  //   account. This exception tells user that an account with this email or phone
  3094  //   already exists.
  3095  //
  3096  //   * TooManyRequestsException
  3097  //   This exception is thrown when the user has made too many requests for a given
  3098  //   operation.
  3099  //
  3100  //   * NotAuthorizedException
  3101  //   This exception is thrown when a user is not authorized.
  3102  //
  3103  //   * UserNotFoundException
  3104  //   This exception is thrown when a user is not found.
  3105  //
  3106  //   * InternalErrorException
  3107  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3108  //
  3109  //   * InvalidSmsRoleAccessPolicyException
  3110  //   This exception is returned when the role provided for SMS configuration does
  3111  //   not have permission to publish using Amazon SNS.
  3112  //
  3113  //   * InvalidEmailRoleAccessPolicyException
  3114  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  3115  //   identity. HTTP status code: 400.
  3116  //
  3117  //   * InvalidSmsRoleTrustRelationshipException
  3118  //   This exception is thrown when the trust relationship is invalid for the role
  3119  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  3120  //   or the external ID provided in the role does not match what is provided in
  3121  //   the SMS configuration for the user pool.
  3122  //
  3123  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateUserAttributes
  3124  func (c *CognitoIdentityProvider) AdminUpdateUserAttributes(input *AdminUpdateUserAttributesInput) (*AdminUpdateUserAttributesOutput, error) {
  3125  	req, out := c.AdminUpdateUserAttributesRequest(input)
  3126  	return out, req.Send()
  3127  }
  3128  
  3129  // AdminUpdateUserAttributesWithContext is the same as AdminUpdateUserAttributes with the addition of
  3130  // the ability to pass a context and additional request options.
  3131  //
  3132  // See AdminUpdateUserAttributes for details on how to use this API operation.
  3133  //
  3134  // The context must be non-nil and will be used for request cancellation. If
  3135  // the context is nil a panic will occur. In the future the SDK may create
  3136  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3137  // for more information on using Contexts.
  3138  func (c *CognitoIdentityProvider) AdminUpdateUserAttributesWithContext(ctx aws.Context, input *AdminUpdateUserAttributesInput, opts ...request.Option) (*AdminUpdateUserAttributesOutput, error) {
  3139  	req, out := c.AdminUpdateUserAttributesRequest(input)
  3140  	req.SetContext(ctx)
  3141  	req.ApplyOptions(opts...)
  3142  	return out, req.Send()
  3143  }
  3144  
  3145  const opAdminUserGlobalSignOut = "AdminUserGlobalSignOut"
  3146  
  3147  // AdminUserGlobalSignOutRequest generates a "aws/request.Request" representing the
  3148  // client's request for the AdminUserGlobalSignOut operation. The "output" return
  3149  // value will be populated with the request's response once the request completes
  3150  // successfully.
  3151  //
  3152  // Use "Send" method on the returned Request to send the API call to the service.
  3153  // the "output" return value is not valid until after Send returns without error.
  3154  //
  3155  // See AdminUserGlobalSignOut for more information on using the AdminUserGlobalSignOut
  3156  // API call, and error handling.
  3157  //
  3158  // This method is useful when you want to inject custom logic or configuration
  3159  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3160  //
  3161  //
  3162  //    // Example sending a request using the AdminUserGlobalSignOutRequest method.
  3163  //    req, resp := client.AdminUserGlobalSignOutRequest(params)
  3164  //
  3165  //    err := req.Send()
  3166  //    if err == nil { // resp is now filled
  3167  //        fmt.Println(resp)
  3168  //    }
  3169  //
  3170  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUserGlobalSignOut
  3171  func (c *CognitoIdentityProvider) AdminUserGlobalSignOutRequest(input *AdminUserGlobalSignOutInput) (req *request.Request, output *AdminUserGlobalSignOutOutput) {
  3172  	op := &request.Operation{
  3173  		Name:       opAdminUserGlobalSignOut,
  3174  		HTTPMethod: "POST",
  3175  		HTTPPath:   "/",
  3176  	}
  3177  
  3178  	if input == nil {
  3179  		input = &AdminUserGlobalSignOutInput{}
  3180  	}
  3181  
  3182  	output = &AdminUserGlobalSignOutOutput{}
  3183  	req = c.newRequest(op, input, output)
  3184  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3185  	return
  3186  }
  3187  
  3188  // AdminUserGlobalSignOut API operation for Amazon Cognito Identity Provider.
  3189  //
  3190  // Signs out users from all devices, as an administrator. It also invalidates
  3191  // all refresh tokens issued to a user. The user's current access and Id tokens
  3192  // remain valid until their expiry. Access and Id tokens expire one hour after
  3193  // they are issued.
  3194  //
  3195  // Calling this action requires developer credentials.
  3196  //
  3197  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3198  // with awserr.Error's Code and Message methods to get detailed information about
  3199  // the error.
  3200  //
  3201  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3202  // API operation AdminUserGlobalSignOut for usage and error information.
  3203  //
  3204  // Returned Error Types:
  3205  //   * ResourceNotFoundException
  3206  //   This exception is thrown when the Amazon Cognito service cannot find the
  3207  //   requested resource.
  3208  //
  3209  //   * InvalidParameterException
  3210  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3211  //   parameter.
  3212  //
  3213  //   * TooManyRequestsException
  3214  //   This exception is thrown when the user has made too many requests for a given
  3215  //   operation.
  3216  //
  3217  //   * NotAuthorizedException
  3218  //   This exception is thrown when a user is not authorized.
  3219  //
  3220  //   * UserNotFoundException
  3221  //   This exception is thrown when a user is not found.
  3222  //
  3223  //   * InternalErrorException
  3224  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3225  //
  3226  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUserGlobalSignOut
  3227  func (c *CognitoIdentityProvider) AdminUserGlobalSignOut(input *AdminUserGlobalSignOutInput) (*AdminUserGlobalSignOutOutput, error) {
  3228  	req, out := c.AdminUserGlobalSignOutRequest(input)
  3229  	return out, req.Send()
  3230  }
  3231  
  3232  // AdminUserGlobalSignOutWithContext is the same as AdminUserGlobalSignOut with the addition of
  3233  // the ability to pass a context and additional request options.
  3234  //
  3235  // See AdminUserGlobalSignOut for details on how to use this API operation.
  3236  //
  3237  // The context must be non-nil and will be used for request cancellation. If
  3238  // the context is nil a panic will occur. In the future the SDK may create
  3239  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3240  // for more information on using Contexts.
  3241  func (c *CognitoIdentityProvider) AdminUserGlobalSignOutWithContext(ctx aws.Context, input *AdminUserGlobalSignOutInput, opts ...request.Option) (*AdminUserGlobalSignOutOutput, error) {
  3242  	req, out := c.AdminUserGlobalSignOutRequest(input)
  3243  	req.SetContext(ctx)
  3244  	req.ApplyOptions(opts...)
  3245  	return out, req.Send()
  3246  }
  3247  
  3248  const opAssociateSoftwareToken = "AssociateSoftwareToken"
  3249  
  3250  // AssociateSoftwareTokenRequest generates a "aws/request.Request" representing the
  3251  // client's request for the AssociateSoftwareToken operation. The "output" return
  3252  // value will be populated with the request's response once the request completes
  3253  // successfully.
  3254  //
  3255  // Use "Send" method on the returned Request to send the API call to the service.
  3256  // the "output" return value is not valid until after Send returns without error.
  3257  //
  3258  // See AssociateSoftwareToken for more information on using the AssociateSoftwareToken
  3259  // API call, and error handling.
  3260  //
  3261  // This method is useful when you want to inject custom logic or configuration
  3262  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3263  //
  3264  //
  3265  //    // Example sending a request using the AssociateSoftwareTokenRequest method.
  3266  //    req, resp := client.AssociateSoftwareTokenRequest(params)
  3267  //
  3268  //    err := req.Send()
  3269  //    if err == nil { // resp is now filled
  3270  //        fmt.Println(resp)
  3271  //    }
  3272  //
  3273  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AssociateSoftwareToken
  3274  func (c *CognitoIdentityProvider) AssociateSoftwareTokenRequest(input *AssociateSoftwareTokenInput) (req *request.Request, output *AssociateSoftwareTokenOutput) {
  3275  	op := &request.Operation{
  3276  		Name:       opAssociateSoftwareToken,
  3277  		HTTPMethod: "POST",
  3278  		HTTPPath:   "/",
  3279  	}
  3280  
  3281  	if input == nil {
  3282  		input = &AssociateSoftwareTokenInput{}
  3283  	}
  3284  
  3285  	output = &AssociateSoftwareTokenOutput{}
  3286  	req = c.newRequest(op, input, output)
  3287  	return
  3288  }
  3289  
  3290  // AssociateSoftwareToken API operation for Amazon Cognito Identity Provider.
  3291  //
  3292  // Returns a unique generated shared secret key code for the user account. The
  3293  // request takes an access token or a session string, but not both.
  3294  //
  3295  // Calling AssociateSoftwareToken immediately disassociates the existing software
  3296  // token from the user account. If the user doesn't subsequently verify the
  3297  // software token, their account is essentially set up to authenticate without
  3298  // MFA. If MFA config is set to Optional at the user pool level, the user can
  3299  // then login without MFA. However, if MFA is set to Required for the user pool,
  3300  // the user will be asked to setup a new software token MFA during sign in.
  3301  //
  3302  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3303  // with awserr.Error's Code and Message methods to get detailed information about
  3304  // the error.
  3305  //
  3306  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3307  // API operation AssociateSoftwareToken for usage and error information.
  3308  //
  3309  // Returned Error Types:
  3310  //   * ConcurrentModificationException
  3311  //   This exception is thrown if two or more modifications are happening concurrently.
  3312  //
  3313  //   * InvalidParameterException
  3314  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3315  //   parameter.
  3316  //
  3317  //   * NotAuthorizedException
  3318  //   This exception is thrown when a user is not authorized.
  3319  //
  3320  //   * ResourceNotFoundException
  3321  //   This exception is thrown when the Amazon Cognito service cannot find the
  3322  //   requested resource.
  3323  //
  3324  //   * InternalErrorException
  3325  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3326  //
  3327  //   * SoftwareTokenMFANotFoundException
  3328  //   This exception is thrown when the software token TOTP multi-factor authentication
  3329  //   (MFA) is not enabled for the user pool.
  3330  //
  3331  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AssociateSoftwareToken
  3332  func (c *CognitoIdentityProvider) AssociateSoftwareToken(input *AssociateSoftwareTokenInput) (*AssociateSoftwareTokenOutput, error) {
  3333  	req, out := c.AssociateSoftwareTokenRequest(input)
  3334  	return out, req.Send()
  3335  }
  3336  
  3337  // AssociateSoftwareTokenWithContext is the same as AssociateSoftwareToken with the addition of
  3338  // the ability to pass a context and additional request options.
  3339  //
  3340  // See AssociateSoftwareToken for details on how to use this API operation.
  3341  //
  3342  // The context must be non-nil and will be used for request cancellation. If
  3343  // the context is nil a panic will occur. In the future the SDK may create
  3344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3345  // for more information on using Contexts.
  3346  func (c *CognitoIdentityProvider) AssociateSoftwareTokenWithContext(ctx aws.Context, input *AssociateSoftwareTokenInput, opts ...request.Option) (*AssociateSoftwareTokenOutput, error) {
  3347  	req, out := c.AssociateSoftwareTokenRequest(input)
  3348  	req.SetContext(ctx)
  3349  	req.ApplyOptions(opts...)
  3350  	return out, req.Send()
  3351  }
  3352  
  3353  const opChangePassword = "ChangePassword"
  3354  
  3355  // ChangePasswordRequest generates a "aws/request.Request" representing the
  3356  // client's request for the ChangePassword operation. The "output" return
  3357  // value will be populated with the request's response once the request completes
  3358  // successfully.
  3359  //
  3360  // Use "Send" method on the returned Request to send the API call to the service.
  3361  // the "output" return value is not valid until after Send returns without error.
  3362  //
  3363  // See ChangePassword for more information on using the ChangePassword
  3364  // API call, and error handling.
  3365  //
  3366  // This method is useful when you want to inject custom logic or configuration
  3367  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3368  //
  3369  //
  3370  //    // Example sending a request using the ChangePasswordRequest method.
  3371  //    req, resp := client.ChangePasswordRequest(params)
  3372  //
  3373  //    err := req.Send()
  3374  //    if err == nil { // resp is now filled
  3375  //        fmt.Println(resp)
  3376  //    }
  3377  //
  3378  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ChangePassword
  3379  func (c *CognitoIdentityProvider) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Request, output *ChangePasswordOutput) {
  3380  	op := &request.Operation{
  3381  		Name:       opChangePassword,
  3382  		HTTPMethod: "POST",
  3383  		HTTPPath:   "/",
  3384  	}
  3385  
  3386  	if input == nil {
  3387  		input = &ChangePasswordInput{}
  3388  	}
  3389  
  3390  	output = &ChangePasswordOutput{}
  3391  	req = c.newRequest(op, input, output)
  3392  	req.Config.Credentials = credentials.AnonymousCredentials
  3393  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3394  	return
  3395  }
  3396  
  3397  // ChangePassword API operation for Amazon Cognito Identity Provider.
  3398  //
  3399  // Changes the password for a specified user in a user pool.
  3400  //
  3401  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3402  // with awserr.Error's Code and Message methods to get detailed information about
  3403  // the error.
  3404  //
  3405  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3406  // API operation ChangePassword for usage and error information.
  3407  //
  3408  // Returned Error Types:
  3409  //   * ResourceNotFoundException
  3410  //   This exception is thrown when the Amazon Cognito service cannot find the
  3411  //   requested resource.
  3412  //
  3413  //   * InvalidParameterException
  3414  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3415  //   parameter.
  3416  //
  3417  //   * InvalidPasswordException
  3418  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3419  //   password.
  3420  //
  3421  //   * NotAuthorizedException
  3422  //   This exception is thrown when a user is not authorized.
  3423  //
  3424  //   * TooManyRequestsException
  3425  //   This exception is thrown when the user has made too many requests for a given
  3426  //   operation.
  3427  //
  3428  //   * LimitExceededException
  3429  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  3430  //   Web Services resource.
  3431  //
  3432  //   * PasswordResetRequiredException
  3433  //   This exception is thrown when a password reset is required.
  3434  //
  3435  //   * UserNotFoundException
  3436  //   This exception is thrown when a user is not found.
  3437  //
  3438  //   * UserNotConfirmedException
  3439  //   This exception is thrown when a user is not confirmed successfully.
  3440  //
  3441  //   * InternalErrorException
  3442  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3443  //
  3444  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ChangePassword
  3445  func (c *CognitoIdentityProvider) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, error) {
  3446  	req, out := c.ChangePasswordRequest(input)
  3447  	return out, req.Send()
  3448  }
  3449  
  3450  // ChangePasswordWithContext is the same as ChangePassword with the addition of
  3451  // the ability to pass a context and additional request options.
  3452  //
  3453  // See ChangePassword for details on how to use this API operation.
  3454  //
  3455  // The context must be non-nil and will be used for request cancellation. If
  3456  // the context is nil a panic will occur. In the future the SDK may create
  3457  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3458  // for more information on using Contexts.
  3459  func (c *CognitoIdentityProvider) ChangePasswordWithContext(ctx aws.Context, input *ChangePasswordInput, opts ...request.Option) (*ChangePasswordOutput, error) {
  3460  	req, out := c.ChangePasswordRequest(input)
  3461  	req.SetContext(ctx)
  3462  	req.ApplyOptions(opts...)
  3463  	return out, req.Send()
  3464  }
  3465  
  3466  const opConfirmDevice = "ConfirmDevice"
  3467  
  3468  // ConfirmDeviceRequest generates a "aws/request.Request" representing the
  3469  // client's request for the ConfirmDevice operation. The "output" return
  3470  // value will be populated with the request's response once the request completes
  3471  // successfully.
  3472  //
  3473  // Use "Send" method on the returned Request to send the API call to the service.
  3474  // the "output" return value is not valid until after Send returns without error.
  3475  //
  3476  // See ConfirmDevice for more information on using the ConfirmDevice
  3477  // API call, and error handling.
  3478  //
  3479  // This method is useful when you want to inject custom logic or configuration
  3480  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3481  //
  3482  //
  3483  //    // Example sending a request using the ConfirmDeviceRequest method.
  3484  //    req, resp := client.ConfirmDeviceRequest(params)
  3485  //
  3486  //    err := req.Send()
  3487  //    if err == nil { // resp is now filled
  3488  //        fmt.Println(resp)
  3489  //    }
  3490  //
  3491  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmDevice
  3492  func (c *CognitoIdentityProvider) ConfirmDeviceRequest(input *ConfirmDeviceInput) (req *request.Request, output *ConfirmDeviceOutput) {
  3493  	op := &request.Operation{
  3494  		Name:       opConfirmDevice,
  3495  		HTTPMethod: "POST",
  3496  		HTTPPath:   "/",
  3497  	}
  3498  
  3499  	if input == nil {
  3500  		input = &ConfirmDeviceInput{}
  3501  	}
  3502  
  3503  	output = &ConfirmDeviceOutput{}
  3504  	req = c.newRequest(op, input, output)
  3505  	return
  3506  }
  3507  
  3508  // ConfirmDevice API operation for Amazon Cognito Identity Provider.
  3509  //
  3510  // Confirms tracking of the device. This API call is the call that begins device
  3511  // tracking.
  3512  //
  3513  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3514  // with awserr.Error's Code and Message methods to get detailed information about
  3515  // the error.
  3516  //
  3517  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3518  // API operation ConfirmDevice for usage and error information.
  3519  //
  3520  // Returned Error Types:
  3521  //   * ResourceNotFoundException
  3522  //   This exception is thrown when the Amazon Cognito service cannot find the
  3523  //   requested resource.
  3524  //
  3525  //   * InvalidParameterException
  3526  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3527  //   parameter.
  3528  //
  3529  //   * NotAuthorizedException
  3530  //   This exception is thrown when a user is not authorized.
  3531  //
  3532  //   * InvalidPasswordException
  3533  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3534  //   password.
  3535  //
  3536  //   * InvalidLambdaResponseException
  3537  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3538  //   Lambda response.
  3539  //
  3540  //   * UsernameExistsException
  3541  //   This exception is thrown when Amazon Cognito encounters a user name that
  3542  //   already exists in the user pool.
  3543  //
  3544  //   * InvalidUserPoolConfigurationException
  3545  //   This exception is thrown when the user pool configuration is invalid.
  3546  //
  3547  //   * TooManyRequestsException
  3548  //   This exception is thrown when the user has made too many requests for a given
  3549  //   operation.
  3550  //
  3551  //   * PasswordResetRequiredException
  3552  //   This exception is thrown when a password reset is required.
  3553  //
  3554  //   * UserNotFoundException
  3555  //   This exception is thrown when a user is not found.
  3556  //
  3557  //   * UserNotConfirmedException
  3558  //   This exception is thrown when a user is not confirmed successfully.
  3559  //
  3560  //   * InternalErrorException
  3561  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3562  //
  3563  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmDevice
  3564  func (c *CognitoIdentityProvider) ConfirmDevice(input *ConfirmDeviceInput) (*ConfirmDeviceOutput, error) {
  3565  	req, out := c.ConfirmDeviceRequest(input)
  3566  	return out, req.Send()
  3567  }
  3568  
  3569  // ConfirmDeviceWithContext is the same as ConfirmDevice with the addition of
  3570  // the ability to pass a context and additional request options.
  3571  //
  3572  // See ConfirmDevice for details on how to use this API operation.
  3573  //
  3574  // The context must be non-nil and will be used for request cancellation. If
  3575  // the context is nil a panic will occur. In the future the SDK may create
  3576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3577  // for more information on using Contexts.
  3578  func (c *CognitoIdentityProvider) ConfirmDeviceWithContext(ctx aws.Context, input *ConfirmDeviceInput, opts ...request.Option) (*ConfirmDeviceOutput, error) {
  3579  	req, out := c.ConfirmDeviceRequest(input)
  3580  	req.SetContext(ctx)
  3581  	req.ApplyOptions(opts...)
  3582  	return out, req.Send()
  3583  }
  3584  
  3585  const opConfirmForgotPassword = "ConfirmForgotPassword"
  3586  
  3587  // ConfirmForgotPasswordRequest generates a "aws/request.Request" representing the
  3588  // client's request for the ConfirmForgotPassword operation. The "output" return
  3589  // value will be populated with the request's response once the request completes
  3590  // successfully.
  3591  //
  3592  // Use "Send" method on the returned Request to send the API call to the service.
  3593  // the "output" return value is not valid until after Send returns without error.
  3594  //
  3595  // See ConfirmForgotPassword for more information on using the ConfirmForgotPassword
  3596  // API call, and error handling.
  3597  //
  3598  // This method is useful when you want to inject custom logic or configuration
  3599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3600  //
  3601  //
  3602  //    // Example sending a request using the ConfirmForgotPasswordRequest method.
  3603  //    req, resp := client.ConfirmForgotPasswordRequest(params)
  3604  //
  3605  //    err := req.Send()
  3606  //    if err == nil { // resp is now filled
  3607  //        fmt.Println(resp)
  3608  //    }
  3609  //
  3610  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmForgotPassword
  3611  func (c *CognitoIdentityProvider) ConfirmForgotPasswordRequest(input *ConfirmForgotPasswordInput) (req *request.Request, output *ConfirmForgotPasswordOutput) {
  3612  	op := &request.Operation{
  3613  		Name:       opConfirmForgotPassword,
  3614  		HTTPMethod: "POST",
  3615  		HTTPPath:   "/",
  3616  	}
  3617  
  3618  	if input == nil {
  3619  		input = &ConfirmForgotPasswordInput{}
  3620  	}
  3621  
  3622  	output = &ConfirmForgotPasswordOutput{}
  3623  	req = c.newRequest(op, input, output)
  3624  	req.Config.Credentials = credentials.AnonymousCredentials
  3625  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3626  	return
  3627  }
  3628  
  3629  // ConfirmForgotPassword API operation for Amazon Cognito Identity Provider.
  3630  //
  3631  // Allows a user to enter a confirmation code to reset a forgotten password.
  3632  //
  3633  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3634  // with awserr.Error's Code and Message methods to get detailed information about
  3635  // the error.
  3636  //
  3637  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3638  // API operation ConfirmForgotPassword for usage and error information.
  3639  //
  3640  // Returned Error Types:
  3641  //   * ResourceNotFoundException
  3642  //   This exception is thrown when the Amazon Cognito service cannot find the
  3643  //   requested resource.
  3644  //
  3645  //   * UnexpectedLambdaException
  3646  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  3647  //   exception with the Lambda service.
  3648  //
  3649  //   * UserLambdaValidationException
  3650  //   This exception is thrown when the Amazon Cognito service encounters a user
  3651  //   validation exception with the Lambda service.
  3652  //
  3653  //   * InvalidParameterException
  3654  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3655  //   parameter.
  3656  //
  3657  //   * InvalidPasswordException
  3658  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3659  //   password.
  3660  //
  3661  //   * NotAuthorizedException
  3662  //   This exception is thrown when a user is not authorized.
  3663  //
  3664  //   * CodeMismatchException
  3665  //   This exception is thrown if the provided code does not match what the server
  3666  //   was expecting.
  3667  //
  3668  //   * ExpiredCodeException
  3669  //   This exception is thrown if a code has expired.
  3670  //
  3671  //   * TooManyFailedAttemptsException
  3672  //   This exception is thrown when the user has made too many failed attempts
  3673  //   for a given action (e.g., sign in).
  3674  //
  3675  //   * InvalidLambdaResponseException
  3676  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3677  //   Lambda response.
  3678  //
  3679  //   * TooManyRequestsException
  3680  //   This exception is thrown when the user has made too many requests for a given
  3681  //   operation.
  3682  //
  3683  //   * LimitExceededException
  3684  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  3685  //   Web Services resource.
  3686  //
  3687  //   * UserNotFoundException
  3688  //   This exception is thrown when a user is not found.
  3689  //
  3690  //   * UserNotConfirmedException
  3691  //   This exception is thrown when a user is not confirmed successfully.
  3692  //
  3693  //   * InternalErrorException
  3694  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3695  //
  3696  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmForgotPassword
  3697  func (c *CognitoIdentityProvider) ConfirmForgotPassword(input *ConfirmForgotPasswordInput) (*ConfirmForgotPasswordOutput, error) {
  3698  	req, out := c.ConfirmForgotPasswordRequest(input)
  3699  	return out, req.Send()
  3700  }
  3701  
  3702  // ConfirmForgotPasswordWithContext is the same as ConfirmForgotPassword with the addition of
  3703  // the ability to pass a context and additional request options.
  3704  //
  3705  // See ConfirmForgotPassword for details on how to use this API operation.
  3706  //
  3707  // The context must be non-nil and will be used for request cancellation. If
  3708  // the context is nil a panic will occur. In the future the SDK may create
  3709  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3710  // for more information on using Contexts.
  3711  func (c *CognitoIdentityProvider) ConfirmForgotPasswordWithContext(ctx aws.Context, input *ConfirmForgotPasswordInput, opts ...request.Option) (*ConfirmForgotPasswordOutput, error) {
  3712  	req, out := c.ConfirmForgotPasswordRequest(input)
  3713  	req.SetContext(ctx)
  3714  	req.ApplyOptions(opts...)
  3715  	return out, req.Send()
  3716  }
  3717  
  3718  const opConfirmSignUp = "ConfirmSignUp"
  3719  
  3720  // ConfirmSignUpRequest generates a "aws/request.Request" representing the
  3721  // client's request for the ConfirmSignUp operation. The "output" return
  3722  // value will be populated with the request's response once the request completes
  3723  // successfully.
  3724  //
  3725  // Use "Send" method on the returned Request to send the API call to the service.
  3726  // the "output" return value is not valid until after Send returns without error.
  3727  //
  3728  // See ConfirmSignUp for more information on using the ConfirmSignUp
  3729  // API call, and error handling.
  3730  //
  3731  // This method is useful when you want to inject custom logic or configuration
  3732  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3733  //
  3734  //
  3735  //    // Example sending a request using the ConfirmSignUpRequest method.
  3736  //    req, resp := client.ConfirmSignUpRequest(params)
  3737  //
  3738  //    err := req.Send()
  3739  //    if err == nil { // resp is now filled
  3740  //        fmt.Println(resp)
  3741  //    }
  3742  //
  3743  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmSignUp
  3744  func (c *CognitoIdentityProvider) ConfirmSignUpRequest(input *ConfirmSignUpInput) (req *request.Request, output *ConfirmSignUpOutput) {
  3745  	op := &request.Operation{
  3746  		Name:       opConfirmSignUp,
  3747  		HTTPMethod: "POST",
  3748  		HTTPPath:   "/",
  3749  	}
  3750  
  3751  	if input == nil {
  3752  		input = &ConfirmSignUpInput{}
  3753  	}
  3754  
  3755  	output = &ConfirmSignUpOutput{}
  3756  	req = c.newRequest(op, input, output)
  3757  	req.Config.Credentials = credentials.AnonymousCredentials
  3758  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3759  	return
  3760  }
  3761  
  3762  // ConfirmSignUp API operation for Amazon Cognito Identity Provider.
  3763  //
  3764  // Confirms registration of a user and handles the existing alias from a previous
  3765  // user.
  3766  //
  3767  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3768  // with awserr.Error's Code and Message methods to get detailed information about
  3769  // the error.
  3770  //
  3771  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3772  // API operation ConfirmSignUp for usage and error information.
  3773  //
  3774  // Returned Error Types:
  3775  //   * ResourceNotFoundException
  3776  //   This exception is thrown when the Amazon Cognito service cannot find the
  3777  //   requested resource.
  3778  //
  3779  //   * InvalidParameterException
  3780  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3781  //   parameter.
  3782  //
  3783  //   * UnexpectedLambdaException
  3784  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  3785  //   exception with the Lambda service.
  3786  //
  3787  //   * UserLambdaValidationException
  3788  //   This exception is thrown when the Amazon Cognito service encounters a user
  3789  //   validation exception with the Lambda service.
  3790  //
  3791  //   * NotAuthorizedException
  3792  //   This exception is thrown when a user is not authorized.
  3793  //
  3794  //   * TooManyFailedAttemptsException
  3795  //   This exception is thrown when the user has made too many failed attempts
  3796  //   for a given action (e.g., sign in).
  3797  //
  3798  //   * CodeMismatchException
  3799  //   This exception is thrown if the provided code does not match what the server
  3800  //   was expecting.
  3801  //
  3802  //   * ExpiredCodeException
  3803  //   This exception is thrown if a code has expired.
  3804  //
  3805  //   * InvalidLambdaResponseException
  3806  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3807  //   Lambda response.
  3808  //
  3809  //   * AliasExistsException
  3810  //   This exception is thrown when a user tries to confirm the account with an
  3811  //   email or phone number that has already been supplied as an alias from a different
  3812  //   account. This exception tells user that an account with this email or phone
  3813  //   already exists.
  3814  //
  3815  //   * TooManyRequestsException
  3816  //   This exception is thrown when the user has made too many requests for a given
  3817  //   operation.
  3818  //
  3819  //   * LimitExceededException
  3820  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  3821  //   Web Services resource.
  3822  //
  3823  //   * UserNotFoundException
  3824  //   This exception is thrown when a user is not found.
  3825  //
  3826  //   * InternalErrorException
  3827  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3828  //
  3829  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmSignUp
  3830  func (c *CognitoIdentityProvider) ConfirmSignUp(input *ConfirmSignUpInput) (*ConfirmSignUpOutput, error) {
  3831  	req, out := c.ConfirmSignUpRequest(input)
  3832  	return out, req.Send()
  3833  }
  3834  
  3835  // ConfirmSignUpWithContext is the same as ConfirmSignUp with the addition of
  3836  // the ability to pass a context and additional request options.
  3837  //
  3838  // See ConfirmSignUp for details on how to use this API operation.
  3839  //
  3840  // The context must be non-nil and will be used for request cancellation. If
  3841  // the context is nil a panic will occur. In the future the SDK may create
  3842  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3843  // for more information on using Contexts.
  3844  func (c *CognitoIdentityProvider) ConfirmSignUpWithContext(ctx aws.Context, input *ConfirmSignUpInput, opts ...request.Option) (*ConfirmSignUpOutput, error) {
  3845  	req, out := c.ConfirmSignUpRequest(input)
  3846  	req.SetContext(ctx)
  3847  	req.ApplyOptions(opts...)
  3848  	return out, req.Send()
  3849  }
  3850  
  3851  const opCreateGroup = "CreateGroup"
  3852  
  3853  // CreateGroupRequest generates a "aws/request.Request" representing the
  3854  // client's request for the CreateGroup operation. The "output" return
  3855  // value will be populated with the request's response once the request completes
  3856  // successfully.
  3857  //
  3858  // Use "Send" method on the returned Request to send the API call to the service.
  3859  // the "output" return value is not valid until after Send returns without error.
  3860  //
  3861  // See CreateGroup for more information on using the CreateGroup
  3862  // API call, and error handling.
  3863  //
  3864  // This method is useful when you want to inject custom logic or configuration
  3865  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3866  //
  3867  //
  3868  //    // Example sending a request using the CreateGroupRequest method.
  3869  //    req, resp := client.CreateGroupRequest(params)
  3870  //
  3871  //    err := req.Send()
  3872  //    if err == nil { // resp is now filled
  3873  //        fmt.Println(resp)
  3874  //    }
  3875  //
  3876  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateGroup
  3877  func (c *CognitoIdentityProvider) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
  3878  	op := &request.Operation{
  3879  		Name:       opCreateGroup,
  3880  		HTTPMethod: "POST",
  3881  		HTTPPath:   "/",
  3882  	}
  3883  
  3884  	if input == nil {
  3885  		input = &CreateGroupInput{}
  3886  	}
  3887  
  3888  	output = &CreateGroupOutput{}
  3889  	req = c.newRequest(op, input, output)
  3890  	return
  3891  }
  3892  
  3893  // CreateGroup API operation for Amazon Cognito Identity Provider.
  3894  //
  3895  // Creates a new group in the specified user pool.
  3896  //
  3897  // Calling this action requires developer credentials.
  3898  //
  3899  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3900  // with awserr.Error's Code and Message methods to get detailed information about
  3901  // the error.
  3902  //
  3903  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  3904  // API operation CreateGroup for usage and error information.
  3905  //
  3906  // Returned Error Types:
  3907  //   * InvalidParameterException
  3908  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  3909  //   parameter.
  3910  //
  3911  //   * GroupExistsException
  3912  //   This exception is thrown when Amazon Cognito encounters a group that already
  3913  //   exists in the user pool.
  3914  //
  3915  //   * ResourceNotFoundException
  3916  //   This exception is thrown when the Amazon Cognito service cannot find the
  3917  //   requested resource.
  3918  //
  3919  //   * TooManyRequestsException
  3920  //   This exception is thrown when the user has made too many requests for a given
  3921  //   operation.
  3922  //
  3923  //   * LimitExceededException
  3924  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  3925  //   Web Services resource.
  3926  //
  3927  //   * NotAuthorizedException
  3928  //   This exception is thrown when a user is not authorized.
  3929  //
  3930  //   * InternalErrorException
  3931  //   This exception is thrown when Amazon Cognito encounters an internal error.
  3932  //
  3933  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateGroup
  3934  func (c *CognitoIdentityProvider) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
  3935  	req, out := c.CreateGroupRequest(input)
  3936  	return out, req.Send()
  3937  }
  3938  
  3939  // CreateGroupWithContext is the same as CreateGroup with the addition of
  3940  // the ability to pass a context and additional request options.
  3941  //
  3942  // See CreateGroup for details on how to use this API operation.
  3943  //
  3944  // The context must be non-nil and will be used for request cancellation. If
  3945  // the context is nil a panic will occur. In the future the SDK may create
  3946  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3947  // for more information on using Contexts.
  3948  func (c *CognitoIdentityProvider) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) {
  3949  	req, out := c.CreateGroupRequest(input)
  3950  	req.SetContext(ctx)
  3951  	req.ApplyOptions(opts...)
  3952  	return out, req.Send()
  3953  }
  3954  
  3955  const opCreateIdentityProvider = "CreateIdentityProvider"
  3956  
  3957  // CreateIdentityProviderRequest generates a "aws/request.Request" representing the
  3958  // client's request for the CreateIdentityProvider operation. The "output" return
  3959  // value will be populated with the request's response once the request completes
  3960  // successfully.
  3961  //
  3962  // Use "Send" method on the returned Request to send the API call to the service.
  3963  // the "output" return value is not valid until after Send returns without error.
  3964  //
  3965  // See CreateIdentityProvider for more information on using the CreateIdentityProvider
  3966  // API call, and error handling.
  3967  //
  3968  // This method is useful when you want to inject custom logic or configuration
  3969  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3970  //
  3971  //
  3972  //    // Example sending a request using the CreateIdentityProviderRequest method.
  3973  //    req, resp := client.CreateIdentityProviderRequest(params)
  3974  //
  3975  //    err := req.Send()
  3976  //    if err == nil { // resp is now filled
  3977  //        fmt.Println(resp)
  3978  //    }
  3979  //
  3980  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateIdentityProvider
  3981  func (c *CognitoIdentityProvider) CreateIdentityProviderRequest(input *CreateIdentityProviderInput) (req *request.Request, output *CreateIdentityProviderOutput) {
  3982  	op := &request.Operation{
  3983  		Name:       opCreateIdentityProvider,
  3984  		HTTPMethod: "POST",
  3985  		HTTPPath:   "/",
  3986  	}
  3987  
  3988  	if input == nil {
  3989  		input = &CreateIdentityProviderInput{}
  3990  	}
  3991  
  3992  	output = &CreateIdentityProviderOutput{}
  3993  	req = c.newRequest(op, input, output)
  3994  	return
  3995  }
  3996  
  3997  // CreateIdentityProvider API operation for Amazon Cognito Identity Provider.
  3998  //
  3999  // Creates an identity provider for a user pool.
  4000  //
  4001  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4002  // with awserr.Error's Code and Message methods to get detailed information about
  4003  // the error.
  4004  //
  4005  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4006  // API operation CreateIdentityProvider for usage and error information.
  4007  //
  4008  // Returned Error Types:
  4009  //   * InvalidParameterException
  4010  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4011  //   parameter.
  4012  //
  4013  //   * DuplicateProviderException
  4014  //   This exception is thrown when the provider is already supported by the user
  4015  //   pool.
  4016  //
  4017  //   * ResourceNotFoundException
  4018  //   This exception is thrown when the Amazon Cognito service cannot find the
  4019  //   requested resource.
  4020  //
  4021  //   * NotAuthorizedException
  4022  //   This exception is thrown when a user is not authorized.
  4023  //
  4024  //   * TooManyRequestsException
  4025  //   This exception is thrown when the user has made too many requests for a given
  4026  //   operation.
  4027  //
  4028  //   * LimitExceededException
  4029  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  4030  //   Web Services resource.
  4031  //
  4032  //   * InternalErrorException
  4033  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4034  //
  4035  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateIdentityProvider
  4036  func (c *CognitoIdentityProvider) CreateIdentityProvider(input *CreateIdentityProviderInput) (*CreateIdentityProviderOutput, error) {
  4037  	req, out := c.CreateIdentityProviderRequest(input)
  4038  	return out, req.Send()
  4039  }
  4040  
  4041  // CreateIdentityProviderWithContext is the same as CreateIdentityProvider with the addition of
  4042  // the ability to pass a context and additional request options.
  4043  //
  4044  // See CreateIdentityProvider for details on how to use this API operation.
  4045  //
  4046  // The context must be non-nil and will be used for request cancellation. If
  4047  // the context is nil a panic will occur. In the future the SDK may create
  4048  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4049  // for more information on using Contexts.
  4050  func (c *CognitoIdentityProvider) CreateIdentityProviderWithContext(ctx aws.Context, input *CreateIdentityProviderInput, opts ...request.Option) (*CreateIdentityProviderOutput, error) {
  4051  	req, out := c.CreateIdentityProviderRequest(input)
  4052  	req.SetContext(ctx)
  4053  	req.ApplyOptions(opts...)
  4054  	return out, req.Send()
  4055  }
  4056  
  4057  const opCreateResourceServer = "CreateResourceServer"
  4058  
  4059  // CreateResourceServerRequest generates a "aws/request.Request" representing the
  4060  // client's request for the CreateResourceServer operation. The "output" return
  4061  // value will be populated with the request's response once the request completes
  4062  // successfully.
  4063  //
  4064  // Use "Send" method on the returned Request to send the API call to the service.
  4065  // the "output" return value is not valid until after Send returns without error.
  4066  //
  4067  // See CreateResourceServer for more information on using the CreateResourceServer
  4068  // API call, and error handling.
  4069  //
  4070  // This method is useful when you want to inject custom logic or configuration
  4071  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4072  //
  4073  //
  4074  //    // Example sending a request using the CreateResourceServerRequest method.
  4075  //    req, resp := client.CreateResourceServerRequest(params)
  4076  //
  4077  //    err := req.Send()
  4078  //    if err == nil { // resp is now filled
  4079  //        fmt.Println(resp)
  4080  //    }
  4081  //
  4082  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateResourceServer
  4083  func (c *CognitoIdentityProvider) CreateResourceServerRequest(input *CreateResourceServerInput) (req *request.Request, output *CreateResourceServerOutput) {
  4084  	op := &request.Operation{
  4085  		Name:       opCreateResourceServer,
  4086  		HTTPMethod: "POST",
  4087  		HTTPPath:   "/",
  4088  	}
  4089  
  4090  	if input == nil {
  4091  		input = &CreateResourceServerInput{}
  4092  	}
  4093  
  4094  	output = &CreateResourceServerOutput{}
  4095  	req = c.newRequest(op, input, output)
  4096  	return
  4097  }
  4098  
  4099  // CreateResourceServer API operation for Amazon Cognito Identity Provider.
  4100  //
  4101  // Creates a new OAuth2.0 resource server and defines custom scopes in it.
  4102  //
  4103  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4104  // with awserr.Error's Code and Message methods to get detailed information about
  4105  // the error.
  4106  //
  4107  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4108  // API operation CreateResourceServer for usage and error information.
  4109  //
  4110  // Returned Error Types:
  4111  //   * InvalidParameterException
  4112  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4113  //   parameter.
  4114  //
  4115  //   * ResourceNotFoundException
  4116  //   This exception is thrown when the Amazon Cognito service cannot find the
  4117  //   requested resource.
  4118  //
  4119  //   * NotAuthorizedException
  4120  //   This exception is thrown when a user is not authorized.
  4121  //
  4122  //   * TooManyRequestsException
  4123  //   This exception is thrown when the user has made too many requests for a given
  4124  //   operation.
  4125  //
  4126  //   * LimitExceededException
  4127  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  4128  //   Web Services resource.
  4129  //
  4130  //   * InternalErrorException
  4131  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4132  //
  4133  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateResourceServer
  4134  func (c *CognitoIdentityProvider) CreateResourceServer(input *CreateResourceServerInput) (*CreateResourceServerOutput, error) {
  4135  	req, out := c.CreateResourceServerRequest(input)
  4136  	return out, req.Send()
  4137  }
  4138  
  4139  // CreateResourceServerWithContext is the same as CreateResourceServer with the addition of
  4140  // the ability to pass a context and additional request options.
  4141  //
  4142  // See CreateResourceServer for details on how to use this API operation.
  4143  //
  4144  // The context must be non-nil and will be used for request cancellation. If
  4145  // the context is nil a panic will occur. In the future the SDK may create
  4146  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4147  // for more information on using Contexts.
  4148  func (c *CognitoIdentityProvider) CreateResourceServerWithContext(ctx aws.Context, input *CreateResourceServerInput, opts ...request.Option) (*CreateResourceServerOutput, error) {
  4149  	req, out := c.CreateResourceServerRequest(input)
  4150  	req.SetContext(ctx)
  4151  	req.ApplyOptions(opts...)
  4152  	return out, req.Send()
  4153  }
  4154  
  4155  const opCreateUserImportJob = "CreateUserImportJob"
  4156  
  4157  // CreateUserImportJobRequest generates a "aws/request.Request" representing the
  4158  // client's request for the CreateUserImportJob operation. The "output" return
  4159  // value will be populated with the request's response once the request completes
  4160  // successfully.
  4161  //
  4162  // Use "Send" method on the returned Request to send the API call to the service.
  4163  // the "output" return value is not valid until after Send returns without error.
  4164  //
  4165  // See CreateUserImportJob for more information on using the CreateUserImportJob
  4166  // API call, and error handling.
  4167  //
  4168  // This method is useful when you want to inject custom logic or configuration
  4169  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4170  //
  4171  //
  4172  //    // Example sending a request using the CreateUserImportJobRequest method.
  4173  //    req, resp := client.CreateUserImportJobRequest(params)
  4174  //
  4175  //    err := req.Send()
  4176  //    if err == nil { // resp is now filled
  4177  //        fmt.Println(resp)
  4178  //    }
  4179  //
  4180  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserImportJob
  4181  func (c *CognitoIdentityProvider) CreateUserImportJobRequest(input *CreateUserImportJobInput) (req *request.Request, output *CreateUserImportJobOutput) {
  4182  	op := &request.Operation{
  4183  		Name:       opCreateUserImportJob,
  4184  		HTTPMethod: "POST",
  4185  		HTTPPath:   "/",
  4186  	}
  4187  
  4188  	if input == nil {
  4189  		input = &CreateUserImportJobInput{}
  4190  	}
  4191  
  4192  	output = &CreateUserImportJobOutput{}
  4193  	req = c.newRequest(op, input, output)
  4194  	return
  4195  }
  4196  
  4197  // CreateUserImportJob API operation for Amazon Cognito Identity Provider.
  4198  //
  4199  // Creates the user import job.
  4200  //
  4201  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4202  // with awserr.Error's Code and Message methods to get detailed information about
  4203  // the error.
  4204  //
  4205  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4206  // API operation CreateUserImportJob for usage and error information.
  4207  //
  4208  // Returned Error Types:
  4209  //   * ResourceNotFoundException
  4210  //   This exception is thrown when the Amazon Cognito service cannot find the
  4211  //   requested resource.
  4212  //
  4213  //   * InvalidParameterException
  4214  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4215  //   parameter.
  4216  //
  4217  //   * TooManyRequestsException
  4218  //   This exception is thrown when the user has made too many requests for a given
  4219  //   operation.
  4220  //
  4221  //   * PreconditionNotMetException
  4222  //   This exception is thrown when a precondition is not met.
  4223  //
  4224  //   * NotAuthorizedException
  4225  //   This exception is thrown when a user is not authorized.
  4226  //
  4227  //   * LimitExceededException
  4228  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  4229  //   Web Services resource.
  4230  //
  4231  //   * InternalErrorException
  4232  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4233  //
  4234  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserImportJob
  4235  func (c *CognitoIdentityProvider) CreateUserImportJob(input *CreateUserImportJobInput) (*CreateUserImportJobOutput, error) {
  4236  	req, out := c.CreateUserImportJobRequest(input)
  4237  	return out, req.Send()
  4238  }
  4239  
  4240  // CreateUserImportJobWithContext is the same as CreateUserImportJob with the addition of
  4241  // the ability to pass a context and additional request options.
  4242  //
  4243  // See CreateUserImportJob for details on how to use this API operation.
  4244  //
  4245  // The context must be non-nil and will be used for request cancellation. If
  4246  // the context is nil a panic will occur. In the future the SDK may create
  4247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4248  // for more information on using Contexts.
  4249  func (c *CognitoIdentityProvider) CreateUserImportJobWithContext(ctx aws.Context, input *CreateUserImportJobInput, opts ...request.Option) (*CreateUserImportJobOutput, error) {
  4250  	req, out := c.CreateUserImportJobRequest(input)
  4251  	req.SetContext(ctx)
  4252  	req.ApplyOptions(opts...)
  4253  	return out, req.Send()
  4254  }
  4255  
  4256  const opCreateUserPool = "CreateUserPool"
  4257  
  4258  // CreateUserPoolRequest generates a "aws/request.Request" representing the
  4259  // client's request for the CreateUserPool operation. The "output" return
  4260  // value will be populated with the request's response once the request completes
  4261  // successfully.
  4262  //
  4263  // Use "Send" method on the returned Request to send the API call to the service.
  4264  // the "output" return value is not valid until after Send returns without error.
  4265  //
  4266  // See CreateUserPool for more information on using the CreateUserPool
  4267  // API call, and error handling.
  4268  //
  4269  // This method is useful when you want to inject custom logic or configuration
  4270  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4271  //
  4272  //
  4273  //    // Example sending a request using the CreateUserPoolRequest method.
  4274  //    req, resp := client.CreateUserPoolRequest(params)
  4275  //
  4276  //    err := req.Send()
  4277  //    if err == nil { // resp is now filled
  4278  //        fmt.Println(resp)
  4279  //    }
  4280  //
  4281  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPool
  4282  func (c *CognitoIdentityProvider) CreateUserPoolRequest(input *CreateUserPoolInput) (req *request.Request, output *CreateUserPoolOutput) {
  4283  	op := &request.Operation{
  4284  		Name:       opCreateUserPool,
  4285  		HTTPMethod: "POST",
  4286  		HTTPPath:   "/",
  4287  	}
  4288  
  4289  	if input == nil {
  4290  		input = &CreateUserPoolInput{}
  4291  	}
  4292  
  4293  	output = &CreateUserPoolOutput{}
  4294  	req = c.newRequest(op, input, output)
  4295  	return
  4296  }
  4297  
  4298  // CreateUserPool API operation for Amazon Cognito Identity Provider.
  4299  //
  4300  // Creates a new Amazon Cognito user pool and sets the password policy for the
  4301  // pool.
  4302  //
  4303  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  4304  // telecom carriers require that you register an origination phone number before
  4305  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  4306  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  4307  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  4308  // registered number automatically. Otherwise, Cognito users that must receive
  4309  // SMS messages might be unable to sign up, activate their accounts, or sign
  4310  // in.
  4311  //
  4312  // If you have never used SMS text messages with Amazon Cognito or any other
  4313  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  4314  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  4315  // , you’ll have limitations, such as sending messages to only verified phone
  4316  // numbers. After testing in the sandbox environment, you can move out of the
  4317  // SMS sandbox and into production. For more information, see SMS message settings
  4318  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  4319  // in the Amazon Cognito Developer Guide.
  4320  //
  4321  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4322  // with awserr.Error's Code and Message methods to get detailed information about
  4323  // the error.
  4324  //
  4325  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4326  // API operation CreateUserPool for usage and error information.
  4327  //
  4328  // Returned Error Types:
  4329  //   * InvalidParameterException
  4330  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4331  //   parameter.
  4332  //
  4333  //   * TooManyRequestsException
  4334  //   This exception is thrown when the user has made too many requests for a given
  4335  //   operation.
  4336  //
  4337  //   * LimitExceededException
  4338  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  4339  //   Web Services resource.
  4340  //
  4341  //   * InvalidSmsRoleAccessPolicyException
  4342  //   This exception is returned when the role provided for SMS configuration does
  4343  //   not have permission to publish using Amazon SNS.
  4344  //
  4345  //   * InvalidSmsRoleTrustRelationshipException
  4346  //   This exception is thrown when the trust relationship is invalid for the role
  4347  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  4348  //   or the external ID provided in the role does not match what is provided in
  4349  //   the SMS configuration for the user pool.
  4350  //
  4351  //   * InvalidEmailRoleAccessPolicyException
  4352  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  4353  //   identity. HTTP status code: 400.
  4354  //
  4355  //   * NotAuthorizedException
  4356  //   This exception is thrown when a user is not authorized.
  4357  //
  4358  //   * UserPoolTaggingException
  4359  //   This exception is thrown when a user pool tag cannot be set or updated.
  4360  //
  4361  //   * InternalErrorException
  4362  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4363  //
  4364  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPool
  4365  func (c *CognitoIdentityProvider) CreateUserPool(input *CreateUserPoolInput) (*CreateUserPoolOutput, error) {
  4366  	req, out := c.CreateUserPoolRequest(input)
  4367  	return out, req.Send()
  4368  }
  4369  
  4370  // CreateUserPoolWithContext is the same as CreateUserPool with the addition of
  4371  // the ability to pass a context and additional request options.
  4372  //
  4373  // See CreateUserPool for details on how to use this API operation.
  4374  //
  4375  // The context must be non-nil and will be used for request cancellation. If
  4376  // the context is nil a panic will occur. In the future the SDK may create
  4377  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4378  // for more information on using Contexts.
  4379  func (c *CognitoIdentityProvider) CreateUserPoolWithContext(ctx aws.Context, input *CreateUserPoolInput, opts ...request.Option) (*CreateUserPoolOutput, error) {
  4380  	req, out := c.CreateUserPoolRequest(input)
  4381  	req.SetContext(ctx)
  4382  	req.ApplyOptions(opts...)
  4383  	return out, req.Send()
  4384  }
  4385  
  4386  const opCreateUserPoolClient = "CreateUserPoolClient"
  4387  
  4388  // CreateUserPoolClientRequest generates a "aws/request.Request" representing the
  4389  // client's request for the CreateUserPoolClient operation. The "output" return
  4390  // value will be populated with the request's response once the request completes
  4391  // successfully.
  4392  //
  4393  // Use "Send" method on the returned Request to send the API call to the service.
  4394  // the "output" return value is not valid until after Send returns without error.
  4395  //
  4396  // See CreateUserPoolClient for more information on using the CreateUserPoolClient
  4397  // API call, and error handling.
  4398  //
  4399  // This method is useful when you want to inject custom logic or configuration
  4400  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4401  //
  4402  //
  4403  //    // Example sending a request using the CreateUserPoolClientRequest method.
  4404  //    req, resp := client.CreateUserPoolClientRequest(params)
  4405  //
  4406  //    err := req.Send()
  4407  //    if err == nil { // resp is now filled
  4408  //        fmt.Println(resp)
  4409  //    }
  4410  //
  4411  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolClient
  4412  func (c *CognitoIdentityProvider) CreateUserPoolClientRequest(input *CreateUserPoolClientInput) (req *request.Request, output *CreateUserPoolClientOutput) {
  4413  	op := &request.Operation{
  4414  		Name:       opCreateUserPoolClient,
  4415  		HTTPMethod: "POST",
  4416  		HTTPPath:   "/",
  4417  	}
  4418  
  4419  	if input == nil {
  4420  		input = &CreateUserPoolClientInput{}
  4421  	}
  4422  
  4423  	output = &CreateUserPoolClientOutput{}
  4424  	req = c.newRequest(op, input, output)
  4425  	return
  4426  }
  4427  
  4428  // CreateUserPoolClient API operation for Amazon Cognito Identity Provider.
  4429  //
  4430  // Creates the user pool client.
  4431  //
  4432  // When you create a new user pool client, token revocation is automatically
  4433  // enabled. For more information about revoking tokens, see RevokeToken (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html).
  4434  //
  4435  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4436  // with awserr.Error's Code and Message methods to get detailed information about
  4437  // the error.
  4438  //
  4439  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4440  // API operation CreateUserPoolClient for usage and error information.
  4441  //
  4442  // Returned Error Types:
  4443  //   * InvalidParameterException
  4444  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4445  //   parameter.
  4446  //
  4447  //   * ResourceNotFoundException
  4448  //   This exception is thrown when the Amazon Cognito service cannot find the
  4449  //   requested resource.
  4450  //
  4451  //   * TooManyRequestsException
  4452  //   This exception is thrown when the user has made too many requests for a given
  4453  //   operation.
  4454  //
  4455  //   * LimitExceededException
  4456  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  4457  //   Web Services resource.
  4458  //
  4459  //   * NotAuthorizedException
  4460  //   This exception is thrown when a user is not authorized.
  4461  //
  4462  //   * ScopeDoesNotExistException
  4463  //   This exception is thrown when the specified scope does not exist.
  4464  //
  4465  //   * InvalidOAuthFlowException
  4466  //   This exception is thrown when the specified OAuth flow is invalid.
  4467  //
  4468  //   * InternalErrorException
  4469  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4470  //
  4471  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolClient
  4472  func (c *CognitoIdentityProvider) CreateUserPoolClient(input *CreateUserPoolClientInput) (*CreateUserPoolClientOutput, error) {
  4473  	req, out := c.CreateUserPoolClientRequest(input)
  4474  	return out, req.Send()
  4475  }
  4476  
  4477  // CreateUserPoolClientWithContext is the same as CreateUserPoolClient with the addition of
  4478  // the ability to pass a context and additional request options.
  4479  //
  4480  // See CreateUserPoolClient for details on how to use this API operation.
  4481  //
  4482  // The context must be non-nil and will be used for request cancellation. If
  4483  // the context is nil a panic will occur. In the future the SDK may create
  4484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4485  // for more information on using Contexts.
  4486  func (c *CognitoIdentityProvider) CreateUserPoolClientWithContext(ctx aws.Context, input *CreateUserPoolClientInput, opts ...request.Option) (*CreateUserPoolClientOutput, error) {
  4487  	req, out := c.CreateUserPoolClientRequest(input)
  4488  	req.SetContext(ctx)
  4489  	req.ApplyOptions(opts...)
  4490  	return out, req.Send()
  4491  }
  4492  
  4493  const opCreateUserPoolDomain = "CreateUserPoolDomain"
  4494  
  4495  // CreateUserPoolDomainRequest generates a "aws/request.Request" representing the
  4496  // client's request for the CreateUserPoolDomain operation. The "output" return
  4497  // value will be populated with the request's response once the request completes
  4498  // successfully.
  4499  //
  4500  // Use "Send" method on the returned Request to send the API call to the service.
  4501  // the "output" return value is not valid until after Send returns without error.
  4502  //
  4503  // See CreateUserPoolDomain for more information on using the CreateUserPoolDomain
  4504  // API call, and error handling.
  4505  //
  4506  // This method is useful when you want to inject custom logic or configuration
  4507  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4508  //
  4509  //
  4510  //    // Example sending a request using the CreateUserPoolDomainRequest method.
  4511  //    req, resp := client.CreateUserPoolDomainRequest(params)
  4512  //
  4513  //    err := req.Send()
  4514  //    if err == nil { // resp is now filled
  4515  //        fmt.Println(resp)
  4516  //    }
  4517  //
  4518  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolDomain
  4519  func (c *CognitoIdentityProvider) CreateUserPoolDomainRequest(input *CreateUserPoolDomainInput) (req *request.Request, output *CreateUserPoolDomainOutput) {
  4520  	op := &request.Operation{
  4521  		Name:       opCreateUserPoolDomain,
  4522  		HTTPMethod: "POST",
  4523  		HTTPPath:   "/",
  4524  	}
  4525  
  4526  	if input == nil {
  4527  		input = &CreateUserPoolDomainInput{}
  4528  	}
  4529  
  4530  	output = &CreateUserPoolDomainOutput{}
  4531  	req = c.newRequest(op, input, output)
  4532  	return
  4533  }
  4534  
  4535  // CreateUserPoolDomain API operation for Amazon Cognito Identity Provider.
  4536  //
  4537  // Creates a new domain for a user pool.
  4538  //
  4539  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4540  // with awserr.Error's Code and Message methods to get detailed information about
  4541  // the error.
  4542  //
  4543  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4544  // API operation CreateUserPoolDomain for usage and error information.
  4545  //
  4546  // Returned Error Types:
  4547  //   * InvalidParameterException
  4548  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4549  //   parameter.
  4550  //
  4551  //   * NotAuthorizedException
  4552  //   This exception is thrown when a user is not authorized.
  4553  //
  4554  //   * ResourceNotFoundException
  4555  //   This exception is thrown when the Amazon Cognito service cannot find the
  4556  //   requested resource.
  4557  //
  4558  //   * LimitExceededException
  4559  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  4560  //   Web Services resource.
  4561  //
  4562  //   * InternalErrorException
  4563  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4564  //
  4565  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolDomain
  4566  func (c *CognitoIdentityProvider) CreateUserPoolDomain(input *CreateUserPoolDomainInput) (*CreateUserPoolDomainOutput, error) {
  4567  	req, out := c.CreateUserPoolDomainRequest(input)
  4568  	return out, req.Send()
  4569  }
  4570  
  4571  // CreateUserPoolDomainWithContext is the same as CreateUserPoolDomain with the addition of
  4572  // the ability to pass a context and additional request options.
  4573  //
  4574  // See CreateUserPoolDomain for details on how to use this API operation.
  4575  //
  4576  // The context must be non-nil and will be used for request cancellation. If
  4577  // the context is nil a panic will occur. In the future the SDK may create
  4578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4579  // for more information on using Contexts.
  4580  func (c *CognitoIdentityProvider) CreateUserPoolDomainWithContext(ctx aws.Context, input *CreateUserPoolDomainInput, opts ...request.Option) (*CreateUserPoolDomainOutput, error) {
  4581  	req, out := c.CreateUserPoolDomainRequest(input)
  4582  	req.SetContext(ctx)
  4583  	req.ApplyOptions(opts...)
  4584  	return out, req.Send()
  4585  }
  4586  
  4587  const opDeleteGroup = "DeleteGroup"
  4588  
  4589  // DeleteGroupRequest generates a "aws/request.Request" representing the
  4590  // client's request for the DeleteGroup operation. The "output" return
  4591  // value will be populated with the request's response once the request completes
  4592  // successfully.
  4593  //
  4594  // Use "Send" method on the returned Request to send the API call to the service.
  4595  // the "output" return value is not valid until after Send returns without error.
  4596  //
  4597  // See DeleteGroup for more information on using the DeleteGroup
  4598  // API call, and error handling.
  4599  //
  4600  // This method is useful when you want to inject custom logic or configuration
  4601  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4602  //
  4603  //
  4604  //    // Example sending a request using the DeleteGroupRequest method.
  4605  //    req, resp := client.DeleteGroupRequest(params)
  4606  //
  4607  //    err := req.Send()
  4608  //    if err == nil { // resp is now filled
  4609  //        fmt.Println(resp)
  4610  //    }
  4611  //
  4612  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteGroup
  4613  func (c *CognitoIdentityProvider) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
  4614  	op := &request.Operation{
  4615  		Name:       opDeleteGroup,
  4616  		HTTPMethod: "POST",
  4617  		HTTPPath:   "/",
  4618  	}
  4619  
  4620  	if input == nil {
  4621  		input = &DeleteGroupInput{}
  4622  	}
  4623  
  4624  	output = &DeleteGroupOutput{}
  4625  	req = c.newRequest(op, input, output)
  4626  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4627  	return
  4628  }
  4629  
  4630  // DeleteGroup API operation for Amazon Cognito Identity Provider.
  4631  //
  4632  // Deletes a group.
  4633  //
  4634  // Calling this action requires developer credentials.
  4635  //
  4636  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4637  // with awserr.Error's Code and Message methods to get detailed information about
  4638  // the error.
  4639  //
  4640  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4641  // API operation DeleteGroup for usage and error information.
  4642  //
  4643  // Returned Error Types:
  4644  //   * ResourceNotFoundException
  4645  //   This exception is thrown when the Amazon Cognito service cannot find the
  4646  //   requested resource.
  4647  //
  4648  //   * InvalidParameterException
  4649  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4650  //   parameter.
  4651  //
  4652  //   * TooManyRequestsException
  4653  //   This exception is thrown when the user has made too many requests for a given
  4654  //   operation.
  4655  //
  4656  //   * NotAuthorizedException
  4657  //   This exception is thrown when a user is not authorized.
  4658  //
  4659  //   * InternalErrorException
  4660  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4661  //
  4662  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteGroup
  4663  func (c *CognitoIdentityProvider) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
  4664  	req, out := c.DeleteGroupRequest(input)
  4665  	return out, req.Send()
  4666  }
  4667  
  4668  // DeleteGroupWithContext is the same as DeleteGroup with the addition of
  4669  // the ability to pass a context and additional request options.
  4670  //
  4671  // See DeleteGroup for details on how to use this API operation.
  4672  //
  4673  // The context must be non-nil and will be used for request cancellation. If
  4674  // the context is nil a panic will occur. In the future the SDK may create
  4675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4676  // for more information on using Contexts.
  4677  func (c *CognitoIdentityProvider) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) {
  4678  	req, out := c.DeleteGroupRequest(input)
  4679  	req.SetContext(ctx)
  4680  	req.ApplyOptions(opts...)
  4681  	return out, req.Send()
  4682  }
  4683  
  4684  const opDeleteIdentityProvider = "DeleteIdentityProvider"
  4685  
  4686  // DeleteIdentityProviderRequest generates a "aws/request.Request" representing the
  4687  // client's request for the DeleteIdentityProvider operation. The "output" return
  4688  // value will be populated with the request's response once the request completes
  4689  // successfully.
  4690  //
  4691  // Use "Send" method on the returned Request to send the API call to the service.
  4692  // the "output" return value is not valid until after Send returns without error.
  4693  //
  4694  // See DeleteIdentityProvider for more information on using the DeleteIdentityProvider
  4695  // API call, and error handling.
  4696  //
  4697  // This method is useful when you want to inject custom logic or configuration
  4698  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4699  //
  4700  //
  4701  //    // Example sending a request using the DeleteIdentityProviderRequest method.
  4702  //    req, resp := client.DeleteIdentityProviderRequest(params)
  4703  //
  4704  //    err := req.Send()
  4705  //    if err == nil { // resp is now filled
  4706  //        fmt.Println(resp)
  4707  //    }
  4708  //
  4709  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteIdentityProvider
  4710  func (c *CognitoIdentityProvider) DeleteIdentityProviderRequest(input *DeleteIdentityProviderInput) (req *request.Request, output *DeleteIdentityProviderOutput) {
  4711  	op := &request.Operation{
  4712  		Name:       opDeleteIdentityProvider,
  4713  		HTTPMethod: "POST",
  4714  		HTTPPath:   "/",
  4715  	}
  4716  
  4717  	if input == nil {
  4718  		input = &DeleteIdentityProviderInput{}
  4719  	}
  4720  
  4721  	output = &DeleteIdentityProviderOutput{}
  4722  	req = c.newRequest(op, input, output)
  4723  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4724  	return
  4725  }
  4726  
  4727  // DeleteIdentityProvider API operation for Amazon Cognito Identity Provider.
  4728  //
  4729  // Deletes an identity provider for a user pool.
  4730  //
  4731  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4732  // with awserr.Error's Code and Message methods to get detailed information about
  4733  // the error.
  4734  //
  4735  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4736  // API operation DeleteIdentityProvider for usage and error information.
  4737  //
  4738  // Returned Error Types:
  4739  //   * InvalidParameterException
  4740  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4741  //   parameter.
  4742  //
  4743  //   * UnsupportedIdentityProviderException
  4744  //   This exception is thrown when the specified identifier is not supported.
  4745  //
  4746  //   * ResourceNotFoundException
  4747  //   This exception is thrown when the Amazon Cognito service cannot find the
  4748  //   requested resource.
  4749  //
  4750  //   * NotAuthorizedException
  4751  //   This exception is thrown when a user is not authorized.
  4752  //
  4753  //   * TooManyRequestsException
  4754  //   This exception is thrown when the user has made too many requests for a given
  4755  //   operation.
  4756  //
  4757  //   * InternalErrorException
  4758  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4759  //
  4760  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteIdentityProvider
  4761  func (c *CognitoIdentityProvider) DeleteIdentityProvider(input *DeleteIdentityProviderInput) (*DeleteIdentityProviderOutput, error) {
  4762  	req, out := c.DeleteIdentityProviderRequest(input)
  4763  	return out, req.Send()
  4764  }
  4765  
  4766  // DeleteIdentityProviderWithContext is the same as DeleteIdentityProvider with the addition of
  4767  // the ability to pass a context and additional request options.
  4768  //
  4769  // See DeleteIdentityProvider for details on how to use this API operation.
  4770  //
  4771  // The context must be non-nil and will be used for request cancellation. If
  4772  // the context is nil a panic will occur. In the future the SDK may create
  4773  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4774  // for more information on using Contexts.
  4775  func (c *CognitoIdentityProvider) DeleteIdentityProviderWithContext(ctx aws.Context, input *DeleteIdentityProviderInput, opts ...request.Option) (*DeleteIdentityProviderOutput, error) {
  4776  	req, out := c.DeleteIdentityProviderRequest(input)
  4777  	req.SetContext(ctx)
  4778  	req.ApplyOptions(opts...)
  4779  	return out, req.Send()
  4780  }
  4781  
  4782  const opDeleteResourceServer = "DeleteResourceServer"
  4783  
  4784  // DeleteResourceServerRequest generates a "aws/request.Request" representing the
  4785  // client's request for the DeleteResourceServer operation. The "output" return
  4786  // value will be populated with the request's response once the request completes
  4787  // successfully.
  4788  //
  4789  // Use "Send" method on the returned Request to send the API call to the service.
  4790  // the "output" return value is not valid until after Send returns without error.
  4791  //
  4792  // See DeleteResourceServer for more information on using the DeleteResourceServer
  4793  // API call, and error handling.
  4794  //
  4795  // This method is useful when you want to inject custom logic or configuration
  4796  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4797  //
  4798  //
  4799  //    // Example sending a request using the DeleteResourceServerRequest method.
  4800  //    req, resp := client.DeleteResourceServerRequest(params)
  4801  //
  4802  //    err := req.Send()
  4803  //    if err == nil { // resp is now filled
  4804  //        fmt.Println(resp)
  4805  //    }
  4806  //
  4807  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteResourceServer
  4808  func (c *CognitoIdentityProvider) DeleteResourceServerRequest(input *DeleteResourceServerInput) (req *request.Request, output *DeleteResourceServerOutput) {
  4809  	op := &request.Operation{
  4810  		Name:       opDeleteResourceServer,
  4811  		HTTPMethod: "POST",
  4812  		HTTPPath:   "/",
  4813  	}
  4814  
  4815  	if input == nil {
  4816  		input = &DeleteResourceServerInput{}
  4817  	}
  4818  
  4819  	output = &DeleteResourceServerOutput{}
  4820  	req = c.newRequest(op, input, output)
  4821  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4822  	return
  4823  }
  4824  
  4825  // DeleteResourceServer API operation for Amazon Cognito Identity Provider.
  4826  //
  4827  // Deletes a resource server.
  4828  //
  4829  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4830  // with awserr.Error's Code and Message methods to get detailed information about
  4831  // the error.
  4832  //
  4833  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4834  // API operation DeleteResourceServer for usage and error information.
  4835  //
  4836  // Returned Error Types:
  4837  //   * InvalidParameterException
  4838  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4839  //   parameter.
  4840  //
  4841  //   * ResourceNotFoundException
  4842  //   This exception is thrown when the Amazon Cognito service cannot find the
  4843  //   requested resource.
  4844  //
  4845  //   * NotAuthorizedException
  4846  //   This exception is thrown when a user is not authorized.
  4847  //
  4848  //   * TooManyRequestsException
  4849  //   This exception is thrown when the user has made too many requests for a given
  4850  //   operation.
  4851  //
  4852  //   * InternalErrorException
  4853  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4854  //
  4855  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteResourceServer
  4856  func (c *CognitoIdentityProvider) DeleteResourceServer(input *DeleteResourceServerInput) (*DeleteResourceServerOutput, error) {
  4857  	req, out := c.DeleteResourceServerRequest(input)
  4858  	return out, req.Send()
  4859  }
  4860  
  4861  // DeleteResourceServerWithContext is the same as DeleteResourceServer with the addition of
  4862  // the ability to pass a context and additional request options.
  4863  //
  4864  // See DeleteResourceServer for details on how to use this API operation.
  4865  //
  4866  // The context must be non-nil and will be used for request cancellation. If
  4867  // the context is nil a panic will occur. In the future the SDK may create
  4868  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4869  // for more information on using Contexts.
  4870  func (c *CognitoIdentityProvider) DeleteResourceServerWithContext(ctx aws.Context, input *DeleteResourceServerInput, opts ...request.Option) (*DeleteResourceServerOutput, error) {
  4871  	req, out := c.DeleteResourceServerRequest(input)
  4872  	req.SetContext(ctx)
  4873  	req.ApplyOptions(opts...)
  4874  	return out, req.Send()
  4875  }
  4876  
  4877  const opDeleteUser = "DeleteUser"
  4878  
  4879  // DeleteUserRequest generates a "aws/request.Request" representing the
  4880  // client's request for the DeleteUser operation. The "output" return
  4881  // value will be populated with the request's response once the request completes
  4882  // successfully.
  4883  //
  4884  // Use "Send" method on the returned Request to send the API call to the service.
  4885  // the "output" return value is not valid until after Send returns without error.
  4886  //
  4887  // See DeleteUser for more information on using the DeleteUser
  4888  // API call, and error handling.
  4889  //
  4890  // This method is useful when you want to inject custom logic or configuration
  4891  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4892  //
  4893  //
  4894  //    // Example sending a request using the DeleteUserRequest method.
  4895  //    req, resp := client.DeleteUserRequest(params)
  4896  //
  4897  //    err := req.Send()
  4898  //    if err == nil { // resp is now filled
  4899  //        fmt.Println(resp)
  4900  //    }
  4901  //
  4902  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUser
  4903  func (c *CognitoIdentityProvider) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
  4904  	op := &request.Operation{
  4905  		Name:       opDeleteUser,
  4906  		HTTPMethod: "POST",
  4907  		HTTPPath:   "/",
  4908  	}
  4909  
  4910  	if input == nil {
  4911  		input = &DeleteUserInput{}
  4912  	}
  4913  
  4914  	output = &DeleteUserOutput{}
  4915  	req = c.newRequest(op, input, output)
  4916  	req.Config.Credentials = credentials.AnonymousCredentials
  4917  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4918  	return
  4919  }
  4920  
  4921  // DeleteUser API operation for Amazon Cognito Identity Provider.
  4922  //
  4923  // Allows a user to delete himself or herself.
  4924  //
  4925  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4926  // with awserr.Error's Code and Message methods to get detailed information about
  4927  // the error.
  4928  //
  4929  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  4930  // API operation DeleteUser for usage and error information.
  4931  //
  4932  // Returned Error Types:
  4933  //   * ResourceNotFoundException
  4934  //   This exception is thrown when the Amazon Cognito service cannot find the
  4935  //   requested resource.
  4936  //
  4937  //   * InvalidParameterException
  4938  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  4939  //   parameter.
  4940  //
  4941  //   * NotAuthorizedException
  4942  //   This exception is thrown when a user is not authorized.
  4943  //
  4944  //   * TooManyRequestsException
  4945  //   This exception is thrown when the user has made too many requests for a given
  4946  //   operation.
  4947  //
  4948  //   * PasswordResetRequiredException
  4949  //   This exception is thrown when a password reset is required.
  4950  //
  4951  //   * UserNotFoundException
  4952  //   This exception is thrown when a user is not found.
  4953  //
  4954  //   * UserNotConfirmedException
  4955  //   This exception is thrown when a user is not confirmed successfully.
  4956  //
  4957  //   * InternalErrorException
  4958  //   This exception is thrown when Amazon Cognito encounters an internal error.
  4959  //
  4960  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUser
  4961  func (c *CognitoIdentityProvider) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
  4962  	req, out := c.DeleteUserRequest(input)
  4963  	return out, req.Send()
  4964  }
  4965  
  4966  // DeleteUserWithContext is the same as DeleteUser with the addition of
  4967  // the ability to pass a context and additional request options.
  4968  //
  4969  // See DeleteUser for details on how to use this API operation.
  4970  //
  4971  // The context must be non-nil and will be used for request cancellation. If
  4972  // the context is nil a panic will occur. In the future the SDK may create
  4973  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4974  // for more information on using Contexts.
  4975  func (c *CognitoIdentityProvider) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
  4976  	req, out := c.DeleteUserRequest(input)
  4977  	req.SetContext(ctx)
  4978  	req.ApplyOptions(opts...)
  4979  	return out, req.Send()
  4980  }
  4981  
  4982  const opDeleteUserAttributes = "DeleteUserAttributes"
  4983  
  4984  // DeleteUserAttributesRequest generates a "aws/request.Request" representing the
  4985  // client's request for the DeleteUserAttributes operation. The "output" return
  4986  // value will be populated with the request's response once the request completes
  4987  // successfully.
  4988  //
  4989  // Use "Send" method on the returned Request to send the API call to the service.
  4990  // the "output" return value is not valid until after Send returns without error.
  4991  //
  4992  // See DeleteUserAttributes for more information on using the DeleteUserAttributes
  4993  // API call, and error handling.
  4994  //
  4995  // This method is useful when you want to inject custom logic or configuration
  4996  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4997  //
  4998  //
  4999  //    // Example sending a request using the DeleteUserAttributesRequest method.
  5000  //    req, resp := client.DeleteUserAttributesRequest(params)
  5001  //
  5002  //    err := req.Send()
  5003  //    if err == nil { // resp is now filled
  5004  //        fmt.Println(resp)
  5005  //    }
  5006  //
  5007  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserAttributes
  5008  func (c *CognitoIdentityProvider) DeleteUserAttributesRequest(input *DeleteUserAttributesInput) (req *request.Request, output *DeleteUserAttributesOutput) {
  5009  	op := &request.Operation{
  5010  		Name:       opDeleteUserAttributes,
  5011  		HTTPMethod: "POST",
  5012  		HTTPPath:   "/",
  5013  	}
  5014  
  5015  	if input == nil {
  5016  		input = &DeleteUserAttributesInput{}
  5017  	}
  5018  
  5019  	output = &DeleteUserAttributesOutput{}
  5020  	req = c.newRequest(op, input, output)
  5021  	req.Config.Credentials = credentials.AnonymousCredentials
  5022  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5023  	return
  5024  }
  5025  
  5026  // DeleteUserAttributes API operation for Amazon Cognito Identity Provider.
  5027  //
  5028  // Deletes the attributes for a user.
  5029  //
  5030  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5031  // with awserr.Error's Code and Message methods to get detailed information about
  5032  // the error.
  5033  //
  5034  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5035  // API operation DeleteUserAttributes for usage and error information.
  5036  //
  5037  // Returned Error Types:
  5038  //   * ResourceNotFoundException
  5039  //   This exception is thrown when the Amazon Cognito service cannot find the
  5040  //   requested resource.
  5041  //
  5042  //   * InvalidParameterException
  5043  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5044  //   parameter.
  5045  //
  5046  //   * NotAuthorizedException
  5047  //   This exception is thrown when a user is not authorized.
  5048  //
  5049  //   * TooManyRequestsException
  5050  //   This exception is thrown when the user has made too many requests for a given
  5051  //   operation.
  5052  //
  5053  //   * PasswordResetRequiredException
  5054  //   This exception is thrown when a password reset is required.
  5055  //
  5056  //   * UserNotFoundException
  5057  //   This exception is thrown when a user is not found.
  5058  //
  5059  //   * UserNotConfirmedException
  5060  //   This exception is thrown when a user is not confirmed successfully.
  5061  //
  5062  //   * InternalErrorException
  5063  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5064  //
  5065  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserAttributes
  5066  func (c *CognitoIdentityProvider) DeleteUserAttributes(input *DeleteUserAttributesInput) (*DeleteUserAttributesOutput, error) {
  5067  	req, out := c.DeleteUserAttributesRequest(input)
  5068  	return out, req.Send()
  5069  }
  5070  
  5071  // DeleteUserAttributesWithContext is the same as DeleteUserAttributes with the addition of
  5072  // the ability to pass a context and additional request options.
  5073  //
  5074  // See DeleteUserAttributes for details on how to use this API operation.
  5075  //
  5076  // The context must be non-nil and will be used for request cancellation. If
  5077  // the context is nil a panic will occur. In the future the SDK may create
  5078  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5079  // for more information on using Contexts.
  5080  func (c *CognitoIdentityProvider) DeleteUserAttributesWithContext(ctx aws.Context, input *DeleteUserAttributesInput, opts ...request.Option) (*DeleteUserAttributesOutput, error) {
  5081  	req, out := c.DeleteUserAttributesRequest(input)
  5082  	req.SetContext(ctx)
  5083  	req.ApplyOptions(opts...)
  5084  	return out, req.Send()
  5085  }
  5086  
  5087  const opDeleteUserPool = "DeleteUserPool"
  5088  
  5089  // DeleteUserPoolRequest generates a "aws/request.Request" representing the
  5090  // client's request for the DeleteUserPool operation. The "output" return
  5091  // value will be populated with the request's response once the request completes
  5092  // successfully.
  5093  //
  5094  // Use "Send" method on the returned Request to send the API call to the service.
  5095  // the "output" return value is not valid until after Send returns without error.
  5096  //
  5097  // See DeleteUserPool for more information on using the DeleteUserPool
  5098  // API call, and error handling.
  5099  //
  5100  // This method is useful when you want to inject custom logic or configuration
  5101  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5102  //
  5103  //
  5104  //    // Example sending a request using the DeleteUserPoolRequest method.
  5105  //    req, resp := client.DeleteUserPoolRequest(params)
  5106  //
  5107  //    err := req.Send()
  5108  //    if err == nil { // resp is now filled
  5109  //        fmt.Println(resp)
  5110  //    }
  5111  //
  5112  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserPool
  5113  func (c *CognitoIdentityProvider) DeleteUserPoolRequest(input *DeleteUserPoolInput) (req *request.Request, output *DeleteUserPoolOutput) {
  5114  	op := &request.Operation{
  5115  		Name:       opDeleteUserPool,
  5116  		HTTPMethod: "POST",
  5117  		HTTPPath:   "/",
  5118  	}
  5119  
  5120  	if input == nil {
  5121  		input = &DeleteUserPoolInput{}
  5122  	}
  5123  
  5124  	output = &DeleteUserPoolOutput{}
  5125  	req = c.newRequest(op, input, output)
  5126  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5127  	return
  5128  }
  5129  
  5130  // DeleteUserPool API operation for Amazon Cognito Identity Provider.
  5131  //
  5132  // Deletes the specified Amazon Cognito user pool.
  5133  //
  5134  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5135  // with awserr.Error's Code and Message methods to get detailed information about
  5136  // the error.
  5137  //
  5138  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5139  // API operation DeleteUserPool for usage and error information.
  5140  //
  5141  // Returned Error Types:
  5142  //   * ResourceNotFoundException
  5143  //   This exception is thrown when the Amazon Cognito service cannot find the
  5144  //   requested resource.
  5145  //
  5146  //   * InvalidParameterException
  5147  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5148  //   parameter.
  5149  //
  5150  //   * TooManyRequestsException
  5151  //   This exception is thrown when the user has made too many requests for a given
  5152  //   operation.
  5153  //
  5154  //   * NotAuthorizedException
  5155  //   This exception is thrown when a user is not authorized.
  5156  //
  5157  //   * UserImportInProgressException
  5158  //   This exception is thrown when you are trying to modify a user pool while
  5159  //   a user import job is in progress for that pool.
  5160  //
  5161  //   * InternalErrorException
  5162  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5163  //
  5164  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserPool
  5165  func (c *CognitoIdentityProvider) DeleteUserPool(input *DeleteUserPoolInput) (*DeleteUserPoolOutput, error) {
  5166  	req, out := c.DeleteUserPoolRequest(input)
  5167  	return out, req.Send()
  5168  }
  5169  
  5170  // DeleteUserPoolWithContext is the same as DeleteUserPool with the addition of
  5171  // the ability to pass a context and additional request options.
  5172  //
  5173  // See DeleteUserPool for details on how to use this API operation.
  5174  //
  5175  // The context must be non-nil and will be used for request cancellation. If
  5176  // the context is nil a panic will occur. In the future the SDK may create
  5177  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5178  // for more information on using Contexts.
  5179  func (c *CognitoIdentityProvider) DeleteUserPoolWithContext(ctx aws.Context, input *DeleteUserPoolInput, opts ...request.Option) (*DeleteUserPoolOutput, error) {
  5180  	req, out := c.DeleteUserPoolRequest(input)
  5181  	req.SetContext(ctx)
  5182  	req.ApplyOptions(opts...)
  5183  	return out, req.Send()
  5184  }
  5185  
  5186  const opDeleteUserPoolClient = "DeleteUserPoolClient"
  5187  
  5188  // DeleteUserPoolClientRequest generates a "aws/request.Request" representing the
  5189  // client's request for the DeleteUserPoolClient operation. The "output" return
  5190  // value will be populated with the request's response once the request completes
  5191  // successfully.
  5192  //
  5193  // Use "Send" method on the returned Request to send the API call to the service.
  5194  // the "output" return value is not valid until after Send returns without error.
  5195  //
  5196  // See DeleteUserPoolClient for more information on using the DeleteUserPoolClient
  5197  // API call, and error handling.
  5198  //
  5199  // This method is useful when you want to inject custom logic or configuration
  5200  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5201  //
  5202  //
  5203  //    // Example sending a request using the DeleteUserPoolClientRequest method.
  5204  //    req, resp := client.DeleteUserPoolClientRequest(params)
  5205  //
  5206  //    err := req.Send()
  5207  //    if err == nil { // resp is now filled
  5208  //        fmt.Println(resp)
  5209  //    }
  5210  //
  5211  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserPoolClient
  5212  func (c *CognitoIdentityProvider) DeleteUserPoolClientRequest(input *DeleteUserPoolClientInput) (req *request.Request, output *DeleteUserPoolClientOutput) {
  5213  	op := &request.Operation{
  5214  		Name:       opDeleteUserPoolClient,
  5215  		HTTPMethod: "POST",
  5216  		HTTPPath:   "/",
  5217  	}
  5218  
  5219  	if input == nil {
  5220  		input = &DeleteUserPoolClientInput{}
  5221  	}
  5222  
  5223  	output = &DeleteUserPoolClientOutput{}
  5224  	req = c.newRequest(op, input, output)
  5225  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5226  	return
  5227  }
  5228  
  5229  // DeleteUserPoolClient API operation for Amazon Cognito Identity Provider.
  5230  //
  5231  // Allows the developer to delete the user pool client.
  5232  //
  5233  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5234  // with awserr.Error's Code and Message methods to get detailed information about
  5235  // the error.
  5236  //
  5237  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5238  // API operation DeleteUserPoolClient for usage and error information.
  5239  //
  5240  // Returned Error Types:
  5241  //   * ResourceNotFoundException
  5242  //   This exception is thrown when the Amazon Cognito service cannot find the
  5243  //   requested resource.
  5244  //
  5245  //   * InvalidParameterException
  5246  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5247  //   parameter.
  5248  //
  5249  //   * TooManyRequestsException
  5250  //   This exception is thrown when the user has made too many requests for a given
  5251  //   operation.
  5252  //
  5253  //   * NotAuthorizedException
  5254  //   This exception is thrown when a user is not authorized.
  5255  //
  5256  //   * InternalErrorException
  5257  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5258  //
  5259  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserPoolClient
  5260  func (c *CognitoIdentityProvider) DeleteUserPoolClient(input *DeleteUserPoolClientInput) (*DeleteUserPoolClientOutput, error) {
  5261  	req, out := c.DeleteUserPoolClientRequest(input)
  5262  	return out, req.Send()
  5263  }
  5264  
  5265  // DeleteUserPoolClientWithContext is the same as DeleteUserPoolClient with the addition of
  5266  // the ability to pass a context and additional request options.
  5267  //
  5268  // See DeleteUserPoolClient for details on how to use this API operation.
  5269  //
  5270  // The context must be non-nil and will be used for request cancellation. If
  5271  // the context is nil a panic will occur. In the future the SDK may create
  5272  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5273  // for more information on using Contexts.
  5274  func (c *CognitoIdentityProvider) DeleteUserPoolClientWithContext(ctx aws.Context, input *DeleteUserPoolClientInput, opts ...request.Option) (*DeleteUserPoolClientOutput, error) {
  5275  	req, out := c.DeleteUserPoolClientRequest(input)
  5276  	req.SetContext(ctx)
  5277  	req.ApplyOptions(opts...)
  5278  	return out, req.Send()
  5279  }
  5280  
  5281  const opDeleteUserPoolDomain = "DeleteUserPoolDomain"
  5282  
  5283  // DeleteUserPoolDomainRequest generates a "aws/request.Request" representing the
  5284  // client's request for the DeleteUserPoolDomain operation. The "output" return
  5285  // value will be populated with the request's response once the request completes
  5286  // successfully.
  5287  //
  5288  // Use "Send" method on the returned Request to send the API call to the service.
  5289  // the "output" return value is not valid until after Send returns without error.
  5290  //
  5291  // See DeleteUserPoolDomain for more information on using the DeleteUserPoolDomain
  5292  // API call, and error handling.
  5293  //
  5294  // This method is useful when you want to inject custom logic or configuration
  5295  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5296  //
  5297  //
  5298  //    // Example sending a request using the DeleteUserPoolDomainRequest method.
  5299  //    req, resp := client.DeleteUserPoolDomainRequest(params)
  5300  //
  5301  //    err := req.Send()
  5302  //    if err == nil { // resp is now filled
  5303  //        fmt.Println(resp)
  5304  //    }
  5305  //
  5306  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserPoolDomain
  5307  func (c *CognitoIdentityProvider) DeleteUserPoolDomainRequest(input *DeleteUserPoolDomainInput) (req *request.Request, output *DeleteUserPoolDomainOutput) {
  5308  	op := &request.Operation{
  5309  		Name:       opDeleteUserPoolDomain,
  5310  		HTTPMethod: "POST",
  5311  		HTTPPath:   "/",
  5312  	}
  5313  
  5314  	if input == nil {
  5315  		input = &DeleteUserPoolDomainInput{}
  5316  	}
  5317  
  5318  	output = &DeleteUserPoolDomainOutput{}
  5319  	req = c.newRequest(op, input, output)
  5320  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5321  	return
  5322  }
  5323  
  5324  // DeleteUserPoolDomain API operation for Amazon Cognito Identity Provider.
  5325  //
  5326  // Deletes a domain for a user pool.
  5327  //
  5328  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5329  // with awserr.Error's Code and Message methods to get detailed information about
  5330  // the error.
  5331  //
  5332  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5333  // API operation DeleteUserPoolDomain for usage and error information.
  5334  //
  5335  // Returned Error Types:
  5336  //   * NotAuthorizedException
  5337  //   This exception is thrown when a user is not authorized.
  5338  //
  5339  //   * InvalidParameterException
  5340  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5341  //   parameter.
  5342  //
  5343  //   * ResourceNotFoundException
  5344  //   This exception is thrown when the Amazon Cognito service cannot find the
  5345  //   requested resource.
  5346  //
  5347  //   * InternalErrorException
  5348  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5349  //
  5350  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserPoolDomain
  5351  func (c *CognitoIdentityProvider) DeleteUserPoolDomain(input *DeleteUserPoolDomainInput) (*DeleteUserPoolDomainOutput, error) {
  5352  	req, out := c.DeleteUserPoolDomainRequest(input)
  5353  	return out, req.Send()
  5354  }
  5355  
  5356  // DeleteUserPoolDomainWithContext is the same as DeleteUserPoolDomain with the addition of
  5357  // the ability to pass a context and additional request options.
  5358  //
  5359  // See DeleteUserPoolDomain for details on how to use this API operation.
  5360  //
  5361  // The context must be non-nil and will be used for request cancellation. If
  5362  // the context is nil a panic will occur. In the future the SDK may create
  5363  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5364  // for more information on using Contexts.
  5365  func (c *CognitoIdentityProvider) DeleteUserPoolDomainWithContext(ctx aws.Context, input *DeleteUserPoolDomainInput, opts ...request.Option) (*DeleteUserPoolDomainOutput, error) {
  5366  	req, out := c.DeleteUserPoolDomainRequest(input)
  5367  	req.SetContext(ctx)
  5368  	req.ApplyOptions(opts...)
  5369  	return out, req.Send()
  5370  }
  5371  
  5372  const opDescribeIdentityProvider = "DescribeIdentityProvider"
  5373  
  5374  // DescribeIdentityProviderRequest generates a "aws/request.Request" representing the
  5375  // client's request for the DescribeIdentityProvider operation. The "output" return
  5376  // value will be populated with the request's response once the request completes
  5377  // successfully.
  5378  //
  5379  // Use "Send" method on the returned Request to send the API call to the service.
  5380  // the "output" return value is not valid until after Send returns without error.
  5381  //
  5382  // See DescribeIdentityProvider for more information on using the DescribeIdentityProvider
  5383  // API call, and error handling.
  5384  //
  5385  // This method is useful when you want to inject custom logic or configuration
  5386  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5387  //
  5388  //
  5389  //    // Example sending a request using the DescribeIdentityProviderRequest method.
  5390  //    req, resp := client.DescribeIdentityProviderRequest(params)
  5391  //
  5392  //    err := req.Send()
  5393  //    if err == nil { // resp is now filled
  5394  //        fmt.Println(resp)
  5395  //    }
  5396  //
  5397  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeIdentityProvider
  5398  func (c *CognitoIdentityProvider) DescribeIdentityProviderRequest(input *DescribeIdentityProviderInput) (req *request.Request, output *DescribeIdentityProviderOutput) {
  5399  	op := &request.Operation{
  5400  		Name:       opDescribeIdentityProvider,
  5401  		HTTPMethod: "POST",
  5402  		HTTPPath:   "/",
  5403  	}
  5404  
  5405  	if input == nil {
  5406  		input = &DescribeIdentityProviderInput{}
  5407  	}
  5408  
  5409  	output = &DescribeIdentityProviderOutput{}
  5410  	req = c.newRequest(op, input, output)
  5411  	return
  5412  }
  5413  
  5414  // DescribeIdentityProvider API operation for Amazon Cognito Identity Provider.
  5415  //
  5416  // Gets information about a specific identity provider.
  5417  //
  5418  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5419  // with awserr.Error's Code and Message methods to get detailed information about
  5420  // the error.
  5421  //
  5422  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5423  // API operation DescribeIdentityProvider for usage and error information.
  5424  //
  5425  // Returned Error Types:
  5426  //   * InvalidParameterException
  5427  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5428  //   parameter.
  5429  //
  5430  //   * ResourceNotFoundException
  5431  //   This exception is thrown when the Amazon Cognito service cannot find the
  5432  //   requested resource.
  5433  //
  5434  //   * NotAuthorizedException
  5435  //   This exception is thrown when a user is not authorized.
  5436  //
  5437  //   * TooManyRequestsException
  5438  //   This exception is thrown when the user has made too many requests for a given
  5439  //   operation.
  5440  //
  5441  //   * InternalErrorException
  5442  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5443  //
  5444  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeIdentityProvider
  5445  func (c *CognitoIdentityProvider) DescribeIdentityProvider(input *DescribeIdentityProviderInput) (*DescribeIdentityProviderOutput, error) {
  5446  	req, out := c.DescribeIdentityProviderRequest(input)
  5447  	return out, req.Send()
  5448  }
  5449  
  5450  // DescribeIdentityProviderWithContext is the same as DescribeIdentityProvider with the addition of
  5451  // the ability to pass a context and additional request options.
  5452  //
  5453  // See DescribeIdentityProvider for details on how to use this API operation.
  5454  //
  5455  // The context must be non-nil and will be used for request cancellation. If
  5456  // the context is nil a panic will occur. In the future the SDK may create
  5457  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5458  // for more information on using Contexts.
  5459  func (c *CognitoIdentityProvider) DescribeIdentityProviderWithContext(ctx aws.Context, input *DescribeIdentityProviderInput, opts ...request.Option) (*DescribeIdentityProviderOutput, error) {
  5460  	req, out := c.DescribeIdentityProviderRequest(input)
  5461  	req.SetContext(ctx)
  5462  	req.ApplyOptions(opts...)
  5463  	return out, req.Send()
  5464  }
  5465  
  5466  const opDescribeResourceServer = "DescribeResourceServer"
  5467  
  5468  // DescribeResourceServerRequest generates a "aws/request.Request" representing the
  5469  // client's request for the DescribeResourceServer operation. The "output" return
  5470  // value will be populated with the request's response once the request completes
  5471  // successfully.
  5472  //
  5473  // Use "Send" method on the returned Request to send the API call to the service.
  5474  // the "output" return value is not valid until after Send returns without error.
  5475  //
  5476  // See DescribeResourceServer for more information on using the DescribeResourceServer
  5477  // API call, and error handling.
  5478  //
  5479  // This method is useful when you want to inject custom logic or configuration
  5480  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5481  //
  5482  //
  5483  //    // Example sending a request using the DescribeResourceServerRequest method.
  5484  //    req, resp := client.DescribeResourceServerRequest(params)
  5485  //
  5486  //    err := req.Send()
  5487  //    if err == nil { // resp is now filled
  5488  //        fmt.Println(resp)
  5489  //    }
  5490  //
  5491  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeResourceServer
  5492  func (c *CognitoIdentityProvider) DescribeResourceServerRequest(input *DescribeResourceServerInput) (req *request.Request, output *DescribeResourceServerOutput) {
  5493  	op := &request.Operation{
  5494  		Name:       opDescribeResourceServer,
  5495  		HTTPMethod: "POST",
  5496  		HTTPPath:   "/",
  5497  	}
  5498  
  5499  	if input == nil {
  5500  		input = &DescribeResourceServerInput{}
  5501  	}
  5502  
  5503  	output = &DescribeResourceServerOutput{}
  5504  	req = c.newRequest(op, input, output)
  5505  	return
  5506  }
  5507  
  5508  // DescribeResourceServer API operation for Amazon Cognito Identity Provider.
  5509  //
  5510  // Describes a resource server.
  5511  //
  5512  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5513  // with awserr.Error's Code and Message methods to get detailed information about
  5514  // the error.
  5515  //
  5516  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5517  // API operation DescribeResourceServer for usage and error information.
  5518  //
  5519  // Returned Error Types:
  5520  //   * InvalidParameterException
  5521  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5522  //   parameter.
  5523  //
  5524  //   * ResourceNotFoundException
  5525  //   This exception is thrown when the Amazon Cognito service cannot find the
  5526  //   requested resource.
  5527  //
  5528  //   * NotAuthorizedException
  5529  //   This exception is thrown when a user is not authorized.
  5530  //
  5531  //   * TooManyRequestsException
  5532  //   This exception is thrown when the user has made too many requests for a given
  5533  //   operation.
  5534  //
  5535  //   * InternalErrorException
  5536  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5537  //
  5538  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeResourceServer
  5539  func (c *CognitoIdentityProvider) DescribeResourceServer(input *DescribeResourceServerInput) (*DescribeResourceServerOutput, error) {
  5540  	req, out := c.DescribeResourceServerRequest(input)
  5541  	return out, req.Send()
  5542  }
  5543  
  5544  // DescribeResourceServerWithContext is the same as DescribeResourceServer with the addition of
  5545  // the ability to pass a context and additional request options.
  5546  //
  5547  // See DescribeResourceServer for details on how to use this API operation.
  5548  //
  5549  // The context must be non-nil and will be used for request cancellation. If
  5550  // the context is nil a panic will occur. In the future the SDK may create
  5551  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5552  // for more information on using Contexts.
  5553  func (c *CognitoIdentityProvider) DescribeResourceServerWithContext(ctx aws.Context, input *DescribeResourceServerInput, opts ...request.Option) (*DescribeResourceServerOutput, error) {
  5554  	req, out := c.DescribeResourceServerRequest(input)
  5555  	req.SetContext(ctx)
  5556  	req.ApplyOptions(opts...)
  5557  	return out, req.Send()
  5558  }
  5559  
  5560  const opDescribeRiskConfiguration = "DescribeRiskConfiguration"
  5561  
  5562  // DescribeRiskConfigurationRequest generates a "aws/request.Request" representing the
  5563  // client's request for the DescribeRiskConfiguration operation. The "output" return
  5564  // value will be populated with the request's response once the request completes
  5565  // successfully.
  5566  //
  5567  // Use "Send" method on the returned Request to send the API call to the service.
  5568  // the "output" return value is not valid until after Send returns without error.
  5569  //
  5570  // See DescribeRiskConfiguration for more information on using the DescribeRiskConfiguration
  5571  // API call, and error handling.
  5572  //
  5573  // This method is useful when you want to inject custom logic or configuration
  5574  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5575  //
  5576  //
  5577  //    // Example sending a request using the DescribeRiskConfigurationRequest method.
  5578  //    req, resp := client.DescribeRiskConfigurationRequest(params)
  5579  //
  5580  //    err := req.Send()
  5581  //    if err == nil { // resp is now filled
  5582  //        fmt.Println(resp)
  5583  //    }
  5584  //
  5585  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeRiskConfiguration
  5586  func (c *CognitoIdentityProvider) DescribeRiskConfigurationRequest(input *DescribeRiskConfigurationInput) (req *request.Request, output *DescribeRiskConfigurationOutput) {
  5587  	op := &request.Operation{
  5588  		Name:       opDescribeRiskConfiguration,
  5589  		HTTPMethod: "POST",
  5590  		HTTPPath:   "/",
  5591  	}
  5592  
  5593  	if input == nil {
  5594  		input = &DescribeRiskConfigurationInput{}
  5595  	}
  5596  
  5597  	output = &DescribeRiskConfigurationOutput{}
  5598  	req = c.newRequest(op, input, output)
  5599  	return
  5600  }
  5601  
  5602  // DescribeRiskConfiguration API operation for Amazon Cognito Identity Provider.
  5603  //
  5604  // Describes the risk configuration.
  5605  //
  5606  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5607  // with awserr.Error's Code and Message methods to get detailed information about
  5608  // the error.
  5609  //
  5610  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5611  // API operation DescribeRiskConfiguration for usage and error information.
  5612  //
  5613  // Returned Error Types:
  5614  //   * ResourceNotFoundException
  5615  //   This exception is thrown when the Amazon Cognito service cannot find the
  5616  //   requested resource.
  5617  //
  5618  //   * InvalidParameterException
  5619  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5620  //   parameter.
  5621  //
  5622  //   * TooManyRequestsException
  5623  //   This exception is thrown when the user has made too many requests for a given
  5624  //   operation.
  5625  //
  5626  //   * NotAuthorizedException
  5627  //   This exception is thrown when a user is not authorized.
  5628  //
  5629  //   * UserPoolAddOnNotEnabledException
  5630  //   This exception is thrown when user pool add-ons are not enabled.
  5631  //
  5632  //   * InternalErrorException
  5633  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5634  //
  5635  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeRiskConfiguration
  5636  func (c *CognitoIdentityProvider) DescribeRiskConfiguration(input *DescribeRiskConfigurationInput) (*DescribeRiskConfigurationOutput, error) {
  5637  	req, out := c.DescribeRiskConfigurationRequest(input)
  5638  	return out, req.Send()
  5639  }
  5640  
  5641  // DescribeRiskConfigurationWithContext is the same as DescribeRiskConfiguration with the addition of
  5642  // the ability to pass a context and additional request options.
  5643  //
  5644  // See DescribeRiskConfiguration for details on how to use this API operation.
  5645  //
  5646  // The context must be non-nil and will be used for request cancellation. If
  5647  // the context is nil a panic will occur. In the future the SDK may create
  5648  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5649  // for more information on using Contexts.
  5650  func (c *CognitoIdentityProvider) DescribeRiskConfigurationWithContext(ctx aws.Context, input *DescribeRiskConfigurationInput, opts ...request.Option) (*DescribeRiskConfigurationOutput, error) {
  5651  	req, out := c.DescribeRiskConfigurationRequest(input)
  5652  	req.SetContext(ctx)
  5653  	req.ApplyOptions(opts...)
  5654  	return out, req.Send()
  5655  }
  5656  
  5657  const opDescribeUserImportJob = "DescribeUserImportJob"
  5658  
  5659  // DescribeUserImportJobRequest generates a "aws/request.Request" representing the
  5660  // client's request for the DescribeUserImportJob operation. The "output" return
  5661  // value will be populated with the request's response once the request completes
  5662  // successfully.
  5663  //
  5664  // Use "Send" method on the returned Request to send the API call to the service.
  5665  // the "output" return value is not valid until after Send returns without error.
  5666  //
  5667  // See DescribeUserImportJob for more information on using the DescribeUserImportJob
  5668  // API call, and error handling.
  5669  //
  5670  // This method is useful when you want to inject custom logic or configuration
  5671  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5672  //
  5673  //
  5674  //    // Example sending a request using the DescribeUserImportJobRequest method.
  5675  //    req, resp := client.DescribeUserImportJobRequest(params)
  5676  //
  5677  //    err := req.Send()
  5678  //    if err == nil { // resp is now filled
  5679  //        fmt.Println(resp)
  5680  //    }
  5681  //
  5682  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserImportJob
  5683  func (c *CognitoIdentityProvider) DescribeUserImportJobRequest(input *DescribeUserImportJobInput) (req *request.Request, output *DescribeUserImportJobOutput) {
  5684  	op := &request.Operation{
  5685  		Name:       opDescribeUserImportJob,
  5686  		HTTPMethod: "POST",
  5687  		HTTPPath:   "/",
  5688  	}
  5689  
  5690  	if input == nil {
  5691  		input = &DescribeUserImportJobInput{}
  5692  	}
  5693  
  5694  	output = &DescribeUserImportJobOutput{}
  5695  	req = c.newRequest(op, input, output)
  5696  	return
  5697  }
  5698  
  5699  // DescribeUserImportJob API operation for Amazon Cognito Identity Provider.
  5700  //
  5701  // Describes the user import job.
  5702  //
  5703  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5704  // with awserr.Error's Code and Message methods to get detailed information about
  5705  // the error.
  5706  //
  5707  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5708  // API operation DescribeUserImportJob for usage and error information.
  5709  //
  5710  // Returned Error Types:
  5711  //   * ResourceNotFoundException
  5712  //   This exception is thrown when the Amazon Cognito service cannot find the
  5713  //   requested resource.
  5714  //
  5715  //   * InvalidParameterException
  5716  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5717  //   parameter.
  5718  //
  5719  //   * TooManyRequestsException
  5720  //   This exception is thrown when the user has made too many requests for a given
  5721  //   operation.
  5722  //
  5723  //   * NotAuthorizedException
  5724  //   This exception is thrown when a user is not authorized.
  5725  //
  5726  //   * InternalErrorException
  5727  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5728  //
  5729  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserImportJob
  5730  func (c *CognitoIdentityProvider) DescribeUserImportJob(input *DescribeUserImportJobInput) (*DescribeUserImportJobOutput, error) {
  5731  	req, out := c.DescribeUserImportJobRequest(input)
  5732  	return out, req.Send()
  5733  }
  5734  
  5735  // DescribeUserImportJobWithContext is the same as DescribeUserImportJob with the addition of
  5736  // the ability to pass a context and additional request options.
  5737  //
  5738  // See DescribeUserImportJob for details on how to use this API operation.
  5739  //
  5740  // The context must be non-nil and will be used for request cancellation. If
  5741  // the context is nil a panic will occur. In the future the SDK may create
  5742  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5743  // for more information on using Contexts.
  5744  func (c *CognitoIdentityProvider) DescribeUserImportJobWithContext(ctx aws.Context, input *DescribeUserImportJobInput, opts ...request.Option) (*DescribeUserImportJobOutput, error) {
  5745  	req, out := c.DescribeUserImportJobRequest(input)
  5746  	req.SetContext(ctx)
  5747  	req.ApplyOptions(opts...)
  5748  	return out, req.Send()
  5749  }
  5750  
  5751  const opDescribeUserPool = "DescribeUserPool"
  5752  
  5753  // DescribeUserPoolRequest generates a "aws/request.Request" representing the
  5754  // client's request for the DescribeUserPool operation. The "output" return
  5755  // value will be populated with the request's response once the request completes
  5756  // successfully.
  5757  //
  5758  // Use "Send" method on the returned Request to send the API call to the service.
  5759  // the "output" return value is not valid until after Send returns without error.
  5760  //
  5761  // See DescribeUserPool for more information on using the DescribeUserPool
  5762  // API call, and error handling.
  5763  //
  5764  // This method is useful when you want to inject custom logic or configuration
  5765  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5766  //
  5767  //
  5768  //    // Example sending a request using the DescribeUserPoolRequest method.
  5769  //    req, resp := client.DescribeUserPoolRequest(params)
  5770  //
  5771  //    err := req.Send()
  5772  //    if err == nil { // resp is now filled
  5773  //        fmt.Println(resp)
  5774  //    }
  5775  //
  5776  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPool
  5777  func (c *CognitoIdentityProvider) DescribeUserPoolRequest(input *DescribeUserPoolInput) (req *request.Request, output *DescribeUserPoolOutput) {
  5778  	op := &request.Operation{
  5779  		Name:       opDescribeUserPool,
  5780  		HTTPMethod: "POST",
  5781  		HTTPPath:   "/",
  5782  	}
  5783  
  5784  	if input == nil {
  5785  		input = &DescribeUserPoolInput{}
  5786  	}
  5787  
  5788  	output = &DescribeUserPoolOutput{}
  5789  	req = c.newRequest(op, input, output)
  5790  	return
  5791  }
  5792  
  5793  // DescribeUserPool API operation for Amazon Cognito Identity Provider.
  5794  //
  5795  // Returns the configuration information and metadata of the specified user
  5796  // pool.
  5797  //
  5798  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5799  // with awserr.Error's Code and Message methods to get detailed information about
  5800  // the error.
  5801  //
  5802  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5803  // API operation DescribeUserPool for usage and error information.
  5804  //
  5805  // Returned Error Types:
  5806  //   * ResourceNotFoundException
  5807  //   This exception is thrown when the Amazon Cognito service cannot find the
  5808  //   requested resource.
  5809  //
  5810  //   * InvalidParameterException
  5811  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5812  //   parameter.
  5813  //
  5814  //   * TooManyRequestsException
  5815  //   This exception is thrown when the user has made too many requests for a given
  5816  //   operation.
  5817  //
  5818  //   * NotAuthorizedException
  5819  //   This exception is thrown when a user is not authorized.
  5820  //
  5821  //   * UserPoolTaggingException
  5822  //   This exception is thrown when a user pool tag cannot be set or updated.
  5823  //
  5824  //   * InternalErrorException
  5825  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5826  //
  5827  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPool
  5828  func (c *CognitoIdentityProvider) DescribeUserPool(input *DescribeUserPoolInput) (*DescribeUserPoolOutput, error) {
  5829  	req, out := c.DescribeUserPoolRequest(input)
  5830  	return out, req.Send()
  5831  }
  5832  
  5833  // DescribeUserPoolWithContext is the same as DescribeUserPool with the addition of
  5834  // the ability to pass a context and additional request options.
  5835  //
  5836  // See DescribeUserPool for details on how to use this API operation.
  5837  //
  5838  // The context must be non-nil and will be used for request cancellation. If
  5839  // the context is nil a panic will occur. In the future the SDK may create
  5840  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5841  // for more information on using Contexts.
  5842  func (c *CognitoIdentityProvider) DescribeUserPoolWithContext(ctx aws.Context, input *DescribeUserPoolInput, opts ...request.Option) (*DescribeUserPoolOutput, error) {
  5843  	req, out := c.DescribeUserPoolRequest(input)
  5844  	req.SetContext(ctx)
  5845  	req.ApplyOptions(opts...)
  5846  	return out, req.Send()
  5847  }
  5848  
  5849  const opDescribeUserPoolClient = "DescribeUserPoolClient"
  5850  
  5851  // DescribeUserPoolClientRequest generates a "aws/request.Request" representing the
  5852  // client's request for the DescribeUserPoolClient operation. The "output" return
  5853  // value will be populated with the request's response once the request completes
  5854  // successfully.
  5855  //
  5856  // Use "Send" method on the returned Request to send the API call to the service.
  5857  // the "output" return value is not valid until after Send returns without error.
  5858  //
  5859  // See DescribeUserPoolClient for more information on using the DescribeUserPoolClient
  5860  // API call, and error handling.
  5861  //
  5862  // This method is useful when you want to inject custom logic or configuration
  5863  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5864  //
  5865  //
  5866  //    // Example sending a request using the DescribeUserPoolClientRequest method.
  5867  //    req, resp := client.DescribeUserPoolClientRequest(params)
  5868  //
  5869  //    err := req.Send()
  5870  //    if err == nil { // resp is now filled
  5871  //        fmt.Println(resp)
  5872  //    }
  5873  //
  5874  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolClient
  5875  func (c *CognitoIdentityProvider) DescribeUserPoolClientRequest(input *DescribeUserPoolClientInput) (req *request.Request, output *DescribeUserPoolClientOutput) {
  5876  	op := &request.Operation{
  5877  		Name:       opDescribeUserPoolClient,
  5878  		HTTPMethod: "POST",
  5879  		HTTPPath:   "/",
  5880  	}
  5881  
  5882  	if input == nil {
  5883  		input = &DescribeUserPoolClientInput{}
  5884  	}
  5885  
  5886  	output = &DescribeUserPoolClientOutput{}
  5887  	req = c.newRequest(op, input, output)
  5888  	return
  5889  }
  5890  
  5891  // DescribeUserPoolClient API operation for Amazon Cognito Identity Provider.
  5892  //
  5893  // Client method for returning the configuration information and metadata of
  5894  // the specified user pool app client.
  5895  //
  5896  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5897  // with awserr.Error's Code and Message methods to get detailed information about
  5898  // the error.
  5899  //
  5900  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5901  // API operation DescribeUserPoolClient for usage and error information.
  5902  //
  5903  // Returned Error Types:
  5904  //   * ResourceNotFoundException
  5905  //   This exception is thrown when the Amazon Cognito service cannot find the
  5906  //   requested resource.
  5907  //
  5908  //   * InvalidParameterException
  5909  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  5910  //   parameter.
  5911  //
  5912  //   * TooManyRequestsException
  5913  //   This exception is thrown when the user has made too many requests for a given
  5914  //   operation.
  5915  //
  5916  //   * NotAuthorizedException
  5917  //   This exception is thrown when a user is not authorized.
  5918  //
  5919  //   * InternalErrorException
  5920  //   This exception is thrown when Amazon Cognito encounters an internal error.
  5921  //
  5922  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolClient
  5923  func (c *CognitoIdentityProvider) DescribeUserPoolClient(input *DescribeUserPoolClientInput) (*DescribeUserPoolClientOutput, error) {
  5924  	req, out := c.DescribeUserPoolClientRequest(input)
  5925  	return out, req.Send()
  5926  }
  5927  
  5928  // DescribeUserPoolClientWithContext is the same as DescribeUserPoolClient with the addition of
  5929  // the ability to pass a context and additional request options.
  5930  //
  5931  // See DescribeUserPoolClient for details on how to use this API operation.
  5932  //
  5933  // The context must be non-nil and will be used for request cancellation. If
  5934  // the context is nil a panic will occur. In the future the SDK may create
  5935  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5936  // for more information on using Contexts.
  5937  func (c *CognitoIdentityProvider) DescribeUserPoolClientWithContext(ctx aws.Context, input *DescribeUserPoolClientInput, opts ...request.Option) (*DescribeUserPoolClientOutput, error) {
  5938  	req, out := c.DescribeUserPoolClientRequest(input)
  5939  	req.SetContext(ctx)
  5940  	req.ApplyOptions(opts...)
  5941  	return out, req.Send()
  5942  }
  5943  
  5944  const opDescribeUserPoolDomain = "DescribeUserPoolDomain"
  5945  
  5946  // DescribeUserPoolDomainRequest generates a "aws/request.Request" representing the
  5947  // client's request for the DescribeUserPoolDomain operation. The "output" return
  5948  // value will be populated with the request's response once the request completes
  5949  // successfully.
  5950  //
  5951  // Use "Send" method on the returned Request to send the API call to the service.
  5952  // the "output" return value is not valid until after Send returns without error.
  5953  //
  5954  // See DescribeUserPoolDomain for more information on using the DescribeUserPoolDomain
  5955  // API call, and error handling.
  5956  //
  5957  // This method is useful when you want to inject custom logic or configuration
  5958  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5959  //
  5960  //
  5961  //    // Example sending a request using the DescribeUserPoolDomainRequest method.
  5962  //    req, resp := client.DescribeUserPoolDomainRequest(params)
  5963  //
  5964  //    err := req.Send()
  5965  //    if err == nil { // resp is now filled
  5966  //        fmt.Println(resp)
  5967  //    }
  5968  //
  5969  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolDomain
  5970  func (c *CognitoIdentityProvider) DescribeUserPoolDomainRequest(input *DescribeUserPoolDomainInput) (req *request.Request, output *DescribeUserPoolDomainOutput) {
  5971  	op := &request.Operation{
  5972  		Name:       opDescribeUserPoolDomain,
  5973  		HTTPMethod: "POST",
  5974  		HTTPPath:   "/",
  5975  	}
  5976  
  5977  	if input == nil {
  5978  		input = &DescribeUserPoolDomainInput{}
  5979  	}
  5980  
  5981  	output = &DescribeUserPoolDomainOutput{}
  5982  	req = c.newRequest(op, input, output)
  5983  	return
  5984  }
  5985  
  5986  // DescribeUserPoolDomain API operation for Amazon Cognito Identity Provider.
  5987  //
  5988  // Gets information about a domain.
  5989  //
  5990  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5991  // with awserr.Error's Code and Message methods to get detailed information about
  5992  // the error.
  5993  //
  5994  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  5995  // API operation DescribeUserPoolDomain for usage and error information.
  5996  //
  5997  // Returned Error Types:
  5998  //   * NotAuthorizedException
  5999  //   This exception is thrown when a user is not authorized.
  6000  //
  6001  //   * InvalidParameterException
  6002  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6003  //   parameter.
  6004  //
  6005  //   * ResourceNotFoundException
  6006  //   This exception is thrown when the Amazon Cognito service cannot find the
  6007  //   requested resource.
  6008  //
  6009  //   * InternalErrorException
  6010  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6011  //
  6012  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolDomain
  6013  func (c *CognitoIdentityProvider) DescribeUserPoolDomain(input *DescribeUserPoolDomainInput) (*DescribeUserPoolDomainOutput, error) {
  6014  	req, out := c.DescribeUserPoolDomainRequest(input)
  6015  	return out, req.Send()
  6016  }
  6017  
  6018  // DescribeUserPoolDomainWithContext is the same as DescribeUserPoolDomain with the addition of
  6019  // the ability to pass a context and additional request options.
  6020  //
  6021  // See DescribeUserPoolDomain for details on how to use this API operation.
  6022  //
  6023  // The context must be non-nil and will be used for request cancellation. If
  6024  // the context is nil a panic will occur. In the future the SDK may create
  6025  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6026  // for more information on using Contexts.
  6027  func (c *CognitoIdentityProvider) DescribeUserPoolDomainWithContext(ctx aws.Context, input *DescribeUserPoolDomainInput, opts ...request.Option) (*DescribeUserPoolDomainOutput, error) {
  6028  	req, out := c.DescribeUserPoolDomainRequest(input)
  6029  	req.SetContext(ctx)
  6030  	req.ApplyOptions(opts...)
  6031  	return out, req.Send()
  6032  }
  6033  
  6034  const opForgetDevice = "ForgetDevice"
  6035  
  6036  // ForgetDeviceRequest generates a "aws/request.Request" representing the
  6037  // client's request for the ForgetDevice operation. The "output" return
  6038  // value will be populated with the request's response once the request completes
  6039  // successfully.
  6040  //
  6041  // Use "Send" method on the returned Request to send the API call to the service.
  6042  // the "output" return value is not valid until after Send returns without error.
  6043  //
  6044  // See ForgetDevice for more information on using the ForgetDevice
  6045  // API call, and error handling.
  6046  //
  6047  // This method is useful when you want to inject custom logic or configuration
  6048  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6049  //
  6050  //
  6051  //    // Example sending a request using the ForgetDeviceRequest method.
  6052  //    req, resp := client.ForgetDeviceRequest(params)
  6053  //
  6054  //    err := req.Send()
  6055  //    if err == nil { // resp is now filled
  6056  //        fmt.Println(resp)
  6057  //    }
  6058  //
  6059  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ForgetDevice
  6060  func (c *CognitoIdentityProvider) ForgetDeviceRequest(input *ForgetDeviceInput) (req *request.Request, output *ForgetDeviceOutput) {
  6061  	op := &request.Operation{
  6062  		Name:       opForgetDevice,
  6063  		HTTPMethod: "POST",
  6064  		HTTPPath:   "/",
  6065  	}
  6066  
  6067  	if input == nil {
  6068  		input = &ForgetDeviceInput{}
  6069  	}
  6070  
  6071  	output = &ForgetDeviceOutput{}
  6072  	req = c.newRequest(op, input, output)
  6073  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6074  	return
  6075  }
  6076  
  6077  // ForgetDevice API operation for Amazon Cognito Identity Provider.
  6078  //
  6079  // Forgets the specified device.
  6080  //
  6081  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6082  // with awserr.Error's Code and Message methods to get detailed information about
  6083  // the error.
  6084  //
  6085  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6086  // API operation ForgetDevice for usage and error information.
  6087  //
  6088  // Returned Error Types:
  6089  //   * ResourceNotFoundException
  6090  //   This exception is thrown when the Amazon Cognito service cannot find the
  6091  //   requested resource.
  6092  //
  6093  //   * InvalidParameterException
  6094  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6095  //   parameter.
  6096  //
  6097  //   * NotAuthorizedException
  6098  //   This exception is thrown when a user is not authorized.
  6099  //
  6100  //   * TooManyRequestsException
  6101  //   This exception is thrown when the user has made too many requests for a given
  6102  //   operation.
  6103  //
  6104  //   * InvalidUserPoolConfigurationException
  6105  //   This exception is thrown when the user pool configuration is invalid.
  6106  //
  6107  //   * PasswordResetRequiredException
  6108  //   This exception is thrown when a password reset is required.
  6109  //
  6110  //   * UserNotFoundException
  6111  //   This exception is thrown when a user is not found.
  6112  //
  6113  //   * UserNotConfirmedException
  6114  //   This exception is thrown when a user is not confirmed successfully.
  6115  //
  6116  //   * InternalErrorException
  6117  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6118  //
  6119  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ForgetDevice
  6120  func (c *CognitoIdentityProvider) ForgetDevice(input *ForgetDeviceInput) (*ForgetDeviceOutput, error) {
  6121  	req, out := c.ForgetDeviceRequest(input)
  6122  	return out, req.Send()
  6123  }
  6124  
  6125  // ForgetDeviceWithContext is the same as ForgetDevice with the addition of
  6126  // the ability to pass a context and additional request options.
  6127  //
  6128  // See ForgetDevice for details on how to use this API operation.
  6129  //
  6130  // The context must be non-nil and will be used for request cancellation. If
  6131  // the context is nil a panic will occur. In the future the SDK may create
  6132  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6133  // for more information on using Contexts.
  6134  func (c *CognitoIdentityProvider) ForgetDeviceWithContext(ctx aws.Context, input *ForgetDeviceInput, opts ...request.Option) (*ForgetDeviceOutput, error) {
  6135  	req, out := c.ForgetDeviceRequest(input)
  6136  	req.SetContext(ctx)
  6137  	req.ApplyOptions(opts...)
  6138  	return out, req.Send()
  6139  }
  6140  
  6141  const opForgotPassword = "ForgotPassword"
  6142  
  6143  // ForgotPasswordRequest generates a "aws/request.Request" representing the
  6144  // client's request for the ForgotPassword operation. The "output" return
  6145  // value will be populated with the request's response once the request completes
  6146  // successfully.
  6147  //
  6148  // Use "Send" method on the returned Request to send the API call to the service.
  6149  // the "output" return value is not valid until after Send returns without error.
  6150  //
  6151  // See ForgotPassword for more information on using the ForgotPassword
  6152  // API call, and error handling.
  6153  //
  6154  // This method is useful when you want to inject custom logic or configuration
  6155  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6156  //
  6157  //
  6158  //    // Example sending a request using the ForgotPasswordRequest method.
  6159  //    req, resp := client.ForgotPasswordRequest(params)
  6160  //
  6161  //    err := req.Send()
  6162  //    if err == nil { // resp is now filled
  6163  //        fmt.Println(resp)
  6164  //    }
  6165  //
  6166  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ForgotPassword
  6167  func (c *CognitoIdentityProvider) ForgotPasswordRequest(input *ForgotPasswordInput) (req *request.Request, output *ForgotPasswordOutput) {
  6168  	op := &request.Operation{
  6169  		Name:       opForgotPassword,
  6170  		HTTPMethod: "POST",
  6171  		HTTPPath:   "/",
  6172  	}
  6173  
  6174  	if input == nil {
  6175  		input = &ForgotPasswordInput{}
  6176  	}
  6177  
  6178  	output = &ForgotPasswordOutput{}
  6179  	req = c.newRequest(op, input, output)
  6180  	req.Config.Credentials = credentials.AnonymousCredentials
  6181  	return
  6182  }
  6183  
  6184  // ForgotPassword API operation for Amazon Cognito Identity Provider.
  6185  //
  6186  // Calling this API causes a message to be sent to the end user with a confirmation
  6187  // code that is required to change the user's password. For the Username parameter,
  6188  // you can use the username or user alias. The method used to send the confirmation
  6189  // code is sent according to the specified AccountRecoverySetting. For more
  6190  // information, see Recovering User Accounts (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-recover-a-user-account.html)
  6191  // in the Amazon Cognito Developer Guide. If neither a verified phone number
  6192  // nor a verified email exists, an InvalidParameterException is thrown. To use
  6193  // the confirmation code for resetting the password, call ConfirmForgotPassword
  6194  // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html).
  6195  //
  6196  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  6197  // telecom carriers require that you register an origination phone number before
  6198  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  6199  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  6200  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  6201  // registered number automatically. Otherwise, Cognito users that must receive
  6202  // SMS messages might be unable to sign up, activate their accounts, or sign
  6203  // in.
  6204  //
  6205  // If you have never used SMS text messages with Amazon Cognito or any other
  6206  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  6207  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  6208  // , you’ll have limitations, such as sending messages to only verified phone
  6209  // numbers. After testing in the sandbox environment, you can move out of the
  6210  // SMS sandbox and into production. For more information, see SMS message settings
  6211  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  6212  // in the Amazon Cognito Developer Guide.
  6213  //
  6214  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6215  // with awserr.Error's Code and Message methods to get detailed information about
  6216  // the error.
  6217  //
  6218  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6219  // API operation ForgotPassword for usage and error information.
  6220  //
  6221  // Returned Error Types:
  6222  //   * ResourceNotFoundException
  6223  //   This exception is thrown when the Amazon Cognito service cannot find the
  6224  //   requested resource.
  6225  //
  6226  //   * InvalidParameterException
  6227  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6228  //   parameter.
  6229  //
  6230  //   * UnexpectedLambdaException
  6231  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  6232  //   exception with the Lambda service.
  6233  //
  6234  //   * UserLambdaValidationException
  6235  //   This exception is thrown when the Amazon Cognito service encounters a user
  6236  //   validation exception with the Lambda service.
  6237  //
  6238  //   * NotAuthorizedException
  6239  //   This exception is thrown when a user is not authorized.
  6240  //
  6241  //   * InvalidLambdaResponseException
  6242  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6243  //   Lambda response.
  6244  //
  6245  //   * TooManyRequestsException
  6246  //   This exception is thrown when the user has made too many requests for a given
  6247  //   operation.
  6248  //
  6249  //   * LimitExceededException
  6250  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  6251  //   Web Services resource.
  6252  //
  6253  //   * InvalidSmsRoleAccessPolicyException
  6254  //   This exception is returned when the role provided for SMS configuration does
  6255  //   not have permission to publish using Amazon SNS.
  6256  //
  6257  //   * InvalidSmsRoleTrustRelationshipException
  6258  //   This exception is thrown when the trust relationship is invalid for the role
  6259  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  6260  //   or the external ID provided in the role does not match what is provided in
  6261  //   the SMS configuration for the user pool.
  6262  //
  6263  //   * InvalidEmailRoleAccessPolicyException
  6264  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  6265  //   identity. HTTP status code: 400.
  6266  //
  6267  //   * CodeDeliveryFailureException
  6268  //   This exception is thrown when a verification code fails to deliver successfully.
  6269  //
  6270  //   * UserNotFoundException
  6271  //   This exception is thrown when a user is not found.
  6272  //
  6273  //   * UserNotConfirmedException
  6274  //   This exception is thrown when a user is not confirmed successfully.
  6275  //
  6276  //   * InternalErrorException
  6277  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6278  //
  6279  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ForgotPassword
  6280  func (c *CognitoIdentityProvider) ForgotPassword(input *ForgotPasswordInput) (*ForgotPasswordOutput, error) {
  6281  	req, out := c.ForgotPasswordRequest(input)
  6282  	return out, req.Send()
  6283  }
  6284  
  6285  // ForgotPasswordWithContext is the same as ForgotPassword with the addition of
  6286  // the ability to pass a context and additional request options.
  6287  //
  6288  // See ForgotPassword for details on how to use this API operation.
  6289  //
  6290  // The context must be non-nil and will be used for request cancellation. If
  6291  // the context is nil a panic will occur. In the future the SDK may create
  6292  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6293  // for more information on using Contexts.
  6294  func (c *CognitoIdentityProvider) ForgotPasswordWithContext(ctx aws.Context, input *ForgotPasswordInput, opts ...request.Option) (*ForgotPasswordOutput, error) {
  6295  	req, out := c.ForgotPasswordRequest(input)
  6296  	req.SetContext(ctx)
  6297  	req.ApplyOptions(opts...)
  6298  	return out, req.Send()
  6299  }
  6300  
  6301  const opGetCSVHeader = "GetCSVHeader"
  6302  
  6303  // GetCSVHeaderRequest generates a "aws/request.Request" representing the
  6304  // client's request for the GetCSVHeader operation. The "output" return
  6305  // value will be populated with the request's response once the request completes
  6306  // successfully.
  6307  //
  6308  // Use "Send" method on the returned Request to send the API call to the service.
  6309  // the "output" return value is not valid until after Send returns without error.
  6310  //
  6311  // See GetCSVHeader for more information on using the GetCSVHeader
  6312  // API call, and error handling.
  6313  //
  6314  // This method is useful when you want to inject custom logic or configuration
  6315  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6316  //
  6317  //
  6318  //    // Example sending a request using the GetCSVHeaderRequest method.
  6319  //    req, resp := client.GetCSVHeaderRequest(params)
  6320  //
  6321  //    err := req.Send()
  6322  //    if err == nil { // resp is now filled
  6323  //        fmt.Println(resp)
  6324  //    }
  6325  //
  6326  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetCSVHeader
  6327  func (c *CognitoIdentityProvider) GetCSVHeaderRequest(input *GetCSVHeaderInput) (req *request.Request, output *GetCSVHeaderOutput) {
  6328  	op := &request.Operation{
  6329  		Name:       opGetCSVHeader,
  6330  		HTTPMethod: "POST",
  6331  		HTTPPath:   "/",
  6332  	}
  6333  
  6334  	if input == nil {
  6335  		input = &GetCSVHeaderInput{}
  6336  	}
  6337  
  6338  	output = &GetCSVHeaderOutput{}
  6339  	req = c.newRequest(op, input, output)
  6340  	return
  6341  }
  6342  
  6343  // GetCSVHeader API operation for Amazon Cognito Identity Provider.
  6344  //
  6345  // Gets the header information for the .csv file to be used as input for the
  6346  // user import job.
  6347  //
  6348  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6349  // with awserr.Error's Code and Message methods to get detailed information about
  6350  // the error.
  6351  //
  6352  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6353  // API operation GetCSVHeader for usage and error information.
  6354  //
  6355  // Returned Error Types:
  6356  //   * ResourceNotFoundException
  6357  //   This exception is thrown when the Amazon Cognito service cannot find the
  6358  //   requested resource.
  6359  //
  6360  //   * InvalidParameterException
  6361  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6362  //   parameter.
  6363  //
  6364  //   * TooManyRequestsException
  6365  //   This exception is thrown when the user has made too many requests for a given
  6366  //   operation.
  6367  //
  6368  //   * NotAuthorizedException
  6369  //   This exception is thrown when a user is not authorized.
  6370  //
  6371  //   * InternalErrorException
  6372  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6373  //
  6374  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetCSVHeader
  6375  func (c *CognitoIdentityProvider) GetCSVHeader(input *GetCSVHeaderInput) (*GetCSVHeaderOutput, error) {
  6376  	req, out := c.GetCSVHeaderRequest(input)
  6377  	return out, req.Send()
  6378  }
  6379  
  6380  // GetCSVHeaderWithContext is the same as GetCSVHeader with the addition of
  6381  // the ability to pass a context and additional request options.
  6382  //
  6383  // See GetCSVHeader for details on how to use this API operation.
  6384  //
  6385  // The context must be non-nil and will be used for request cancellation. If
  6386  // the context is nil a panic will occur. In the future the SDK may create
  6387  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6388  // for more information on using Contexts.
  6389  func (c *CognitoIdentityProvider) GetCSVHeaderWithContext(ctx aws.Context, input *GetCSVHeaderInput, opts ...request.Option) (*GetCSVHeaderOutput, error) {
  6390  	req, out := c.GetCSVHeaderRequest(input)
  6391  	req.SetContext(ctx)
  6392  	req.ApplyOptions(opts...)
  6393  	return out, req.Send()
  6394  }
  6395  
  6396  const opGetDevice = "GetDevice"
  6397  
  6398  // GetDeviceRequest generates a "aws/request.Request" representing the
  6399  // client's request for the GetDevice operation. The "output" return
  6400  // value will be populated with the request's response once the request completes
  6401  // successfully.
  6402  //
  6403  // Use "Send" method on the returned Request to send the API call to the service.
  6404  // the "output" return value is not valid until after Send returns without error.
  6405  //
  6406  // See GetDevice for more information on using the GetDevice
  6407  // API call, and error handling.
  6408  //
  6409  // This method is useful when you want to inject custom logic or configuration
  6410  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6411  //
  6412  //
  6413  //    // Example sending a request using the GetDeviceRequest method.
  6414  //    req, resp := client.GetDeviceRequest(params)
  6415  //
  6416  //    err := req.Send()
  6417  //    if err == nil { // resp is now filled
  6418  //        fmt.Println(resp)
  6419  //    }
  6420  //
  6421  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetDevice
  6422  func (c *CognitoIdentityProvider) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
  6423  	op := &request.Operation{
  6424  		Name:       opGetDevice,
  6425  		HTTPMethod: "POST",
  6426  		HTTPPath:   "/",
  6427  	}
  6428  
  6429  	if input == nil {
  6430  		input = &GetDeviceInput{}
  6431  	}
  6432  
  6433  	output = &GetDeviceOutput{}
  6434  	req = c.newRequest(op, input, output)
  6435  	return
  6436  }
  6437  
  6438  // GetDevice API operation for Amazon Cognito Identity Provider.
  6439  //
  6440  // Gets the device.
  6441  //
  6442  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6443  // with awserr.Error's Code and Message methods to get detailed information about
  6444  // the error.
  6445  //
  6446  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6447  // API operation GetDevice for usage and error information.
  6448  //
  6449  // Returned Error Types:
  6450  //   * ResourceNotFoundException
  6451  //   This exception is thrown when the Amazon Cognito service cannot find the
  6452  //   requested resource.
  6453  //
  6454  //   * InvalidParameterException
  6455  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6456  //   parameter.
  6457  //
  6458  //   * InvalidUserPoolConfigurationException
  6459  //   This exception is thrown when the user pool configuration is invalid.
  6460  //
  6461  //   * NotAuthorizedException
  6462  //   This exception is thrown when a user is not authorized.
  6463  //
  6464  //   * TooManyRequestsException
  6465  //   This exception is thrown when the user has made too many requests for a given
  6466  //   operation.
  6467  //
  6468  //   * PasswordResetRequiredException
  6469  //   This exception is thrown when a password reset is required.
  6470  //
  6471  //   * UserNotFoundException
  6472  //   This exception is thrown when a user is not found.
  6473  //
  6474  //   * UserNotConfirmedException
  6475  //   This exception is thrown when a user is not confirmed successfully.
  6476  //
  6477  //   * InternalErrorException
  6478  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6479  //
  6480  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetDevice
  6481  func (c *CognitoIdentityProvider) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
  6482  	req, out := c.GetDeviceRequest(input)
  6483  	return out, req.Send()
  6484  }
  6485  
  6486  // GetDeviceWithContext is the same as GetDevice with the addition of
  6487  // the ability to pass a context and additional request options.
  6488  //
  6489  // See GetDevice for details on how to use this API operation.
  6490  //
  6491  // The context must be non-nil and will be used for request cancellation. If
  6492  // the context is nil a panic will occur. In the future the SDK may create
  6493  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6494  // for more information on using Contexts.
  6495  func (c *CognitoIdentityProvider) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
  6496  	req, out := c.GetDeviceRequest(input)
  6497  	req.SetContext(ctx)
  6498  	req.ApplyOptions(opts...)
  6499  	return out, req.Send()
  6500  }
  6501  
  6502  const opGetGroup = "GetGroup"
  6503  
  6504  // GetGroupRequest generates a "aws/request.Request" representing the
  6505  // client's request for the GetGroup operation. The "output" return
  6506  // value will be populated with the request's response once the request completes
  6507  // successfully.
  6508  //
  6509  // Use "Send" method on the returned Request to send the API call to the service.
  6510  // the "output" return value is not valid until after Send returns without error.
  6511  //
  6512  // See GetGroup for more information on using the GetGroup
  6513  // API call, and error handling.
  6514  //
  6515  // This method is useful when you want to inject custom logic or configuration
  6516  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6517  //
  6518  //
  6519  //    // Example sending a request using the GetGroupRequest method.
  6520  //    req, resp := client.GetGroupRequest(params)
  6521  //
  6522  //    err := req.Send()
  6523  //    if err == nil { // resp is now filled
  6524  //        fmt.Println(resp)
  6525  //    }
  6526  //
  6527  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetGroup
  6528  func (c *CognitoIdentityProvider) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
  6529  	op := &request.Operation{
  6530  		Name:       opGetGroup,
  6531  		HTTPMethod: "POST",
  6532  		HTTPPath:   "/",
  6533  	}
  6534  
  6535  	if input == nil {
  6536  		input = &GetGroupInput{}
  6537  	}
  6538  
  6539  	output = &GetGroupOutput{}
  6540  	req = c.newRequest(op, input, output)
  6541  	return
  6542  }
  6543  
  6544  // GetGroup API operation for Amazon Cognito Identity Provider.
  6545  //
  6546  // Gets a group.
  6547  //
  6548  // Calling this action requires developer credentials.
  6549  //
  6550  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6551  // with awserr.Error's Code and Message methods to get detailed information about
  6552  // the error.
  6553  //
  6554  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6555  // API operation GetGroup for usage and error information.
  6556  //
  6557  // Returned Error Types:
  6558  //   * ResourceNotFoundException
  6559  //   This exception is thrown when the Amazon Cognito service cannot find the
  6560  //   requested resource.
  6561  //
  6562  //   * InvalidParameterException
  6563  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6564  //   parameter.
  6565  //
  6566  //   * TooManyRequestsException
  6567  //   This exception is thrown when the user has made too many requests for a given
  6568  //   operation.
  6569  //
  6570  //   * NotAuthorizedException
  6571  //   This exception is thrown when a user is not authorized.
  6572  //
  6573  //   * InternalErrorException
  6574  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6575  //
  6576  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetGroup
  6577  func (c *CognitoIdentityProvider) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
  6578  	req, out := c.GetGroupRequest(input)
  6579  	return out, req.Send()
  6580  }
  6581  
  6582  // GetGroupWithContext is the same as GetGroup with the addition of
  6583  // the ability to pass a context and additional request options.
  6584  //
  6585  // See GetGroup for details on how to use this API operation.
  6586  //
  6587  // The context must be non-nil and will be used for request cancellation. If
  6588  // the context is nil a panic will occur. In the future the SDK may create
  6589  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6590  // for more information on using Contexts.
  6591  func (c *CognitoIdentityProvider) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) {
  6592  	req, out := c.GetGroupRequest(input)
  6593  	req.SetContext(ctx)
  6594  	req.ApplyOptions(opts...)
  6595  	return out, req.Send()
  6596  }
  6597  
  6598  const opGetIdentityProviderByIdentifier = "GetIdentityProviderByIdentifier"
  6599  
  6600  // GetIdentityProviderByIdentifierRequest generates a "aws/request.Request" representing the
  6601  // client's request for the GetIdentityProviderByIdentifier operation. The "output" return
  6602  // value will be populated with the request's response once the request completes
  6603  // successfully.
  6604  //
  6605  // Use "Send" method on the returned Request to send the API call to the service.
  6606  // the "output" return value is not valid until after Send returns without error.
  6607  //
  6608  // See GetIdentityProviderByIdentifier for more information on using the GetIdentityProviderByIdentifier
  6609  // API call, and error handling.
  6610  //
  6611  // This method is useful when you want to inject custom logic or configuration
  6612  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6613  //
  6614  //
  6615  //    // Example sending a request using the GetIdentityProviderByIdentifierRequest method.
  6616  //    req, resp := client.GetIdentityProviderByIdentifierRequest(params)
  6617  //
  6618  //    err := req.Send()
  6619  //    if err == nil { // resp is now filled
  6620  //        fmt.Println(resp)
  6621  //    }
  6622  //
  6623  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetIdentityProviderByIdentifier
  6624  func (c *CognitoIdentityProvider) GetIdentityProviderByIdentifierRequest(input *GetIdentityProviderByIdentifierInput) (req *request.Request, output *GetIdentityProviderByIdentifierOutput) {
  6625  	op := &request.Operation{
  6626  		Name:       opGetIdentityProviderByIdentifier,
  6627  		HTTPMethod: "POST",
  6628  		HTTPPath:   "/",
  6629  	}
  6630  
  6631  	if input == nil {
  6632  		input = &GetIdentityProviderByIdentifierInput{}
  6633  	}
  6634  
  6635  	output = &GetIdentityProviderByIdentifierOutput{}
  6636  	req = c.newRequest(op, input, output)
  6637  	return
  6638  }
  6639  
  6640  // GetIdentityProviderByIdentifier API operation for Amazon Cognito Identity Provider.
  6641  //
  6642  // Gets the specified identity provider.
  6643  //
  6644  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6645  // with awserr.Error's Code and Message methods to get detailed information about
  6646  // the error.
  6647  //
  6648  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6649  // API operation GetIdentityProviderByIdentifier for usage and error information.
  6650  //
  6651  // Returned Error Types:
  6652  //   * InvalidParameterException
  6653  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6654  //   parameter.
  6655  //
  6656  //   * ResourceNotFoundException
  6657  //   This exception is thrown when the Amazon Cognito service cannot find the
  6658  //   requested resource.
  6659  //
  6660  //   * NotAuthorizedException
  6661  //   This exception is thrown when a user is not authorized.
  6662  //
  6663  //   * TooManyRequestsException
  6664  //   This exception is thrown when the user has made too many requests for a given
  6665  //   operation.
  6666  //
  6667  //   * InternalErrorException
  6668  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6669  //
  6670  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetIdentityProviderByIdentifier
  6671  func (c *CognitoIdentityProvider) GetIdentityProviderByIdentifier(input *GetIdentityProviderByIdentifierInput) (*GetIdentityProviderByIdentifierOutput, error) {
  6672  	req, out := c.GetIdentityProviderByIdentifierRequest(input)
  6673  	return out, req.Send()
  6674  }
  6675  
  6676  // GetIdentityProviderByIdentifierWithContext is the same as GetIdentityProviderByIdentifier with the addition of
  6677  // the ability to pass a context and additional request options.
  6678  //
  6679  // See GetIdentityProviderByIdentifier for details on how to use this API operation.
  6680  //
  6681  // The context must be non-nil and will be used for request cancellation. If
  6682  // the context is nil a panic will occur. In the future the SDK may create
  6683  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6684  // for more information on using Contexts.
  6685  func (c *CognitoIdentityProvider) GetIdentityProviderByIdentifierWithContext(ctx aws.Context, input *GetIdentityProviderByIdentifierInput, opts ...request.Option) (*GetIdentityProviderByIdentifierOutput, error) {
  6686  	req, out := c.GetIdentityProviderByIdentifierRequest(input)
  6687  	req.SetContext(ctx)
  6688  	req.ApplyOptions(opts...)
  6689  	return out, req.Send()
  6690  }
  6691  
  6692  const opGetSigningCertificate = "GetSigningCertificate"
  6693  
  6694  // GetSigningCertificateRequest generates a "aws/request.Request" representing the
  6695  // client's request for the GetSigningCertificate operation. The "output" return
  6696  // value will be populated with the request's response once the request completes
  6697  // successfully.
  6698  //
  6699  // Use "Send" method on the returned Request to send the API call to the service.
  6700  // the "output" return value is not valid until after Send returns without error.
  6701  //
  6702  // See GetSigningCertificate for more information on using the GetSigningCertificate
  6703  // API call, and error handling.
  6704  //
  6705  // This method is useful when you want to inject custom logic or configuration
  6706  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6707  //
  6708  //
  6709  //    // Example sending a request using the GetSigningCertificateRequest method.
  6710  //    req, resp := client.GetSigningCertificateRequest(params)
  6711  //
  6712  //    err := req.Send()
  6713  //    if err == nil { // resp is now filled
  6714  //        fmt.Println(resp)
  6715  //    }
  6716  //
  6717  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetSigningCertificate
  6718  func (c *CognitoIdentityProvider) GetSigningCertificateRequest(input *GetSigningCertificateInput) (req *request.Request, output *GetSigningCertificateOutput) {
  6719  	op := &request.Operation{
  6720  		Name:       opGetSigningCertificate,
  6721  		HTTPMethod: "POST",
  6722  		HTTPPath:   "/",
  6723  	}
  6724  
  6725  	if input == nil {
  6726  		input = &GetSigningCertificateInput{}
  6727  	}
  6728  
  6729  	output = &GetSigningCertificateOutput{}
  6730  	req = c.newRequest(op, input, output)
  6731  	return
  6732  }
  6733  
  6734  // GetSigningCertificate API operation for Amazon Cognito Identity Provider.
  6735  //
  6736  // This method takes a user pool ID, and returns the signing certificate.
  6737  //
  6738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6739  // with awserr.Error's Code and Message methods to get detailed information about
  6740  // the error.
  6741  //
  6742  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6743  // API operation GetSigningCertificate for usage and error information.
  6744  //
  6745  // Returned Error Types:
  6746  //   * InternalErrorException
  6747  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6748  //
  6749  //   * InvalidParameterException
  6750  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6751  //   parameter.
  6752  //
  6753  //   * ResourceNotFoundException
  6754  //   This exception is thrown when the Amazon Cognito service cannot find the
  6755  //   requested resource.
  6756  //
  6757  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetSigningCertificate
  6758  func (c *CognitoIdentityProvider) GetSigningCertificate(input *GetSigningCertificateInput) (*GetSigningCertificateOutput, error) {
  6759  	req, out := c.GetSigningCertificateRequest(input)
  6760  	return out, req.Send()
  6761  }
  6762  
  6763  // GetSigningCertificateWithContext is the same as GetSigningCertificate with the addition of
  6764  // the ability to pass a context and additional request options.
  6765  //
  6766  // See GetSigningCertificate for details on how to use this API operation.
  6767  //
  6768  // The context must be non-nil and will be used for request cancellation. If
  6769  // the context is nil a panic will occur. In the future the SDK may create
  6770  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6771  // for more information on using Contexts.
  6772  func (c *CognitoIdentityProvider) GetSigningCertificateWithContext(ctx aws.Context, input *GetSigningCertificateInput, opts ...request.Option) (*GetSigningCertificateOutput, error) {
  6773  	req, out := c.GetSigningCertificateRequest(input)
  6774  	req.SetContext(ctx)
  6775  	req.ApplyOptions(opts...)
  6776  	return out, req.Send()
  6777  }
  6778  
  6779  const opGetUICustomization = "GetUICustomization"
  6780  
  6781  // GetUICustomizationRequest generates a "aws/request.Request" representing the
  6782  // client's request for the GetUICustomization operation. The "output" return
  6783  // value will be populated with the request's response once the request completes
  6784  // successfully.
  6785  //
  6786  // Use "Send" method on the returned Request to send the API call to the service.
  6787  // the "output" return value is not valid until after Send returns without error.
  6788  //
  6789  // See GetUICustomization for more information on using the GetUICustomization
  6790  // API call, and error handling.
  6791  //
  6792  // This method is useful when you want to inject custom logic or configuration
  6793  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6794  //
  6795  //
  6796  //    // Example sending a request using the GetUICustomizationRequest method.
  6797  //    req, resp := client.GetUICustomizationRequest(params)
  6798  //
  6799  //    err := req.Send()
  6800  //    if err == nil { // resp is now filled
  6801  //        fmt.Println(resp)
  6802  //    }
  6803  //
  6804  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUICustomization
  6805  func (c *CognitoIdentityProvider) GetUICustomizationRequest(input *GetUICustomizationInput) (req *request.Request, output *GetUICustomizationOutput) {
  6806  	op := &request.Operation{
  6807  		Name:       opGetUICustomization,
  6808  		HTTPMethod: "POST",
  6809  		HTTPPath:   "/",
  6810  	}
  6811  
  6812  	if input == nil {
  6813  		input = &GetUICustomizationInput{}
  6814  	}
  6815  
  6816  	output = &GetUICustomizationOutput{}
  6817  	req = c.newRequest(op, input, output)
  6818  	return
  6819  }
  6820  
  6821  // GetUICustomization API operation for Amazon Cognito Identity Provider.
  6822  //
  6823  // Gets the UI Customization information for a particular app client's app UI,
  6824  // if there is something set. If nothing is set for the particular client, but
  6825  // there is an existing pool level customization (app clientId will be ALL),
  6826  // then that is returned. If nothing is present, then an empty shape is returned.
  6827  //
  6828  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6829  // with awserr.Error's Code and Message methods to get detailed information about
  6830  // the error.
  6831  //
  6832  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6833  // API operation GetUICustomization for usage and error information.
  6834  //
  6835  // Returned Error Types:
  6836  //   * InvalidParameterException
  6837  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6838  //   parameter.
  6839  //
  6840  //   * ResourceNotFoundException
  6841  //   This exception is thrown when the Amazon Cognito service cannot find the
  6842  //   requested resource.
  6843  //
  6844  //   * NotAuthorizedException
  6845  //   This exception is thrown when a user is not authorized.
  6846  //
  6847  //   * TooManyRequestsException
  6848  //   This exception is thrown when the user has made too many requests for a given
  6849  //   operation.
  6850  //
  6851  //   * InternalErrorException
  6852  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6853  //
  6854  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUICustomization
  6855  func (c *CognitoIdentityProvider) GetUICustomization(input *GetUICustomizationInput) (*GetUICustomizationOutput, error) {
  6856  	req, out := c.GetUICustomizationRequest(input)
  6857  	return out, req.Send()
  6858  }
  6859  
  6860  // GetUICustomizationWithContext is the same as GetUICustomization with the addition of
  6861  // the ability to pass a context and additional request options.
  6862  //
  6863  // See GetUICustomization for details on how to use this API operation.
  6864  //
  6865  // The context must be non-nil and will be used for request cancellation. If
  6866  // the context is nil a panic will occur. In the future the SDK may create
  6867  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6868  // for more information on using Contexts.
  6869  func (c *CognitoIdentityProvider) GetUICustomizationWithContext(ctx aws.Context, input *GetUICustomizationInput, opts ...request.Option) (*GetUICustomizationOutput, error) {
  6870  	req, out := c.GetUICustomizationRequest(input)
  6871  	req.SetContext(ctx)
  6872  	req.ApplyOptions(opts...)
  6873  	return out, req.Send()
  6874  }
  6875  
  6876  const opGetUser = "GetUser"
  6877  
  6878  // GetUserRequest generates a "aws/request.Request" representing the
  6879  // client's request for the GetUser operation. The "output" return
  6880  // value will be populated with the request's response once the request completes
  6881  // successfully.
  6882  //
  6883  // Use "Send" method on the returned Request to send the API call to the service.
  6884  // the "output" return value is not valid until after Send returns without error.
  6885  //
  6886  // See GetUser for more information on using the GetUser
  6887  // API call, and error handling.
  6888  //
  6889  // This method is useful when you want to inject custom logic or configuration
  6890  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6891  //
  6892  //
  6893  //    // Example sending a request using the GetUserRequest method.
  6894  //    req, resp := client.GetUserRequest(params)
  6895  //
  6896  //    err := req.Send()
  6897  //    if err == nil { // resp is now filled
  6898  //        fmt.Println(resp)
  6899  //    }
  6900  //
  6901  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUser
  6902  func (c *CognitoIdentityProvider) GetUserRequest(input *GetUserInput) (req *request.Request, output *GetUserOutput) {
  6903  	op := &request.Operation{
  6904  		Name:       opGetUser,
  6905  		HTTPMethod: "POST",
  6906  		HTTPPath:   "/",
  6907  	}
  6908  
  6909  	if input == nil {
  6910  		input = &GetUserInput{}
  6911  	}
  6912  
  6913  	output = &GetUserOutput{}
  6914  	req = c.newRequest(op, input, output)
  6915  	req.Config.Credentials = credentials.AnonymousCredentials
  6916  	return
  6917  }
  6918  
  6919  // GetUser API operation for Amazon Cognito Identity Provider.
  6920  //
  6921  // Gets the user attributes and metadata for a user.
  6922  //
  6923  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6924  // with awserr.Error's Code and Message methods to get detailed information about
  6925  // the error.
  6926  //
  6927  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  6928  // API operation GetUser for usage and error information.
  6929  //
  6930  // Returned Error Types:
  6931  //   * ResourceNotFoundException
  6932  //   This exception is thrown when the Amazon Cognito service cannot find the
  6933  //   requested resource.
  6934  //
  6935  //   * InvalidParameterException
  6936  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  6937  //   parameter.
  6938  //
  6939  //   * NotAuthorizedException
  6940  //   This exception is thrown when a user is not authorized.
  6941  //
  6942  //   * TooManyRequestsException
  6943  //   This exception is thrown when the user has made too many requests for a given
  6944  //   operation.
  6945  //
  6946  //   * PasswordResetRequiredException
  6947  //   This exception is thrown when a password reset is required.
  6948  //
  6949  //   * UserNotFoundException
  6950  //   This exception is thrown when a user is not found.
  6951  //
  6952  //   * UserNotConfirmedException
  6953  //   This exception is thrown when a user is not confirmed successfully.
  6954  //
  6955  //   * InternalErrorException
  6956  //   This exception is thrown when Amazon Cognito encounters an internal error.
  6957  //
  6958  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUser
  6959  func (c *CognitoIdentityProvider) GetUser(input *GetUserInput) (*GetUserOutput, error) {
  6960  	req, out := c.GetUserRequest(input)
  6961  	return out, req.Send()
  6962  }
  6963  
  6964  // GetUserWithContext is the same as GetUser with the addition of
  6965  // the ability to pass a context and additional request options.
  6966  //
  6967  // See GetUser for details on how to use this API operation.
  6968  //
  6969  // The context must be non-nil and will be used for request cancellation. If
  6970  // the context is nil a panic will occur. In the future the SDK may create
  6971  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6972  // for more information on using Contexts.
  6973  func (c *CognitoIdentityProvider) GetUserWithContext(ctx aws.Context, input *GetUserInput, opts ...request.Option) (*GetUserOutput, error) {
  6974  	req, out := c.GetUserRequest(input)
  6975  	req.SetContext(ctx)
  6976  	req.ApplyOptions(opts...)
  6977  	return out, req.Send()
  6978  }
  6979  
  6980  const opGetUserAttributeVerificationCode = "GetUserAttributeVerificationCode"
  6981  
  6982  // GetUserAttributeVerificationCodeRequest generates a "aws/request.Request" representing the
  6983  // client's request for the GetUserAttributeVerificationCode operation. The "output" return
  6984  // value will be populated with the request's response once the request completes
  6985  // successfully.
  6986  //
  6987  // Use "Send" method on the returned Request to send the API call to the service.
  6988  // the "output" return value is not valid until after Send returns without error.
  6989  //
  6990  // See GetUserAttributeVerificationCode for more information on using the GetUserAttributeVerificationCode
  6991  // API call, and error handling.
  6992  //
  6993  // This method is useful when you want to inject custom logic or configuration
  6994  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6995  //
  6996  //
  6997  //    // Example sending a request using the GetUserAttributeVerificationCodeRequest method.
  6998  //    req, resp := client.GetUserAttributeVerificationCodeRequest(params)
  6999  //
  7000  //    err := req.Send()
  7001  //    if err == nil { // resp is now filled
  7002  //        fmt.Println(resp)
  7003  //    }
  7004  //
  7005  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserAttributeVerificationCode
  7006  func (c *CognitoIdentityProvider) GetUserAttributeVerificationCodeRequest(input *GetUserAttributeVerificationCodeInput) (req *request.Request, output *GetUserAttributeVerificationCodeOutput) {
  7007  	op := &request.Operation{
  7008  		Name:       opGetUserAttributeVerificationCode,
  7009  		HTTPMethod: "POST",
  7010  		HTTPPath:   "/",
  7011  	}
  7012  
  7013  	if input == nil {
  7014  		input = &GetUserAttributeVerificationCodeInput{}
  7015  	}
  7016  
  7017  	output = &GetUserAttributeVerificationCodeOutput{}
  7018  	req = c.newRequest(op, input, output)
  7019  	req.Config.Credentials = credentials.AnonymousCredentials
  7020  	return
  7021  }
  7022  
  7023  // GetUserAttributeVerificationCode API operation for Amazon Cognito Identity Provider.
  7024  //
  7025  // Gets the user attribute verification code for the specified attribute name.
  7026  //
  7027  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  7028  // telecom carriers require that you register an origination phone number before
  7029  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  7030  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  7031  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  7032  // registered number automatically. Otherwise, Cognito users that must receive
  7033  // SMS messages might be unable to sign up, activate their accounts, or sign
  7034  // in.
  7035  //
  7036  // If you have never used SMS text messages with Amazon Cognito or any other
  7037  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  7038  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  7039  // , you’ll have limitations, such as sending messages to only verified phone
  7040  // numbers. After testing in the sandbox environment, you can move out of the
  7041  // SMS sandbox and into production. For more information, see SMS message settings
  7042  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  7043  // in the Amazon Cognito Developer Guide.
  7044  //
  7045  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7046  // with awserr.Error's Code and Message methods to get detailed information about
  7047  // the error.
  7048  //
  7049  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7050  // API operation GetUserAttributeVerificationCode for usage and error information.
  7051  //
  7052  // Returned Error Types:
  7053  //   * ResourceNotFoundException
  7054  //   This exception is thrown when the Amazon Cognito service cannot find the
  7055  //   requested resource.
  7056  //
  7057  //   * InvalidParameterException
  7058  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7059  //   parameter.
  7060  //
  7061  //   * TooManyRequestsException
  7062  //   This exception is thrown when the user has made too many requests for a given
  7063  //   operation.
  7064  //
  7065  //   * NotAuthorizedException
  7066  //   This exception is thrown when a user is not authorized.
  7067  //
  7068  //   * UnexpectedLambdaException
  7069  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  7070  //   exception with the Lambda service.
  7071  //
  7072  //   * UserLambdaValidationException
  7073  //   This exception is thrown when the Amazon Cognito service encounters a user
  7074  //   validation exception with the Lambda service.
  7075  //
  7076  //   * InvalidLambdaResponseException
  7077  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7078  //   Lambda response.
  7079  //
  7080  //   * InvalidSmsRoleAccessPolicyException
  7081  //   This exception is returned when the role provided for SMS configuration does
  7082  //   not have permission to publish using Amazon SNS.
  7083  //
  7084  //   * InvalidSmsRoleTrustRelationshipException
  7085  //   This exception is thrown when the trust relationship is invalid for the role
  7086  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  7087  //   or the external ID provided in the role does not match what is provided in
  7088  //   the SMS configuration for the user pool.
  7089  //
  7090  //   * InvalidEmailRoleAccessPolicyException
  7091  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  7092  //   identity. HTTP status code: 400.
  7093  //
  7094  //   * CodeDeliveryFailureException
  7095  //   This exception is thrown when a verification code fails to deliver successfully.
  7096  //
  7097  //   * LimitExceededException
  7098  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  7099  //   Web Services resource.
  7100  //
  7101  //   * PasswordResetRequiredException
  7102  //   This exception is thrown when a password reset is required.
  7103  //
  7104  //   * UserNotFoundException
  7105  //   This exception is thrown when a user is not found.
  7106  //
  7107  //   * UserNotConfirmedException
  7108  //   This exception is thrown when a user is not confirmed successfully.
  7109  //
  7110  //   * InternalErrorException
  7111  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7112  //
  7113  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserAttributeVerificationCode
  7114  func (c *CognitoIdentityProvider) GetUserAttributeVerificationCode(input *GetUserAttributeVerificationCodeInput) (*GetUserAttributeVerificationCodeOutput, error) {
  7115  	req, out := c.GetUserAttributeVerificationCodeRequest(input)
  7116  	return out, req.Send()
  7117  }
  7118  
  7119  // GetUserAttributeVerificationCodeWithContext is the same as GetUserAttributeVerificationCode with the addition of
  7120  // the ability to pass a context and additional request options.
  7121  //
  7122  // See GetUserAttributeVerificationCode for details on how to use this API operation.
  7123  //
  7124  // The context must be non-nil and will be used for request cancellation. If
  7125  // the context is nil a panic will occur. In the future the SDK may create
  7126  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7127  // for more information on using Contexts.
  7128  func (c *CognitoIdentityProvider) GetUserAttributeVerificationCodeWithContext(ctx aws.Context, input *GetUserAttributeVerificationCodeInput, opts ...request.Option) (*GetUserAttributeVerificationCodeOutput, error) {
  7129  	req, out := c.GetUserAttributeVerificationCodeRequest(input)
  7130  	req.SetContext(ctx)
  7131  	req.ApplyOptions(opts...)
  7132  	return out, req.Send()
  7133  }
  7134  
  7135  const opGetUserPoolMfaConfig = "GetUserPoolMfaConfig"
  7136  
  7137  // GetUserPoolMfaConfigRequest generates a "aws/request.Request" representing the
  7138  // client's request for the GetUserPoolMfaConfig operation. The "output" return
  7139  // value will be populated with the request's response once the request completes
  7140  // successfully.
  7141  //
  7142  // Use "Send" method on the returned Request to send the API call to the service.
  7143  // the "output" return value is not valid until after Send returns without error.
  7144  //
  7145  // See GetUserPoolMfaConfig for more information on using the GetUserPoolMfaConfig
  7146  // API call, and error handling.
  7147  //
  7148  // This method is useful when you want to inject custom logic or configuration
  7149  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7150  //
  7151  //
  7152  //    // Example sending a request using the GetUserPoolMfaConfigRequest method.
  7153  //    req, resp := client.GetUserPoolMfaConfigRequest(params)
  7154  //
  7155  //    err := req.Send()
  7156  //    if err == nil { // resp is now filled
  7157  //        fmt.Println(resp)
  7158  //    }
  7159  //
  7160  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserPoolMfaConfig
  7161  func (c *CognitoIdentityProvider) GetUserPoolMfaConfigRequest(input *GetUserPoolMfaConfigInput) (req *request.Request, output *GetUserPoolMfaConfigOutput) {
  7162  	op := &request.Operation{
  7163  		Name:       opGetUserPoolMfaConfig,
  7164  		HTTPMethod: "POST",
  7165  		HTTPPath:   "/",
  7166  	}
  7167  
  7168  	if input == nil {
  7169  		input = &GetUserPoolMfaConfigInput{}
  7170  	}
  7171  
  7172  	output = &GetUserPoolMfaConfigOutput{}
  7173  	req = c.newRequest(op, input, output)
  7174  	return
  7175  }
  7176  
  7177  // GetUserPoolMfaConfig API operation for Amazon Cognito Identity Provider.
  7178  //
  7179  // Gets the user pool multi-factor authentication (MFA) configuration.
  7180  //
  7181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7182  // with awserr.Error's Code and Message methods to get detailed information about
  7183  // the error.
  7184  //
  7185  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7186  // API operation GetUserPoolMfaConfig for usage and error information.
  7187  //
  7188  // Returned Error Types:
  7189  //   * InvalidParameterException
  7190  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7191  //   parameter.
  7192  //
  7193  //   * TooManyRequestsException
  7194  //   This exception is thrown when the user has made too many requests for a given
  7195  //   operation.
  7196  //
  7197  //   * ResourceNotFoundException
  7198  //   This exception is thrown when the Amazon Cognito service cannot find the
  7199  //   requested resource.
  7200  //
  7201  //   * NotAuthorizedException
  7202  //   This exception is thrown when a user is not authorized.
  7203  //
  7204  //   * InternalErrorException
  7205  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7206  //
  7207  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserPoolMfaConfig
  7208  func (c *CognitoIdentityProvider) GetUserPoolMfaConfig(input *GetUserPoolMfaConfigInput) (*GetUserPoolMfaConfigOutput, error) {
  7209  	req, out := c.GetUserPoolMfaConfigRequest(input)
  7210  	return out, req.Send()
  7211  }
  7212  
  7213  // GetUserPoolMfaConfigWithContext is the same as GetUserPoolMfaConfig with the addition of
  7214  // the ability to pass a context and additional request options.
  7215  //
  7216  // See GetUserPoolMfaConfig for details on how to use this API operation.
  7217  //
  7218  // The context must be non-nil and will be used for request cancellation. If
  7219  // the context is nil a panic will occur. In the future the SDK may create
  7220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7221  // for more information on using Contexts.
  7222  func (c *CognitoIdentityProvider) GetUserPoolMfaConfigWithContext(ctx aws.Context, input *GetUserPoolMfaConfigInput, opts ...request.Option) (*GetUserPoolMfaConfigOutput, error) {
  7223  	req, out := c.GetUserPoolMfaConfigRequest(input)
  7224  	req.SetContext(ctx)
  7225  	req.ApplyOptions(opts...)
  7226  	return out, req.Send()
  7227  }
  7228  
  7229  const opGlobalSignOut = "GlobalSignOut"
  7230  
  7231  // GlobalSignOutRequest generates a "aws/request.Request" representing the
  7232  // client's request for the GlobalSignOut operation. The "output" return
  7233  // value will be populated with the request's response once the request completes
  7234  // successfully.
  7235  //
  7236  // Use "Send" method on the returned Request to send the API call to the service.
  7237  // the "output" return value is not valid until after Send returns without error.
  7238  //
  7239  // See GlobalSignOut for more information on using the GlobalSignOut
  7240  // API call, and error handling.
  7241  //
  7242  // This method is useful when you want to inject custom logic or configuration
  7243  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7244  //
  7245  //
  7246  //    // Example sending a request using the GlobalSignOutRequest method.
  7247  //    req, resp := client.GlobalSignOutRequest(params)
  7248  //
  7249  //    err := req.Send()
  7250  //    if err == nil { // resp is now filled
  7251  //        fmt.Println(resp)
  7252  //    }
  7253  //
  7254  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GlobalSignOut
  7255  func (c *CognitoIdentityProvider) GlobalSignOutRequest(input *GlobalSignOutInput) (req *request.Request, output *GlobalSignOutOutput) {
  7256  	op := &request.Operation{
  7257  		Name:       opGlobalSignOut,
  7258  		HTTPMethod: "POST",
  7259  		HTTPPath:   "/",
  7260  	}
  7261  
  7262  	if input == nil {
  7263  		input = &GlobalSignOutInput{}
  7264  	}
  7265  
  7266  	output = &GlobalSignOutOutput{}
  7267  	req = c.newRequest(op, input, output)
  7268  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7269  	return
  7270  }
  7271  
  7272  // GlobalSignOut API operation for Amazon Cognito Identity Provider.
  7273  //
  7274  // Signs out users from all devices. It also invalidates all refresh tokens
  7275  // issued to a user. The user's current access and Id tokens remain valid until
  7276  // their expiry. Access and Id tokens expire one hour after they are issued.
  7277  //
  7278  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7279  // with awserr.Error's Code and Message methods to get detailed information about
  7280  // the error.
  7281  //
  7282  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7283  // API operation GlobalSignOut for usage and error information.
  7284  //
  7285  // Returned Error Types:
  7286  //   * ResourceNotFoundException
  7287  //   This exception is thrown when the Amazon Cognito service cannot find the
  7288  //   requested resource.
  7289  //
  7290  //   * InvalidParameterException
  7291  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7292  //   parameter.
  7293  //
  7294  //   * NotAuthorizedException
  7295  //   This exception is thrown when a user is not authorized.
  7296  //
  7297  //   * TooManyRequestsException
  7298  //   This exception is thrown when the user has made too many requests for a given
  7299  //   operation.
  7300  //
  7301  //   * PasswordResetRequiredException
  7302  //   This exception is thrown when a password reset is required.
  7303  //
  7304  //   * UserNotConfirmedException
  7305  //   This exception is thrown when a user is not confirmed successfully.
  7306  //
  7307  //   * InternalErrorException
  7308  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7309  //
  7310  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GlobalSignOut
  7311  func (c *CognitoIdentityProvider) GlobalSignOut(input *GlobalSignOutInput) (*GlobalSignOutOutput, error) {
  7312  	req, out := c.GlobalSignOutRequest(input)
  7313  	return out, req.Send()
  7314  }
  7315  
  7316  // GlobalSignOutWithContext is the same as GlobalSignOut with the addition of
  7317  // the ability to pass a context and additional request options.
  7318  //
  7319  // See GlobalSignOut for details on how to use this API operation.
  7320  //
  7321  // The context must be non-nil and will be used for request cancellation. If
  7322  // the context is nil a panic will occur. In the future the SDK may create
  7323  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7324  // for more information on using Contexts.
  7325  func (c *CognitoIdentityProvider) GlobalSignOutWithContext(ctx aws.Context, input *GlobalSignOutInput, opts ...request.Option) (*GlobalSignOutOutput, error) {
  7326  	req, out := c.GlobalSignOutRequest(input)
  7327  	req.SetContext(ctx)
  7328  	req.ApplyOptions(opts...)
  7329  	return out, req.Send()
  7330  }
  7331  
  7332  const opInitiateAuth = "InitiateAuth"
  7333  
  7334  // InitiateAuthRequest generates a "aws/request.Request" representing the
  7335  // client's request for the InitiateAuth operation. The "output" return
  7336  // value will be populated with the request's response once the request completes
  7337  // successfully.
  7338  //
  7339  // Use "Send" method on the returned Request to send the API call to the service.
  7340  // the "output" return value is not valid until after Send returns without error.
  7341  //
  7342  // See InitiateAuth for more information on using the InitiateAuth
  7343  // API call, and error handling.
  7344  //
  7345  // This method is useful when you want to inject custom logic or configuration
  7346  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7347  //
  7348  //
  7349  //    // Example sending a request using the InitiateAuthRequest method.
  7350  //    req, resp := client.InitiateAuthRequest(params)
  7351  //
  7352  //    err := req.Send()
  7353  //    if err == nil { // resp is now filled
  7354  //        fmt.Println(resp)
  7355  //    }
  7356  //
  7357  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/InitiateAuth
  7358  func (c *CognitoIdentityProvider) InitiateAuthRequest(input *InitiateAuthInput) (req *request.Request, output *InitiateAuthOutput) {
  7359  	op := &request.Operation{
  7360  		Name:       opInitiateAuth,
  7361  		HTTPMethod: "POST",
  7362  		HTTPPath:   "/",
  7363  	}
  7364  
  7365  	if input == nil {
  7366  		input = &InitiateAuthInput{}
  7367  	}
  7368  
  7369  	output = &InitiateAuthOutput{}
  7370  	req = c.newRequest(op, input, output)
  7371  	req.Config.Credentials = credentials.AnonymousCredentials
  7372  	return
  7373  }
  7374  
  7375  // InitiateAuth API operation for Amazon Cognito Identity Provider.
  7376  //
  7377  // Initiates the authentication flow.
  7378  //
  7379  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  7380  // telecom carriers require that you register an origination phone number before
  7381  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  7382  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  7383  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  7384  // registered number automatically. Otherwise, Cognito users that must receive
  7385  // SMS messages might be unable to sign up, activate their accounts, or sign
  7386  // in.
  7387  //
  7388  // If you have never used SMS text messages with Amazon Cognito or any other
  7389  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  7390  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  7391  // , you’ll have limitations, such as sending messages to only verified phone
  7392  // numbers. After testing in the sandbox environment, you can move out of the
  7393  // SMS sandbox and into production. For more information, see SMS message settings
  7394  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  7395  // in the Amazon Cognito Developer Guide.
  7396  //
  7397  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7398  // with awserr.Error's Code and Message methods to get detailed information about
  7399  // the error.
  7400  //
  7401  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7402  // API operation InitiateAuth for usage and error information.
  7403  //
  7404  // Returned Error Types:
  7405  //   * ResourceNotFoundException
  7406  //   This exception is thrown when the Amazon Cognito service cannot find the
  7407  //   requested resource.
  7408  //
  7409  //   * InvalidParameterException
  7410  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7411  //   parameter.
  7412  //
  7413  //   * NotAuthorizedException
  7414  //   This exception is thrown when a user is not authorized.
  7415  //
  7416  //   * TooManyRequestsException
  7417  //   This exception is thrown when the user has made too many requests for a given
  7418  //   operation.
  7419  //
  7420  //   * UnexpectedLambdaException
  7421  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  7422  //   exception with the Lambda service.
  7423  //
  7424  //   * InvalidUserPoolConfigurationException
  7425  //   This exception is thrown when the user pool configuration is invalid.
  7426  //
  7427  //   * UserLambdaValidationException
  7428  //   This exception is thrown when the Amazon Cognito service encounters a user
  7429  //   validation exception with the Lambda service.
  7430  //
  7431  //   * InvalidLambdaResponseException
  7432  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7433  //   Lambda response.
  7434  //
  7435  //   * PasswordResetRequiredException
  7436  //   This exception is thrown when a password reset is required.
  7437  //
  7438  //   * UserNotFoundException
  7439  //   This exception is thrown when a user is not found.
  7440  //
  7441  //   * UserNotConfirmedException
  7442  //   This exception is thrown when a user is not confirmed successfully.
  7443  //
  7444  //   * InternalErrorException
  7445  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7446  //
  7447  //   * InvalidSmsRoleAccessPolicyException
  7448  //   This exception is returned when the role provided for SMS configuration does
  7449  //   not have permission to publish using Amazon SNS.
  7450  //
  7451  //   * InvalidSmsRoleTrustRelationshipException
  7452  //   This exception is thrown when the trust relationship is invalid for the role
  7453  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  7454  //   or the external ID provided in the role does not match what is provided in
  7455  //   the SMS configuration for the user pool.
  7456  //
  7457  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/InitiateAuth
  7458  func (c *CognitoIdentityProvider) InitiateAuth(input *InitiateAuthInput) (*InitiateAuthOutput, error) {
  7459  	req, out := c.InitiateAuthRequest(input)
  7460  	return out, req.Send()
  7461  }
  7462  
  7463  // InitiateAuthWithContext is the same as InitiateAuth with the addition of
  7464  // the ability to pass a context and additional request options.
  7465  //
  7466  // See InitiateAuth for details on how to use this API operation.
  7467  //
  7468  // The context must be non-nil and will be used for request cancellation. If
  7469  // the context is nil a panic will occur. In the future the SDK may create
  7470  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7471  // for more information on using Contexts.
  7472  func (c *CognitoIdentityProvider) InitiateAuthWithContext(ctx aws.Context, input *InitiateAuthInput, opts ...request.Option) (*InitiateAuthOutput, error) {
  7473  	req, out := c.InitiateAuthRequest(input)
  7474  	req.SetContext(ctx)
  7475  	req.ApplyOptions(opts...)
  7476  	return out, req.Send()
  7477  }
  7478  
  7479  const opListDevices = "ListDevices"
  7480  
  7481  // ListDevicesRequest generates a "aws/request.Request" representing the
  7482  // client's request for the ListDevices operation. The "output" return
  7483  // value will be populated with the request's response once the request completes
  7484  // successfully.
  7485  //
  7486  // Use "Send" method on the returned Request to send the API call to the service.
  7487  // the "output" return value is not valid until after Send returns without error.
  7488  //
  7489  // See ListDevices for more information on using the ListDevices
  7490  // API call, and error handling.
  7491  //
  7492  // This method is useful when you want to inject custom logic or configuration
  7493  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7494  //
  7495  //
  7496  //    // Example sending a request using the ListDevicesRequest method.
  7497  //    req, resp := client.ListDevicesRequest(params)
  7498  //
  7499  //    err := req.Send()
  7500  //    if err == nil { // resp is now filled
  7501  //        fmt.Println(resp)
  7502  //    }
  7503  //
  7504  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListDevices
  7505  func (c *CognitoIdentityProvider) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
  7506  	op := &request.Operation{
  7507  		Name:       opListDevices,
  7508  		HTTPMethod: "POST",
  7509  		HTTPPath:   "/",
  7510  	}
  7511  
  7512  	if input == nil {
  7513  		input = &ListDevicesInput{}
  7514  	}
  7515  
  7516  	output = &ListDevicesOutput{}
  7517  	req = c.newRequest(op, input, output)
  7518  	return
  7519  }
  7520  
  7521  // ListDevices API operation for Amazon Cognito Identity Provider.
  7522  //
  7523  // Lists the devices.
  7524  //
  7525  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7526  // with awserr.Error's Code and Message methods to get detailed information about
  7527  // the error.
  7528  //
  7529  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7530  // API operation ListDevices for usage and error information.
  7531  //
  7532  // Returned Error Types:
  7533  //   * InvalidParameterException
  7534  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7535  //   parameter.
  7536  //
  7537  //   * ResourceNotFoundException
  7538  //   This exception is thrown when the Amazon Cognito service cannot find the
  7539  //   requested resource.
  7540  //
  7541  //   * NotAuthorizedException
  7542  //   This exception is thrown when a user is not authorized.
  7543  //
  7544  //   * InvalidUserPoolConfigurationException
  7545  //   This exception is thrown when the user pool configuration is invalid.
  7546  //
  7547  //   * TooManyRequestsException
  7548  //   This exception is thrown when the user has made too many requests for a given
  7549  //   operation.
  7550  //
  7551  //   * PasswordResetRequiredException
  7552  //   This exception is thrown when a password reset is required.
  7553  //
  7554  //   * UserNotFoundException
  7555  //   This exception is thrown when a user is not found.
  7556  //
  7557  //   * UserNotConfirmedException
  7558  //   This exception is thrown when a user is not confirmed successfully.
  7559  //
  7560  //   * InternalErrorException
  7561  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7562  //
  7563  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListDevices
  7564  func (c *CognitoIdentityProvider) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
  7565  	req, out := c.ListDevicesRequest(input)
  7566  	return out, req.Send()
  7567  }
  7568  
  7569  // ListDevicesWithContext is the same as ListDevices with the addition of
  7570  // the ability to pass a context and additional request options.
  7571  //
  7572  // See ListDevices for details on how to use this API operation.
  7573  //
  7574  // The context must be non-nil and will be used for request cancellation. If
  7575  // the context is nil a panic will occur. In the future the SDK may create
  7576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7577  // for more information on using Contexts.
  7578  func (c *CognitoIdentityProvider) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
  7579  	req, out := c.ListDevicesRequest(input)
  7580  	req.SetContext(ctx)
  7581  	req.ApplyOptions(opts...)
  7582  	return out, req.Send()
  7583  }
  7584  
  7585  const opListGroups = "ListGroups"
  7586  
  7587  // ListGroupsRequest generates a "aws/request.Request" representing the
  7588  // client's request for the ListGroups operation. The "output" return
  7589  // value will be populated with the request's response once the request completes
  7590  // successfully.
  7591  //
  7592  // Use "Send" method on the returned Request to send the API call to the service.
  7593  // the "output" return value is not valid until after Send returns without error.
  7594  //
  7595  // See ListGroups for more information on using the ListGroups
  7596  // API call, and error handling.
  7597  //
  7598  // This method is useful when you want to inject custom logic or configuration
  7599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7600  //
  7601  //
  7602  //    // Example sending a request using the ListGroupsRequest method.
  7603  //    req, resp := client.ListGroupsRequest(params)
  7604  //
  7605  //    err := req.Send()
  7606  //    if err == nil { // resp is now filled
  7607  //        fmt.Println(resp)
  7608  //    }
  7609  //
  7610  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListGroups
  7611  func (c *CognitoIdentityProvider) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
  7612  	op := &request.Operation{
  7613  		Name:       opListGroups,
  7614  		HTTPMethod: "POST",
  7615  		HTTPPath:   "/",
  7616  		Paginator: &request.Paginator{
  7617  			InputTokens:     []string{"NextToken"},
  7618  			OutputTokens:    []string{"NextToken"},
  7619  			LimitToken:      "Limit",
  7620  			TruncationToken: "",
  7621  		},
  7622  	}
  7623  
  7624  	if input == nil {
  7625  		input = &ListGroupsInput{}
  7626  	}
  7627  
  7628  	output = &ListGroupsOutput{}
  7629  	req = c.newRequest(op, input, output)
  7630  	return
  7631  }
  7632  
  7633  // ListGroups API operation for Amazon Cognito Identity Provider.
  7634  //
  7635  // Lists the groups associated with a user pool.
  7636  //
  7637  // Calling this action requires developer credentials.
  7638  //
  7639  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7640  // with awserr.Error's Code and Message methods to get detailed information about
  7641  // the error.
  7642  //
  7643  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7644  // API operation ListGroups for usage and error information.
  7645  //
  7646  // Returned Error Types:
  7647  //   * InvalidParameterException
  7648  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7649  //   parameter.
  7650  //
  7651  //   * ResourceNotFoundException
  7652  //   This exception is thrown when the Amazon Cognito service cannot find the
  7653  //   requested resource.
  7654  //
  7655  //   * TooManyRequestsException
  7656  //   This exception is thrown when the user has made too many requests for a given
  7657  //   operation.
  7658  //
  7659  //   * NotAuthorizedException
  7660  //   This exception is thrown when a user is not authorized.
  7661  //
  7662  //   * InternalErrorException
  7663  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7664  //
  7665  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListGroups
  7666  func (c *CognitoIdentityProvider) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
  7667  	req, out := c.ListGroupsRequest(input)
  7668  	return out, req.Send()
  7669  }
  7670  
  7671  // ListGroupsWithContext is the same as ListGroups with the addition of
  7672  // the ability to pass a context and additional request options.
  7673  //
  7674  // See ListGroups for details on how to use this API operation.
  7675  //
  7676  // The context must be non-nil and will be used for request cancellation. If
  7677  // the context is nil a panic will occur. In the future the SDK may create
  7678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7679  // for more information on using Contexts.
  7680  func (c *CognitoIdentityProvider) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) {
  7681  	req, out := c.ListGroupsRequest(input)
  7682  	req.SetContext(ctx)
  7683  	req.ApplyOptions(opts...)
  7684  	return out, req.Send()
  7685  }
  7686  
  7687  // ListGroupsPages iterates over the pages of a ListGroups operation,
  7688  // calling the "fn" function with the response data for each page. To stop
  7689  // iterating, return false from the fn function.
  7690  //
  7691  // See ListGroups method for more information on how to use this operation.
  7692  //
  7693  // Note: This operation can generate multiple requests to a service.
  7694  //
  7695  //    // Example iterating over at most 3 pages of a ListGroups operation.
  7696  //    pageNum := 0
  7697  //    err := client.ListGroupsPages(params,
  7698  //        func(page *cognitoidentityprovider.ListGroupsOutput, lastPage bool) bool {
  7699  //            pageNum++
  7700  //            fmt.Println(page)
  7701  //            return pageNum <= 3
  7702  //        })
  7703  //
  7704  func (c *CognitoIdentityProvider) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error {
  7705  	return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  7706  }
  7707  
  7708  // ListGroupsPagesWithContext same as ListGroupsPages except
  7709  // it takes a Context and allows setting request options on the pages.
  7710  //
  7711  // The context must be non-nil and will be used for request cancellation. If
  7712  // the context is nil a panic will occur. In the future the SDK may create
  7713  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7714  // for more information on using Contexts.
  7715  func (c *CognitoIdentityProvider) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error {
  7716  	p := request.Pagination{
  7717  		NewRequest: func() (*request.Request, error) {
  7718  			var inCpy *ListGroupsInput
  7719  			if input != nil {
  7720  				tmp := *input
  7721  				inCpy = &tmp
  7722  			}
  7723  			req, _ := c.ListGroupsRequest(inCpy)
  7724  			req.SetContext(ctx)
  7725  			req.ApplyOptions(opts...)
  7726  			return req, nil
  7727  		},
  7728  	}
  7729  
  7730  	for p.Next() {
  7731  		if !fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) {
  7732  			break
  7733  		}
  7734  	}
  7735  
  7736  	return p.Err()
  7737  }
  7738  
  7739  const opListIdentityProviders = "ListIdentityProviders"
  7740  
  7741  // ListIdentityProvidersRequest generates a "aws/request.Request" representing the
  7742  // client's request for the ListIdentityProviders operation. The "output" return
  7743  // value will be populated with the request's response once the request completes
  7744  // successfully.
  7745  //
  7746  // Use "Send" method on the returned Request to send the API call to the service.
  7747  // the "output" return value is not valid until after Send returns without error.
  7748  //
  7749  // See ListIdentityProviders for more information on using the ListIdentityProviders
  7750  // API call, and error handling.
  7751  //
  7752  // This method is useful when you want to inject custom logic or configuration
  7753  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7754  //
  7755  //
  7756  //    // Example sending a request using the ListIdentityProvidersRequest method.
  7757  //    req, resp := client.ListIdentityProvidersRequest(params)
  7758  //
  7759  //    err := req.Send()
  7760  //    if err == nil { // resp is now filled
  7761  //        fmt.Println(resp)
  7762  //    }
  7763  //
  7764  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListIdentityProviders
  7765  func (c *CognitoIdentityProvider) ListIdentityProvidersRequest(input *ListIdentityProvidersInput) (req *request.Request, output *ListIdentityProvidersOutput) {
  7766  	op := &request.Operation{
  7767  		Name:       opListIdentityProviders,
  7768  		HTTPMethod: "POST",
  7769  		HTTPPath:   "/",
  7770  		Paginator: &request.Paginator{
  7771  			InputTokens:     []string{"NextToken"},
  7772  			OutputTokens:    []string{"NextToken"},
  7773  			LimitToken:      "MaxResults",
  7774  			TruncationToken: "",
  7775  		},
  7776  	}
  7777  
  7778  	if input == nil {
  7779  		input = &ListIdentityProvidersInput{}
  7780  	}
  7781  
  7782  	output = &ListIdentityProvidersOutput{}
  7783  	req = c.newRequest(op, input, output)
  7784  	return
  7785  }
  7786  
  7787  // ListIdentityProviders API operation for Amazon Cognito Identity Provider.
  7788  //
  7789  // Lists information about all identity providers for a user pool.
  7790  //
  7791  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7792  // with awserr.Error's Code and Message methods to get detailed information about
  7793  // the error.
  7794  //
  7795  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7796  // API operation ListIdentityProviders for usage and error information.
  7797  //
  7798  // Returned Error Types:
  7799  //   * InvalidParameterException
  7800  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7801  //   parameter.
  7802  //
  7803  //   * ResourceNotFoundException
  7804  //   This exception is thrown when the Amazon Cognito service cannot find the
  7805  //   requested resource.
  7806  //
  7807  //   * NotAuthorizedException
  7808  //   This exception is thrown when a user is not authorized.
  7809  //
  7810  //   * TooManyRequestsException
  7811  //   This exception is thrown when the user has made too many requests for a given
  7812  //   operation.
  7813  //
  7814  //   * InternalErrorException
  7815  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7816  //
  7817  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListIdentityProviders
  7818  func (c *CognitoIdentityProvider) ListIdentityProviders(input *ListIdentityProvidersInput) (*ListIdentityProvidersOutput, error) {
  7819  	req, out := c.ListIdentityProvidersRequest(input)
  7820  	return out, req.Send()
  7821  }
  7822  
  7823  // ListIdentityProvidersWithContext is the same as ListIdentityProviders with the addition of
  7824  // the ability to pass a context and additional request options.
  7825  //
  7826  // See ListIdentityProviders for details on how to use this API operation.
  7827  //
  7828  // The context must be non-nil and will be used for request cancellation. If
  7829  // the context is nil a panic will occur. In the future the SDK may create
  7830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7831  // for more information on using Contexts.
  7832  func (c *CognitoIdentityProvider) ListIdentityProvidersWithContext(ctx aws.Context, input *ListIdentityProvidersInput, opts ...request.Option) (*ListIdentityProvidersOutput, error) {
  7833  	req, out := c.ListIdentityProvidersRequest(input)
  7834  	req.SetContext(ctx)
  7835  	req.ApplyOptions(opts...)
  7836  	return out, req.Send()
  7837  }
  7838  
  7839  // ListIdentityProvidersPages iterates over the pages of a ListIdentityProviders operation,
  7840  // calling the "fn" function with the response data for each page. To stop
  7841  // iterating, return false from the fn function.
  7842  //
  7843  // See ListIdentityProviders method for more information on how to use this operation.
  7844  //
  7845  // Note: This operation can generate multiple requests to a service.
  7846  //
  7847  //    // Example iterating over at most 3 pages of a ListIdentityProviders operation.
  7848  //    pageNum := 0
  7849  //    err := client.ListIdentityProvidersPages(params,
  7850  //        func(page *cognitoidentityprovider.ListIdentityProvidersOutput, lastPage bool) bool {
  7851  //            pageNum++
  7852  //            fmt.Println(page)
  7853  //            return pageNum <= 3
  7854  //        })
  7855  //
  7856  func (c *CognitoIdentityProvider) ListIdentityProvidersPages(input *ListIdentityProvidersInput, fn func(*ListIdentityProvidersOutput, bool) bool) error {
  7857  	return c.ListIdentityProvidersPagesWithContext(aws.BackgroundContext(), input, fn)
  7858  }
  7859  
  7860  // ListIdentityProvidersPagesWithContext same as ListIdentityProvidersPages except
  7861  // it takes a Context and allows setting request options on the pages.
  7862  //
  7863  // The context must be non-nil and will be used for request cancellation. If
  7864  // the context is nil a panic will occur. In the future the SDK may create
  7865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7866  // for more information on using Contexts.
  7867  func (c *CognitoIdentityProvider) ListIdentityProvidersPagesWithContext(ctx aws.Context, input *ListIdentityProvidersInput, fn func(*ListIdentityProvidersOutput, bool) bool, opts ...request.Option) error {
  7868  	p := request.Pagination{
  7869  		NewRequest: func() (*request.Request, error) {
  7870  			var inCpy *ListIdentityProvidersInput
  7871  			if input != nil {
  7872  				tmp := *input
  7873  				inCpy = &tmp
  7874  			}
  7875  			req, _ := c.ListIdentityProvidersRequest(inCpy)
  7876  			req.SetContext(ctx)
  7877  			req.ApplyOptions(opts...)
  7878  			return req, nil
  7879  		},
  7880  	}
  7881  
  7882  	for p.Next() {
  7883  		if !fn(p.Page().(*ListIdentityProvidersOutput), !p.HasNextPage()) {
  7884  			break
  7885  		}
  7886  	}
  7887  
  7888  	return p.Err()
  7889  }
  7890  
  7891  const opListResourceServers = "ListResourceServers"
  7892  
  7893  // ListResourceServersRequest generates a "aws/request.Request" representing the
  7894  // client's request for the ListResourceServers operation. The "output" return
  7895  // value will be populated with the request's response once the request completes
  7896  // successfully.
  7897  //
  7898  // Use "Send" method on the returned Request to send the API call to the service.
  7899  // the "output" return value is not valid until after Send returns without error.
  7900  //
  7901  // See ListResourceServers for more information on using the ListResourceServers
  7902  // API call, and error handling.
  7903  //
  7904  // This method is useful when you want to inject custom logic or configuration
  7905  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7906  //
  7907  //
  7908  //    // Example sending a request using the ListResourceServersRequest method.
  7909  //    req, resp := client.ListResourceServersRequest(params)
  7910  //
  7911  //    err := req.Send()
  7912  //    if err == nil { // resp is now filled
  7913  //        fmt.Println(resp)
  7914  //    }
  7915  //
  7916  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListResourceServers
  7917  func (c *CognitoIdentityProvider) ListResourceServersRequest(input *ListResourceServersInput) (req *request.Request, output *ListResourceServersOutput) {
  7918  	op := &request.Operation{
  7919  		Name:       opListResourceServers,
  7920  		HTTPMethod: "POST",
  7921  		HTTPPath:   "/",
  7922  		Paginator: &request.Paginator{
  7923  			InputTokens:     []string{"NextToken"},
  7924  			OutputTokens:    []string{"NextToken"},
  7925  			LimitToken:      "MaxResults",
  7926  			TruncationToken: "",
  7927  		},
  7928  	}
  7929  
  7930  	if input == nil {
  7931  		input = &ListResourceServersInput{}
  7932  	}
  7933  
  7934  	output = &ListResourceServersOutput{}
  7935  	req = c.newRequest(op, input, output)
  7936  	return
  7937  }
  7938  
  7939  // ListResourceServers API operation for Amazon Cognito Identity Provider.
  7940  //
  7941  // Lists the resource servers for a user pool.
  7942  //
  7943  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7944  // with awserr.Error's Code and Message methods to get detailed information about
  7945  // the error.
  7946  //
  7947  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  7948  // API operation ListResourceServers for usage and error information.
  7949  //
  7950  // Returned Error Types:
  7951  //   * InvalidParameterException
  7952  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  7953  //   parameter.
  7954  //
  7955  //   * ResourceNotFoundException
  7956  //   This exception is thrown when the Amazon Cognito service cannot find the
  7957  //   requested resource.
  7958  //
  7959  //   * NotAuthorizedException
  7960  //   This exception is thrown when a user is not authorized.
  7961  //
  7962  //   * TooManyRequestsException
  7963  //   This exception is thrown when the user has made too many requests for a given
  7964  //   operation.
  7965  //
  7966  //   * InternalErrorException
  7967  //   This exception is thrown when Amazon Cognito encounters an internal error.
  7968  //
  7969  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListResourceServers
  7970  func (c *CognitoIdentityProvider) ListResourceServers(input *ListResourceServersInput) (*ListResourceServersOutput, error) {
  7971  	req, out := c.ListResourceServersRequest(input)
  7972  	return out, req.Send()
  7973  }
  7974  
  7975  // ListResourceServersWithContext is the same as ListResourceServers with the addition of
  7976  // the ability to pass a context and additional request options.
  7977  //
  7978  // See ListResourceServers for details on how to use this API operation.
  7979  //
  7980  // The context must be non-nil and will be used for request cancellation. If
  7981  // the context is nil a panic will occur. In the future the SDK may create
  7982  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7983  // for more information on using Contexts.
  7984  func (c *CognitoIdentityProvider) ListResourceServersWithContext(ctx aws.Context, input *ListResourceServersInput, opts ...request.Option) (*ListResourceServersOutput, error) {
  7985  	req, out := c.ListResourceServersRequest(input)
  7986  	req.SetContext(ctx)
  7987  	req.ApplyOptions(opts...)
  7988  	return out, req.Send()
  7989  }
  7990  
  7991  // ListResourceServersPages iterates over the pages of a ListResourceServers operation,
  7992  // calling the "fn" function with the response data for each page. To stop
  7993  // iterating, return false from the fn function.
  7994  //
  7995  // See ListResourceServers method for more information on how to use this operation.
  7996  //
  7997  // Note: This operation can generate multiple requests to a service.
  7998  //
  7999  //    // Example iterating over at most 3 pages of a ListResourceServers operation.
  8000  //    pageNum := 0
  8001  //    err := client.ListResourceServersPages(params,
  8002  //        func(page *cognitoidentityprovider.ListResourceServersOutput, lastPage bool) bool {
  8003  //            pageNum++
  8004  //            fmt.Println(page)
  8005  //            return pageNum <= 3
  8006  //        })
  8007  //
  8008  func (c *CognitoIdentityProvider) ListResourceServersPages(input *ListResourceServersInput, fn func(*ListResourceServersOutput, bool) bool) error {
  8009  	return c.ListResourceServersPagesWithContext(aws.BackgroundContext(), input, fn)
  8010  }
  8011  
  8012  // ListResourceServersPagesWithContext same as ListResourceServersPages except
  8013  // it takes a Context and allows setting request options on the pages.
  8014  //
  8015  // The context must be non-nil and will be used for request cancellation. If
  8016  // the context is nil a panic will occur. In the future the SDK may create
  8017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8018  // for more information on using Contexts.
  8019  func (c *CognitoIdentityProvider) ListResourceServersPagesWithContext(ctx aws.Context, input *ListResourceServersInput, fn func(*ListResourceServersOutput, bool) bool, opts ...request.Option) error {
  8020  	p := request.Pagination{
  8021  		NewRequest: func() (*request.Request, error) {
  8022  			var inCpy *ListResourceServersInput
  8023  			if input != nil {
  8024  				tmp := *input
  8025  				inCpy = &tmp
  8026  			}
  8027  			req, _ := c.ListResourceServersRequest(inCpy)
  8028  			req.SetContext(ctx)
  8029  			req.ApplyOptions(opts...)
  8030  			return req, nil
  8031  		},
  8032  	}
  8033  
  8034  	for p.Next() {
  8035  		if !fn(p.Page().(*ListResourceServersOutput), !p.HasNextPage()) {
  8036  			break
  8037  		}
  8038  	}
  8039  
  8040  	return p.Err()
  8041  }
  8042  
  8043  const opListTagsForResource = "ListTagsForResource"
  8044  
  8045  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  8046  // client's request for the ListTagsForResource operation. The "output" return
  8047  // value will be populated with the request's response once the request completes
  8048  // successfully.
  8049  //
  8050  // Use "Send" method on the returned Request to send the API call to the service.
  8051  // the "output" return value is not valid until after Send returns without error.
  8052  //
  8053  // See ListTagsForResource for more information on using the ListTagsForResource
  8054  // API call, and error handling.
  8055  //
  8056  // This method is useful when you want to inject custom logic or configuration
  8057  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8058  //
  8059  //
  8060  //    // Example sending a request using the ListTagsForResourceRequest method.
  8061  //    req, resp := client.ListTagsForResourceRequest(params)
  8062  //
  8063  //    err := req.Send()
  8064  //    if err == nil { // resp is now filled
  8065  //        fmt.Println(resp)
  8066  //    }
  8067  //
  8068  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListTagsForResource
  8069  func (c *CognitoIdentityProvider) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  8070  	op := &request.Operation{
  8071  		Name:       opListTagsForResource,
  8072  		HTTPMethod: "POST",
  8073  		HTTPPath:   "/",
  8074  	}
  8075  
  8076  	if input == nil {
  8077  		input = &ListTagsForResourceInput{}
  8078  	}
  8079  
  8080  	output = &ListTagsForResourceOutput{}
  8081  	req = c.newRequest(op, input, output)
  8082  	return
  8083  }
  8084  
  8085  // ListTagsForResource API operation for Amazon Cognito Identity Provider.
  8086  //
  8087  // Lists the tags that are assigned to an Amazon Cognito user pool.
  8088  //
  8089  // A tag is a label that you can apply to user pools to categorize and manage
  8090  // them in different ways, such as by purpose, owner, environment, or other
  8091  // criteria.
  8092  //
  8093  // You can use this action up to 10 times per second, per account.
  8094  //
  8095  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8096  // with awserr.Error's Code and Message methods to get detailed information about
  8097  // the error.
  8098  //
  8099  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8100  // API operation ListTagsForResource for usage and error information.
  8101  //
  8102  // Returned Error Types:
  8103  //   * ResourceNotFoundException
  8104  //   This exception is thrown when the Amazon Cognito service cannot find the
  8105  //   requested resource.
  8106  //
  8107  //   * NotAuthorizedException
  8108  //   This exception is thrown when a user is not authorized.
  8109  //
  8110  //   * TooManyRequestsException
  8111  //   This exception is thrown when the user has made too many requests for a given
  8112  //   operation.
  8113  //
  8114  //   * InvalidParameterException
  8115  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8116  //   parameter.
  8117  //
  8118  //   * InternalErrorException
  8119  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8120  //
  8121  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListTagsForResource
  8122  func (c *CognitoIdentityProvider) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  8123  	req, out := c.ListTagsForResourceRequest(input)
  8124  	return out, req.Send()
  8125  }
  8126  
  8127  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  8128  // the ability to pass a context and additional request options.
  8129  //
  8130  // See ListTagsForResource for details on how to use this API operation.
  8131  //
  8132  // The context must be non-nil and will be used for request cancellation. If
  8133  // the context is nil a panic will occur. In the future the SDK may create
  8134  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8135  // for more information on using Contexts.
  8136  func (c *CognitoIdentityProvider) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  8137  	req, out := c.ListTagsForResourceRequest(input)
  8138  	req.SetContext(ctx)
  8139  	req.ApplyOptions(opts...)
  8140  	return out, req.Send()
  8141  }
  8142  
  8143  const opListUserImportJobs = "ListUserImportJobs"
  8144  
  8145  // ListUserImportJobsRequest generates a "aws/request.Request" representing the
  8146  // client's request for the ListUserImportJobs operation. The "output" return
  8147  // value will be populated with the request's response once the request completes
  8148  // successfully.
  8149  //
  8150  // Use "Send" method on the returned Request to send the API call to the service.
  8151  // the "output" return value is not valid until after Send returns without error.
  8152  //
  8153  // See ListUserImportJobs for more information on using the ListUserImportJobs
  8154  // API call, and error handling.
  8155  //
  8156  // This method is useful when you want to inject custom logic or configuration
  8157  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8158  //
  8159  //
  8160  //    // Example sending a request using the ListUserImportJobsRequest method.
  8161  //    req, resp := client.ListUserImportJobsRequest(params)
  8162  //
  8163  //    err := req.Send()
  8164  //    if err == nil { // resp is now filled
  8165  //        fmt.Println(resp)
  8166  //    }
  8167  //
  8168  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserImportJobs
  8169  func (c *CognitoIdentityProvider) ListUserImportJobsRequest(input *ListUserImportJobsInput) (req *request.Request, output *ListUserImportJobsOutput) {
  8170  	op := &request.Operation{
  8171  		Name:       opListUserImportJobs,
  8172  		HTTPMethod: "POST",
  8173  		HTTPPath:   "/",
  8174  	}
  8175  
  8176  	if input == nil {
  8177  		input = &ListUserImportJobsInput{}
  8178  	}
  8179  
  8180  	output = &ListUserImportJobsOutput{}
  8181  	req = c.newRequest(op, input, output)
  8182  	return
  8183  }
  8184  
  8185  // ListUserImportJobs API operation for Amazon Cognito Identity Provider.
  8186  //
  8187  // Lists the user import jobs.
  8188  //
  8189  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8190  // with awserr.Error's Code and Message methods to get detailed information about
  8191  // the error.
  8192  //
  8193  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8194  // API operation ListUserImportJobs for usage and error information.
  8195  //
  8196  // Returned Error Types:
  8197  //   * ResourceNotFoundException
  8198  //   This exception is thrown when the Amazon Cognito service cannot find the
  8199  //   requested resource.
  8200  //
  8201  //   * InvalidParameterException
  8202  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8203  //   parameter.
  8204  //
  8205  //   * TooManyRequestsException
  8206  //   This exception is thrown when the user has made too many requests for a given
  8207  //   operation.
  8208  //
  8209  //   * NotAuthorizedException
  8210  //   This exception is thrown when a user is not authorized.
  8211  //
  8212  //   * InternalErrorException
  8213  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8214  //
  8215  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserImportJobs
  8216  func (c *CognitoIdentityProvider) ListUserImportJobs(input *ListUserImportJobsInput) (*ListUserImportJobsOutput, error) {
  8217  	req, out := c.ListUserImportJobsRequest(input)
  8218  	return out, req.Send()
  8219  }
  8220  
  8221  // ListUserImportJobsWithContext is the same as ListUserImportJobs with the addition of
  8222  // the ability to pass a context and additional request options.
  8223  //
  8224  // See ListUserImportJobs for details on how to use this API operation.
  8225  //
  8226  // The context must be non-nil and will be used for request cancellation. If
  8227  // the context is nil a panic will occur. In the future the SDK may create
  8228  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8229  // for more information on using Contexts.
  8230  func (c *CognitoIdentityProvider) ListUserImportJobsWithContext(ctx aws.Context, input *ListUserImportJobsInput, opts ...request.Option) (*ListUserImportJobsOutput, error) {
  8231  	req, out := c.ListUserImportJobsRequest(input)
  8232  	req.SetContext(ctx)
  8233  	req.ApplyOptions(opts...)
  8234  	return out, req.Send()
  8235  }
  8236  
  8237  const opListUserPoolClients = "ListUserPoolClients"
  8238  
  8239  // ListUserPoolClientsRequest generates a "aws/request.Request" representing the
  8240  // client's request for the ListUserPoolClients operation. The "output" return
  8241  // value will be populated with the request's response once the request completes
  8242  // successfully.
  8243  //
  8244  // Use "Send" method on the returned Request to send the API call to the service.
  8245  // the "output" return value is not valid until after Send returns without error.
  8246  //
  8247  // See ListUserPoolClients for more information on using the ListUserPoolClients
  8248  // API call, and error handling.
  8249  //
  8250  // This method is useful when you want to inject custom logic or configuration
  8251  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8252  //
  8253  //
  8254  //    // Example sending a request using the ListUserPoolClientsRequest method.
  8255  //    req, resp := client.ListUserPoolClientsRequest(params)
  8256  //
  8257  //    err := req.Send()
  8258  //    if err == nil { // resp is now filled
  8259  //        fmt.Println(resp)
  8260  //    }
  8261  //
  8262  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserPoolClients
  8263  func (c *CognitoIdentityProvider) ListUserPoolClientsRequest(input *ListUserPoolClientsInput) (req *request.Request, output *ListUserPoolClientsOutput) {
  8264  	op := &request.Operation{
  8265  		Name:       opListUserPoolClients,
  8266  		HTTPMethod: "POST",
  8267  		HTTPPath:   "/",
  8268  		Paginator: &request.Paginator{
  8269  			InputTokens:     []string{"NextToken"},
  8270  			OutputTokens:    []string{"NextToken"},
  8271  			LimitToken:      "MaxResults",
  8272  			TruncationToken: "",
  8273  		},
  8274  	}
  8275  
  8276  	if input == nil {
  8277  		input = &ListUserPoolClientsInput{}
  8278  	}
  8279  
  8280  	output = &ListUserPoolClientsOutput{}
  8281  	req = c.newRequest(op, input, output)
  8282  	return
  8283  }
  8284  
  8285  // ListUserPoolClients API operation for Amazon Cognito Identity Provider.
  8286  //
  8287  // Lists the clients that have been created for the specified user pool.
  8288  //
  8289  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8290  // with awserr.Error's Code and Message methods to get detailed information about
  8291  // the error.
  8292  //
  8293  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8294  // API operation ListUserPoolClients for usage and error information.
  8295  //
  8296  // Returned Error Types:
  8297  //   * InvalidParameterException
  8298  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8299  //   parameter.
  8300  //
  8301  //   * ResourceNotFoundException
  8302  //   This exception is thrown when the Amazon Cognito service cannot find the
  8303  //   requested resource.
  8304  //
  8305  //   * TooManyRequestsException
  8306  //   This exception is thrown when the user has made too many requests for a given
  8307  //   operation.
  8308  //
  8309  //   * NotAuthorizedException
  8310  //   This exception is thrown when a user is not authorized.
  8311  //
  8312  //   * InternalErrorException
  8313  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8314  //
  8315  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserPoolClients
  8316  func (c *CognitoIdentityProvider) ListUserPoolClients(input *ListUserPoolClientsInput) (*ListUserPoolClientsOutput, error) {
  8317  	req, out := c.ListUserPoolClientsRequest(input)
  8318  	return out, req.Send()
  8319  }
  8320  
  8321  // ListUserPoolClientsWithContext is the same as ListUserPoolClients with the addition of
  8322  // the ability to pass a context and additional request options.
  8323  //
  8324  // See ListUserPoolClients for details on how to use this API operation.
  8325  //
  8326  // The context must be non-nil and will be used for request cancellation. If
  8327  // the context is nil a panic will occur. In the future the SDK may create
  8328  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8329  // for more information on using Contexts.
  8330  func (c *CognitoIdentityProvider) ListUserPoolClientsWithContext(ctx aws.Context, input *ListUserPoolClientsInput, opts ...request.Option) (*ListUserPoolClientsOutput, error) {
  8331  	req, out := c.ListUserPoolClientsRequest(input)
  8332  	req.SetContext(ctx)
  8333  	req.ApplyOptions(opts...)
  8334  	return out, req.Send()
  8335  }
  8336  
  8337  // ListUserPoolClientsPages iterates over the pages of a ListUserPoolClients operation,
  8338  // calling the "fn" function with the response data for each page. To stop
  8339  // iterating, return false from the fn function.
  8340  //
  8341  // See ListUserPoolClients method for more information on how to use this operation.
  8342  //
  8343  // Note: This operation can generate multiple requests to a service.
  8344  //
  8345  //    // Example iterating over at most 3 pages of a ListUserPoolClients operation.
  8346  //    pageNum := 0
  8347  //    err := client.ListUserPoolClientsPages(params,
  8348  //        func(page *cognitoidentityprovider.ListUserPoolClientsOutput, lastPage bool) bool {
  8349  //            pageNum++
  8350  //            fmt.Println(page)
  8351  //            return pageNum <= 3
  8352  //        })
  8353  //
  8354  func (c *CognitoIdentityProvider) ListUserPoolClientsPages(input *ListUserPoolClientsInput, fn func(*ListUserPoolClientsOutput, bool) bool) error {
  8355  	return c.ListUserPoolClientsPagesWithContext(aws.BackgroundContext(), input, fn)
  8356  }
  8357  
  8358  // ListUserPoolClientsPagesWithContext same as ListUserPoolClientsPages except
  8359  // it takes a Context and allows setting request options on the pages.
  8360  //
  8361  // The context must be non-nil and will be used for request cancellation. If
  8362  // the context is nil a panic will occur. In the future the SDK may create
  8363  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8364  // for more information on using Contexts.
  8365  func (c *CognitoIdentityProvider) ListUserPoolClientsPagesWithContext(ctx aws.Context, input *ListUserPoolClientsInput, fn func(*ListUserPoolClientsOutput, bool) bool, opts ...request.Option) error {
  8366  	p := request.Pagination{
  8367  		NewRequest: func() (*request.Request, error) {
  8368  			var inCpy *ListUserPoolClientsInput
  8369  			if input != nil {
  8370  				tmp := *input
  8371  				inCpy = &tmp
  8372  			}
  8373  			req, _ := c.ListUserPoolClientsRequest(inCpy)
  8374  			req.SetContext(ctx)
  8375  			req.ApplyOptions(opts...)
  8376  			return req, nil
  8377  		},
  8378  	}
  8379  
  8380  	for p.Next() {
  8381  		if !fn(p.Page().(*ListUserPoolClientsOutput), !p.HasNextPage()) {
  8382  			break
  8383  		}
  8384  	}
  8385  
  8386  	return p.Err()
  8387  }
  8388  
  8389  const opListUserPools = "ListUserPools"
  8390  
  8391  // ListUserPoolsRequest generates a "aws/request.Request" representing the
  8392  // client's request for the ListUserPools operation. The "output" return
  8393  // value will be populated with the request's response once the request completes
  8394  // successfully.
  8395  //
  8396  // Use "Send" method on the returned Request to send the API call to the service.
  8397  // the "output" return value is not valid until after Send returns without error.
  8398  //
  8399  // See ListUserPools for more information on using the ListUserPools
  8400  // API call, and error handling.
  8401  //
  8402  // This method is useful when you want to inject custom logic or configuration
  8403  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8404  //
  8405  //
  8406  //    // Example sending a request using the ListUserPoolsRequest method.
  8407  //    req, resp := client.ListUserPoolsRequest(params)
  8408  //
  8409  //    err := req.Send()
  8410  //    if err == nil { // resp is now filled
  8411  //        fmt.Println(resp)
  8412  //    }
  8413  //
  8414  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserPools
  8415  func (c *CognitoIdentityProvider) ListUserPoolsRequest(input *ListUserPoolsInput) (req *request.Request, output *ListUserPoolsOutput) {
  8416  	op := &request.Operation{
  8417  		Name:       opListUserPools,
  8418  		HTTPMethod: "POST",
  8419  		HTTPPath:   "/",
  8420  		Paginator: &request.Paginator{
  8421  			InputTokens:     []string{"NextToken"},
  8422  			OutputTokens:    []string{"NextToken"},
  8423  			LimitToken:      "MaxResults",
  8424  			TruncationToken: "",
  8425  		},
  8426  	}
  8427  
  8428  	if input == nil {
  8429  		input = &ListUserPoolsInput{}
  8430  	}
  8431  
  8432  	output = &ListUserPoolsOutput{}
  8433  	req = c.newRequest(op, input, output)
  8434  	return
  8435  }
  8436  
  8437  // ListUserPools API operation for Amazon Cognito Identity Provider.
  8438  //
  8439  // Lists the user pools associated with an account.
  8440  //
  8441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8442  // with awserr.Error's Code and Message methods to get detailed information about
  8443  // the error.
  8444  //
  8445  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8446  // API operation ListUserPools for usage and error information.
  8447  //
  8448  // Returned Error Types:
  8449  //   * InvalidParameterException
  8450  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8451  //   parameter.
  8452  //
  8453  //   * TooManyRequestsException
  8454  //   This exception is thrown when the user has made too many requests for a given
  8455  //   operation.
  8456  //
  8457  //   * NotAuthorizedException
  8458  //   This exception is thrown when a user is not authorized.
  8459  //
  8460  //   * InternalErrorException
  8461  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8462  //
  8463  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserPools
  8464  func (c *CognitoIdentityProvider) ListUserPools(input *ListUserPoolsInput) (*ListUserPoolsOutput, error) {
  8465  	req, out := c.ListUserPoolsRequest(input)
  8466  	return out, req.Send()
  8467  }
  8468  
  8469  // ListUserPoolsWithContext is the same as ListUserPools with the addition of
  8470  // the ability to pass a context and additional request options.
  8471  //
  8472  // See ListUserPools for details on how to use this API operation.
  8473  //
  8474  // The context must be non-nil and will be used for request cancellation. If
  8475  // the context is nil a panic will occur. In the future the SDK may create
  8476  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8477  // for more information on using Contexts.
  8478  func (c *CognitoIdentityProvider) ListUserPoolsWithContext(ctx aws.Context, input *ListUserPoolsInput, opts ...request.Option) (*ListUserPoolsOutput, error) {
  8479  	req, out := c.ListUserPoolsRequest(input)
  8480  	req.SetContext(ctx)
  8481  	req.ApplyOptions(opts...)
  8482  	return out, req.Send()
  8483  }
  8484  
  8485  // ListUserPoolsPages iterates over the pages of a ListUserPools operation,
  8486  // calling the "fn" function with the response data for each page. To stop
  8487  // iterating, return false from the fn function.
  8488  //
  8489  // See ListUserPools method for more information on how to use this operation.
  8490  //
  8491  // Note: This operation can generate multiple requests to a service.
  8492  //
  8493  //    // Example iterating over at most 3 pages of a ListUserPools operation.
  8494  //    pageNum := 0
  8495  //    err := client.ListUserPoolsPages(params,
  8496  //        func(page *cognitoidentityprovider.ListUserPoolsOutput, lastPage bool) bool {
  8497  //            pageNum++
  8498  //            fmt.Println(page)
  8499  //            return pageNum <= 3
  8500  //        })
  8501  //
  8502  func (c *CognitoIdentityProvider) ListUserPoolsPages(input *ListUserPoolsInput, fn func(*ListUserPoolsOutput, bool) bool) error {
  8503  	return c.ListUserPoolsPagesWithContext(aws.BackgroundContext(), input, fn)
  8504  }
  8505  
  8506  // ListUserPoolsPagesWithContext same as ListUserPoolsPages except
  8507  // it takes a Context and allows setting request options on the pages.
  8508  //
  8509  // The context must be non-nil and will be used for request cancellation. If
  8510  // the context is nil a panic will occur. In the future the SDK may create
  8511  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8512  // for more information on using Contexts.
  8513  func (c *CognitoIdentityProvider) ListUserPoolsPagesWithContext(ctx aws.Context, input *ListUserPoolsInput, fn func(*ListUserPoolsOutput, bool) bool, opts ...request.Option) error {
  8514  	p := request.Pagination{
  8515  		NewRequest: func() (*request.Request, error) {
  8516  			var inCpy *ListUserPoolsInput
  8517  			if input != nil {
  8518  				tmp := *input
  8519  				inCpy = &tmp
  8520  			}
  8521  			req, _ := c.ListUserPoolsRequest(inCpy)
  8522  			req.SetContext(ctx)
  8523  			req.ApplyOptions(opts...)
  8524  			return req, nil
  8525  		},
  8526  	}
  8527  
  8528  	for p.Next() {
  8529  		if !fn(p.Page().(*ListUserPoolsOutput), !p.HasNextPage()) {
  8530  			break
  8531  		}
  8532  	}
  8533  
  8534  	return p.Err()
  8535  }
  8536  
  8537  const opListUsers = "ListUsers"
  8538  
  8539  // ListUsersRequest generates a "aws/request.Request" representing the
  8540  // client's request for the ListUsers operation. The "output" return
  8541  // value will be populated with the request's response once the request completes
  8542  // successfully.
  8543  //
  8544  // Use "Send" method on the returned Request to send the API call to the service.
  8545  // the "output" return value is not valid until after Send returns without error.
  8546  //
  8547  // See ListUsers for more information on using the ListUsers
  8548  // API call, and error handling.
  8549  //
  8550  // This method is useful when you want to inject custom logic or configuration
  8551  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8552  //
  8553  //
  8554  //    // Example sending a request using the ListUsersRequest method.
  8555  //    req, resp := client.ListUsersRequest(params)
  8556  //
  8557  //    err := req.Send()
  8558  //    if err == nil { // resp is now filled
  8559  //        fmt.Println(resp)
  8560  //    }
  8561  //
  8562  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUsers
  8563  func (c *CognitoIdentityProvider) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
  8564  	op := &request.Operation{
  8565  		Name:       opListUsers,
  8566  		HTTPMethod: "POST",
  8567  		HTTPPath:   "/",
  8568  		Paginator: &request.Paginator{
  8569  			InputTokens:     []string{"PaginationToken"},
  8570  			OutputTokens:    []string{"PaginationToken"},
  8571  			LimitToken:      "Limit",
  8572  			TruncationToken: "",
  8573  		},
  8574  	}
  8575  
  8576  	if input == nil {
  8577  		input = &ListUsersInput{}
  8578  	}
  8579  
  8580  	output = &ListUsersOutput{}
  8581  	req = c.newRequest(op, input, output)
  8582  	return
  8583  }
  8584  
  8585  // ListUsers API operation for Amazon Cognito Identity Provider.
  8586  //
  8587  // Lists the users in the Amazon Cognito user pool.
  8588  //
  8589  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8590  // with awserr.Error's Code and Message methods to get detailed information about
  8591  // the error.
  8592  //
  8593  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8594  // API operation ListUsers for usage and error information.
  8595  //
  8596  // Returned Error Types:
  8597  //   * InvalidParameterException
  8598  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8599  //   parameter.
  8600  //
  8601  //   * ResourceNotFoundException
  8602  //   This exception is thrown when the Amazon Cognito service cannot find the
  8603  //   requested resource.
  8604  //
  8605  //   * TooManyRequestsException
  8606  //   This exception is thrown when the user has made too many requests for a given
  8607  //   operation.
  8608  //
  8609  //   * NotAuthorizedException
  8610  //   This exception is thrown when a user is not authorized.
  8611  //
  8612  //   * InternalErrorException
  8613  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8614  //
  8615  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUsers
  8616  func (c *CognitoIdentityProvider) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
  8617  	req, out := c.ListUsersRequest(input)
  8618  	return out, req.Send()
  8619  }
  8620  
  8621  // ListUsersWithContext is the same as ListUsers with the addition of
  8622  // the ability to pass a context and additional request options.
  8623  //
  8624  // See ListUsers for details on how to use this API operation.
  8625  //
  8626  // The context must be non-nil and will be used for request cancellation. If
  8627  // the context is nil a panic will occur. In the future the SDK may create
  8628  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8629  // for more information on using Contexts.
  8630  func (c *CognitoIdentityProvider) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) {
  8631  	req, out := c.ListUsersRequest(input)
  8632  	req.SetContext(ctx)
  8633  	req.ApplyOptions(opts...)
  8634  	return out, req.Send()
  8635  }
  8636  
  8637  // ListUsersPages iterates over the pages of a ListUsers operation,
  8638  // calling the "fn" function with the response data for each page. To stop
  8639  // iterating, return false from the fn function.
  8640  //
  8641  // See ListUsers method for more information on how to use this operation.
  8642  //
  8643  // Note: This operation can generate multiple requests to a service.
  8644  //
  8645  //    // Example iterating over at most 3 pages of a ListUsers operation.
  8646  //    pageNum := 0
  8647  //    err := client.ListUsersPages(params,
  8648  //        func(page *cognitoidentityprovider.ListUsersOutput, lastPage bool) bool {
  8649  //            pageNum++
  8650  //            fmt.Println(page)
  8651  //            return pageNum <= 3
  8652  //        })
  8653  //
  8654  func (c *CognitoIdentityProvider) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error {
  8655  	return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn)
  8656  }
  8657  
  8658  // ListUsersPagesWithContext same as ListUsersPages except
  8659  // it takes a Context and allows setting request options on the pages.
  8660  //
  8661  // The context must be non-nil and will be used for request cancellation. If
  8662  // the context is nil a panic will occur. In the future the SDK may create
  8663  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8664  // for more information on using Contexts.
  8665  func (c *CognitoIdentityProvider) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error {
  8666  	p := request.Pagination{
  8667  		NewRequest: func() (*request.Request, error) {
  8668  			var inCpy *ListUsersInput
  8669  			if input != nil {
  8670  				tmp := *input
  8671  				inCpy = &tmp
  8672  			}
  8673  			req, _ := c.ListUsersRequest(inCpy)
  8674  			req.SetContext(ctx)
  8675  			req.ApplyOptions(opts...)
  8676  			return req, nil
  8677  		},
  8678  	}
  8679  
  8680  	for p.Next() {
  8681  		if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) {
  8682  			break
  8683  		}
  8684  	}
  8685  
  8686  	return p.Err()
  8687  }
  8688  
  8689  const opListUsersInGroup = "ListUsersInGroup"
  8690  
  8691  // ListUsersInGroupRequest generates a "aws/request.Request" representing the
  8692  // client's request for the ListUsersInGroup operation. The "output" return
  8693  // value will be populated with the request's response once the request completes
  8694  // successfully.
  8695  //
  8696  // Use "Send" method on the returned Request to send the API call to the service.
  8697  // the "output" return value is not valid until after Send returns without error.
  8698  //
  8699  // See ListUsersInGroup for more information on using the ListUsersInGroup
  8700  // API call, and error handling.
  8701  //
  8702  // This method is useful when you want to inject custom logic or configuration
  8703  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8704  //
  8705  //
  8706  //    // Example sending a request using the ListUsersInGroupRequest method.
  8707  //    req, resp := client.ListUsersInGroupRequest(params)
  8708  //
  8709  //    err := req.Send()
  8710  //    if err == nil { // resp is now filled
  8711  //        fmt.Println(resp)
  8712  //    }
  8713  //
  8714  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUsersInGroup
  8715  func (c *CognitoIdentityProvider) ListUsersInGroupRequest(input *ListUsersInGroupInput) (req *request.Request, output *ListUsersInGroupOutput) {
  8716  	op := &request.Operation{
  8717  		Name:       opListUsersInGroup,
  8718  		HTTPMethod: "POST",
  8719  		HTTPPath:   "/",
  8720  		Paginator: &request.Paginator{
  8721  			InputTokens:     []string{"NextToken"},
  8722  			OutputTokens:    []string{"NextToken"},
  8723  			LimitToken:      "Limit",
  8724  			TruncationToken: "",
  8725  		},
  8726  	}
  8727  
  8728  	if input == nil {
  8729  		input = &ListUsersInGroupInput{}
  8730  	}
  8731  
  8732  	output = &ListUsersInGroupOutput{}
  8733  	req = c.newRequest(op, input, output)
  8734  	return
  8735  }
  8736  
  8737  // ListUsersInGroup API operation for Amazon Cognito Identity Provider.
  8738  //
  8739  // Lists the users in the specified group.
  8740  //
  8741  // Calling this action requires developer credentials.
  8742  //
  8743  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8744  // with awserr.Error's Code and Message methods to get detailed information about
  8745  // the error.
  8746  //
  8747  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8748  // API operation ListUsersInGroup for usage and error information.
  8749  //
  8750  // Returned Error Types:
  8751  //   * InvalidParameterException
  8752  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8753  //   parameter.
  8754  //
  8755  //   * ResourceNotFoundException
  8756  //   This exception is thrown when the Amazon Cognito service cannot find the
  8757  //   requested resource.
  8758  //
  8759  //   * TooManyRequestsException
  8760  //   This exception is thrown when the user has made too many requests for a given
  8761  //   operation.
  8762  //
  8763  //   * NotAuthorizedException
  8764  //   This exception is thrown when a user is not authorized.
  8765  //
  8766  //   * InternalErrorException
  8767  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8768  //
  8769  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUsersInGroup
  8770  func (c *CognitoIdentityProvider) ListUsersInGroup(input *ListUsersInGroupInput) (*ListUsersInGroupOutput, error) {
  8771  	req, out := c.ListUsersInGroupRequest(input)
  8772  	return out, req.Send()
  8773  }
  8774  
  8775  // ListUsersInGroupWithContext is the same as ListUsersInGroup with the addition of
  8776  // the ability to pass a context and additional request options.
  8777  //
  8778  // See ListUsersInGroup for details on how to use this API operation.
  8779  //
  8780  // The context must be non-nil and will be used for request cancellation. If
  8781  // the context is nil a panic will occur. In the future the SDK may create
  8782  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8783  // for more information on using Contexts.
  8784  func (c *CognitoIdentityProvider) ListUsersInGroupWithContext(ctx aws.Context, input *ListUsersInGroupInput, opts ...request.Option) (*ListUsersInGroupOutput, error) {
  8785  	req, out := c.ListUsersInGroupRequest(input)
  8786  	req.SetContext(ctx)
  8787  	req.ApplyOptions(opts...)
  8788  	return out, req.Send()
  8789  }
  8790  
  8791  // ListUsersInGroupPages iterates over the pages of a ListUsersInGroup operation,
  8792  // calling the "fn" function with the response data for each page. To stop
  8793  // iterating, return false from the fn function.
  8794  //
  8795  // See ListUsersInGroup method for more information on how to use this operation.
  8796  //
  8797  // Note: This operation can generate multiple requests to a service.
  8798  //
  8799  //    // Example iterating over at most 3 pages of a ListUsersInGroup operation.
  8800  //    pageNum := 0
  8801  //    err := client.ListUsersInGroupPages(params,
  8802  //        func(page *cognitoidentityprovider.ListUsersInGroupOutput, lastPage bool) bool {
  8803  //            pageNum++
  8804  //            fmt.Println(page)
  8805  //            return pageNum <= 3
  8806  //        })
  8807  //
  8808  func (c *CognitoIdentityProvider) ListUsersInGroupPages(input *ListUsersInGroupInput, fn func(*ListUsersInGroupOutput, bool) bool) error {
  8809  	return c.ListUsersInGroupPagesWithContext(aws.BackgroundContext(), input, fn)
  8810  }
  8811  
  8812  // ListUsersInGroupPagesWithContext same as ListUsersInGroupPages except
  8813  // it takes a Context and allows setting request options on the pages.
  8814  //
  8815  // The context must be non-nil and will be used for request cancellation. If
  8816  // the context is nil a panic will occur. In the future the SDK may create
  8817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8818  // for more information on using Contexts.
  8819  func (c *CognitoIdentityProvider) ListUsersInGroupPagesWithContext(ctx aws.Context, input *ListUsersInGroupInput, fn func(*ListUsersInGroupOutput, bool) bool, opts ...request.Option) error {
  8820  	p := request.Pagination{
  8821  		NewRequest: func() (*request.Request, error) {
  8822  			var inCpy *ListUsersInGroupInput
  8823  			if input != nil {
  8824  				tmp := *input
  8825  				inCpy = &tmp
  8826  			}
  8827  			req, _ := c.ListUsersInGroupRequest(inCpy)
  8828  			req.SetContext(ctx)
  8829  			req.ApplyOptions(opts...)
  8830  			return req, nil
  8831  		},
  8832  	}
  8833  
  8834  	for p.Next() {
  8835  		if !fn(p.Page().(*ListUsersInGroupOutput), !p.HasNextPage()) {
  8836  			break
  8837  		}
  8838  	}
  8839  
  8840  	return p.Err()
  8841  }
  8842  
  8843  const opResendConfirmationCode = "ResendConfirmationCode"
  8844  
  8845  // ResendConfirmationCodeRequest generates a "aws/request.Request" representing the
  8846  // client's request for the ResendConfirmationCode operation. The "output" return
  8847  // value will be populated with the request's response once the request completes
  8848  // successfully.
  8849  //
  8850  // Use "Send" method on the returned Request to send the API call to the service.
  8851  // the "output" return value is not valid until after Send returns without error.
  8852  //
  8853  // See ResendConfirmationCode for more information on using the ResendConfirmationCode
  8854  // API call, and error handling.
  8855  //
  8856  // This method is useful when you want to inject custom logic or configuration
  8857  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8858  //
  8859  //
  8860  //    // Example sending a request using the ResendConfirmationCodeRequest method.
  8861  //    req, resp := client.ResendConfirmationCodeRequest(params)
  8862  //
  8863  //    err := req.Send()
  8864  //    if err == nil { // resp is now filled
  8865  //        fmt.Println(resp)
  8866  //    }
  8867  //
  8868  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ResendConfirmationCode
  8869  func (c *CognitoIdentityProvider) ResendConfirmationCodeRequest(input *ResendConfirmationCodeInput) (req *request.Request, output *ResendConfirmationCodeOutput) {
  8870  	op := &request.Operation{
  8871  		Name:       opResendConfirmationCode,
  8872  		HTTPMethod: "POST",
  8873  		HTTPPath:   "/",
  8874  	}
  8875  
  8876  	if input == nil {
  8877  		input = &ResendConfirmationCodeInput{}
  8878  	}
  8879  
  8880  	output = &ResendConfirmationCodeOutput{}
  8881  	req = c.newRequest(op, input, output)
  8882  	req.Config.Credentials = credentials.AnonymousCredentials
  8883  	return
  8884  }
  8885  
  8886  // ResendConfirmationCode API operation for Amazon Cognito Identity Provider.
  8887  //
  8888  // Resends the confirmation (for confirmation of registration) to a specific
  8889  // user in the user pool.
  8890  //
  8891  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  8892  // telecom carriers require that you register an origination phone number before
  8893  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  8894  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  8895  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  8896  // registered number automatically. Otherwise, Cognito users that must receive
  8897  // SMS messages might be unable to sign up, activate their accounts, or sign
  8898  // in.
  8899  //
  8900  // If you have never used SMS text messages with Amazon Cognito or any other
  8901  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  8902  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  8903  // , you’ll have limitations, such as sending messages to only verified phone
  8904  // numbers. After testing in the sandbox environment, you can move out of the
  8905  // SMS sandbox and into production. For more information, see SMS message settings
  8906  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  8907  // in the Amazon Cognito Developer Guide.
  8908  //
  8909  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8910  // with awserr.Error's Code and Message methods to get detailed information about
  8911  // the error.
  8912  //
  8913  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  8914  // API operation ResendConfirmationCode for usage and error information.
  8915  //
  8916  // Returned Error Types:
  8917  //   * ResourceNotFoundException
  8918  //   This exception is thrown when the Amazon Cognito service cannot find the
  8919  //   requested resource.
  8920  //
  8921  //   * InvalidParameterException
  8922  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8923  //   parameter.
  8924  //
  8925  //   * UnexpectedLambdaException
  8926  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  8927  //   exception with the Lambda service.
  8928  //
  8929  //   * UserLambdaValidationException
  8930  //   This exception is thrown when the Amazon Cognito service encounters a user
  8931  //   validation exception with the Lambda service.
  8932  //
  8933  //   * NotAuthorizedException
  8934  //   This exception is thrown when a user is not authorized.
  8935  //
  8936  //   * InvalidLambdaResponseException
  8937  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  8938  //   Lambda response.
  8939  //
  8940  //   * TooManyRequestsException
  8941  //   This exception is thrown when the user has made too many requests for a given
  8942  //   operation.
  8943  //
  8944  //   * LimitExceededException
  8945  //   This exception is thrown when a user exceeds the limit for a requested Amazon
  8946  //   Web Services resource.
  8947  //
  8948  //   * InvalidSmsRoleAccessPolicyException
  8949  //   This exception is returned when the role provided for SMS configuration does
  8950  //   not have permission to publish using Amazon SNS.
  8951  //
  8952  //   * InvalidSmsRoleTrustRelationshipException
  8953  //   This exception is thrown when the trust relationship is invalid for the role
  8954  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  8955  //   or the external ID provided in the role does not match what is provided in
  8956  //   the SMS configuration for the user pool.
  8957  //
  8958  //   * InvalidEmailRoleAccessPolicyException
  8959  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  8960  //   identity. HTTP status code: 400.
  8961  //
  8962  //   * CodeDeliveryFailureException
  8963  //   This exception is thrown when a verification code fails to deliver successfully.
  8964  //
  8965  //   * UserNotFoundException
  8966  //   This exception is thrown when a user is not found.
  8967  //
  8968  //   * InternalErrorException
  8969  //   This exception is thrown when Amazon Cognito encounters an internal error.
  8970  //
  8971  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ResendConfirmationCode
  8972  func (c *CognitoIdentityProvider) ResendConfirmationCode(input *ResendConfirmationCodeInput) (*ResendConfirmationCodeOutput, error) {
  8973  	req, out := c.ResendConfirmationCodeRequest(input)
  8974  	return out, req.Send()
  8975  }
  8976  
  8977  // ResendConfirmationCodeWithContext is the same as ResendConfirmationCode with the addition of
  8978  // the ability to pass a context and additional request options.
  8979  //
  8980  // See ResendConfirmationCode for details on how to use this API operation.
  8981  //
  8982  // The context must be non-nil and will be used for request cancellation. If
  8983  // the context is nil a panic will occur. In the future the SDK may create
  8984  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8985  // for more information on using Contexts.
  8986  func (c *CognitoIdentityProvider) ResendConfirmationCodeWithContext(ctx aws.Context, input *ResendConfirmationCodeInput, opts ...request.Option) (*ResendConfirmationCodeOutput, error) {
  8987  	req, out := c.ResendConfirmationCodeRequest(input)
  8988  	req.SetContext(ctx)
  8989  	req.ApplyOptions(opts...)
  8990  	return out, req.Send()
  8991  }
  8992  
  8993  const opRespondToAuthChallenge = "RespondToAuthChallenge"
  8994  
  8995  // RespondToAuthChallengeRequest generates a "aws/request.Request" representing the
  8996  // client's request for the RespondToAuthChallenge operation. The "output" return
  8997  // value will be populated with the request's response once the request completes
  8998  // successfully.
  8999  //
  9000  // Use "Send" method on the returned Request to send the API call to the service.
  9001  // the "output" return value is not valid until after Send returns without error.
  9002  //
  9003  // See RespondToAuthChallenge for more information on using the RespondToAuthChallenge
  9004  // API call, and error handling.
  9005  //
  9006  // This method is useful when you want to inject custom logic or configuration
  9007  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9008  //
  9009  //
  9010  //    // Example sending a request using the RespondToAuthChallengeRequest method.
  9011  //    req, resp := client.RespondToAuthChallengeRequest(params)
  9012  //
  9013  //    err := req.Send()
  9014  //    if err == nil { // resp is now filled
  9015  //        fmt.Println(resp)
  9016  //    }
  9017  //
  9018  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/RespondToAuthChallenge
  9019  func (c *CognitoIdentityProvider) RespondToAuthChallengeRequest(input *RespondToAuthChallengeInput) (req *request.Request, output *RespondToAuthChallengeOutput) {
  9020  	op := &request.Operation{
  9021  		Name:       opRespondToAuthChallenge,
  9022  		HTTPMethod: "POST",
  9023  		HTTPPath:   "/",
  9024  	}
  9025  
  9026  	if input == nil {
  9027  		input = &RespondToAuthChallengeInput{}
  9028  	}
  9029  
  9030  	output = &RespondToAuthChallengeOutput{}
  9031  	req = c.newRequest(op, input, output)
  9032  	req.Config.Credentials = credentials.AnonymousCredentials
  9033  	return
  9034  }
  9035  
  9036  // RespondToAuthChallenge API operation for Amazon Cognito Identity Provider.
  9037  //
  9038  // Responds to the authentication challenge.
  9039  //
  9040  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  9041  // telecom carriers require that you register an origination phone number before
  9042  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  9043  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  9044  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  9045  // registered number automatically. Otherwise, Cognito users that must receive
  9046  // SMS messages might be unable to sign up, activate their accounts, or sign
  9047  // in.
  9048  //
  9049  // If you have never used SMS text messages with Amazon Cognito or any other
  9050  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  9051  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  9052  // , you’ll have limitations, such as sending messages to only verified phone
  9053  // numbers. After testing in the sandbox environment, you can move out of the
  9054  // SMS sandbox and into production. For more information, see SMS message settings
  9055  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  9056  // in the Amazon Cognito Developer Guide.
  9057  //
  9058  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9059  // with awserr.Error's Code and Message methods to get detailed information about
  9060  // the error.
  9061  //
  9062  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9063  // API operation RespondToAuthChallenge for usage and error information.
  9064  //
  9065  // Returned Error Types:
  9066  //   * ResourceNotFoundException
  9067  //   This exception is thrown when the Amazon Cognito service cannot find the
  9068  //   requested resource.
  9069  //
  9070  //   * InvalidParameterException
  9071  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9072  //   parameter.
  9073  //
  9074  //   * NotAuthorizedException
  9075  //   This exception is thrown when a user is not authorized.
  9076  //
  9077  //   * CodeMismatchException
  9078  //   This exception is thrown if the provided code does not match what the server
  9079  //   was expecting.
  9080  //
  9081  //   * ExpiredCodeException
  9082  //   This exception is thrown if a code has expired.
  9083  //
  9084  //   * UnexpectedLambdaException
  9085  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  9086  //   exception with the Lambda service.
  9087  //
  9088  //   * UserLambdaValidationException
  9089  //   This exception is thrown when the Amazon Cognito service encounters a user
  9090  //   validation exception with the Lambda service.
  9091  //
  9092  //   * InvalidPasswordException
  9093  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9094  //   password.
  9095  //
  9096  //   * InvalidLambdaResponseException
  9097  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9098  //   Lambda response.
  9099  //
  9100  //   * TooManyRequestsException
  9101  //   This exception is thrown when the user has made too many requests for a given
  9102  //   operation.
  9103  //
  9104  //   * InvalidUserPoolConfigurationException
  9105  //   This exception is thrown when the user pool configuration is invalid.
  9106  //
  9107  //   * MFAMethodNotFoundException
  9108  //   This exception is thrown when Amazon Cognito cannot find a multi-factor authentication
  9109  //   (MFA) method.
  9110  //
  9111  //   * PasswordResetRequiredException
  9112  //   This exception is thrown when a password reset is required.
  9113  //
  9114  //   * UserNotFoundException
  9115  //   This exception is thrown when a user is not found.
  9116  //
  9117  //   * UserNotConfirmedException
  9118  //   This exception is thrown when a user is not confirmed successfully.
  9119  //
  9120  //   * InvalidSmsRoleAccessPolicyException
  9121  //   This exception is returned when the role provided for SMS configuration does
  9122  //   not have permission to publish using Amazon SNS.
  9123  //
  9124  //   * InvalidSmsRoleTrustRelationshipException
  9125  //   This exception is thrown when the trust relationship is invalid for the role
  9126  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  9127  //   or the external ID provided in the role does not match what is provided in
  9128  //   the SMS configuration for the user pool.
  9129  //
  9130  //   * AliasExistsException
  9131  //   This exception is thrown when a user tries to confirm the account with an
  9132  //   email or phone number that has already been supplied as an alias from a different
  9133  //   account. This exception tells user that an account with this email or phone
  9134  //   already exists.
  9135  //
  9136  //   * InternalErrorException
  9137  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9138  //
  9139  //   * SoftwareTokenMFANotFoundException
  9140  //   This exception is thrown when the software token TOTP multi-factor authentication
  9141  //   (MFA) is not enabled for the user pool.
  9142  //
  9143  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/RespondToAuthChallenge
  9144  func (c *CognitoIdentityProvider) RespondToAuthChallenge(input *RespondToAuthChallengeInput) (*RespondToAuthChallengeOutput, error) {
  9145  	req, out := c.RespondToAuthChallengeRequest(input)
  9146  	return out, req.Send()
  9147  }
  9148  
  9149  // RespondToAuthChallengeWithContext is the same as RespondToAuthChallenge with the addition of
  9150  // the ability to pass a context and additional request options.
  9151  //
  9152  // See RespondToAuthChallenge for details on how to use this API operation.
  9153  //
  9154  // The context must be non-nil and will be used for request cancellation. If
  9155  // the context is nil a panic will occur. In the future the SDK may create
  9156  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9157  // for more information on using Contexts.
  9158  func (c *CognitoIdentityProvider) RespondToAuthChallengeWithContext(ctx aws.Context, input *RespondToAuthChallengeInput, opts ...request.Option) (*RespondToAuthChallengeOutput, error) {
  9159  	req, out := c.RespondToAuthChallengeRequest(input)
  9160  	req.SetContext(ctx)
  9161  	req.ApplyOptions(opts...)
  9162  	return out, req.Send()
  9163  }
  9164  
  9165  const opRevokeToken = "RevokeToken"
  9166  
  9167  // RevokeTokenRequest generates a "aws/request.Request" representing the
  9168  // client's request for the RevokeToken operation. The "output" return
  9169  // value will be populated with the request's response once the request completes
  9170  // successfully.
  9171  //
  9172  // Use "Send" method on the returned Request to send the API call to the service.
  9173  // the "output" return value is not valid until after Send returns without error.
  9174  //
  9175  // See RevokeToken for more information on using the RevokeToken
  9176  // API call, and error handling.
  9177  //
  9178  // This method is useful when you want to inject custom logic or configuration
  9179  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9180  //
  9181  //
  9182  //    // Example sending a request using the RevokeTokenRequest method.
  9183  //    req, resp := client.RevokeTokenRequest(params)
  9184  //
  9185  //    err := req.Send()
  9186  //    if err == nil { // resp is now filled
  9187  //        fmt.Println(resp)
  9188  //    }
  9189  //
  9190  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/RevokeToken
  9191  func (c *CognitoIdentityProvider) RevokeTokenRequest(input *RevokeTokenInput) (req *request.Request, output *RevokeTokenOutput) {
  9192  	op := &request.Operation{
  9193  		Name:       opRevokeToken,
  9194  		HTTPMethod: "POST",
  9195  		HTTPPath:   "/",
  9196  	}
  9197  
  9198  	if input == nil {
  9199  		input = &RevokeTokenInput{}
  9200  	}
  9201  
  9202  	output = &RevokeTokenOutput{}
  9203  	req = c.newRequest(op, input, output)
  9204  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9205  	return
  9206  }
  9207  
  9208  // RevokeToken API operation for Amazon Cognito Identity Provider.
  9209  //
  9210  // Revokes all of the access tokens generated by the specified refresh token.
  9211  // After the token is revoked, you can not use the revoked token to access Cognito
  9212  // authenticated APIs.
  9213  //
  9214  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9215  // with awserr.Error's Code and Message methods to get detailed information about
  9216  // the error.
  9217  //
  9218  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9219  // API operation RevokeToken for usage and error information.
  9220  //
  9221  // Returned Error Types:
  9222  //   * TooManyRequestsException
  9223  //   This exception is thrown when the user has made too many requests for a given
  9224  //   operation.
  9225  //
  9226  //   * InternalErrorException
  9227  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9228  //
  9229  //   * UnauthorizedException
  9230  //   This exception is thrown when the request is not authorized. This can happen
  9231  //   due to an invalid access token in the request.
  9232  //
  9233  //   * InvalidParameterException
  9234  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9235  //   parameter.
  9236  //
  9237  //   * UnsupportedOperationException
  9238  //   This exception is thrown when you attempt to perform an operation that is
  9239  //   not enabled for the user pool client.
  9240  //
  9241  //   * UnsupportedTokenTypeException
  9242  //   This exception is thrown when an unsupported token is passed to an operation.
  9243  //
  9244  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/RevokeToken
  9245  func (c *CognitoIdentityProvider) RevokeToken(input *RevokeTokenInput) (*RevokeTokenOutput, error) {
  9246  	req, out := c.RevokeTokenRequest(input)
  9247  	return out, req.Send()
  9248  }
  9249  
  9250  // RevokeTokenWithContext is the same as RevokeToken with the addition of
  9251  // the ability to pass a context and additional request options.
  9252  //
  9253  // See RevokeToken for details on how to use this API operation.
  9254  //
  9255  // The context must be non-nil and will be used for request cancellation. If
  9256  // the context is nil a panic will occur. In the future the SDK may create
  9257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9258  // for more information on using Contexts.
  9259  func (c *CognitoIdentityProvider) RevokeTokenWithContext(ctx aws.Context, input *RevokeTokenInput, opts ...request.Option) (*RevokeTokenOutput, error) {
  9260  	req, out := c.RevokeTokenRequest(input)
  9261  	req.SetContext(ctx)
  9262  	req.ApplyOptions(opts...)
  9263  	return out, req.Send()
  9264  }
  9265  
  9266  const opSetRiskConfiguration = "SetRiskConfiguration"
  9267  
  9268  // SetRiskConfigurationRequest generates a "aws/request.Request" representing the
  9269  // client's request for the SetRiskConfiguration operation. The "output" return
  9270  // value will be populated with the request's response once the request completes
  9271  // successfully.
  9272  //
  9273  // Use "Send" method on the returned Request to send the API call to the service.
  9274  // the "output" return value is not valid until after Send returns without error.
  9275  //
  9276  // See SetRiskConfiguration for more information on using the SetRiskConfiguration
  9277  // API call, and error handling.
  9278  //
  9279  // This method is useful when you want to inject custom logic or configuration
  9280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9281  //
  9282  //
  9283  //    // Example sending a request using the SetRiskConfigurationRequest method.
  9284  //    req, resp := client.SetRiskConfigurationRequest(params)
  9285  //
  9286  //    err := req.Send()
  9287  //    if err == nil { // resp is now filled
  9288  //        fmt.Println(resp)
  9289  //    }
  9290  //
  9291  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetRiskConfiguration
  9292  func (c *CognitoIdentityProvider) SetRiskConfigurationRequest(input *SetRiskConfigurationInput) (req *request.Request, output *SetRiskConfigurationOutput) {
  9293  	op := &request.Operation{
  9294  		Name:       opSetRiskConfiguration,
  9295  		HTTPMethod: "POST",
  9296  		HTTPPath:   "/",
  9297  	}
  9298  
  9299  	if input == nil {
  9300  		input = &SetRiskConfigurationInput{}
  9301  	}
  9302  
  9303  	output = &SetRiskConfigurationOutput{}
  9304  	req = c.newRequest(op, input, output)
  9305  	return
  9306  }
  9307  
  9308  // SetRiskConfiguration API operation for Amazon Cognito Identity Provider.
  9309  //
  9310  // Configures actions on detected risks. To delete the risk configuration for
  9311  // UserPoolId or ClientId, pass null values for all four configuration types.
  9312  //
  9313  // To enable Amazon Cognito advanced security features, update the user pool
  9314  // to include the UserPoolAddOns keyAdvancedSecurityMode.
  9315  //
  9316  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9317  // with awserr.Error's Code and Message methods to get detailed information about
  9318  // the error.
  9319  //
  9320  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9321  // API operation SetRiskConfiguration for usage and error information.
  9322  //
  9323  // Returned Error Types:
  9324  //   * ResourceNotFoundException
  9325  //   This exception is thrown when the Amazon Cognito service cannot find the
  9326  //   requested resource.
  9327  //
  9328  //   * InvalidParameterException
  9329  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9330  //   parameter.
  9331  //
  9332  //   * TooManyRequestsException
  9333  //   This exception is thrown when the user has made too many requests for a given
  9334  //   operation.
  9335  //
  9336  //   * NotAuthorizedException
  9337  //   This exception is thrown when a user is not authorized.
  9338  //
  9339  //   * UserPoolAddOnNotEnabledException
  9340  //   This exception is thrown when user pool add-ons are not enabled.
  9341  //
  9342  //   * CodeDeliveryFailureException
  9343  //   This exception is thrown when a verification code fails to deliver successfully.
  9344  //
  9345  //   * InvalidEmailRoleAccessPolicyException
  9346  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  9347  //   identity. HTTP status code: 400.
  9348  //
  9349  //   * InternalErrorException
  9350  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9351  //
  9352  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetRiskConfiguration
  9353  func (c *CognitoIdentityProvider) SetRiskConfiguration(input *SetRiskConfigurationInput) (*SetRiskConfigurationOutput, error) {
  9354  	req, out := c.SetRiskConfigurationRequest(input)
  9355  	return out, req.Send()
  9356  }
  9357  
  9358  // SetRiskConfigurationWithContext is the same as SetRiskConfiguration with the addition of
  9359  // the ability to pass a context and additional request options.
  9360  //
  9361  // See SetRiskConfiguration for details on how to use this API operation.
  9362  //
  9363  // The context must be non-nil and will be used for request cancellation. If
  9364  // the context is nil a panic will occur. In the future the SDK may create
  9365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9366  // for more information on using Contexts.
  9367  func (c *CognitoIdentityProvider) SetRiskConfigurationWithContext(ctx aws.Context, input *SetRiskConfigurationInput, opts ...request.Option) (*SetRiskConfigurationOutput, error) {
  9368  	req, out := c.SetRiskConfigurationRequest(input)
  9369  	req.SetContext(ctx)
  9370  	req.ApplyOptions(opts...)
  9371  	return out, req.Send()
  9372  }
  9373  
  9374  const opSetUICustomization = "SetUICustomization"
  9375  
  9376  // SetUICustomizationRequest generates a "aws/request.Request" representing the
  9377  // client's request for the SetUICustomization operation. The "output" return
  9378  // value will be populated with the request's response once the request completes
  9379  // successfully.
  9380  //
  9381  // Use "Send" method on the returned Request to send the API call to the service.
  9382  // the "output" return value is not valid until after Send returns without error.
  9383  //
  9384  // See SetUICustomization for more information on using the SetUICustomization
  9385  // API call, and error handling.
  9386  //
  9387  // This method is useful when you want to inject custom logic or configuration
  9388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9389  //
  9390  //
  9391  //    // Example sending a request using the SetUICustomizationRequest method.
  9392  //    req, resp := client.SetUICustomizationRequest(params)
  9393  //
  9394  //    err := req.Send()
  9395  //    if err == nil { // resp is now filled
  9396  //        fmt.Println(resp)
  9397  //    }
  9398  //
  9399  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUICustomization
  9400  func (c *CognitoIdentityProvider) SetUICustomizationRequest(input *SetUICustomizationInput) (req *request.Request, output *SetUICustomizationOutput) {
  9401  	op := &request.Operation{
  9402  		Name:       opSetUICustomization,
  9403  		HTTPMethod: "POST",
  9404  		HTTPPath:   "/",
  9405  	}
  9406  
  9407  	if input == nil {
  9408  		input = &SetUICustomizationInput{}
  9409  	}
  9410  
  9411  	output = &SetUICustomizationOutput{}
  9412  	req = c.newRequest(op, input, output)
  9413  	return
  9414  }
  9415  
  9416  // SetUICustomization API operation for Amazon Cognito Identity Provider.
  9417  //
  9418  // Sets the UI customization information for a user pool's built-in app UI.
  9419  //
  9420  // You can specify app UI customization settings for a single client (with a
  9421  // specific clientId) or for all clients (by setting the clientId to ALL). If
  9422  // you specify ALL, the default configuration will be used for every client
  9423  // that has no UI customization set previously. If you specify UI customization
  9424  // settings for a particular client, it will no longer fall back to the ALL
  9425  // configuration.
  9426  //
  9427  // To use this API, your user pool must have a domain associated with it. Otherwise,
  9428  // there is no place to host the app's pages, and the service will throw an
  9429  // error.
  9430  //
  9431  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9432  // with awserr.Error's Code and Message methods to get detailed information about
  9433  // the error.
  9434  //
  9435  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9436  // API operation SetUICustomization for usage and error information.
  9437  //
  9438  // Returned Error Types:
  9439  //   * InvalidParameterException
  9440  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9441  //   parameter.
  9442  //
  9443  //   * ResourceNotFoundException
  9444  //   This exception is thrown when the Amazon Cognito service cannot find the
  9445  //   requested resource.
  9446  //
  9447  //   * NotAuthorizedException
  9448  //   This exception is thrown when a user is not authorized.
  9449  //
  9450  //   * TooManyRequestsException
  9451  //   This exception is thrown when the user has made too many requests for a given
  9452  //   operation.
  9453  //
  9454  //   * InternalErrorException
  9455  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9456  //
  9457  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUICustomization
  9458  func (c *CognitoIdentityProvider) SetUICustomization(input *SetUICustomizationInput) (*SetUICustomizationOutput, error) {
  9459  	req, out := c.SetUICustomizationRequest(input)
  9460  	return out, req.Send()
  9461  }
  9462  
  9463  // SetUICustomizationWithContext is the same as SetUICustomization with the addition of
  9464  // the ability to pass a context and additional request options.
  9465  //
  9466  // See SetUICustomization for details on how to use this API operation.
  9467  //
  9468  // The context must be non-nil and will be used for request cancellation. If
  9469  // the context is nil a panic will occur. In the future the SDK may create
  9470  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9471  // for more information on using Contexts.
  9472  func (c *CognitoIdentityProvider) SetUICustomizationWithContext(ctx aws.Context, input *SetUICustomizationInput, opts ...request.Option) (*SetUICustomizationOutput, error) {
  9473  	req, out := c.SetUICustomizationRequest(input)
  9474  	req.SetContext(ctx)
  9475  	req.ApplyOptions(opts...)
  9476  	return out, req.Send()
  9477  }
  9478  
  9479  const opSetUserMFAPreference = "SetUserMFAPreference"
  9480  
  9481  // SetUserMFAPreferenceRequest generates a "aws/request.Request" representing the
  9482  // client's request for the SetUserMFAPreference operation. The "output" return
  9483  // value will be populated with the request's response once the request completes
  9484  // successfully.
  9485  //
  9486  // Use "Send" method on the returned Request to send the API call to the service.
  9487  // the "output" return value is not valid until after Send returns without error.
  9488  //
  9489  // See SetUserMFAPreference for more information on using the SetUserMFAPreference
  9490  // API call, and error handling.
  9491  //
  9492  // This method is useful when you want to inject custom logic or configuration
  9493  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9494  //
  9495  //
  9496  //    // Example sending a request using the SetUserMFAPreferenceRequest method.
  9497  //    req, resp := client.SetUserMFAPreferenceRequest(params)
  9498  //
  9499  //    err := req.Send()
  9500  //    if err == nil { // resp is now filled
  9501  //        fmt.Println(resp)
  9502  //    }
  9503  //
  9504  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserMFAPreference
  9505  func (c *CognitoIdentityProvider) SetUserMFAPreferenceRequest(input *SetUserMFAPreferenceInput) (req *request.Request, output *SetUserMFAPreferenceOutput) {
  9506  	op := &request.Operation{
  9507  		Name:       opSetUserMFAPreference,
  9508  		HTTPMethod: "POST",
  9509  		HTTPPath:   "/",
  9510  	}
  9511  
  9512  	if input == nil {
  9513  		input = &SetUserMFAPreferenceInput{}
  9514  	}
  9515  
  9516  	output = &SetUserMFAPreferenceOutput{}
  9517  	req = c.newRequest(op, input, output)
  9518  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9519  	return
  9520  }
  9521  
  9522  // SetUserMFAPreference API operation for Amazon Cognito Identity Provider.
  9523  //
  9524  // Set the user's multi-factor authentication (MFA) method preference, including
  9525  // which MFA factors are enabled and if any are preferred. Only one factor can
  9526  // be set as preferred. The preferred MFA factor will be used to authenticate
  9527  // a user if multiple factors are enabled. If multiple options are enabled and
  9528  // no preference is set, a challenge to choose an MFA option will be returned
  9529  // during sign in. If an MFA type is enabled for a user, the user will be prompted
  9530  // for MFA during all sign in attempts, unless device tracking is turned on
  9531  // and the device has been trusted. If you would like MFA to be applied selectively
  9532  // based on the assessed risk level of sign in attempts, disable MFA for users
  9533  // and turn on Adaptive Authentication for the user pool.
  9534  //
  9535  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9536  // with awserr.Error's Code and Message methods to get detailed information about
  9537  // the error.
  9538  //
  9539  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9540  // API operation SetUserMFAPreference for usage and error information.
  9541  //
  9542  // Returned Error Types:
  9543  //   * ResourceNotFoundException
  9544  //   This exception is thrown when the Amazon Cognito service cannot find the
  9545  //   requested resource.
  9546  //
  9547  //   * InvalidParameterException
  9548  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9549  //   parameter.
  9550  //
  9551  //   * NotAuthorizedException
  9552  //   This exception is thrown when a user is not authorized.
  9553  //
  9554  //   * PasswordResetRequiredException
  9555  //   This exception is thrown when a password reset is required.
  9556  //
  9557  //   * UserNotFoundException
  9558  //   This exception is thrown when a user is not found.
  9559  //
  9560  //   * UserNotConfirmedException
  9561  //   This exception is thrown when a user is not confirmed successfully.
  9562  //
  9563  //   * InternalErrorException
  9564  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9565  //
  9566  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserMFAPreference
  9567  func (c *CognitoIdentityProvider) SetUserMFAPreference(input *SetUserMFAPreferenceInput) (*SetUserMFAPreferenceOutput, error) {
  9568  	req, out := c.SetUserMFAPreferenceRequest(input)
  9569  	return out, req.Send()
  9570  }
  9571  
  9572  // SetUserMFAPreferenceWithContext is the same as SetUserMFAPreference with the addition of
  9573  // the ability to pass a context and additional request options.
  9574  //
  9575  // See SetUserMFAPreference for details on how to use this API operation.
  9576  //
  9577  // The context must be non-nil and will be used for request cancellation. If
  9578  // the context is nil a panic will occur. In the future the SDK may create
  9579  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9580  // for more information on using Contexts.
  9581  func (c *CognitoIdentityProvider) SetUserMFAPreferenceWithContext(ctx aws.Context, input *SetUserMFAPreferenceInput, opts ...request.Option) (*SetUserMFAPreferenceOutput, error) {
  9582  	req, out := c.SetUserMFAPreferenceRequest(input)
  9583  	req.SetContext(ctx)
  9584  	req.ApplyOptions(opts...)
  9585  	return out, req.Send()
  9586  }
  9587  
  9588  const opSetUserPoolMfaConfig = "SetUserPoolMfaConfig"
  9589  
  9590  // SetUserPoolMfaConfigRequest generates a "aws/request.Request" representing the
  9591  // client's request for the SetUserPoolMfaConfig operation. The "output" return
  9592  // value will be populated with the request's response once the request completes
  9593  // successfully.
  9594  //
  9595  // Use "Send" method on the returned Request to send the API call to the service.
  9596  // the "output" return value is not valid until after Send returns without error.
  9597  //
  9598  // See SetUserPoolMfaConfig for more information on using the SetUserPoolMfaConfig
  9599  // API call, and error handling.
  9600  //
  9601  // This method is useful when you want to inject custom logic or configuration
  9602  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9603  //
  9604  //
  9605  //    // Example sending a request using the SetUserPoolMfaConfigRequest method.
  9606  //    req, resp := client.SetUserPoolMfaConfigRequest(params)
  9607  //
  9608  //    err := req.Send()
  9609  //    if err == nil { // resp is now filled
  9610  //        fmt.Println(resp)
  9611  //    }
  9612  //
  9613  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserPoolMfaConfig
  9614  func (c *CognitoIdentityProvider) SetUserPoolMfaConfigRequest(input *SetUserPoolMfaConfigInput) (req *request.Request, output *SetUserPoolMfaConfigOutput) {
  9615  	op := &request.Operation{
  9616  		Name:       opSetUserPoolMfaConfig,
  9617  		HTTPMethod: "POST",
  9618  		HTTPPath:   "/",
  9619  	}
  9620  
  9621  	if input == nil {
  9622  		input = &SetUserPoolMfaConfigInput{}
  9623  	}
  9624  
  9625  	output = &SetUserPoolMfaConfigOutput{}
  9626  	req = c.newRequest(op, input, output)
  9627  	return
  9628  }
  9629  
  9630  // SetUserPoolMfaConfig API operation for Amazon Cognito Identity Provider.
  9631  //
  9632  // Set the user pool multi-factor authentication (MFA) configuration.
  9633  //
  9634  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  9635  // telecom carriers require that you register an origination phone number before
  9636  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  9637  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  9638  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  9639  // registered number automatically. Otherwise, Cognito users that must receive
  9640  // SMS messages might be unable to sign up, activate their accounts, or sign
  9641  // in.
  9642  //
  9643  // If you have never used SMS text messages with Amazon Cognito or any other
  9644  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  9645  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  9646  // , you’ll have limitations, such as sending messages to only verified phone
  9647  // numbers. After testing in the sandbox environment, you can move out of the
  9648  // SMS sandbox and into production. For more information, see SMS message settings
  9649  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  9650  // in the Amazon Cognito Developer Guide.
  9651  //
  9652  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9653  // with awserr.Error's Code and Message methods to get detailed information about
  9654  // the error.
  9655  //
  9656  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9657  // API operation SetUserPoolMfaConfig for usage and error information.
  9658  //
  9659  // Returned Error Types:
  9660  //   * InvalidParameterException
  9661  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9662  //   parameter.
  9663  //
  9664  //   * TooManyRequestsException
  9665  //   This exception is thrown when the user has made too many requests for a given
  9666  //   operation.
  9667  //
  9668  //   * ResourceNotFoundException
  9669  //   This exception is thrown when the Amazon Cognito service cannot find the
  9670  //   requested resource.
  9671  //
  9672  //   * InvalidSmsRoleAccessPolicyException
  9673  //   This exception is returned when the role provided for SMS configuration does
  9674  //   not have permission to publish using Amazon SNS.
  9675  //
  9676  //   * InvalidSmsRoleTrustRelationshipException
  9677  //   This exception is thrown when the trust relationship is invalid for the role
  9678  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  9679  //   or the external ID provided in the role does not match what is provided in
  9680  //   the SMS configuration for the user pool.
  9681  //
  9682  //   * NotAuthorizedException
  9683  //   This exception is thrown when a user is not authorized.
  9684  //
  9685  //   * InternalErrorException
  9686  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9687  //
  9688  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserPoolMfaConfig
  9689  func (c *CognitoIdentityProvider) SetUserPoolMfaConfig(input *SetUserPoolMfaConfigInput) (*SetUserPoolMfaConfigOutput, error) {
  9690  	req, out := c.SetUserPoolMfaConfigRequest(input)
  9691  	return out, req.Send()
  9692  }
  9693  
  9694  // SetUserPoolMfaConfigWithContext is the same as SetUserPoolMfaConfig with the addition of
  9695  // the ability to pass a context and additional request options.
  9696  //
  9697  // See SetUserPoolMfaConfig for details on how to use this API operation.
  9698  //
  9699  // The context must be non-nil and will be used for request cancellation. If
  9700  // the context is nil a panic will occur. In the future the SDK may create
  9701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9702  // for more information on using Contexts.
  9703  func (c *CognitoIdentityProvider) SetUserPoolMfaConfigWithContext(ctx aws.Context, input *SetUserPoolMfaConfigInput, opts ...request.Option) (*SetUserPoolMfaConfigOutput, error) {
  9704  	req, out := c.SetUserPoolMfaConfigRequest(input)
  9705  	req.SetContext(ctx)
  9706  	req.ApplyOptions(opts...)
  9707  	return out, req.Send()
  9708  }
  9709  
  9710  const opSetUserSettings = "SetUserSettings"
  9711  
  9712  // SetUserSettingsRequest generates a "aws/request.Request" representing the
  9713  // client's request for the SetUserSettings operation. The "output" return
  9714  // value will be populated with the request's response once the request completes
  9715  // successfully.
  9716  //
  9717  // Use "Send" method on the returned Request to send the API call to the service.
  9718  // the "output" return value is not valid until after Send returns without error.
  9719  //
  9720  // See SetUserSettings for more information on using the SetUserSettings
  9721  // API call, and error handling.
  9722  //
  9723  // This method is useful when you want to inject custom logic or configuration
  9724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9725  //
  9726  //
  9727  //    // Example sending a request using the SetUserSettingsRequest method.
  9728  //    req, resp := client.SetUserSettingsRequest(params)
  9729  //
  9730  //    err := req.Send()
  9731  //    if err == nil { // resp is now filled
  9732  //        fmt.Println(resp)
  9733  //    }
  9734  //
  9735  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserSettings
  9736  func (c *CognitoIdentityProvider) SetUserSettingsRequest(input *SetUserSettingsInput) (req *request.Request, output *SetUserSettingsOutput) {
  9737  	op := &request.Operation{
  9738  		Name:       opSetUserSettings,
  9739  		HTTPMethod: "POST",
  9740  		HTTPPath:   "/",
  9741  	}
  9742  
  9743  	if input == nil {
  9744  		input = &SetUserSettingsInput{}
  9745  	}
  9746  
  9747  	output = &SetUserSettingsOutput{}
  9748  	req = c.newRequest(op, input, output)
  9749  	req.Config.Credentials = credentials.AnonymousCredentials
  9750  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9751  	return
  9752  }
  9753  
  9754  // SetUserSettings API operation for Amazon Cognito Identity Provider.
  9755  //
  9756  // This action is no longer supported. You can use it to configure only SMS
  9757  // MFA. You can't use it to configure TOTP software token MFA. To configure
  9758  // either type of MFA, use SetUserMFAPreference (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserMFAPreference.html)
  9759  // instead.
  9760  //
  9761  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9762  // with awserr.Error's Code and Message methods to get detailed information about
  9763  // the error.
  9764  //
  9765  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9766  // API operation SetUserSettings for usage and error information.
  9767  //
  9768  // Returned Error Types:
  9769  //   * ResourceNotFoundException
  9770  //   This exception is thrown when the Amazon Cognito service cannot find the
  9771  //   requested resource.
  9772  //
  9773  //   * InvalidParameterException
  9774  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9775  //   parameter.
  9776  //
  9777  //   * NotAuthorizedException
  9778  //   This exception is thrown when a user is not authorized.
  9779  //
  9780  //   * PasswordResetRequiredException
  9781  //   This exception is thrown when a password reset is required.
  9782  //
  9783  //   * UserNotFoundException
  9784  //   This exception is thrown when a user is not found.
  9785  //
  9786  //   * UserNotConfirmedException
  9787  //   This exception is thrown when a user is not confirmed successfully.
  9788  //
  9789  //   * InternalErrorException
  9790  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9791  //
  9792  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserSettings
  9793  func (c *CognitoIdentityProvider) SetUserSettings(input *SetUserSettingsInput) (*SetUserSettingsOutput, error) {
  9794  	req, out := c.SetUserSettingsRequest(input)
  9795  	return out, req.Send()
  9796  }
  9797  
  9798  // SetUserSettingsWithContext is the same as SetUserSettings with the addition of
  9799  // the ability to pass a context and additional request options.
  9800  //
  9801  // See SetUserSettings for details on how to use this API operation.
  9802  //
  9803  // The context must be non-nil and will be used for request cancellation. If
  9804  // the context is nil a panic will occur. In the future the SDK may create
  9805  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9806  // for more information on using Contexts.
  9807  func (c *CognitoIdentityProvider) SetUserSettingsWithContext(ctx aws.Context, input *SetUserSettingsInput, opts ...request.Option) (*SetUserSettingsOutput, error) {
  9808  	req, out := c.SetUserSettingsRequest(input)
  9809  	req.SetContext(ctx)
  9810  	req.ApplyOptions(opts...)
  9811  	return out, req.Send()
  9812  }
  9813  
  9814  const opSignUp = "SignUp"
  9815  
  9816  // SignUpRequest generates a "aws/request.Request" representing the
  9817  // client's request for the SignUp operation. The "output" return
  9818  // value will be populated with the request's response once the request completes
  9819  // successfully.
  9820  //
  9821  // Use "Send" method on the returned Request to send the API call to the service.
  9822  // the "output" return value is not valid until after Send returns without error.
  9823  //
  9824  // See SignUp for more information on using the SignUp
  9825  // API call, and error handling.
  9826  //
  9827  // This method is useful when you want to inject custom logic or configuration
  9828  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9829  //
  9830  //
  9831  //    // Example sending a request using the SignUpRequest method.
  9832  //    req, resp := client.SignUpRequest(params)
  9833  //
  9834  //    err := req.Send()
  9835  //    if err == nil { // resp is now filled
  9836  //        fmt.Println(resp)
  9837  //    }
  9838  //
  9839  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SignUp
  9840  func (c *CognitoIdentityProvider) SignUpRequest(input *SignUpInput) (req *request.Request, output *SignUpOutput) {
  9841  	op := &request.Operation{
  9842  		Name:       opSignUp,
  9843  		HTTPMethod: "POST",
  9844  		HTTPPath:   "/",
  9845  	}
  9846  
  9847  	if input == nil {
  9848  		input = &SignUpInput{}
  9849  	}
  9850  
  9851  	output = &SignUpOutput{}
  9852  	req = c.newRequest(op, input, output)
  9853  	req.Config.Credentials = credentials.AnonymousCredentials
  9854  	return
  9855  }
  9856  
  9857  // SignUp API operation for Amazon Cognito Identity Provider.
  9858  //
  9859  // Registers the user in the specified user pool and creates a user name, password,
  9860  // and user attributes.
  9861  //
  9862  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
  9863  // telecom carriers require that you register an origination phone number before
  9864  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
  9865  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
  9866  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
  9867  // registered number automatically. Otherwise, Cognito users that must receive
  9868  // SMS messages might be unable to sign up, activate their accounts, or sign
  9869  // in.
  9870  //
  9871  // If you have never used SMS text messages with Amazon Cognito or any other
  9872  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
  9873  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
  9874  // , you’ll have limitations, such as sending messages to only verified phone
  9875  // numbers. After testing in the sandbox environment, you can move out of the
  9876  // SMS sandbox and into production. For more information, see SMS message settings
  9877  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
  9878  // in the Amazon Cognito Developer Guide.
  9879  //
  9880  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9881  // with awserr.Error's Code and Message methods to get detailed information about
  9882  // the error.
  9883  //
  9884  // See the AWS API reference guide for Amazon Cognito Identity Provider's
  9885  // API operation SignUp for usage and error information.
  9886  //
  9887  // Returned Error Types:
  9888  //   * ResourceNotFoundException
  9889  //   This exception is thrown when the Amazon Cognito service cannot find the
  9890  //   requested resource.
  9891  //
  9892  //   * InvalidParameterException
  9893  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9894  //   parameter.
  9895  //
  9896  //   * UnexpectedLambdaException
  9897  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
  9898  //   exception with the Lambda service.
  9899  //
  9900  //   * UserLambdaValidationException
  9901  //   This exception is thrown when the Amazon Cognito service encounters a user
  9902  //   validation exception with the Lambda service.
  9903  //
  9904  //   * NotAuthorizedException
  9905  //   This exception is thrown when a user is not authorized.
  9906  //
  9907  //   * InvalidPasswordException
  9908  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9909  //   password.
  9910  //
  9911  //   * InvalidLambdaResponseException
  9912  //   This exception is thrown when the Amazon Cognito service encounters an invalid
  9913  //   Lambda response.
  9914  //
  9915  //   * UsernameExistsException
  9916  //   This exception is thrown when Amazon Cognito encounters a user name that
  9917  //   already exists in the user pool.
  9918  //
  9919  //   * TooManyRequestsException
  9920  //   This exception is thrown when the user has made too many requests for a given
  9921  //   operation.
  9922  //
  9923  //   * InternalErrorException
  9924  //   This exception is thrown when Amazon Cognito encounters an internal error.
  9925  //
  9926  //   * InvalidSmsRoleAccessPolicyException
  9927  //   This exception is returned when the role provided for SMS configuration does
  9928  //   not have permission to publish using Amazon SNS.
  9929  //
  9930  //   * InvalidSmsRoleTrustRelationshipException
  9931  //   This exception is thrown when the trust relationship is invalid for the role
  9932  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
  9933  //   or the external ID provided in the role does not match what is provided in
  9934  //   the SMS configuration for the user pool.
  9935  //
  9936  //   * InvalidEmailRoleAccessPolicyException
  9937  //   This exception is thrown when Amazon Cognito is not allowed to use your email
  9938  //   identity. HTTP status code: 400.
  9939  //
  9940  //   * CodeDeliveryFailureException
  9941  //   This exception is thrown when a verification code fails to deliver successfully.
  9942  //
  9943  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SignUp
  9944  func (c *CognitoIdentityProvider) SignUp(input *SignUpInput) (*SignUpOutput, error) {
  9945  	req, out := c.SignUpRequest(input)
  9946  	return out, req.Send()
  9947  }
  9948  
  9949  // SignUpWithContext is the same as SignUp with the addition of
  9950  // the ability to pass a context and additional request options.
  9951  //
  9952  // See SignUp for details on how to use this API operation.
  9953  //
  9954  // The context must be non-nil and will be used for request cancellation. If
  9955  // the context is nil a panic will occur. In the future the SDK may create
  9956  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9957  // for more information on using Contexts.
  9958  func (c *CognitoIdentityProvider) SignUpWithContext(ctx aws.Context, input *SignUpInput, opts ...request.Option) (*SignUpOutput, error) {
  9959  	req, out := c.SignUpRequest(input)
  9960  	req.SetContext(ctx)
  9961  	req.ApplyOptions(opts...)
  9962  	return out, req.Send()
  9963  }
  9964  
  9965  const opStartUserImportJob = "StartUserImportJob"
  9966  
  9967  // StartUserImportJobRequest generates a "aws/request.Request" representing the
  9968  // client's request for the StartUserImportJob operation. The "output" return
  9969  // value will be populated with the request's response once the request completes
  9970  // successfully.
  9971  //
  9972  // Use "Send" method on the returned Request to send the API call to the service.
  9973  // the "output" return value is not valid until after Send returns without error.
  9974  //
  9975  // See StartUserImportJob for more information on using the StartUserImportJob
  9976  // API call, and error handling.
  9977  //
  9978  // This method is useful when you want to inject custom logic or configuration
  9979  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9980  //
  9981  //
  9982  //    // Example sending a request using the StartUserImportJobRequest method.
  9983  //    req, resp := client.StartUserImportJobRequest(params)
  9984  //
  9985  //    err := req.Send()
  9986  //    if err == nil { // resp is now filled
  9987  //        fmt.Println(resp)
  9988  //    }
  9989  //
  9990  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/StartUserImportJob
  9991  func (c *CognitoIdentityProvider) StartUserImportJobRequest(input *StartUserImportJobInput) (req *request.Request, output *StartUserImportJobOutput) {
  9992  	op := &request.Operation{
  9993  		Name:       opStartUserImportJob,
  9994  		HTTPMethod: "POST",
  9995  		HTTPPath:   "/",
  9996  	}
  9997  
  9998  	if input == nil {
  9999  		input = &StartUserImportJobInput{}
 10000  	}
 10001  
 10002  	output = &StartUserImportJobOutput{}
 10003  	req = c.newRequest(op, input, output)
 10004  	return
 10005  }
 10006  
 10007  // StartUserImportJob API operation for Amazon Cognito Identity Provider.
 10008  //
 10009  // Starts the user import.
 10010  //
 10011  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10012  // with awserr.Error's Code and Message methods to get detailed information about
 10013  // the error.
 10014  //
 10015  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10016  // API operation StartUserImportJob for usage and error information.
 10017  //
 10018  // Returned Error Types:
 10019  //   * ResourceNotFoundException
 10020  //   This exception is thrown when the Amazon Cognito service cannot find the
 10021  //   requested resource.
 10022  //
 10023  //   * InvalidParameterException
 10024  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10025  //   parameter.
 10026  //
 10027  //   * TooManyRequestsException
 10028  //   This exception is thrown when the user has made too many requests for a given
 10029  //   operation.
 10030  //
 10031  //   * InternalErrorException
 10032  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10033  //
 10034  //   * PreconditionNotMetException
 10035  //   This exception is thrown when a precondition is not met.
 10036  //
 10037  //   * NotAuthorizedException
 10038  //   This exception is thrown when a user is not authorized.
 10039  //
 10040  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/StartUserImportJob
 10041  func (c *CognitoIdentityProvider) StartUserImportJob(input *StartUserImportJobInput) (*StartUserImportJobOutput, error) {
 10042  	req, out := c.StartUserImportJobRequest(input)
 10043  	return out, req.Send()
 10044  }
 10045  
 10046  // StartUserImportJobWithContext is the same as StartUserImportJob with the addition of
 10047  // the ability to pass a context and additional request options.
 10048  //
 10049  // See StartUserImportJob for details on how to use this API operation.
 10050  //
 10051  // The context must be non-nil and will be used for request cancellation. If
 10052  // the context is nil a panic will occur. In the future the SDK may create
 10053  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10054  // for more information on using Contexts.
 10055  func (c *CognitoIdentityProvider) StartUserImportJobWithContext(ctx aws.Context, input *StartUserImportJobInput, opts ...request.Option) (*StartUserImportJobOutput, error) {
 10056  	req, out := c.StartUserImportJobRequest(input)
 10057  	req.SetContext(ctx)
 10058  	req.ApplyOptions(opts...)
 10059  	return out, req.Send()
 10060  }
 10061  
 10062  const opStopUserImportJob = "StopUserImportJob"
 10063  
 10064  // StopUserImportJobRequest generates a "aws/request.Request" representing the
 10065  // client's request for the StopUserImportJob operation. The "output" return
 10066  // value will be populated with the request's response once the request completes
 10067  // successfully.
 10068  //
 10069  // Use "Send" method on the returned Request to send the API call to the service.
 10070  // the "output" return value is not valid until after Send returns without error.
 10071  //
 10072  // See StopUserImportJob for more information on using the StopUserImportJob
 10073  // API call, and error handling.
 10074  //
 10075  // This method is useful when you want to inject custom logic or configuration
 10076  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10077  //
 10078  //
 10079  //    // Example sending a request using the StopUserImportJobRequest method.
 10080  //    req, resp := client.StopUserImportJobRequest(params)
 10081  //
 10082  //    err := req.Send()
 10083  //    if err == nil { // resp is now filled
 10084  //        fmt.Println(resp)
 10085  //    }
 10086  //
 10087  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/StopUserImportJob
 10088  func (c *CognitoIdentityProvider) StopUserImportJobRequest(input *StopUserImportJobInput) (req *request.Request, output *StopUserImportJobOutput) {
 10089  	op := &request.Operation{
 10090  		Name:       opStopUserImportJob,
 10091  		HTTPMethod: "POST",
 10092  		HTTPPath:   "/",
 10093  	}
 10094  
 10095  	if input == nil {
 10096  		input = &StopUserImportJobInput{}
 10097  	}
 10098  
 10099  	output = &StopUserImportJobOutput{}
 10100  	req = c.newRequest(op, input, output)
 10101  	return
 10102  }
 10103  
 10104  // StopUserImportJob API operation for Amazon Cognito Identity Provider.
 10105  //
 10106  // Stops the user import job.
 10107  //
 10108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10109  // with awserr.Error's Code and Message methods to get detailed information about
 10110  // the error.
 10111  //
 10112  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10113  // API operation StopUserImportJob for usage and error information.
 10114  //
 10115  // Returned Error Types:
 10116  //   * ResourceNotFoundException
 10117  //   This exception is thrown when the Amazon Cognito service cannot find the
 10118  //   requested resource.
 10119  //
 10120  //   * InvalidParameterException
 10121  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10122  //   parameter.
 10123  //
 10124  //   * TooManyRequestsException
 10125  //   This exception is thrown when the user has made too many requests for a given
 10126  //   operation.
 10127  //
 10128  //   * InternalErrorException
 10129  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10130  //
 10131  //   * PreconditionNotMetException
 10132  //   This exception is thrown when a precondition is not met.
 10133  //
 10134  //   * NotAuthorizedException
 10135  //   This exception is thrown when a user is not authorized.
 10136  //
 10137  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/StopUserImportJob
 10138  func (c *CognitoIdentityProvider) StopUserImportJob(input *StopUserImportJobInput) (*StopUserImportJobOutput, error) {
 10139  	req, out := c.StopUserImportJobRequest(input)
 10140  	return out, req.Send()
 10141  }
 10142  
 10143  // StopUserImportJobWithContext is the same as StopUserImportJob with the addition of
 10144  // the ability to pass a context and additional request options.
 10145  //
 10146  // See StopUserImportJob for details on how to use this API operation.
 10147  //
 10148  // The context must be non-nil and will be used for request cancellation. If
 10149  // the context is nil a panic will occur. In the future the SDK may create
 10150  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10151  // for more information on using Contexts.
 10152  func (c *CognitoIdentityProvider) StopUserImportJobWithContext(ctx aws.Context, input *StopUserImportJobInput, opts ...request.Option) (*StopUserImportJobOutput, error) {
 10153  	req, out := c.StopUserImportJobRequest(input)
 10154  	req.SetContext(ctx)
 10155  	req.ApplyOptions(opts...)
 10156  	return out, req.Send()
 10157  }
 10158  
 10159  const opTagResource = "TagResource"
 10160  
 10161  // TagResourceRequest generates a "aws/request.Request" representing the
 10162  // client's request for the TagResource operation. The "output" return
 10163  // value will be populated with the request's response once the request completes
 10164  // successfully.
 10165  //
 10166  // Use "Send" method on the returned Request to send the API call to the service.
 10167  // the "output" return value is not valid until after Send returns without error.
 10168  //
 10169  // See TagResource for more information on using the TagResource
 10170  // API call, and error handling.
 10171  //
 10172  // This method is useful when you want to inject custom logic or configuration
 10173  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10174  //
 10175  //
 10176  //    // Example sending a request using the TagResourceRequest method.
 10177  //    req, resp := client.TagResourceRequest(params)
 10178  //
 10179  //    err := req.Send()
 10180  //    if err == nil { // resp is now filled
 10181  //        fmt.Println(resp)
 10182  //    }
 10183  //
 10184  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/TagResource
 10185  func (c *CognitoIdentityProvider) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
 10186  	op := &request.Operation{
 10187  		Name:       opTagResource,
 10188  		HTTPMethod: "POST",
 10189  		HTTPPath:   "/",
 10190  	}
 10191  
 10192  	if input == nil {
 10193  		input = &TagResourceInput{}
 10194  	}
 10195  
 10196  	output = &TagResourceOutput{}
 10197  	req = c.newRequest(op, input, output)
 10198  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10199  	return
 10200  }
 10201  
 10202  // TagResource API operation for Amazon Cognito Identity Provider.
 10203  //
 10204  // Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that
 10205  // you can use to categorize and manage user pools in different ways, such as
 10206  // by purpose, owner, environment, or other criteria.
 10207  //
 10208  // Each tag consists of a key and value, both of which you define. A key is
 10209  // a general category for more specific values. For example, if you have two
 10210  // versions of a user pool, one for testing and another for production, you
 10211  // might assign an Environment tag key to both user pools. The value of this
 10212  // key might be Test for one user pool and Production for the other.
 10213  //
 10214  // Tags are useful for cost tracking and access control. You can activate your
 10215  // tags so that they appear on the Billing and Cost Management console, where
 10216  // you can track the costs associated with your user pools. In an IAM policy,
 10217  // you can constrain permissions for user pools based on specific tags or tag
 10218  // values.
 10219  //
 10220  // You can use this action up to 5 times per second, per account. A user pool
 10221  // can have as many as 50 tags.
 10222  //
 10223  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10224  // with awserr.Error's Code and Message methods to get detailed information about
 10225  // the error.
 10226  //
 10227  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10228  // API operation TagResource for usage and error information.
 10229  //
 10230  // Returned Error Types:
 10231  //   * ResourceNotFoundException
 10232  //   This exception is thrown when the Amazon Cognito service cannot find the
 10233  //   requested resource.
 10234  //
 10235  //   * NotAuthorizedException
 10236  //   This exception is thrown when a user is not authorized.
 10237  //
 10238  //   * TooManyRequestsException
 10239  //   This exception is thrown when the user has made too many requests for a given
 10240  //   operation.
 10241  //
 10242  //   * InvalidParameterException
 10243  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10244  //   parameter.
 10245  //
 10246  //   * InternalErrorException
 10247  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10248  //
 10249  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/TagResource
 10250  func (c *CognitoIdentityProvider) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
 10251  	req, out := c.TagResourceRequest(input)
 10252  	return out, req.Send()
 10253  }
 10254  
 10255  // TagResourceWithContext is the same as TagResource with the addition of
 10256  // the ability to pass a context and additional request options.
 10257  //
 10258  // See TagResource for details on how to use this API operation.
 10259  //
 10260  // The context must be non-nil and will be used for request cancellation. If
 10261  // the context is nil a panic will occur. In the future the SDK may create
 10262  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10263  // for more information on using Contexts.
 10264  func (c *CognitoIdentityProvider) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
 10265  	req, out := c.TagResourceRequest(input)
 10266  	req.SetContext(ctx)
 10267  	req.ApplyOptions(opts...)
 10268  	return out, req.Send()
 10269  }
 10270  
 10271  const opUntagResource = "UntagResource"
 10272  
 10273  // UntagResourceRequest generates a "aws/request.Request" representing the
 10274  // client's request for the UntagResource operation. The "output" return
 10275  // value will be populated with the request's response once the request completes
 10276  // successfully.
 10277  //
 10278  // Use "Send" method on the returned Request to send the API call to the service.
 10279  // the "output" return value is not valid until after Send returns without error.
 10280  //
 10281  // See UntagResource for more information on using the UntagResource
 10282  // API call, and error handling.
 10283  //
 10284  // This method is useful when you want to inject custom logic or configuration
 10285  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10286  //
 10287  //
 10288  //    // Example sending a request using the UntagResourceRequest method.
 10289  //    req, resp := client.UntagResourceRequest(params)
 10290  //
 10291  //    err := req.Send()
 10292  //    if err == nil { // resp is now filled
 10293  //        fmt.Println(resp)
 10294  //    }
 10295  //
 10296  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UntagResource
 10297  func (c *CognitoIdentityProvider) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
 10298  	op := &request.Operation{
 10299  		Name:       opUntagResource,
 10300  		HTTPMethod: "POST",
 10301  		HTTPPath:   "/",
 10302  	}
 10303  
 10304  	if input == nil {
 10305  		input = &UntagResourceInput{}
 10306  	}
 10307  
 10308  	output = &UntagResourceOutput{}
 10309  	req = c.newRequest(op, input, output)
 10310  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10311  	return
 10312  }
 10313  
 10314  // UntagResource API operation for Amazon Cognito Identity Provider.
 10315  //
 10316  // Removes the specified tags from an Amazon Cognito user pool. You can use
 10317  // this action up to 5 times per second, per account
 10318  //
 10319  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10320  // with awserr.Error's Code and Message methods to get detailed information about
 10321  // the error.
 10322  //
 10323  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10324  // API operation UntagResource for usage and error information.
 10325  //
 10326  // Returned Error Types:
 10327  //   * ResourceNotFoundException
 10328  //   This exception is thrown when the Amazon Cognito service cannot find the
 10329  //   requested resource.
 10330  //
 10331  //   * NotAuthorizedException
 10332  //   This exception is thrown when a user is not authorized.
 10333  //
 10334  //   * TooManyRequestsException
 10335  //   This exception is thrown when the user has made too many requests for a given
 10336  //   operation.
 10337  //
 10338  //   * InvalidParameterException
 10339  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10340  //   parameter.
 10341  //
 10342  //   * InternalErrorException
 10343  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10344  //
 10345  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UntagResource
 10346  func (c *CognitoIdentityProvider) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
 10347  	req, out := c.UntagResourceRequest(input)
 10348  	return out, req.Send()
 10349  }
 10350  
 10351  // UntagResourceWithContext is the same as UntagResource with the addition of
 10352  // the ability to pass a context and additional request options.
 10353  //
 10354  // See UntagResource for details on how to use this API operation.
 10355  //
 10356  // The context must be non-nil and will be used for request cancellation. If
 10357  // the context is nil a panic will occur. In the future the SDK may create
 10358  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10359  // for more information on using Contexts.
 10360  func (c *CognitoIdentityProvider) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
 10361  	req, out := c.UntagResourceRequest(input)
 10362  	req.SetContext(ctx)
 10363  	req.ApplyOptions(opts...)
 10364  	return out, req.Send()
 10365  }
 10366  
 10367  const opUpdateAuthEventFeedback = "UpdateAuthEventFeedback"
 10368  
 10369  // UpdateAuthEventFeedbackRequest generates a "aws/request.Request" representing the
 10370  // client's request for the UpdateAuthEventFeedback operation. The "output" return
 10371  // value will be populated with the request's response once the request completes
 10372  // successfully.
 10373  //
 10374  // Use "Send" method on the returned Request to send the API call to the service.
 10375  // the "output" return value is not valid until after Send returns without error.
 10376  //
 10377  // See UpdateAuthEventFeedback for more information on using the UpdateAuthEventFeedback
 10378  // API call, and error handling.
 10379  //
 10380  // This method is useful when you want to inject custom logic or configuration
 10381  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10382  //
 10383  //
 10384  //    // Example sending a request using the UpdateAuthEventFeedbackRequest method.
 10385  //    req, resp := client.UpdateAuthEventFeedbackRequest(params)
 10386  //
 10387  //    err := req.Send()
 10388  //    if err == nil { // resp is now filled
 10389  //        fmt.Println(resp)
 10390  //    }
 10391  //
 10392  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateAuthEventFeedback
 10393  func (c *CognitoIdentityProvider) UpdateAuthEventFeedbackRequest(input *UpdateAuthEventFeedbackInput) (req *request.Request, output *UpdateAuthEventFeedbackOutput) {
 10394  	op := &request.Operation{
 10395  		Name:       opUpdateAuthEventFeedback,
 10396  		HTTPMethod: "POST",
 10397  		HTTPPath:   "/",
 10398  	}
 10399  
 10400  	if input == nil {
 10401  		input = &UpdateAuthEventFeedbackInput{}
 10402  	}
 10403  
 10404  	output = &UpdateAuthEventFeedbackOutput{}
 10405  	req = c.newRequest(op, input, output)
 10406  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10407  	return
 10408  }
 10409  
 10410  // UpdateAuthEventFeedback API operation for Amazon Cognito Identity Provider.
 10411  //
 10412  // Provides the feedback for an authentication event whether it was from a valid
 10413  // user or not. This feedback is used for improving the risk evaluation decision
 10414  // for the user pool as part of Amazon Cognito advanced security.
 10415  //
 10416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10417  // with awserr.Error's Code and Message methods to get detailed information about
 10418  // the error.
 10419  //
 10420  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10421  // API operation UpdateAuthEventFeedback for usage and error information.
 10422  //
 10423  // Returned Error Types:
 10424  //   * InvalidParameterException
 10425  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10426  //   parameter.
 10427  //
 10428  //   * ResourceNotFoundException
 10429  //   This exception is thrown when the Amazon Cognito service cannot find the
 10430  //   requested resource.
 10431  //
 10432  //   * TooManyRequestsException
 10433  //   This exception is thrown when the user has made too many requests for a given
 10434  //   operation.
 10435  //
 10436  //   * NotAuthorizedException
 10437  //   This exception is thrown when a user is not authorized.
 10438  //
 10439  //   * UserNotFoundException
 10440  //   This exception is thrown when a user is not found.
 10441  //
 10442  //   * UserPoolAddOnNotEnabledException
 10443  //   This exception is thrown when user pool add-ons are not enabled.
 10444  //
 10445  //   * InternalErrorException
 10446  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10447  //
 10448  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateAuthEventFeedback
 10449  func (c *CognitoIdentityProvider) UpdateAuthEventFeedback(input *UpdateAuthEventFeedbackInput) (*UpdateAuthEventFeedbackOutput, error) {
 10450  	req, out := c.UpdateAuthEventFeedbackRequest(input)
 10451  	return out, req.Send()
 10452  }
 10453  
 10454  // UpdateAuthEventFeedbackWithContext is the same as UpdateAuthEventFeedback with the addition of
 10455  // the ability to pass a context and additional request options.
 10456  //
 10457  // See UpdateAuthEventFeedback for details on how to use this API operation.
 10458  //
 10459  // The context must be non-nil and will be used for request cancellation. If
 10460  // the context is nil a panic will occur. In the future the SDK may create
 10461  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10462  // for more information on using Contexts.
 10463  func (c *CognitoIdentityProvider) UpdateAuthEventFeedbackWithContext(ctx aws.Context, input *UpdateAuthEventFeedbackInput, opts ...request.Option) (*UpdateAuthEventFeedbackOutput, error) {
 10464  	req, out := c.UpdateAuthEventFeedbackRequest(input)
 10465  	req.SetContext(ctx)
 10466  	req.ApplyOptions(opts...)
 10467  	return out, req.Send()
 10468  }
 10469  
 10470  const opUpdateDeviceStatus = "UpdateDeviceStatus"
 10471  
 10472  // UpdateDeviceStatusRequest generates a "aws/request.Request" representing the
 10473  // client's request for the UpdateDeviceStatus operation. The "output" return
 10474  // value will be populated with the request's response once the request completes
 10475  // successfully.
 10476  //
 10477  // Use "Send" method on the returned Request to send the API call to the service.
 10478  // the "output" return value is not valid until after Send returns without error.
 10479  //
 10480  // See UpdateDeviceStatus for more information on using the UpdateDeviceStatus
 10481  // API call, and error handling.
 10482  //
 10483  // This method is useful when you want to inject custom logic or configuration
 10484  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10485  //
 10486  //
 10487  //    // Example sending a request using the UpdateDeviceStatusRequest method.
 10488  //    req, resp := client.UpdateDeviceStatusRequest(params)
 10489  //
 10490  //    err := req.Send()
 10491  //    if err == nil { // resp is now filled
 10492  //        fmt.Println(resp)
 10493  //    }
 10494  //
 10495  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateDeviceStatus
 10496  func (c *CognitoIdentityProvider) UpdateDeviceStatusRequest(input *UpdateDeviceStatusInput) (req *request.Request, output *UpdateDeviceStatusOutput) {
 10497  	op := &request.Operation{
 10498  		Name:       opUpdateDeviceStatus,
 10499  		HTTPMethod: "POST",
 10500  		HTTPPath:   "/",
 10501  	}
 10502  
 10503  	if input == nil {
 10504  		input = &UpdateDeviceStatusInput{}
 10505  	}
 10506  
 10507  	output = &UpdateDeviceStatusOutput{}
 10508  	req = c.newRequest(op, input, output)
 10509  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10510  	return
 10511  }
 10512  
 10513  // UpdateDeviceStatus API operation for Amazon Cognito Identity Provider.
 10514  //
 10515  // Updates the device status.
 10516  //
 10517  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10518  // with awserr.Error's Code and Message methods to get detailed information about
 10519  // the error.
 10520  //
 10521  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10522  // API operation UpdateDeviceStatus for usage and error information.
 10523  //
 10524  // Returned Error Types:
 10525  //   * InvalidParameterException
 10526  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10527  //   parameter.
 10528  //
 10529  //   * ResourceNotFoundException
 10530  //   This exception is thrown when the Amazon Cognito service cannot find the
 10531  //   requested resource.
 10532  //
 10533  //   * NotAuthorizedException
 10534  //   This exception is thrown when a user is not authorized.
 10535  //
 10536  //   * InvalidUserPoolConfigurationException
 10537  //   This exception is thrown when the user pool configuration is invalid.
 10538  //
 10539  //   * TooManyRequestsException
 10540  //   This exception is thrown when the user has made too many requests for a given
 10541  //   operation.
 10542  //
 10543  //   * PasswordResetRequiredException
 10544  //   This exception is thrown when a password reset is required.
 10545  //
 10546  //   * UserNotFoundException
 10547  //   This exception is thrown when a user is not found.
 10548  //
 10549  //   * UserNotConfirmedException
 10550  //   This exception is thrown when a user is not confirmed successfully.
 10551  //
 10552  //   * InternalErrorException
 10553  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10554  //
 10555  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateDeviceStatus
 10556  func (c *CognitoIdentityProvider) UpdateDeviceStatus(input *UpdateDeviceStatusInput) (*UpdateDeviceStatusOutput, error) {
 10557  	req, out := c.UpdateDeviceStatusRequest(input)
 10558  	return out, req.Send()
 10559  }
 10560  
 10561  // UpdateDeviceStatusWithContext is the same as UpdateDeviceStatus with the addition of
 10562  // the ability to pass a context and additional request options.
 10563  //
 10564  // See UpdateDeviceStatus for details on how to use this API operation.
 10565  //
 10566  // The context must be non-nil and will be used for request cancellation. If
 10567  // the context is nil a panic will occur. In the future the SDK may create
 10568  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10569  // for more information on using Contexts.
 10570  func (c *CognitoIdentityProvider) UpdateDeviceStatusWithContext(ctx aws.Context, input *UpdateDeviceStatusInput, opts ...request.Option) (*UpdateDeviceStatusOutput, error) {
 10571  	req, out := c.UpdateDeviceStatusRequest(input)
 10572  	req.SetContext(ctx)
 10573  	req.ApplyOptions(opts...)
 10574  	return out, req.Send()
 10575  }
 10576  
 10577  const opUpdateGroup = "UpdateGroup"
 10578  
 10579  // UpdateGroupRequest generates a "aws/request.Request" representing the
 10580  // client's request for the UpdateGroup operation. The "output" return
 10581  // value will be populated with the request's response once the request completes
 10582  // successfully.
 10583  //
 10584  // Use "Send" method on the returned Request to send the API call to the service.
 10585  // the "output" return value is not valid until after Send returns without error.
 10586  //
 10587  // See UpdateGroup for more information on using the UpdateGroup
 10588  // API call, and error handling.
 10589  //
 10590  // This method is useful when you want to inject custom logic or configuration
 10591  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10592  //
 10593  //
 10594  //    // Example sending a request using the UpdateGroupRequest method.
 10595  //    req, resp := client.UpdateGroupRequest(params)
 10596  //
 10597  //    err := req.Send()
 10598  //    if err == nil { // resp is now filled
 10599  //        fmt.Println(resp)
 10600  //    }
 10601  //
 10602  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateGroup
 10603  func (c *CognitoIdentityProvider) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
 10604  	op := &request.Operation{
 10605  		Name:       opUpdateGroup,
 10606  		HTTPMethod: "POST",
 10607  		HTTPPath:   "/",
 10608  	}
 10609  
 10610  	if input == nil {
 10611  		input = &UpdateGroupInput{}
 10612  	}
 10613  
 10614  	output = &UpdateGroupOutput{}
 10615  	req = c.newRequest(op, input, output)
 10616  	return
 10617  }
 10618  
 10619  // UpdateGroup API operation for Amazon Cognito Identity Provider.
 10620  //
 10621  // Updates the specified group with the specified attributes.
 10622  //
 10623  // Calling this action requires developer credentials.
 10624  //
 10625  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10626  // with awserr.Error's Code and Message methods to get detailed information about
 10627  // the error.
 10628  //
 10629  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10630  // API operation UpdateGroup for usage and error information.
 10631  //
 10632  // Returned Error Types:
 10633  //   * ResourceNotFoundException
 10634  //   This exception is thrown when the Amazon Cognito service cannot find the
 10635  //   requested resource.
 10636  //
 10637  //   * InvalidParameterException
 10638  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10639  //   parameter.
 10640  //
 10641  //   * TooManyRequestsException
 10642  //   This exception is thrown when the user has made too many requests for a given
 10643  //   operation.
 10644  //
 10645  //   * NotAuthorizedException
 10646  //   This exception is thrown when a user is not authorized.
 10647  //
 10648  //   * InternalErrorException
 10649  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10650  //
 10651  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateGroup
 10652  func (c *CognitoIdentityProvider) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
 10653  	req, out := c.UpdateGroupRequest(input)
 10654  	return out, req.Send()
 10655  }
 10656  
 10657  // UpdateGroupWithContext is the same as UpdateGroup with the addition of
 10658  // the ability to pass a context and additional request options.
 10659  //
 10660  // See UpdateGroup for details on how to use this API operation.
 10661  //
 10662  // The context must be non-nil and will be used for request cancellation. If
 10663  // the context is nil a panic will occur. In the future the SDK may create
 10664  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10665  // for more information on using Contexts.
 10666  func (c *CognitoIdentityProvider) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) {
 10667  	req, out := c.UpdateGroupRequest(input)
 10668  	req.SetContext(ctx)
 10669  	req.ApplyOptions(opts...)
 10670  	return out, req.Send()
 10671  }
 10672  
 10673  const opUpdateIdentityProvider = "UpdateIdentityProvider"
 10674  
 10675  // UpdateIdentityProviderRequest generates a "aws/request.Request" representing the
 10676  // client's request for the UpdateIdentityProvider operation. The "output" return
 10677  // value will be populated with the request's response once the request completes
 10678  // successfully.
 10679  //
 10680  // Use "Send" method on the returned Request to send the API call to the service.
 10681  // the "output" return value is not valid until after Send returns without error.
 10682  //
 10683  // See UpdateIdentityProvider for more information on using the UpdateIdentityProvider
 10684  // API call, and error handling.
 10685  //
 10686  // This method is useful when you want to inject custom logic or configuration
 10687  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10688  //
 10689  //
 10690  //    // Example sending a request using the UpdateIdentityProviderRequest method.
 10691  //    req, resp := client.UpdateIdentityProviderRequest(params)
 10692  //
 10693  //    err := req.Send()
 10694  //    if err == nil { // resp is now filled
 10695  //        fmt.Println(resp)
 10696  //    }
 10697  //
 10698  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateIdentityProvider
 10699  func (c *CognitoIdentityProvider) UpdateIdentityProviderRequest(input *UpdateIdentityProviderInput) (req *request.Request, output *UpdateIdentityProviderOutput) {
 10700  	op := &request.Operation{
 10701  		Name:       opUpdateIdentityProvider,
 10702  		HTTPMethod: "POST",
 10703  		HTTPPath:   "/",
 10704  	}
 10705  
 10706  	if input == nil {
 10707  		input = &UpdateIdentityProviderInput{}
 10708  	}
 10709  
 10710  	output = &UpdateIdentityProviderOutput{}
 10711  	req = c.newRequest(op, input, output)
 10712  	return
 10713  }
 10714  
 10715  // UpdateIdentityProvider API operation for Amazon Cognito Identity Provider.
 10716  //
 10717  // Updates identity provider information for a user pool.
 10718  //
 10719  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10720  // with awserr.Error's Code and Message methods to get detailed information about
 10721  // the error.
 10722  //
 10723  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10724  // API operation UpdateIdentityProvider for usage and error information.
 10725  //
 10726  // Returned Error Types:
 10727  //   * InvalidParameterException
 10728  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10729  //   parameter.
 10730  //
 10731  //   * UnsupportedIdentityProviderException
 10732  //   This exception is thrown when the specified identifier is not supported.
 10733  //
 10734  //   * ResourceNotFoundException
 10735  //   This exception is thrown when the Amazon Cognito service cannot find the
 10736  //   requested resource.
 10737  //
 10738  //   * NotAuthorizedException
 10739  //   This exception is thrown when a user is not authorized.
 10740  //
 10741  //   * TooManyRequestsException
 10742  //   This exception is thrown when the user has made too many requests for a given
 10743  //   operation.
 10744  //
 10745  //   * InternalErrorException
 10746  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10747  //
 10748  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateIdentityProvider
 10749  func (c *CognitoIdentityProvider) UpdateIdentityProvider(input *UpdateIdentityProviderInput) (*UpdateIdentityProviderOutput, error) {
 10750  	req, out := c.UpdateIdentityProviderRequest(input)
 10751  	return out, req.Send()
 10752  }
 10753  
 10754  // UpdateIdentityProviderWithContext is the same as UpdateIdentityProvider with the addition of
 10755  // the ability to pass a context and additional request options.
 10756  //
 10757  // See UpdateIdentityProvider for details on how to use this API operation.
 10758  //
 10759  // The context must be non-nil and will be used for request cancellation. If
 10760  // the context is nil a panic will occur. In the future the SDK may create
 10761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10762  // for more information on using Contexts.
 10763  func (c *CognitoIdentityProvider) UpdateIdentityProviderWithContext(ctx aws.Context, input *UpdateIdentityProviderInput, opts ...request.Option) (*UpdateIdentityProviderOutput, error) {
 10764  	req, out := c.UpdateIdentityProviderRequest(input)
 10765  	req.SetContext(ctx)
 10766  	req.ApplyOptions(opts...)
 10767  	return out, req.Send()
 10768  }
 10769  
 10770  const opUpdateResourceServer = "UpdateResourceServer"
 10771  
 10772  // UpdateResourceServerRequest generates a "aws/request.Request" representing the
 10773  // client's request for the UpdateResourceServer operation. The "output" return
 10774  // value will be populated with the request's response once the request completes
 10775  // successfully.
 10776  //
 10777  // Use "Send" method on the returned Request to send the API call to the service.
 10778  // the "output" return value is not valid until after Send returns without error.
 10779  //
 10780  // See UpdateResourceServer for more information on using the UpdateResourceServer
 10781  // API call, and error handling.
 10782  //
 10783  // This method is useful when you want to inject custom logic or configuration
 10784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10785  //
 10786  //
 10787  //    // Example sending a request using the UpdateResourceServerRequest method.
 10788  //    req, resp := client.UpdateResourceServerRequest(params)
 10789  //
 10790  //    err := req.Send()
 10791  //    if err == nil { // resp is now filled
 10792  //        fmt.Println(resp)
 10793  //    }
 10794  //
 10795  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateResourceServer
 10796  func (c *CognitoIdentityProvider) UpdateResourceServerRequest(input *UpdateResourceServerInput) (req *request.Request, output *UpdateResourceServerOutput) {
 10797  	op := &request.Operation{
 10798  		Name:       opUpdateResourceServer,
 10799  		HTTPMethod: "POST",
 10800  		HTTPPath:   "/",
 10801  	}
 10802  
 10803  	if input == nil {
 10804  		input = &UpdateResourceServerInput{}
 10805  	}
 10806  
 10807  	output = &UpdateResourceServerOutput{}
 10808  	req = c.newRequest(op, input, output)
 10809  	return
 10810  }
 10811  
 10812  // UpdateResourceServer API operation for Amazon Cognito Identity Provider.
 10813  //
 10814  // Updates the name and scopes of resource server. All other fields are read-only.
 10815  //
 10816  // If you don't provide a value for an attribute, it will be set to the default
 10817  // value.
 10818  //
 10819  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10820  // with awserr.Error's Code and Message methods to get detailed information about
 10821  // the error.
 10822  //
 10823  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10824  // API operation UpdateResourceServer for usage and error information.
 10825  //
 10826  // Returned Error Types:
 10827  //   * InvalidParameterException
 10828  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10829  //   parameter.
 10830  //
 10831  //   * ResourceNotFoundException
 10832  //   This exception is thrown when the Amazon Cognito service cannot find the
 10833  //   requested resource.
 10834  //
 10835  //   * NotAuthorizedException
 10836  //   This exception is thrown when a user is not authorized.
 10837  //
 10838  //   * TooManyRequestsException
 10839  //   This exception is thrown when the user has made too many requests for a given
 10840  //   operation.
 10841  //
 10842  //   * InternalErrorException
 10843  //   This exception is thrown when Amazon Cognito encounters an internal error.
 10844  //
 10845  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateResourceServer
 10846  func (c *CognitoIdentityProvider) UpdateResourceServer(input *UpdateResourceServerInput) (*UpdateResourceServerOutput, error) {
 10847  	req, out := c.UpdateResourceServerRequest(input)
 10848  	return out, req.Send()
 10849  }
 10850  
 10851  // UpdateResourceServerWithContext is the same as UpdateResourceServer with the addition of
 10852  // the ability to pass a context and additional request options.
 10853  //
 10854  // See UpdateResourceServer for details on how to use this API operation.
 10855  //
 10856  // The context must be non-nil and will be used for request cancellation. If
 10857  // the context is nil a panic will occur. In the future the SDK may create
 10858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10859  // for more information on using Contexts.
 10860  func (c *CognitoIdentityProvider) UpdateResourceServerWithContext(ctx aws.Context, input *UpdateResourceServerInput, opts ...request.Option) (*UpdateResourceServerOutput, error) {
 10861  	req, out := c.UpdateResourceServerRequest(input)
 10862  	req.SetContext(ctx)
 10863  	req.ApplyOptions(opts...)
 10864  	return out, req.Send()
 10865  }
 10866  
 10867  const opUpdateUserAttributes = "UpdateUserAttributes"
 10868  
 10869  // UpdateUserAttributesRequest generates a "aws/request.Request" representing the
 10870  // client's request for the UpdateUserAttributes operation. The "output" return
 10871  // value will be populated with the request's response once the request completes
 10872  // successfully.
 10873  //
 10874  // Use "Send" method on the returned Request to send the API call to the service.
 10875  // the "output" return value is not valid until after Send returns without error.
 10876  //
 10877  // See UpdateUserAttributes for more information on using the UpdateUserAttributes
 10878  // API call, and error handling.
 10879  //
 10880  // This method is useful when you want to inject custom logic or configuration
 10881  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10882  //
 10883  //
 10884  //    // Example sending a request using the UpdateUserAttributesRequest method.
 10885  //    req, resp := client.UpdateUserAttributesRequest(params)
 10886  //
 10887  //    err := req.Send()
 10888  //    if err == nil { // resp is now filled
 10889  //        fmt.Println(resp)
 10890  //    }
 10891  //
 10892  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserAttributes
 10893  func (c *CognitoIdentityProvider) UpdateUserAttributesRequest(input *UpdateUserAttributesInput) (req *request.Request, output *UpdateUserAttributesOutput) {
 10894  	op := &request.Operation{
 10895  		Name:       opUpdateUserAttributes,
 10896  		HTTPMethod: "POST",
 10897  		HTTPPath:   "/",
 10898  	}
 10899  
 10900  	if input == nil {
 10901  		input = &UpdateUserAttributesInput{}
 10902  	}
 10903  
 10904  	output = &UpdateUserAttributesOutput{}
 10905  	req = c.newRequest(op, input, output)
 10906  	req.Config.Credentials = credentials.AnonymousCredentials
 10907  	return
 10908  }
 10909  
 10910  // UpdateUserAttributes API operation for Amazon Cognito Identity Provider.
 10911  //
 10912  // Allows a user to update a specific attribute (one at a time).
 10913  //
 10914  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
 10915  // telecom carriers require that you register an origination phone number before
 10916  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
 10917  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
 10918  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
 10919  // registered number automatically. Otherwise, Cognito users that must receive
 10920  // SMS messages might be unable to sign up, activate their accounts, or sign
 10921  // in.
 10922  //
 10923  // If you have never used SMS text messages with Amazon Cognito or any other
 10924  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
 10925  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
 10926  // , you’ll have limitations, such as sending messages to only verified phone
 10927  // numbers. After testing in the sandbox environment, you can move out of the
 10928  // SMS sandbox and into production. For more information, see SMS message settings
 10929  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
 10930  // in the Amazon Cognito Developer Guide.
 10931  //
 10932  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10933  // with awserr.Error's Code and Message methods to get detailed information about
 10934  // the error.
 10935  //
 10936  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 10937  // API operation UpdateUserAttributes for usage and error information.
 10938  //
 10939  // Returned Error Types:
 10940  //   * ResourceNotFoundException
 10941  //   This exception is thrown when the Amazon Cognito service cannot find the
 10942  //   requested resource.
 10943  //
 10944  //   * InvalidParameterException
 10945  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10946  //   parameter.
 10947  //
 10948  //   * CodeMismatchException
 10949  //   This exception is thrown if the provided code does not match what the server
 10950  //   was expecting.
 10951  //
 10952  //   * ExpiredCodeException
 10953  //   This exception is thrown if a code has expired.
 10954  //
 10955  //   * NotAuthorizedException
 10956  //   This exception is thrown when a user is not authorized.
 10957  //
 10958  //   * UnexpectedLambdaException
 10959  //   This exception is thrown when the Amazon Cognito service encounters an unexpected
 10960  //   exception with the Lambda service.
 10961  //
 10962  //   * UserLambdaValidationException
 10963  //   This exception is thrown when the Amazon Cognito service encounters a user
 10964  //   validation exception with the Lambda service.
 10965  //
 10966  //   * InvalidLambdaResponseException
 10967  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 10968  //   Lambda response.
 10969  //
 10970  //   * TooManyRequestsException
 10971  //   This exception is thrown when the user has made too many requests for a given
 10972  //   operation.
 10973  //
 10974  //   * AliasExistsException
 10975  //   This exception is thrown when a user tries to confirm the account with an
 10976  //   email or phone number that has already been supplied as an alias from a different
 10977  //   account. This exception tells user that an account with this email or phone
 10978  //   already exists.
 10979  //
 10980  //   * InvalidSmsRoleAccessPolicyException
 10981  //   This exception is returned when the role provided for SMS configuration does
 10982  //   not have permission to publish using Amazon SNS.
 10983  //
 10984  //   * InvalidSmsRoleTrustRelationshipException
 10985  //   This exception is thrown when the trust relationship is invalid for the role
 10986  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
 10987  //   or the external ID provided in the role does not match what is provided in
 10988  //   the SMS configuration for the user pool.
 10989  //
 10990  //   * InvalidEmailRoleAccessPolicyException
 10991  //   This exception is thrown when Amazon Cognito is not allowed to use your email
 10992  //   identity. HTTP status code: 400.
 10993  //
 10994  //   * CodeDeliveryFailureException
 10995  //   This exception is thrown when a verification code fails to deliver successfully.
 10996  //
 10997  //   * PasswordResetRequiredException
 10998  //   This exception is thrown when a password reset is required.
 10999  //
 11000  //   * UserNotFoundException
 11001  //   This exception is thrown when a user is not found.
 11002  //
 11003  //   * UserNotConfirmedException
 11004  //   This exception is thrown when a user is not confirmed successfully.
 11005  //
 11006  //   * InternalErrorException
 11007  //   This exception is thrown when Amazon Cognito encounters an internal error.
 11008  //
 11009  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserAttributes
 11010  func (c *CognitoIdentityProvider) UpdateUserAttributes(input *UpdateUserAttributesInput) (*UpdateUserAttributesOutput, error) {
 11011  	req, out := c.UpdateUserAttributesRequest(input)
 11012  	return out, req.Send()
 11013  }
 11014  
 11015  // UpdateUserAttributesWithContext is the same as UpdateUserAttributes with the addition of
 11016  // the ability to pass a context and additional request options.
 11017  //
 11018  // See UpdateUserAttributes for details on how to use this API operation.
 11019  //
 11020  // The context must be non-nil and will be used for request cancellation. If
 11021  // the context is nil a panic will occur. In the future the SDK may create
 11022  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11023  // for more information on using Contexts.
 11024  func (c *CognitoIdentityProvider) UpdateUserAttributesWithContext(ctx aws.Context, input *UpdateUserAttributesInput, opts ...request.Option) (*UpdateUserAttributesOutput, error) {
 11025  	req, out := c.UpdateUserAttributesRequest(input)
 11026  	req.SetContext(ctx)
 11027  	req.ApplyOptions(opts...)
 11028  	return out, req.Send()
 11029  }
 11030  
 11031  const opUpdateUserPool = "UpdateUserPool"
 11032  
 11033  // UpdateUserPoolRequest generates a "aws/request.Request" representing the
 11034  // client's request for the UpdateUserPool operation. The "output" return
 11035  // value will be populated with the request's response once the request completes
 11036  // successfully.
 11037  //
 11038  // Use "Send" method on the returned Request to send the API call to the service.
 11039  // the "output" return value is not valid until after Send returns without error.
 11040  //
 11041  // See UpdateUserPool for more information on using the UpdateUserPool
 11042  // API call, and error handling.
 11043  //
 11044  // This method is useful when you want to inject custom logic or configuration
 11045  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11046  //
 11047  //
 11048  //    // Example sending a request using the UpdateUserPoolRequest method.
 11049  //    req, resp := client.UpdateUserPoolRequest(params)
 11050  //
 11051  //    err := req.Send()
 11052  //    if err == nil { // resp is now filled
 11053  //        fmt.Println(resp)
 11054  //    }
 11055  //
 11056  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPool
 11057  func (c *CognitoIdentityProvider) UpdateUserPoolRequest(input *UpdateUserPoolInput) (req *request.Request, output *UpdateUserPoolOutput) {
 11058  	op := &request.Operation{
 11059  		Name:       opUpdateUserPool,
 11060  		HTTPMethod: "POST",
 11061  		HTTPPath:   "/",
 11062  	}
 11063  
 11064  	if input == nil {
 11065  		input = &UpdateUserPoolInput{}
 11066  	}
 11067  
 11068  	output = &UpdateUserPoolOutput{}
 11069  	req = c.newRequest(op, input, output)
 11070  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11071  	return
 11072  }
 11073  
 11074  // UpdateUserPool API operation for Amazon Cognito Identity Provider.
 11075  //
 11076  // Updates the specified user pool with the specified attributes. You can get
 11077  // a list of the current user pool settings using DescribeUserPool (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html).
 11078  // If you don't provide a value for an attribute, it will be set to the default
 11079  // value.
 11080  //
 11081  // This action might generate an SMS text message. Starting June 1, 2021, U.S.
 11082  // telecom carriers require that you register an origination phone number before
 11083  // you can send SMS messages to U.S. phone numbers. If you use SMS text messages
 11084  // in Amazon Cognito, you must register a phone number with Amazon Pinpoint
 11085  // (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the
 11086  // registered number automatically. Otherwise, Cognito users that must receive
 11087  // SMS messages might be unable to sign up, activate their accounts, or sign
 11088  // in.
 11089  //
 11090  // If you have never used SMS text messages with Amazon Cognito or any other
 11091  // Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In
 11092  // sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html)
 11093  // , you’ll have limitations, such as sending messages to only verified phone
 11094  // numbers. After testing in the sandbox environment, you can move out of the
 11095  // SMS sandbox and into production. For more information, see SMS message settings
 11096  // for Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html)
 11097  // in the Amazon Cognito Developer Guide.
 11098  //
 11099  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11100  // with awserr.Error's Code and Message methods to get detailed information about
 11101  // the error.
 11102  //
 11103  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 11104  // API operation UpdateUserPool for usage and error information.
 11105  //
 11106  // Returned Error Types:
 11107  //   * ResourceNotFoundException
 11108  //   This exception is thrown when the Amazon Cognito service cannot find the
 11109  //   requested resource.
 11110  //
 11111  //   * InvalidParameterException
 11112  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 11113  //   parameter.
 11114  //
 11115  //   * ConcurrentModificationException
 11116  //   This exception is thrown if two or more modifications are happening concurrently.
 11117  //
 11118  //   * TooManyRequestsException
 11119  //   This exception is thrown when the user has made too many requests for a given
 11120  //   operation.
 11121  //
 11122  //   * NotAuthorizedException
 11123  //   This exception is thrown when a user is not authorized.
 11124  //
 11125  //   * UserImportInProgressException
 11126  //   This exception is thrown when you are trying to modify a user pool while
 11127  //   a user import job is in progress for that pool.
 11128  //
 11129  //   * InternalErrorException
 11130  //   This exception is thrown when Amazon Cognito encounters an internal error.
 11131  //
 11132  //   * InvalidSmsRoleAccessPolicyException
 11133  //   This exception is returned when the role provided for SMS configuration does
 11134  //   not have permission to publish using Amazon SNS.
 11135  //
 11136  //   * InvalidSmsRoleTrustRelationshipException
 11137  //   This exception is thrown when the trust relationship is invalid for the role
 11138  //   provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
 11139  //   or the external ID provided in the role does not match what is provided in
 11140  //   the SMS configuration for the user pool.
 11141  //
 11142  //   * UserPoolTaggingException
 11143  //   This exception is thrown when a user pool tag cannot be set or updated.
 11144  //
 11145  //   * InvalidEmailRoleAccessPolicyException
 11146  //   This exception is thrown when Amazon Cognito is not allowed to use your email
 11147  //   identity. HTTP status code: 400.
 11148  //
 11149  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPool
 11150  func (c *CognitoIdentityProvider) UpdateUserPool(input *UpdateUserPoolInput) (*UpdateUserPoolOutput, error) {
 11151  	req, out := c.UpdateUserPoolRequest(input)
 11152  	return out, req.Send()
 11153  }
 11154  
 11155  // UpdateUserPoolWithContext is the same as UpdateUserPool with the addition of
 11156  // the ability to pass a context and additional request options.
 11157  //
 11158  // See UpdateUserPool for details on how to use this API operation.
 11159  //
 11160  // The context must be non-nil and will be used for request cancellation. If
 11161  // the context is nil a panic will occur. In the future the SDK may create
 11162  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11163  // for more information on using Contexts.
 11164  func (c *CognitoIdentityProvider) UpdateUserPoolWithContext(ctx aws.Context, input *UpdateUserPoolInput, opts ...request.Option) (*UpdateUserPoolOutput, error) {
 11165  	req, out := c.UpdateUserPoolRequest(input)
 11166  	req.SetContext(ctx)
 11167  	req.ApplyOptions(opts...)
 11168  	return out, req.Send()
 11169  }
 11170  
 11171  const opUpdateUserPoolClient = "UpdateUserPoolClient"
 11172  
 11173  // UpdateUserPoolClientRequest generates a "aws/request.Request" representing the
 11174  // client's request for the UpdateUserPoolClient operation. The "output" return
 11175  // value will be populated with the request's response once the request completes
 11176  // successfully.
 11177  //
 11178  // Use "Send" method on the returned Request to send the API call to the service.
 11179  // the "output" return value is not valid until after Send returns without error.
 11180  //
 11181  // See UpdateUserPoolClient for more information on using the UpdateUserPoolClient
 11182  // API call, and error handling.
 11183  //
 11184  // This method is useful when you want to inject custom logic or configuration
 11185  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11186  //
 11187  //
 11188  //    // Example sending a request using the UpdateUserPoolClientRequest method.
 11189  //    req, resp := client.UpdateUserPoolClientRequest(params)
 11190  //
 11191  //    err := req.Send()
 11192  //    if err == nil { // resp is now filled
 11193  //        fmt.Println(resp)
 11194  //    }
 11195  //
 11196  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolClient
 11197  func (c *CognitoIdentityProvider) UpdateUserPoolClientRequest(input *UpdateUserPoolClientInput) (req *request.Request, output *UpdateUserPoolClientOutput) {
 11198  	op := &request.Operation{
 11199  		Name:       opUpdateUserPoolClient,
 11200  		HTTPMethod: "POST",
 11201  		HTTPPath:   "/",
 11202  	}
 11203  
 11204  	if input == nil {
 11205  		input = &UpdateUserPoolClientInput{}
 11206  	}
 11207  
 11208  	output = &UpdateUserPoolClientOutput{}
 11209  	req = c.newRequest(op, input, output)
 11210  	return
 11211  }
 11212  
 11213  // UpdateUserPoolClient API operation for Amazon Cognito Identity Provider.
 11214  //
 11215  // Updates the specified user pool app client with the specified attributes.
 11216  // You can get a list of the current user pool app client settings using DescribeUserPoolClient
 11217  // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPoolClient.html).
 11218  //
 11219  // If you don't provide a value for an attribute, it will be set to the default
 11220  // value.
 11221  //
 11222  // You can also use this operation to enable token revocation for user pool
 11223  // clients. For more information about revoking tokens, see RevokeToken (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html).
 11224  //
 11225  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11226  // with awserr.Error's Code and Message methods to get detailed information about
 11227  // the error.
 11228  //
 11229  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 11230  // API operation UpdateUserPoolClient for usage and error information.
 11231  //
 11232  // Returned Error Types:
 11233  //   * ResourceNotFoundException
 11234  //   This exception is thrown when the Amazon Cognito service cannot find the
 11235  //   requested resource.
 11236  //
 11237  //   * InvalidParameterException
 11238  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 11239  //   parameter.
 11240  //
 11241  //   * ConcurrentModificationException
 11242  //   This exception is thrown if two or more modifications are happening concurrently.
 11243  //
 11244  //   * TooManyRequestsException
 11245  //   This exception is thrown when the user has made too many requests for a given
 11246  //   operation.
 11247  //
 11248  //   * NotAuthorizedException
 11249  //   This exception is thrown when a user is not authorized.
 11250  //
 11251  //   * ScopeDoesNotExistException
 11252  //   This exception is thrown when the specified scope does not exist.
 11253  //
 11254  //   * InvalidOAuthFlowException
 11255  //   This exception is thrown when the specified OAuth flow is invalid.
 11256  //
 11257  //   * InternalErrorException
 11258  //   This exception is thrown when Amazon Cognito encounters an internal error.
 11259  //
 11260  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolClient
 11261  func (c *CognitoIdentityProvider) UpdateUserPoolClient(input *UpdateUserPoolClientInput) (*UpdateUserPoolClientOutput, error) {
 11262  	req, out := c.UpdateUserPoolClientRequest(input)
 11263  	return out, req.Send()
 11264  }
 11265  
 11266  // UpdateUserPoolClientWithContext is the same as UpdateUserPoolClient with the addition of
 11267  // the ability to pass a context and additional request options.
 11268  //
 11269  // See UpdateUserPoolClient for details on how to use this API operation.
 11270  //
 11271  // The context must be non-nil and will be used for request cancellation. If
 11272  // the context is nil a panic will occur. In the future the SDK may create
 11273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11274  // for more information on using Contexts.
 11275  func (c *CognitoIdentityProvider) UpdateUserPoolClientWithContext(ctx aws.Context, input *UpdateUserPoolClientInput, opts ...request.Option) (*UpdateUserPoolClientOutput, error) {
 11276  	req, out := c.UpdateUserPoolClientRequest(input)
 11277  	req.SetContext(ctx)
 11278  	req.ApplyOptions(opts...)
 11279  	return out, req.Send()
 11280  }
 11281  
 11282  const opUpdateUserPoolDomain = "UpdateUserPoolDomain"
 11283  
 11284  // UpdateUserPoolDomainRequest generates a "aws/request.Request" representing the
 11285  // client's request for the UpdateUserPoolDomain operation. The "output" return
 11286  // value will be populated with the request's response once the request completes
 11287  // successfully.
 11288  //
 11289  // Use "Send" method on the returned Request to send the API call to the service.
 11290  // the "output" return value is not valid until after Send returns without error.
 11291  //
 11292  // See UpdateUserPoolDomain for more information on using the UpdateUserPoolDomain
 11293  // API call, and error handling.
 11294  //
 11295  // This method is useful when you want to inject custom logic or configuration
 11296  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11297  //
 11298  //
 11299  //    // Example sending a request using the UpdateUserPoolDomainRequest method.
 11300  //    req, resp := client.UpdateUserPoolDomainRequest(params)
 11301  //
 11302  //    err := req.Send()
 11303  //    if err == nil { // resp is now filled
 11304  //        fmt.Println(resp)
 11305  //    }
 11306  //
 11307  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolDomain
 11308  func (c *CognitoIdentityProvider) UpdateUserPoolDomainRequest(input *UpdateUserPoolDomainInput) (req *request.Request, output *UpdateUserPoolDomainOutput) {
 11309  	op := &request.Operation{
 11310  		Name:       opUpdateUserPoolDomain,
 11311  		HTTPMethod: "POST",
 11312  		HTTPPath:   "/",
 11313  	}
 11314  
 11315  	if input == nil {
 11316  		input = &UpdateUserPoolDomainInput{}
 11317  	}
 11318  
 11319  	output = &UpdateUserPoolDomainOutput{}
 11320  	req = c.newRequest(op, input, output)
 11321  	return
 11322  }
 11323  
 11324  // UpdateUserPoolDomain API operation for Amazon Cognito Identity Provider.
 11325  //
 11326  // Updates the Secure Sockets Layer (SSL) certificate for the custom domain
 11327  // for your user pool.
 11328  //
 11329  // You can use this operation to provide the Amazon Resource Name (ARN) of a
 11330  // new certificate to Amazon Cognito. You cannot use it to change the domain
 11331  // for a user pool.
 11332  //
 11333  // A custom domain is used to host the Amazon Cognito hosted UI, which provides
 11334  // sign-up and sign-in pages for your application. When you set up a custom
 11335  // domain, you provide a certificate that you manage with Certificate Manager
 11336  // (ACM). When necessary, you can use this operation to change the certificate
 11337  // that you applied to your custom domain.
 11338  //
 11339  // Usually, this is unnecessary following routine certificate renewal with ACM.
 11340  // When you renew your existing certificate in ACM, the ARN for your certificate
 11341  // remains the same, and your custom domain uses the new certificate automatically.
 11342  //
 11343  // However, if you replace your existing certificate with a new one, ACM gives
 11344  // the new certificate a new ARN. To apply the new certificate to your custom
 11345  // domain, you must provide this ARN to Amazon Cognito.
 11346  //
 11347  // When you add your new certificate in ACM, you must choose US East (N. Virginia)
 11348  // as the Region.
 11349  //
 11350  // After you submit your request, Amazon Cognito requires up to 1 hour to distribute
 11351  // your new certificate to your custom domain.
 11352  //
 11353  // For more information about adding a custom domain to your user pool, see
 11354  // Using Your Own Domain for the Hosted UI (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html).
 11355  //
 11356  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11357  // with awserr.Error's Code and Message methods to get detailed information about
 11358  // the error.
 11359  //
 11360  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 11361  // API operation UpdateUserPoolDomain for usage and error information.
 11362  //
 11363  // Returned Error Types:
 11364  //   * InvalidParameterException
 11365  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 11366  //   parameter.
 11367  //
 11368  //   * NotAuthorizedException
 11369  //   This exception is thrown when a user is not authorized.
 11370  //
 11371  //   * ResourceNotFoundException
 11372  //   This exception is thrown when the Amazon Cognito service cannot find the
 11373  //   requested resource.
 11374  //
 11375  //   * TooManyRequestsException
 11376  //   This exception is thrown when the user has made too many requests for a given
 11377  //   operation.
 11378  //
 11379  //   * InternalErrorException
 11380  //   This exception is thrown when Amazon Cognito encounters an internal error.
 11381  //
 11382  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolDomain
 11383  func (c *CognitoIdentityProvider) UpdateUserPoolDomain(input *UpdateUserPoolDomainInput) (*UpdateUserPoolDomainOutput, error) {
 11384  	req, out := c.UpdateUserPoolDomainRequest(input)
 11385  	return out, req.Send()
 11386  }
 11387  
 11388  // UpdateUserPoolDomainWithContext is the same as UpdateUserPoolDomain with the addition of
 11389  // the ability to pass a context and additional request options.
 11390  //
 11391  // See UpdateUserPoolDomain for details on how to use this API operation.
 11392  //
 11393  // The context must be non-nil and will be used for request cancellation. If
 11394  // the context is nil a panic will occur. In the future the SDK may create
 11395  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11396  // for more information on using Contexts.
 11397  func (c *CognitoIdentityProvider) UpdateUserPoolDomainWithContext(ctx aws.Context, input *UpdateUserPoolDomainInput, opts ...request.Option) (*UpdateUserPoolDomainOutput, error) {
 11398  	req, out := c.UpdateUserPoolDomainRequest(input)
 11399  	req.SetContext(ctx)
 11400  	req.ApplyOptions(opts...)
 11401  	return out, req.Send()
 11402  }
 11403  
 11404  const opVerifySoftwareToken = "VerifySoftwareToken"
 11405  
 11406  // VerifySoftwareTokenRequest generates a "aws/request.Request" representing the
 11407  // client's request for the VerifySoftwareToken operation. The "output" return
 11408  // value will be populated with the request's response once the request completes
 11409  // successfully.
 11410  //
 11411  // Use "Send" method on the returned Request to send the API call to the service.
 11412  // the "output" return value is not valid until after Send returns without error.
 11413  //
 11414  // See VerifySoftwareToken for more information on using the VerifySoftwareToken
 11415  // API call, and error handling.
 11416  //
 11417  // This method is useful when you want to inject custom logic or configuration
 11418  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11419  //
 11420  //
 11421  //    // Example sending a request using the VerifySoftwareTokenRequest method.
 11422  //    req, resp := client.VerifySoftwareTokenRequest(params)
 11423  //
 11424  //    err := req.Send()
 11425  //    if err == nil { // resp is now filled
 11426  //        fmt.Println(resp)
 11427  //    }
 11428  //
 11429  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerifySoftwareToken
 11430  func (c *CognitoIdentityProvider) VerifySoftwareTokenRequest(input *VerifySoftwareTokenInput) (req *request.Request, output *VerifySoftwareTokenOutput) {
 11431  	op := &request.Operation{
 11432  		Name:       opVerifySoftwareToken,
 11433  		HTTPMethod: "POST",
 11434  		HTTPPath:   "/",
 11435  	}
 11436  
 11437  	if input == nil {
 11438  		input = &VerifySoftwareTokenInput{}
 11439  	}
 11440  
 11441  	output = &VerifySoftwareTokenOutput{}
 11442  	req = c.newRequest(op, input, output)
 11443  	return
 11444  }
 11445  
 11446  // VerifySoftwareToken API operation for Amazon Cognito Identity Provider.
 11447  //
 11448  // Use this API to register a user's entered TOTP code and mark the user's software
 11449  // token MFA status as "verified" if successful. The request takes an access
 11450  // token or a session string, but not both.
 11451  //
 11452  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11453  // with awserr.Error's Code and Message methods to get detailed information about
 11454  // the error.
 11455  //
 11456  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 11457  // API operation VerifySoftwareToken for usage and error information.
 11458  //
 11459  // Returned Error Types:
 11460  //   * InvalidParameterException
 11461  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 11462  //   parameter.
 11463  //
 11464  //   * ResourceNotFoundException
 11465  //   This exception is thrown when the Amazon Cognito service cannot find the
 11466  //   requested resource.
 11467  //
 11468  //   * InvalidUserPoolConfigurationException
 11469  //   This exception is thrown when the user pool configuration is invalid.
 11470  //
 11471  //   * NotAuthorizedException
 11472  //   This exception is thrown when a user is not authorized.
 11473  //
 11474  //   * TooManyRequestsException
 11475  //   This exception is thrown when the user has made too many requests for a given
 11476  //   operation.
 11477  //
 11478  //   * PasswordResetRequiredException
 11479  //   This exception is thrown when a password reset is required.
 11480  //
 11481  //   * UserNotFoundException
 11482  //   This exception is thrown when a user is not found.
 11483  //
 11484  //   * UserNotConfirmedException
 11485  //   This exception is thrown when a user is not confirmed successfully.
 11486  //
 11487  //   * InternalErrorException
 11488  //   This exception is thrown when Amazon Cognito encounters an internal error.
 11489  //
 11490  //   * EnableSoftwareTokenMFAException
 11491  //   This exception is thrown when there is a code mismatch and the service fails
 11492  //   to configure the software token TOTP multi-factor authentication (MFA).
 11493  //
 11494  //   * NotAuthorizedException
 11495  //   This exception is thrown when a user is not authorized.
 11496  //
 11497  //   * SoftwareTokenMFANotFoundException
 11498  //   This exception is thrown when the software token TOTP multi-factor authentication
 11499  //   (MFA) is not enabled for the user pool.
 11500  //
 11501  //   * CodeMismatchException
 11502  //   This exception is thrown if the provided code does not match what the server
 11503  //   was expecting.
 11504  //
 11505  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerifySoftwareToken
 11506  func (c *CognitoIdentityProvider) VerifySoftwareToken(input *VerifySoftwareTokenInput) (*VerifySoftwareTokenOutput, error) {
 11507  	req, out := c.VerifySoftwareTokenRequest(input)
 11508  	return out, req.Send()
 11509  }
 11510  
 11511  // VerifySoftwareTokenWithContext is the same as VerifySoftwareToken with the addition of
 11512  // the ability to pass a context and additional request options.
 11513  //
 11514  // See VerifySoftwareToken for details on how to use this API operation.
 11515  //
 11516  // The context must be non-nil and will be used for request cancellation. If
 11517  // the context is nil a panic will occur. In the future the SDK may create
 11518  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11519  // for more information on using Contexts.
 11520  func (c *CognitoIdentityProvider) VerifySoftwareTokenWithContext(ctx aws.Context, input *VerifySoftwareTokenInput, opts ...request.Option) (*VerifySoftwareTokenOutput, error) {
 11521  	req, out := c.VerifySoftwareTokenRequest(input)
 11522  	req.SetContext(ctx)
 11523  	req.ApplyOptions(opts...)
 11524  	return out, req.Send()
 11525  }
 11526  
 11527  const opVerifyUserAttribute = "VerifyUserAttribute"
 11528  
 11529  // VerifyUserAttributeRequest generates a "aws/request.Request" representing the
 11530  // client's request for the VerifyUserAttribute operation. The "output" return
 11531  // value will be populated with the request's response once the request completes
 11532  // successfully.
 11533  //
 11534  // Use "Send" method on the returned Request to send the API call to the service.
 11535  // the "output" return value is not valid until after Send returns without error.
 11536  //
 11537  // See VerifyUserAttribute for more information on using the VerifyUserAttribute
 11538  // API call, and error handling.
 11539  //
 11540  // This method is useful when you want to inject custom logic or configuration
 11541  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11542  //
 11543  //
 11544  //    // Example sending a request using the VerifyUserAttributeRequest method.
 11545  //    req, resp := client.VerifyUserAttributeRequest(params)
 11546  //
 11547  //    err := req.Send()
 11548  //    if err == nil { // resp is now filled
 11549  //        fmt.Println(resp)
 11550  //    }
 11551  //
 11552  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerifyUserAttribute
 11553  func (c *CognitoIdentityProvider) VerifyUserAttributeRequest(input *VerifyUserAttributeInput) (req *request.Request, output *VerifyUserAttributeOutput) {
 11554  	op := &request.Operation{
 11555  		Name:       opVerifyUserAttribute,
 11556  		HTTPMethod: "POST",
 11557  		HTTPPath:   "/",
 11558  	}
 11559  
 11560  	if input == nil {
 11561  		input = &VerifyUserAttributeInput{}
 11562  	}
 11563  
 11564  	output = &VerifyUserAttributeOutput{}
 11565  	req = c.newRequest(op, input, output)
 11566  	req.Config.Credentials = credentials.AnonymousCredentials
 11567  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11568  	return
 11569  }
 11570  
 11571  // VerifyUserAttribute API operation for Amazon Cognito Identity Provider.
 11572  //
 11573  // Verifies the specified user attributes in the user pool.
 11574  //
 11575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11576  // with awserr.Error's Code and Message methods to get detailed information about
 11577  // the error.
 11578  //
 11579  // See the AWS API reference guide for Amazon Cognito Identity Provider's
 11580  // API operation VerifyUserAttribute for usage and error information.
 11581  //
 11582  // Returned Error Types:
 11583  //   * ResourceNotFoundException
 11584  //   This exception is thrown when the Amazon Cognito service cannot find the
 11585  //   requested resource.
 11586  //
 11587  //   * InvalidParameterException
 11588  //   This exception is thrown when the Amazon Cognito service encounters an invalid
 11589  //   parameter.
 11590  //
 11591  //   * CodeMismatchException
 11592  //   This exception is thrown if the provided code does not match what the server
 11593  //   was expecting.
 11594  //
 11595  //   * ExpiredCodeException
 11596  //   This exception is thrown if a code has expired.
 11597  //
 11598  //   * NotAuthorizedException
 11599  //   This exception is thrown when a user is not authorized.
 11600  //
 11601  //   * TooManyRequestsException
 11602  //   This exception is thrown when the user has made too many requests for a given
 11603  //   operation.
 11604  //
 11605  //   * LimitExceededException
 11606  //   This exception is thrown when a user exceeds the limit for a requested Amazon
 11607  //   Web Services resource.
 11608  //
 11609  //   * PasswordResetRequiredException
 11610  //   This exception is thrown when a password reset is required.
 11611  //
 11612  //   * UserNotFoundException
 11613  //   This exception is thrown when a user is not found.
 11614  //
 11615  //   * UserNotConfirmedException
 11616  //   This exception is thrown when a user is not confirmed successfully.
 11617  //
 11618  //   * InternalErrorException
 11619  //   This exception is thrown when Amazon Cognito encounters an internal error.
 11620  //
 11621  // See also, https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerifyUserAttribute
 11622  func (c *CognitoIdentityProvider) VerifyUserAttribute(input *VerifyUserAttributeInput) (*VerifyUserAttributeOutput, error) {
 11623  	req, out := c.VerifyUserAttributeRequest(input)
 11624  	return out, req.Send()
 11625  }
 11626  
 11627  // VerifyUserAttributeWithContext is the same as VerifyUserAttribute with the addition of
 11628  // the ability to pass a context and additional request options.
 11629  //
 11630  // See VerifyUserAttribute for details on how to use this API operation.
 11631  //
 11632  // The context must be non-nil and will be used for request cancellation. If
 11633  // the context is nil a panic will occur. In the future the SDK may create
 11634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11635  // for more information on using Contexts.
 11636  func (c *CognitoIdentityProvider) VerifyUserAttributeWithContext(ctx aws.Context, input *VerifyUserAttributeInput, opts ...request.Option) (*VerifyUserAttributeOutput, error) {
 11637  	req, out := c.VerifyUserAttributeRequest(input)
 11638  	req.SetContext(ctx)
 11639  	req.ApplyOptions(opts...)
 11640  	return out, req.Send()
 11641  }
 11642  
 11643  // The data type for AccountRecoverySetting.
 11644  type AccountRecoverySettingType struct {
 11645  	_ struct{} `type:"structure"`
 11646  
 11647  	// The list of RecoveryOptionTypes.
 11648  	RecoveryMechanisms []*RecoveryOptionType `min:"1" type:"list"`
 11649  }
 11650  
 11651  // String returns the string representation.
 11652  //
 11653  // API parameter values that are decorated as "sensitive" in the API will not
 11654  // be included in the string output. The member name will be present, but the
 11655  // value will be replaced with "sensitive".
 11656  func (s AccountRecoverySettingType) String() string {
 11657  	return awsutil.Prettify(s)
 11658  }
 11659  
 11660  // GoString returns the string representation.
 11661  //
 11662  // API parameter values that are decorated as "sensitive" in the API will not
 11663  // be included in the string output. The member name will be present, but the
 11664  // value will be replaced with "sensitive".
 11665  func (s AccountRecoverySettingType) GoString() string {
 11666  	return s.String()
 11667  }
 11668  
 11669  // Validate inspects the fields of the type to determine if they are valid.
 11670  func (s *AccountRecoverySettingType) Validate() error {
 11671  	invalidParams := request.ErrInvalidParams{Context: "AccountRecoverySettingType"}
 11672  	if s.RecoveryMechanisms != nil && len(s.RecoveryMechanisms) < 1 {
 11673  		invalidParams.Add(request.NewErrParamMinLen("RecoveryMechanisms", 1))
 11674  	}
 11675  	if s.RecoveryMechanisms != nil {
 11676  		for i, v := range s.RecoveryMechanisms {
 11677  			if v == nil {
 11678  				continue
 11679  			}
 11680  			if err := v.Validate(); err != nil {
 11681  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecoveryMechanisms", i), err.(request.ErrInvalidParams))
 11682  			}
 11683  		}
 11684  	}
 11685  
 11686  	if invalidParams.Len() > 0 {
 11687  		return invalidParams
 11688  	}
 11689  	return nil
 11690  }
 11691  
 11692  // SetRecoveryMechanisms sets the RecoveryMechanisms field's value.
 11693  func (s *AccountRecoverySettingType) SetRecoveryMechanisms(v []*RecoveryOptionType) *AccountRecoverySettingType {
 11694  	s.RecoveryMechanisms = v
 11695  	return s
 11696  }
 11697  
 11698  // Account takeover action type.
 11699  type AccountTakeoverActionType struct {
 11700  	_ struct{} `type:"structure"`
 11701  
 11702  	// The event action.
 11703  	//
 11704  	//    * BLOCK Choosing this action will block the request.
 11705  	//
 11706  	//    * MFA_IF_CONFIGURED Throw MFA challenge if user has configured it, else
 11707  	//    allow the request.
 11708  	//
 11709  	//    * MFA_REQUIRED Throw MFA challenge if user has configured it, else block
 11710  	//    the request.
 11711  	//
 11712  	//    * NO_ACTION Allow the user sign-in.
 11713  	//
 11714  	// EventAction is a required field
 11715  	EventAction *string `type:"string" required:"true" enum:"AccountTakeoverEventActionType"`
 11716  
 11717  	// Flag specifying whether to send a notification.
 11718  	//
 11719  	// Notify is a required field
 11720  	Notify *bool `type:"boolean" required:"true"`
 11721  }
 11722  
 11723  // String returns the string representation.
 11724  //
 11725  // API parameter values that are decorated as "sensitive" in the API will not
 11726  // be included in the string output. The member name will be present, but the
 11727  // value will be replaced with "sensitive".
 11728  func (s AccountTakeoverActionType) String() string {
 11729  	return awsutil.Prettify(s)
 11730  }
 11731  
 11732  // GoString returns the string representation.
 11733  //
 11734  // API parameter values that are decorated as "sensitive" in the API will not
 11735  // be included in the string output. The member name will be present, but the
 11736  // value will be replaced with "sensitive".
 11737  func (s AccountTakeoverActionType) GoString() string {
 11738  	return s.String()
 11739  }
 11740  
 11741  // Validate inspects the fields of the type to determine if they are valid.
 11742  func (s *AccountTakeoverActionType) Validate() error {
 11743  	invalidParams := request.ErrInvalidParams{Context: "AccountTakeoverActionType"}
 11744  	if s.EventAction == nil {
 11745  		invalidParams.Add(request.NewErrParamRequired("EventAction"))
 11746  	}
 11747  	if s.Notify == nil {
 11748  		invalidParams.Add(request.NewErrParamRequired("Notify"))
 11749  	}
 11750  
 11751  	if invalidParams.Len() > 0 {
 11752  		return invalidParams
 11753  	}
 11754  	return nil
 11755  }
 11756  
 11757  // SetEventAction sets the EventAction field's value.
 11758  func (s *AccountTakeoverActionType) SetEventAction(v string) *AccountTakeoverActionType {
 11759  	s.EventAction = &v
 11760  	return s
 11761  }
 11762  
 11763  // SetNotify sets the Notify field's value.
 11764  func (s *AccountTakeoverActionType) SetNotify(v bool) *AccountTakeoverActionType {
 11765  	s.Notify = &v
 11766  	return s
 11767  }
 11768  
 11769  // Account takeover actions type.
 11770  type AccountTakeoverActionsType struct {
 11771  	_ struct{} `type:"structure"`
 11772  
 11773  	// Action to take for a high risk.
 11774  	HighAction *AccountTakeoverActionType `type:"structure"`
 11775  
 11776  	// Action to take for a low risk.
 11777  	LowAction *AccountTakeoverActionType `type:"structure"`
 11778  
 11779  	// Action to take for a medium risk.
 11780  	MediumAction *AccountTakeoverActionType `type:"structure"`
 11781  }
 11782  
 11783  // String returns the string representation.
 11784  //
 11785  // API parameter values that are decorated as "sensitive" in the API will not
 11786  // be included in the string output. The member name will be present, but the
 11787  // value will be replaced with "sensitive".
 11788  func (s AccountTakeoverActionsType) String() string {
 11789  	return awsutil.Prettify(s)
 11790  }
 11791  
 11792  // GoString returns the string representation.
 11793  //
 11794  // API parameter values that are decorated as "sensitive" in the API will not
 11795  // be included in the string output. The member name will be present, but the
 11796  // value will be replaced with "sensitive".
 11797  func (s AccountTakeoverActionsType) GoString() string {
 11798  	return s.String()
 11799  }
 11800  
 11801  // Validate inspects the fields of the type to determine if they are valid.
 11802  func (s *AccountTakeoverActionsType) Validate() error {
 11803  	invalidParams := request.ErrInvalidParams{Context: "AccountTakeoverActionsType"}
 11804  	if s.HighAction != nil {
 11805  		if err := s.HighAction.Validate(); err != nil {
 11806  			invalidParams.AddNested("HighAction", err.(request.ErrInvalidParams))
 11807  		}
 11808  	}
 11809  	if s.LowAction != nil {
 11810  		if err := s.LowAction.Validate(); err != nil {
 11811  			invalidParams.AddNested("LowAction", err.(request.ErrInvalidParams))
 11812  		}
 11813  	}
 11814  	if s.MediumAction != nil {
 11815  		if err := s.MediumAction.Validate(); err != nil {
 11816  			invalidParams.AddNested("MediumAction", err.(request.ErrInvalidParams))
 11817  		}
 11818  	}
 11819  
 11820  	if invalidParams.Len() > 0 {
 11821  		return invalidParams
 11822  	}
 11823  	return nil
 11824  }
 11825  
 11826  // SetHighAction sets the HighAction field's value.
 11827  func (s *AccountTakeoverActionsType) SetHighAction(v *AccountTakeoverActionType) *AccountTakeoverActionsType {
 11828  	s.HighAction = v
 11829  	return s
 11830  }
 11831  
 11832  // SetLowAction sets the LowAction field's value.
 11833  func (s *AccountTakeoverActionsType) SetLowAction(v *AccountTakeoverActionType) *AccountTakeoverActionsType {
 11834  	s.LowAction = v
 11835  	return s
 11836  }
 11837  
 11838  // SetMediumAction sets the MediumAction field's value.
 11839  func (s *AccountTakeoverActionsType) SetMediumAction(v *AccountTakeoverActionType) *AccountTakeoverActionsType {
 11840  	s.MediumAction = v
 11841  	return s
 11842  }
 11843  
 11844  // Configuration for mitigation actions and notification for different levels
 11845  // of risk detected for a potential account takeover.
 11846  type AccountTakeoverRiskConfigurationType struct {
 11847  	_ struct{} `type:"structure"`
 11848  
 11849  	// Account takeover risk configuration actions
 11850  	//
 11851  	// Actions is a required field
 11852  	Actions *AccountTakeoverActionsType `type:"structure" required:"true"`
 11853  
 11854  	// The notify configuration used to construct email notifications.
 11855  	NotifyConfiguration *NotifyConfigurationType `type:"structure"`
 11856  }
 11857  
 11858  // String returns the string representation.
 11859  //
 11860  // API parameter values that are decorated as "sensitive" in the API will not
 11861  // be included in the string output. The member name will be present, but the
 11862  // value will be replaced with "sensitive".
 11863  func (s AccountTakeoverRiskConfigurationType) String() string {
 11864  	return awsutil.Prettify(s)
 11865  }
 11866  
 11867  // GoString returns the string representation.
 11868  //
 11869  // API parameter values that are decorated as "sensitive" in the API will not
 11870  // be included in the string output. The member name will be present, but the
 11871  // value will be replaced with "sensitive".
 11872  func (s AccountTakeoverRiskConfigurationType) GoString() string {
 11873  	return s.String()
 11874  }
 11875  
 11876  // Validate inspects the fields of the type to determine if they are valid.
 11877  func (s *AccountTakeoverRiskConfigurationType) Validate() error {
 11878  	invalidParams := request.ErrInvalidParams{Context: "AccountTakeoverRiskConfigurationType"}
 11879  	if s.Actions == nil {
 11880  		invalidParams.Add(request.NewErrParamRequired("Actions"))
 11881  	}
 11882  	if s.Actions != nil {
 11883  		if err := s.Actions.Validate(); err != nil {
 11884  			invalidParams.AddNested("Actions", err.(request.ErrInvalidParams))
 11885  		}
 11886  	}
 11887  	if s.NotifyConfiguration != nil {
 11888  		if err := s.NotifyConfiguration.Validate(); err != nil {
 11889  			invalidParams.AddNested("NotifyConfiguration", err.(request.ErrInvalidParams))
 11890  		}
 11891  	}
 11892  
 11893  	if invalidParams.Len() > 0 {
 11894  		return invalidParams
 11895  	}
 11896  	return nil
 11897  }
 11898  
 11899  // SetActions sets the Actions field's value.
 11900  func (s *AccountTakeoverRiskConfigurationType) SetActions(v *AccountTakeoverActionsType) *AccountTakeoverRiskConfigurationType {
 11901  	s.Actions = v
 11902  	return s
 11903  }
 11904  
 11905  // SetNotifyConfiguration sets the NotifyConfiguration field's value.
 11906  func (s *AccountTakeoverRiskConfigurationType) SetNotifyConfiguration(v *NotifyConfigurationType) *AccountTakeoverRiskConfigurationType {
 11907  	s.NotifyConfiguration = v
 11908  	return s
 11909  }
 11910  
 11911  // Represents the request to add custom attributes.
 11912  type AddCustomAttributesInput struct {
 11913  	_ struct{} `type:"structure"`
 11914  
 11915  	// An array of custom attributes, such as Mutable and Name.
 11916  	//
 11917  	// CustomAttributes is a required field
 11918  	CustomAttributes []*SchemaAttributeType `min:"1" type:"list" required:"true"`
 11919  
 11920  	// The user pool ID for the user pool where you want to add custom attributes.
 11921  	//
 11922  	// UserPoolId is a required field
 11923  	UserPoolId *string `min:"1" type:"string" required:"true"`
 11924  }
 11925  
 11926  // String returns the string representation.
 11927  //
 11928  // API parameter values that are decorated as "sensitive" in the API will not
 11929  // be included in the string output. The member name will be present, but the
 11930  // value will be replaced with "sensitive".
 11931  func (s AddCustomAttributesInput) String() string {
 11932  	return awsutil.Prettify(s)
 11933  }
 11934  
 11935  // GoString returns the string representation.
 11936  //
 11937  // API parameter values that are decorated as "sensitive" in the API will not
 11938  // be included in the string output. The member name will be present, but the
 11939  // value will be replaced with "sensitive".
 11940  func (s AddCustomAttributesInput) GoString() string {
 11941  	return s.String()
 11942  }
 11943  
 11944  // Validate inspects the fields of the type to determine if they are valid.
 11945  func (s *AddCustomAttributesInput) Validate() error {
 11946  	invalidParams := request.ErrInvalidParams{Context: "AddCustomAttributesInput"}
 11947  	if s.CustomAttributes == nil {
 11948  		invalidParams.Add(request.NewErrParamRequired("CustomAttributes"))
 11949  	}
 11950  	if s.CustomAttributes != nil && len(s.CustomAttributes) < 1 {
 11951  		invalidParams.Add(request.NewErrParamMinLen("CustomAttributes", 1))
 11952  	}
 11953  	if s.UserPoolId == nil {
 11954  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 11955  	}
 11956  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 11957  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 11958  	}
 11959  	if s.CustomAttributes != nil {
 11960  		for i, v := range s.CustomAttributes {
 11961  			if v == nil {
 11962  				continue
 11963  			}
 11964  			if err := v.Validate(); err != nil {
 11965  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomAttributes", i), err.(request.ErrInvalidParams))
 11966  			}
 11967  		}
 11968  	}
 11969  
 11970  	if invalidParams.Len() > 0 {
 11971  		return invalidParams
 11972  	}
 11973  	return nil
 11974  }
 11975  
 11976  // SetCustomAttributes sets the CustomAttributes field's value.
 11977  func (s *AddCustomAttributesInput) SetCustomAttributes(v []*SchemaAttributeType) *AddCustomAttributesInput {
 11978  	s.CustomAttributes = v
 11979  	return s
 11980  }
 11981  
 11982  // SetUserPoolId sets the UserPoolId field's value.
 11983  func (s *AddCustomAttributesInput) SetUserPoolId(v string) *AddCustomAttributesInput {
 11984  	s.UserPoolId = &v
 11985  	return s
 11986  }
 11987  
 11988  // Represents the response from the server for the request to add custom attributes.
 11989  type AddCustomAttributesOutput struct {
 11990  	_ struct{} `type:"structure"`
 11991  }
 11992  
 11993  // String returns the string representation.
 11994  //
 11995  // API parameter values that are decorated as "sensitive" in the API will not
 11996  // be included in the string output. The member name will be present, but the
 11997  // value will be replaced with "sensitive".
 11998  func (s AddCustomAttributesOutput) String() string {
 11999  	return awsutil.Prettify(s)
 12000  }
 12001  
 12002  // GoString returns the string representation.
 12003  //
 12004  // API parameter values that are decorated as "sensitive" in the API will not
 12005  // be included in the string output. The member name will be present, but the
 12006  // value will be replaced with "sensitive".
 12007  func (s AddCustomAttributesOutput) GoString() string {
 12008  	return s.String()
 12009  }
 12010  
 12011  type AdminAddUserToGroupInput struct {
 12012  	_ struct{} `type:"structure"`
 12013  
 12014  	// The group name.
 12015  	//
 12016  	// GroupName is a required field
 12017  	GroupName *string `min:"1" type:"string" required:"true"`
 12018  
 12019  	// The user pool ID for the user pool.
 12020  	//
 12021  	// UserPoolId is a required field
 12022  	UserPoolId *string `min:"1" type:"string" required:"true"`
 12023  
 12024  	// The username for the user.
 12025  	//
 12026  	// Username is a sensitive parameter and its value will be
 12027  	// replaced with "sensitive" in string returned by AdminAddUserToGroupInput's
 12028  	// String and GoString methods.
 12029  	//
 12030  	// Username is a required field
 12031  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 12032  }
 12033  
 12034  // String returns the string representation.
 12035  //
 12036  // API parameter values that are decorated as "sensitive" in the API will not
 12037  // be included in the string output. The member name will be present, but the
 12038  // value will be replaced with "sensitive".
 12039  func (s AdminAddUserToGroupInput) String() string {
 12040  	return awsutil.Prettify(s)
 12041  }
 12042  
 12043  // GoString returns the string representation.
 12044  //
 12045  // API parameter values that are decorated as "sensitive" in the API will not
 12046  // be included in the string output. The member name will be present, but the
 12047  // value will be replaced with "sensitive".
 12048  func (s AdminAddUserToGroupInput) GoString() string {
 12049  	return s.String()
 12050  }
 12051  
 12052  // Validate inspects the fields of the type to determine if they are valid.
 12053  func (s *AdminAddUserToGroupInput) Validate() error {
 12054  	invalidParams := request.ErrInvalidParams{Context: "AdminAddUserToGroupInput"}
 12055  	if s.GroupName == nil {
 12056  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 12057  	}
 12058  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 12059  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 12060  	}
 12061  	if s.UserPoolId == nil {
 12062  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12063  	}
 12064  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 12065  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 12066  	}
 12067  	if s.Username == nil {
 12068  		invalidParams.Add(request.NewErrParamRequired("Username"))
 12069  	}
 12070  	if s.Username != nil && len(*s.Username) < 1 {
 12071  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 12072  	}
 12073  
 12074  	if invalidParams.Len() > 0 {
 12075  		return invalidParams
 12076  	}
 12077  	return nil
 12078  }
 12079  
 12080  // SetGroupName sets the GroupName field's value.
 12081  func (s *AdminAddUserToGroupInput) SetGroupName(v string) *AdminAddUserToGroupInput {
 12082  	s.GroupName = &v
 12083  	return s
 12084  }
 12085  
 12086  // SetUserPoolId sets the UserPoolId field's value.
 12087  func (s *AdminAddUserToGroupInput) SetUserPoolId(v string) *AdminAddUserToGroupInput {
 12088  	s.UserPoolId = &v
 12089  	return s
 12090  }
 12091  
 12092  // SetUsername sets the Username field's value.
 12093  func (s *AdminAddUserToGroupInput) SetUsername(v string) *AdminAddUserToGroupInput {
 12094  	s.Username = &v
 12095  	return s
 12096  }
 12097  
 12098  type AdminAddUserToGroupOutput struct {
 12099  	_ struct{} `type:"structure"`
 12100  }
 12101  
 12102  // String returns the string representation.
 12103  //
 12104  // API parameter values that are decorated as "sensitive" in the API will not
 12105  // be included in the string output. The member name will be present, but the
 12106  // value will be replaced with "sensitive".
 12107  func (s AdminAddUserToGroupOutput) String() string {
 12108  	return awsutil.Prettify(s)
 12109  }
 12110  
 12111  // GoString returns the string representation.
 12112  //
 12113  // API parameter values that are decorated as "sensitive" in the API will not
 12114  // be included in the string output. The member name will be present, but the
 12115  // value will be replaced with "sensitive".
 12116  func (s AdminAddUserToGroupOutput) GoString() string {
 12117  	return s.String()
 12118  }
 12119  
 12120  // Represents the request to confirm user registration.
 12121  type AdminConfirmSignUpInput struct {
 12122  	_ struct{} `type:"structure"`
 12123  
 12124  	// A map of custom key-value pairs that you can provide as input for any custom
 12125  	// workflows that this action triggers.
 12126  	//
 12127  	// If your user pool configuration includes triggers, the AdminConfirmSignUp
 12128  	// API action invokes the Lambda function that is specified for the post confirmation
 12129  	// trigger. When Amazon Cognito invokes this function, it passes a JSON payload,
 12130  	// which the function receives as input. In this payload, the clientMetadata
 12131  	// attribute provides the data that you assigned to the ClientMetadata parameter
 12132  	// in your AdminConfirmSignUp request. In your function code in Lambda, you
 12133  	// can process the ClientMetadata value to enhance your workflow for your specific
 12134  	// needs.
 12135  	//
 12136  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 12137  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 12138  	// in the Amazon Cognito Developer Guide.
 12139  	//
 12140  	// Take the following limitations into consideration when you use the ClientMetadata
 12141  	// parameter:
 12142  	//
 12143  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 12144  	//    available only to Lambda triggers that are assigned to a user pool to
 12145  	//    support custom workflows. If your user pool configuration does not include
 12146  	//    triggers, the ClientMetadata parameter serves no purpose.
 12147  	//
 12148  	//    * Amazon Cognito does not validate the ClientMetadata value.
 12149  	//
 12150  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 12151  	//    use it to provide sensitive information.
 12152  	ClientMetadata map[string]*string `type:"map"`
 12153  
 12154  	// The user pool ID for which you want to confirm user registration.
 12155  	//
 12156  	// UserPoolId is a required field
 12157  	UserPoolId *string `min:"1" type:"string" required:"true"`
 12158  
 12159  	// The user name for which you want to confirm user registration.
 12160  	//
 12161  	// Username is a sensitive parameter and its value will be
 12162  	// replaced with "sensitive" in string returned by AdminConfirmSignUpInput's
 12163  	// String and GoString methods.
 12164  	//
 12165  	// Username is a required field
 12166  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 12167  }
 12168  
 12169  // String returns the string representation.
 12170  //
 12171  // API parameter values that are decorated as "sensitive" in the API will not
 12172  // be included in the string output. The member name will be present, but the
 12173  // value will be replaced with "sensitive".
 12174  func (s AdminConfirmSignUpInput) String() string {
 12175  	return awsutil.Prettify(s)
 12176  }
 12177  
 12178  // GoString returns the string representation.
 12179  //
 12180  // API parameter values that are decorated as "sensitive" in the API will not
 12181  // be included in the string output. The member name will be present, but the
 12182  // value will be replaced with "sensitive".
 12183  func (s AdminConfirmSignUpInput) GoString() string {
 12184  	return s.String()
 12185  }
 12186  
 12187  // Validate inspects the fields of the type to determine if they are valid.
 12188  func (s *AdminConfirmSignUpInput) Validate() error {
 12189  	invalidParams := request.ErrInvalidParams{Context: "AdminConfirmSignUpInput"}
 12190  	if s.UserPoolId == nil {
 12191  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12192  	}
 12193  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 12194  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 12195  	}
 12196  	if s.Username == nil {
 12197  		invalidParams.Add(request.NewErrParamRequired("Username"))
 12198  	}
 12199  	if s.Username != nil && len(*s.Username) < 1 {
 12200  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 12201  	}
 12202  
 12203  	if invalidParams.Len() > 0 {
 12204  		return invalidParams
 12205  	}
 12206  	return nil
 12207  }
 12208  
 12209  // SetClientMetadata sets the ClientMetadata field's value.
 12210  func (s *AdminConfirmSignUpInput) SetClientMetadata(v map[string]*string) *AdminConfirmSignUpInput {
 12211  	s.ClientMetadata = v
 12212  	return s
 12213  }
 12214  
 12215  // SetUserPoolId sets the UserPoolId field's value.
 12216  func (s *AdminConfirmSignUpInput) SetUserPoolId(v string) *AdminConfirmSignUpInput {
 12217  	s.UserPoolId = &v
 12218  	return s
 12219  }
 12220  
 12221  // SetUsername sets the Username field's value.
 12222  func (s *AdminConfirmSignUpInput) SetUsername(v string) *AdminConfirmSignUpInput {
 12223  	s.Username = &v
 12224  	return s
 12225  }
 12226  
 12227  // Represents the response from the server for the request to confirm registration.
 12228  type AdminConfirmSignUpOutput struct {
 12229  	_ struct{} `type:"structure"`
 12230  }
 12231  
 12232  // String returns the string representation.
 12233  //
 12234  // API parameter values that are decorated as "sensitive" in the API will not
 12235  // be included in the string output. The member name will be present, but the
 12236  // value will be replaced with "sensitive".
 12237  func (s AdminConfirmSignUpOutput) String() string {
 12238  	return awsutil.Prettify(s)
 12239  }
 12240  
 12241  // GoString returns the string representation.
 12242  //
 12243  // API parameter values that are decorated as "sensitive" in the API will not
 12244  // be included in the string output. The member name will be present, but the
 12245  // value will be replaced with "sensitive".
 12246  func (s AdminConfirmSignUpOutput) GoString() string {
 12247  	return s.String()
 12248  }
 12249  
 12250  // The configuration for creating a new user profile.
 12251  type AdminCreateUserConfigType struct {
 12252  	_ struct{} `type:"structure"`
 12253  
 12254  	// Set to True if only the administrator is allowed to create user profiles.
 12255  	// Set to False if users can sign themselves up via an app.
 12256  	AllowAdminCreateUserOnly *bool `type:"boolean"`
 12257  
 12258  	// The message template to be used for the welcome message to new users.
 12259  	//
 12260  	// See also Customizing User Invitation Messages (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization).
 12261  	InviteMessageTemplate *MessageTemplateType `type:"structure"`
 12262  
 12263  	// The user account expiration limit, in days, after which the account is no
 12264  	// longer usable. To reset the account after that time limit, you must call
 12265  	// AdminCreateUser again, specifying "RESEND" for the MessageAction parameter.
 12266  	// The default value for this parameter is 7.
 12267  	//
 12268  	// If you set a value for TemporaryPasswordValidityDays in PasswordPolicy, that
 12269  	// value will be used and UnusedAccountValidityDays will be deprecated for that
 12270  	// user pool.
 12271  	UnusedAccountValidityDays *int64 `type:"integer"`
 12272  }
 12273  
 12274  // String returns the string representation.
 12275  //
 12276  // API parameter values that are decorated as "sensitive" in the API will not
 12277  // be included in the string output. The member name will be present, but the
 12278  // value will be replaced with "sensitive".
 12279  func (s AdminCreateUserConfigType) String() string {
 12280  	return awsutil.Prettify(s)
 12281  }
 12282  
 12283  // GoString returns the string representation.
 12284  //
 12285  // API parameter values that are decorated as "sensitive" in the API will not
 12286  // be included in the string output. The member name will be present, but the
 12287  // value will be replaced with "sensitive".
 12288  func (s AdminCreateUserConfigType) GoString() string {
 12289  	return s.String()
 12290  }
 12291  
 12292  // Validate inspects the fields of the type to determine if they are valid.
 12293  func (s *AdminCreateUserConfigType) Validate() error {
 12294  	invalidParams := request.ErrInvalidParams{Context: "AdminCreateUserConfigType"}
 12295  	if s.InviteMessageTemplate != nil {
 12296  		if err := s.InviteMessageTemplate.Validate(); err != nil {
 12297  			invalidParams.AddNested("InviteMessageTemplate", err.(request.ErrInvalidParams))
 12298  		}
 12299  	}
 12300  
 12301  	if invalidParams.Len() > 0 {
 12302  		return invalidParams
 12303  	}
 12304  	return nil
 12305  }
 12306  
 12307  // SetAllowAdminCreateUserOnly sets the AllowAdminCreateUserOnly field's value.
 12308  func (s *AdminCreateUserConfigType) SetAllowAdminCreateUserOnly(v bool) *AdminCreateUserConfigType {
 12309  	s.AllowAdminCreateUserOnly = &v
 12310  	return s
 12311  }
 12312  
 12313  // SetInviteMessageTemplate sets the InviteMessageTemplate field's value.
 12314  func (s *AdminCreateUserConfigType) SetInviteMessageTemplate(v *MessageTemplateType) *AdminCreateUserConfigType {
 12315  	s.InviteMessageTemplate = v
 12316  	return s
 12317  }
 12318  
 12319  // SetUnusedAccountValidityDays sets the UnusedAccountValidityDays field's value.
 12320  func (s *AdminCreateUserConfigType) SetUnusedAccountValidityDays(v int64) *AdminCreateUserConfigType {
 12321  	s.UnusedAccountValidityDays = &v
 12322  	return s
 12323  }
 12324  
 12325  // Represents the request to create a user in the specified user pool.
 12326  type AdminCreateUserInput struct {
 12327  	_ struct{} `type:"structure"`
 12328  
 12329  	// A map of custom key-value pairs that you can provide as input for any custom
 12330  	// workflows that this action triggers.
 12331  	//
 12332  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 12333  	// When you use the AdminCreateUser API action, Amazon Cognito invokes the function
 12334  	// that is assigned to the pre sign-up trigger. When Amazon Cognito invokes
 12335  	// this function, it passes a JSON payload, which the function receives as input.
 12336  	// This payload contains a clientMetadata attribute, which provides the data
 12337  	// that you assigned to the ClientMetadata parameter in your AdminCreateUser
 12338  	// request. In your function code in Lambda, you can process the clientMetadata
 12339  	// value to enhance your workflow for your specific needs.
 12340  	//
 12341  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 12342  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 12343  	// in the Amazon Cognito Developer Guide.
 12344  	//
 12345  	// Take the following limitations into consideration when you use the ClientMetadata
 12346  	// parameter:
 12347  	//
 12348  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 12349  	//    available only to Lambda triggers that are assigned to a user pool to
 12350  	//    support custom workflows. If your user pool configuration does not include
 12351  	//    triggers, the ClientMetadata parameter serves no purpose.
 12352  	//
 12353  	//    * Amazon Cognito does not validate the ClientMetadata value.
 12354  	//
 12355  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 12356  	//    use it to provide sensitive information.
 12357  	ClientMetadata map[string]*string `type:"map"`
 12358  
 12359  	// Specify "EMAIL" if email will be used to send the welcome message. Specify
 12360  	// "SMS" if the phone number will be used. The default value is "SMS". More
 12361  	// than one value can be specified.
 12362  	DesiredDeliveryMediums []*string `type:"list"`
 12363  
 12364  	// This parameter is only used if the phone_number_verified or email_verified
 12365  	// attribute is set to True. Otherwise, it is ignored.
 12366  	//
 12367  	// If this parameter is set to True and the phone number or email address specified
 12368  	// in the UserAttributes parameter already exists as an alias with a different
 12369  	// user, the API call will migrate the alias from the previous user to the newly
 12370  	// created user. The previous user will no longer be able to log in using that
 12371  	// alias.
 12372  	//
 12373  	// If this parameter is set to False, the API throws an AliasExistsException
 12374  	// error if the alias already exists. The default value is False.
 12375  	ForceAliasCreation *bool `type:"boolean"`
 12376  
 12377  	// Set to "RESEND" to resend the invitation message to a user that already exists
 12378  	// and reset the expiration limit on the user's account. Set to "SUPPRESS" to
 12379  	// suppress sending the message. Only one value can be specified.
 12380  	MessageAction *string `type:"string" enum:"MessageActionType"`
 12381  
 12382  	// The user's temporary password. This password must conform to the password
 12383  	// policy that you specified when you created the user pool.
 12384  	//
 12385  	// The temporary password is valid only once. To complete the Admin Create User
 12386  	// flow, the user must enter the temporary password in the sign-in page along
 12387  	// with a new password to be used in all future sign-ins.
 12388  	//
 12389  	// This parameter is not required. If you do not specify a value, Amazon Cognito
 12390  	// generates one for you.
 12391  	//
 12392  	// The temporary password can only be used until the user account expiration
 12393  	// limit that you specified when you created the user pool. To reset the account
 12394  	// after that time limit, you must call AdminCreateUser again, specifying "RESEND"
 12395  	// for the MessageAction parameter.
 12396  	//
 12397  	// TemporaryPassword is a sensitive parameter and its value will be
 12398  	// replaced with "sensitive" in string returned by AdminCreateUserInput's
 12399  	// String and GoString methods.
 12400  	TemporaryPassword *string `min:"6" type:"string" sensitive:"true"`
 12401  
 12402  	// An array of name-value pairs that contain user attributes and attribute values
 12403  	// to be set for the user to be created. You can create a user without specifying
 12404  	// any attributes other than Username. However, any attributes that you specify
 12405  	// as required (when creating a user pool or in the Attributes tab of the console)
 12406  	// must be supplied either by you (in your call to AdminCreateUser) or by the
 12407  	// user (when he or she signs up in response to your welcome message).
 12408  	//
 12409  	// For custom attributes, you must prepend the custom: prefix to the attribute
 12410  	// name.
 12411  	//
 12412  	// To send a message inviting the user to sign up, you must specify the user's
 12413  	// email address or phone number. This can be done in your call to AdminCreateUser
 12414  	// or in the Users tab of the Amazon Cognito console for managing your user
 12415  	// pools.
 12416  	//
 12417  	// In your call to AdminCreateUser, you can set the email_verified attribute
 12418  	// to True, and you can set the phone_number_verified attribute to True. (You
 12419  	// can also do this by calling AdminUpdateUserAttributes (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html).)
 12420  	//
 12421  	//    * email: The email address of the user to whom the message that contains
 12422  	//    the code and username will be sent. Required if the email_verified attribute
 12423  	//    is set to True, or if "EMAIL" is specified in the DesiredDeliveryMediums
 12424  	//    parameter.
 12425  	//
 12426  	//    * phone_number: The phone number of the user to whom the message that
 12427  	//    contains the code and username will be sent. Required if the phone_number_verified
 12428  	//    attribute is set to True, or if "SMS" is specified in the DesiredDeliveryMediums
 12429  	//    parameter.
 12430  	UserAttributes []*AttributeType `type:"list"`
 12431  
 12432  	// The user pool ID for the user pool where the user will be created.
 12433  	//
 12434  	// UserPoolId is a required field
 12435  	UserPoolId *string `min:"1" type:"string" required:"true"`
 12436  
 12437  	// The username for the user. Must be unique within the user pool. Must be a
 12438  	// UTF-8 string between 1 and 128 characters. After the user is created, the
 12439  	// username cannot be changed.
 12440  	//
 12441  	// Username is a sensitive parameter and its value will be
 12442  	// replaced with "sensitive" in string returned by AdminCreateUserInput's
 12443  	// String and GoString methods.
 12444  	//
 12445  	// Username is a required field
 12446  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 12447  
 12448  	// The user's validation data. This is an array of name-value pairs that contain
 12449  	// user attributes and attribute values that you can use for custom validation,
 12450  	// such as restricting the types of user accounts that can be registered. For
 12451  	// example, you might choose to allow or disallow user sign-up based on the
 12452  	// user's domain.
 12453  	//
 12454  	// To configure custom validation, you must create a Pre Sign-up Lambda trigger
 12455  	// for the user pool as described in the Amazon Cognito Developer Guide. The
 12456  	// Lambda trigger receives the validation data and uses it in the validation
 12457  	// process.
 12458  	//
 12459  	// The user's validation data is not persisted.
 12460  	ValidationData []*AttributeType `type:"list"`
 12461  }
 12462  
 12463  // String returns the string representation.
 12464  //
 12465  // API parameter values that are decorated as "sensitive" in the API will not
 12466  // be included in the string output. The member name will be present, but the
 12467  // value will be replaced with "sensitive".
 12468  func (s AdminCreateUserInput) String() string {
 12469  	return awsutil.Prettify(s)
 12470  }
 12471  
 12472  // GoString returns the string representation.
 12473  //
 12474  // API parameter values that are decorated as "sensitive" in the API will not
 12475  // be included in the string output. The member name will be present, but the
 12476  // value will be replaced with "sensitive".
 12477  func (s AdminCreateUserInput) GoString() string {
 12478  	return s.String()
 12479  }
 12480  
 12481  // Validate inspects the fields of the type to determine if they are valid.
 12482  func (s *AdminCreateUserInput) Validate() error {
 12483  	invalidParams := request.ErrInvalidParams{Context: "AdminCreateUserInput"}
 12484  	if s.TemporaryPassword != nil && len(*s.TemporaryPassword) < 6 {
 12485  		invalidParams.Add(request.NewErrParamMinLen("TemporaryPassword", 6))
 12486  	}
 12487  	if s.UserPoolId == nil {
 12488  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12489  	}
 12490  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 12491  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 12492  	}
 12493  	if s.Username == nil {
 12494  		invalidParams.Add(request.NewErrParamRequired("Username"))
 12495  	}
 12496  	if s.Username != nil && len(*s.Username) < 1 {
 12497  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 12498  	}
 12499  	if s.UserAttributes != nil {
 12500  		for i, v := range s.UserAttributes {
 12501  			if v == nil {
 12502  				continue
 12503  			}
 12504  			if err := v.Validate(); err != nil {
 12505  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
 12506  			}
 12507  		}
 12508  	}
 12509  	if s.ValidationData != nil {
 12510  		for i, v := range s.ValidationData {
 12511  			if v == nil {
 12512  				continue
 12513  			}
 12514  			if err := v.Validate(); err != nil {
 12515  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ValidationData", i), err.(request.ErrInvalidParams))
 12516  			}
 12517  		}
 12518  	}
 12519  
 12520  	if invalidParams.Len() > 0 {
 12521  		return invalidParams
 12522  	}
 12523  	return nil
 12524  }
 12525  
 12526  // SetClientMetadata sets the ClientMetadata field's value.
 12527  func (s *AdminCreateUserInput) SetClientMetadata(v map[string]*string) *AdminCreateUserInput {
 12528  	s.ClientMetadata = v
 12529  	return s
 12530  }
 12531  
 12532  // SetDesiredDeliveryMediums sets the DesiredDeliveryMediums field's value.
 12533  func (s *AdminCreateUserInput) SetDesiredDeliveryMediums(v []*string) *AdminCreateUserInput {
 12534  	s.DesiredDeliveryMediums = v
 12535  	return s
 12536  }
 12537  
 12538  // SetForceAliasCreation sets the ForceAliasCreation field's value.
 12539  func (s *AdminCreateUserInput) SetForceAliasCreation(v bool) *AdminCreateUserInput {
 12540  	s.ForceAliasCreation = &v
 12541  	return s
 12542  }
 12543  
 12544  // SetMessageAction sets the MessageAction field's value.
 12545  func (s *AdminCreateUserInput) SetMessageAction(v string) *AdminCreateUserInput {
 12546  	s.MessageAction = &v
 12547  	return s
 12548  }
 12549  
 12550  // SetTemporaryPassword sets the TemporaryPassword field's value.
 12551  func (s *AdminCreateUserInput) SetTemporaryPassword(v string) *AdminCreateUserInput {
 12552  	s.TemporaryPassword = &v
 12553  	return s
 12554  }
 12555  
 12556  // SetUserAttributes sets the UserAttributes field's value.
 12557  func (s *AdminCreateUserInput) SetUserAttributes(v []*AttributeType) *AdminCreateUserInput {
 12558  	s.UserAttributes = v
 12559  	return s
 12560  }
 12561  
 12562  // SetUserPoolId sets the UserPoolId field's value.
 12563  func (s *AdminCreateUserInput) SetUserPoolId(v string) *AdminCreateUserInput {
 12564  	s.UserPoolId = &v
 12565  	return s
 12566  }
 12567  
 12568  // SetUsername sets the Username field's value.
 12569  func (s *AdminCreateUserInput) SetUsername(v string) *AdminCreateUserInput {
 12570  	s.Username = &v
 12571  	return s
 12572  }
 12573  
 12574  // SetValidationData sets the ValidationData field's value.
 12575  func (s *AdminCreateUserInput) SetValidationData(v []*AttributeType) *AdminCreateUserInput {
 12576  	s.ValidationData = v
 12577  	return s
 12578  }
 12579  
 12580  // Represents the response from the server to the request to create the user.
 12581  type AdminCreateUserOutput struct {
 12582  	_ struct{} `type:"structure"`
 12583  
 12584  	// The newly created user.
 12585  	User *UserType `type:"structure"`
 12586  }
 12587  
 12588  // String returns the string representation.
 12589  //
 12590  // API parameter values that are decorated as "sensitive" in the API will not
 12591  // be included in the string output. The member name will be present, but the
 12592  // value will be replaced with "sensitive".
 12593  func (s AdminCreateUserOutput) String() string {
 12594  	return awsutil.Prettify(s)
 12595  }
 12596  
 12597  // GoString returns the string representation.
 12598  //
 12599  // API parameter values that are decorated as "sensitive" in the API will not
 12600  // be included in the string output. The member name will be present, but the
 12601  // value will be replaced with "sensitive".
 12602  func (s AdminCreateUserOutput) GoString() string {
 12603  	return s.String()
 12604  }
 12605  
 12606  // SetUser sets the User field's value.
 12607  func (s *AdminCreateUserOutput) SetUser(v *UserType) *AdminCreateUserOutput {
 12608  	s.User = v
 12609  	return s
 12610  }
 12611  
 12612  // Represents the request to delete user attributes as an administrator.
 12613  type AdminDeleteUserAttributesInput struct {
 12614  	_ struct{} `type:"structure"`
 12615  
 12616  	// An array of strings representing the user attribute names you wish to delete.
 12617  	//
 12618  	// For custom attributes, you must prepend the custom: prefix to the attribute
 12619  	// name.
 12620  	//
 12621  	// UserAttributeNames is a required field
 12622  	UserAttributeNames []*string `type:"list" required:"true"`
 12623  
 12624  	// The user pool ID for the user pool where you want to delete user attributes.
 12625  	//
 12626  	// UserPoolId is a required field
 12627  	UserPoolId *string `min:"1" type:"string" required:"true"`
 12628  
 12629  	// The user name of the user from which you would like to delete attributes.
 12630  	//
 12631  	// Username is a sensitive parameter and its value will be
 12632  	// replaced with "sensitive" in string returned by AdminDeleteUserAttributesInput's
 12633  	// String and GoString methods.
 12634  	//
 12635  	// Username is a required field
 12636  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 12637  }
 12638  
 12639  // String returns the string representation.
 12640  //
 12641  // API parameter values that are decorated as "sensitive" in the API will not
 12642  // be included in the string output. The member name will be present, but the
 12643  // value will be replaced with "sensitive".
 12644  func (s AdminDeleteUserAttributesInput) String() string {
 12645  	return awsutil.Prettify(s)
 12646  }
 12647  
 12648  // GoString returns the string representation.
 12649  //
 12650  // API parameter values that are decorated as "sensitive" in the API will not
 12651  // be included in the string output. The member name will be present, but the
 12652  // value will be replaced with "sensitive".
 12653  func (s AdminDeleteUserAttributesInput) GoString() string {
 12654  	return s.String()
 12655  }
 12656  
 12657  // Validate inspects the fields of the type to determine if they are valid.
 12658  func (s *AdminDeleteUserAttributesInput) Validate() error {
 12659  	invalidParams := request.ErrInvalidParams{Context: "AdminDeleteUserAttributesInput"}
 12660  	if s.UserAttributeNames == nil {
 12661  		invalidParams.Add(request.NewErrParamRequired("UserAttributeNames"))
 12662  	}
 12663  	if s.UserPoolId == nil {
 12664  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12665  	}
 12666  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 12667  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 12668  	}
 12669  	if s.Username == nil {
 12670  		invalidParams.Add(request.NewErrParamRequired("Username"))
 12671  	}
 12672  	if s.Username != nil && len(*s.Username) < 1 {
 12673  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 12674  	}
 12675  
 12676  	if invalidParams.Len() > 0 {
 12677  		return invalidParams
 12678  	}
 12679  	return nil
 12680  }
 12681  
 12682  // SetUserAttributeNames sets the UserAttributeNames field's value.
 12683  func (s *AdminDeleteUserAttributesInput) SetUserAttributeNames(v []*string) *AdminDeleteUserAttributesInput {
 12684  	s.UserAttributeNames = v
 12685  	return s
 12686  }
 12687  
 12688  // SetUserPoolId sets the UserPoolId field's value.
 12689  func (s *AdminDeleteUserAttributesInput) SetUserPoolId(v string) *AdminDeleteUserAttributesInput {
 12690  	s.UserPoolId = &v
 12691  	return s
 12692  }
 12693  
 12694  // SetUsername sets the Username field's value.
 12695  func (s *AdminDeleteUserAttributesInput) SetUsername(v string) *AdminDeleteUserAttributesInput {
 12696  	s.Username = &v
 12697  	return s
 12698  }
 12699  
 12700  // Represents the response received from the server for a request to delete
 12701  // user attributes.
 12702  type AdminDeleteUserAttributesOutput struct {
 12703  	_ struct{} `type:"structure"`
 12704  }
 12705  
 12706  // String returns the string representation.
 12707  //
 12708  // API parameter values that are decorated as "sensitive" in the API will not
 12709  // be included in the string output. The member name will be present, but the
 12710  // value will be replaced with "sensitive".
 12711  func (s AdminDeleteUserAttributesOutput) String() string {
 12712  	return awsutil.Prettify(s)
 12713  }
 12714  
 12715  // GoString returns the string representation.
 12716  //
 12717  // API parameter values that are decorated as "sensitive" in the API will not
 12718  // be included in the string output. The member name will be present, but the
 12719  // value will be replaced with "sensitive".
 12720  func (s AdminDeleteUserAttributesOutput) GoString() string {
 12721  	return s.String()
 12722  }
 12723  
 12724  // Represents the request to delete a user as an administrator.
 12725  type AdminDeleteUserInput struct {
 12726  	_ struct{} `type:"structure"`
 12727  
 12728  	// The user pool ID for the user pool where you want to delete the user.
 12729  	//
 12730  	// UserPoolId is a required field
 12731  	UserPoolId *string `min:"1" type:"string" required:"true"`
 12732  
 12733  	// The user name of the user you wish to delete.
 12734  	//
 12735  	// Username is a sensitive parameter and its value will be
 12736  	// replaced with "sensitive" in string returned by AdminDeleteUserInput's
 12737  	// String and GoString methods.
 12738  	//
 12739  	// Username is a required field
 12740  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 12741  }
 12742  
 12743  // String returns the string representation.
 12744  //
 12745  // API parameter values that are decorated as "sensitive" in the API will not
 12746  // be included in the string output. The member name will be present, but the
 12747  // value will be replaced with "sensitive".
 12748  func (s AdminDeleteUserInput) String() string {
 12749  	return awsutil.Prettify(s)
 12750  }
 12751  
 12752  // GoString returns the string representation.
 12753  //
 12754  // API parameter values that are decorated as "sensitive" in the API will not
 12755  // be included in the string output. The member name will be present, but the
 12756  // value will be replaced with "sensitive".
 12757  func (s AdminDeleteUserInput) GoString() string {
 12758  	return s.String()
 12759  }
 12760  
 12761  // Validate inspects the fields of the type to determine if they are valid.
 12762  func (s *AdminDeleteUserInput) Validate() error {
 12763  	invalidParams := request.ErrInvalidParams{Context: "AdminDeleteUserInput"}
 12764  	if s.UserPoolId == nil {
 12765  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12766  	}
 12767  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 12768  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 12769  	}
 12770  	if s.Username == nil {
 12771  		invalidParams.Add(request.NewErrParamRequired("Username"))
 12772  	}
 12773  	if s.Username != nil && len(*s.Username) < 1 {
 12774  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 12775  	}
 12776  
 12777  	if invalidParams.Len() > 0 {
 12778  		return invalidParams
 12779  	}
 12780  	return nil
 12781  }
 12782  
 12783  // SetUserPoolId sets the UserPoolId field's value.
 12784  func (s *AdminDeleteUserInput) SetUserPoolId(v string) *AdminDeleteUserInput {
 12785  	s.UserPoolId = &v
 12786  	return s
 12787  }
 12788  
 12789  // SetUsername sets the Username field's value.
 12790  func (s *AdminDeleteUserInput) SetUsername(v string) *AdminDeleteUserInput {
 12791  	s.Username = &v
 12792  	return s
 12793  }
 12794  
 12795  type AdminDeleteUserOutput struct {
 12796  	_ struct{} `type:"structure"`
 12797  }
 12798  
 12799  // String returns the string representation.
 12800  //
 12801  // API parameter values that are decorated as "sensitive" in the API will not
 12802  // be included in the string output. The member name will be present, but the
 12803  // value will be replaced with "sensitive".
 12804  func (s AdminDeleteUserOutput) String() string {
 12805  	return awsutil.Prettify(s)
 12806  }
 12807  
 12808  // GoString returns the string representation.
 12809  //
 12810  // API parameter values that are decorated as "sensitive" in the API will not
 12811  // be included in the string output. The member name will be present, but the
 12812  // value will be replaced with "sensitive".
 12813  func (s AdminDeleteUserOutput) GoString() string {
 12814  	return s.String()
 12815  }
 12816  
 12817  type AdminDisableProviderForUserInput struct {
 12818  	_ struct{} `type:"structure"`
 12819  
 12820  	// The user to be disabled.
 12821  	//
 12822  	// User is a required field
 12823  	User *ProviderUserIdentifierType `type:"structure" required:"true"`
 12824  
 12825  	// The user pool ID for the user pool.
 12826  	//
 12827  	// UserPoolId is a required field
 12828  	UserPoolId *string `type:"string" required:"true"`
 12829  }
 12830  
 12831  // String returns the string representation.
 12832  //
 12833  // API parameter values that are decorated as "sensitive" in the API will not
 12834  // be included in the string output. The member name will be present, but the
 12835  // value will be replaced with "sensitive".
 12836  func (s AdminDisableProviderForUserInput) String() string {
 12837  	return awsutil.Prettify(s)
 12838  }
 12839  
 12840  // GoString returns the string representation.
 12841  //
 12842  // API parameter values that are decorated as "sensitive" in the API will not
 12843  // be included in the string output. The member name will be present, but the
 12844  // value will be replaced with "sensitive".
 12845  func (s AdminDisableProviderForUserInput) GoString() string {
 12846  	return s.String()
 12847  }
 12848  
 12849  // Validate inspects the fields of the type to determine if they are valid.
 12850  func (s *AdminDisableProviderForUserInput) Validate() error {
 12851  	invalidParams := request.ErrInvalidParams{Context: "AdminDisableProviderForUserInput"}
 12852  	if s.User == nil {
 12853  		invalidParams.Add(request.NewErrParamRequired("User"))
 12854  	}
 12855  	if s.UserPoolId == nil {
 12856  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12857  	}
 12858  	if s.User != nil {
 12859  		if err := s.User.Validate(); err != nil {
 12860  			invalidParams.AddNested("User", err.(request.ErrInvalidParams))
 12861  		}
 12862  	}
 12863  
 12864  	if invalidParams.Len() > 0 {
 12865  		return invalidParams
 12866  	}
 12867  	return nil
 12868  }
 12869  
 12870  // SetUser sets the User field's value.
 12871  func (s *AdminDisableProviderForUserInput) SetUser(v *ProviderUserIdentifierType) *AdminDisableProviderForUserInput {
 12872  	s.User = v
 12873  	return s
 12874  }
 12875  
 12876  // SetUserPoolId sets the UserPoolId field's value.
 12877  func (s *AdminDisableProviderForUserInput) SetUserPoolId(v string) *AdminDisableProviderForUserInput {
 12878  	s.UserPoolId = &v
 12879  	return s
 12880  }
 12881  
 12882  type AdminDisableProviderForUserOutput struct {
 12883  	_ struct{} `type:"structure"`
 12884  }
 12885  
 12886  // String returns the string representation.
 12887  //
 12888  // API parameter values that are decorated as "sensitive" in the API will not
 12889  // be included in the string output. The member name will be present, but the
 12890  // value will be replaced with "sensitive".
 12891  func (s AdminDisableProviderForUserOutput) String() string {
 12892  	return awsutil.Prettify(s)
 12893  }
 12894  
 12895  // GoString returns the string representation.
 12896  //
 12897  // API parameter values that are decorated as "sensitive" in the API will not
 12898  // be included in the string output. The member name will be present, but the
 12899  // value will be replaced with "sensitive".
 12900  func (s AdminDisableProviderForUserOutput) GoString() string {
 12901  	return s.String()
 12902  }
 12903  
 12904  // Represents the request to disable the user as an administrator.
 12905  type AdminDisableUserInput struct {
 12906  	_ struct{} `type:"structure"`
 12907  
 12908  	// The user pool ID for the user pool where you want to disable the user.
 12909  	//
 12910  	// UserPoolId is a required field
 12911  	UserPoolId *string `min:"1" type:"string" required:"true"`
 12912  
 12913  	// The user name of the user you wish to disable.
 12914  	//
 12915  	// Username is a sensitive parameter and its value will be
 12916  	// replaced with "sensitive" in string returned by AdminDisableUserInput's
 12917  	// String and GoString methods.
 12918  	//
 12919  	// Username is a required field
 12920  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 12921  }
 12922  
 12923  // String returns the string representation.
 12924  //
 12925  // API parameter values that are decorated as "sensitive" in the API will not
 12926  // be included in the string output. The member name will be present, but the
 12927  // value will be replaced with "sensitive".
 12928  func (s AdminDisableUserInput) String() string {
 12929  	return awsutil.Prettify(s)
 12930  }
 12931  
 12932  // GoString returns the string representation.
 12933  //
 12934  // API parameter values that are decorated as "sensitive" in the API will not
 12935  // be included in the string output. The member name will be present, but the
 12936  // value will be replaced with "sensitive".
 12937  func (s AdminDisableUserInput) GoString() string {
 12938  	return s.String()
 12939  }
 12940  
 12941  // Validate inspects the fields of the type to determine if they are valid.
 12942  func (s *AdminDisableUserInput) Validate() error {
 12943  	invalidParams := request.ErrInvalidParams{Context: "AdminDisableUserInput"}
 12944  	if s.UserPoolId == nil {
 12945  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 12946  	}
 12947  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 12948  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 12949  	}
 12950  	if s.Username == nil {
 12951  		invalidParams.Add(request.NewErrParamRequired("Username"))
 12952  	}
 12953  	if s.Username != nil && len(*s.Username) < 1 {
 12954  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 12955  	}
 12956  
 12957  	if invalidParams.Len() > 0 {
 12958  		return invalidParams
 12959  	}
 12960  	return nil
 12961  }
 12962  
 12963  // SetUserPoolId sets the UserPoolId field's value.
 12964  func (s *AdminDisableUserInput) SetUserPoolId(v string) *AdminDisableUserInput {
 12965  	s.UserPoolId = &v
 12966  	return s
 12967  }
 12968  
 12969  // SetUsername sets the Username field's value.
 12970  func (s *AdminDisableUserInput) SetUsername(v string) *AdminDisableUserInput {
 12971  	s.Username = &v
 12972  	return s
 12973  }
 12974  
 12975  // Represents the response received from the server to disable the user as an
 12976  // administrator.
 12977  type AdminDisableUserOutput struct {
 12978  	_ struct{} `type:"structure"`
 12979  }
 12980  
 12981  // String returns the string representation.
 12982  //
 12983  // API parameter values that are decorated as "sensitive" in the API will not
 12984  // be included in the string output. The member name will be present, but the
 12985  // value will be replaced with "sensitive".
 12986  func (s AdminDisableUserOutput) String() string {
 12987  	return awsutil.Prettify(s)
 12988  }
 12989  
 12990  // GoString returns the string representation.
 12991  //
 12992  // API parameter values that are decorated as "sensitive" in the API will not
 12993  // be included in the string output. The member name will be present, but the
 12994  // value will be replaced with "sensitive".
 12995  func (s AdminDisableUserOutput) GoString() string {
 12996  	return s.String()
 12997  }
 12998  
 12999  // Represents the request that enables the user as an administrator.
 13000  type AdminEnableUserInput struct {
 13001  	_ struct{} `type:"structure"`
 13002  
 13003  	// The user pool ID for the user pool where you want to enable the user.
 13004  	//
 13005  	// UserPoolId is a required field
 13006  	UserPoolId *string `min:"1" type:"string" required:"true"`
 13007  
 13008  	// The user name of the user you wish to enable.
 13009  	//
 13010  	// Username is a sensitive parameter and its value will be
 13011  	// replaced with "sensitive" in string returned by AdminEnableUserInput's
 13012  	// String and GoString methods.
 13013  	//
 13014  	// Username is a required field
 13015  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13016  }
 13017  
 13018  // String returns the string representation.
 13019  //
 13020  // API parameter values that are decorated as "sensitive" in the API will not
 13021  // be included in the string output. The member name will be present, but the
 13022  // value will be replaced with "sensitive".
 13023  func (s AdminEnableUserInput) String() string {
 13024  	return awsutil.Prettify(s)
 13025  }
 13026  
 13027  // GoString returns the string representation.
 13028  //
 13029  // API parameter values that are decorated as "sensitive" in the API will not
 13030  // be included in the string output. The member name will be present, but the
 13031  // value will be replaced with "sensitive".
 13032  func (s AdminEnableUserInput) GoString() string {
 13033  	return s.String()
 13034  }
 13035  
 13036  // Validate inspects the fields of the type to determine if they are valid.
 13037  func (s *AdminEnableUserInput) Validate() error {
 13038  	invalidParams := request.ErrInvalidParams{Context: "AdminEnableUserInput"}
 13039  	if s.UserPoolId == nil {
 13040  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 13041  	}
 13042  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 13043  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 13044  	}
 13045  	if s.Username == nil {
 13046  		invalidParams.Add(request.NewErrParamRequired("Username"))
 13047  	}
 13048  	if s.Username != nil && len(*s.Username) < 1 {
 13049  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 13050  	}
 13051  
 13052  	if invalidParams.Len() > 0 {
 13053  		return invalidParams
 13054  	}
 13055  	return nil
 13056  }
 13057  
 13058  // SetUserPoolId sets the UserPoolId field's value.
 13059  func (s *AdminEnableUserInput) SetUserPoolId(v string) *AdminEnableUserInput {
 13060  	s.UserPoolId = &v
 13061  	return s
 13062  }
 13063  
 13064  // SetUsername sets the Username field's value.
 13065  func (s *AdminEnableUserInput) SetUsername(v string) *AdminEnableUserInput {
 13066  	s.Username = &v
 13067  	return s
 13068  }
 13069  
 13070  // Represents the response from the server for the request to enable a user
 13071  // as an administrator.
 13072  type AdminEnableUserOutput struct {
 13073  	_ struct{} `type:"structure"`
 13074  }
 13075  
 13076  // String returns the string representation.
 13077  //
 13078  // API parameter values that are decorated as "sensitive" in the API will not
 13079  // be included in the string output. The member name will be present, but the
 13080  // value will be replaced with "sensitive".
 13081  func (s AdminEnableUserOutput) String() string {
 13082  	return awsutil.Prettify(s)
 13083  }
 13084  
 13085  // GoString returns the string representation.
 13086  //
 13087  // API parameter values that are decorated as "sensitive" in the API will not
 13088  // be included in the string output. The member name will be present, but the
 13089  // value will be replaced with "sensitive".
 13090  func (s AdminEnableUserOutput) GoString() string {
 13091  	return s.String()
 13092  }
 13093  
 13094  // Sends the forgot device request, as an administrator.
 13095  type AdminForgetDeviceInput struct {
 13096  	_ struct{} `type:"structure"`
 13097  
 13098  	// The device key.
 13099  	//
 13100  	// DeviceKey is a required field
 13101  	DeviceKey *string `min:"1" type:"string" required:"true"`
 13102  
 13103  	// The user pool ID.
 13104  	//
 13105  	// UserPoolId is a required field
 13106  	UserPoolId *string `min:"1" type:"string" required:"true"`
 13107  
 13108  	// The user name.
 13109  	//
 13110  	// Username is a sensitive parameter and its value will be
 13111  	// replaced with "sensitive" in string returned by AdminForgetDeviceInput's
 13112  	// String and GoString methods.
 13113  	//
 13114  	// Username is a required field
 13115  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13116  }
 13117  
 13118  // String returns the string representation.
 13119  //
 13120  // API parameter values that are decorated as "sensitive" in the API will not
 13121  // be included in the string output. The member name will be present, but the
 13122  // value will be replaced with "sensitive".
 13123  func (s AdminForgetDeviceInput) String() string {
 13124  	return awsutil.Prettify(s)
 13125  }
 13126  
 13127  // GoString returns the string representation.
 13128  //
 13129  // API parameter values that are decorated as "sensitive" in the API will not
 13130  // be included in the string output. The member name will be present, but the
 13131  // value will be replaced with "sensitive".
 13132  func (s AdminForgetDeviceInput) GoString() string {
 13133  	return s.String()
 13134  }
 13135  
 13136  // Validate inspects the fields of the type to determine if they are valid.
 13137  func (s *AdminForgetDeviceInput) Validate() error {
 13138  	invalidParams := request.ErrInvalidParams{Context: "AdminForgetDeviceInput"}
 13139  	if s.DeviceKey == nil {
 13140  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 13141  	}
 13142  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 13143  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 13144  	}
 13145  	if s.UserPoolId == nil {
 13146  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 13147  	}
 13148  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 13149  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 13150  	}
 13151  	if s.Username == nil {
 13152  		invalidParams.Add(request.NewErrParamRequired("Username"))
 13153  	}
 13154  	if s.Username != nil && len(*s.Username) < 1 {
 13155  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 13156  	}
 13157  
 13158  	if invalidParams.Len() > 0 {
 13159  		return invalidParams
 13160  	}
 13161  	return nil
 13162  }
 13163  
 13164  // SetDeviceKey sets the DeviceKey field's value.
 13165  func (s *AdminForgetDeviceInput) SetDeviceKey(v string) *AdminForgetDeviceInput {
 13166  	s.DeviceKey = &v
 13167  	return s
 13168  }
 13169  
 13170  // SetUserPoolId sets the UserPoolId field's value.
 13171  func (s *AdminForgetDeviceInput) SetUserPoolId(v string) *AdminForgetDeviceInput {
 13172  	s.UserPoolId = &v
 13173  	return s
 13174  }
 13175  
 13176  // SetUsername sets the Username field's value.
 13177  func (s *AdminForgetDeviceInput) SetUsername(v string) *AdminForgetDeviceInput {
 13178  	s.Username = &v
 13179  	return s
 13180  }
 13181  
 13182  type AdminForgetDeviceOutput struct {
 13183  	_ struct{} `type:"structure"`
 13184  }
 13185  
 13186  // String returns the string representation.
 13187  //
 13188  // API parameter values that are decorated as "sensitive" in the API will not
 13189  // be included in the string output. The member name will be present, but the
 13190  // value will be replaced with "sensitive".
 13191  func (s AdminForgetDeviceOutput) String() string {
 13192  	return awsutil.Prettify(s)
 13193  }
 13194  
 13195  // GoString returns the string representation.
 13196  //
 13197  // API parameter values that are decorated as "sensitive" in the API will not
 13198  // be included in the string output. The member name will be present, but the
 13199  // value will be replaced with "sensitive".
 13200  func (s AdminForgetDeviceOutput) GoString() string {
 13201  	return s.String()
 13202  }
 13203  
 13204  // Represents the request to get the device, as an administrator.
 13205  type AdminGetDeviceInput struct {
 13206  	_ struct{} `type:"structure"`
 13207  
 13208  	// The device key.
 13209  	//
 13210  	// DeviceKey is a required field
 13211  	DeviceKey *string `min:"1" type:"string" required:"true"`
 13212  
 13213  	// The user pool ID.
 13214  	//
 13215  	// UserPoolId is a required field
 13216  	UserPoolId *string `min:"1" type:"string" required:"true"`
 13217  
 13218  	// The user name.
 13219  	//
 13220  	// Username is a sensitive parameter and its value will be
 13221  	// replaced with "sensitive" in string returned by AdminGetDeviceInput's
 13222  	// String and GoString methods.
 13223  	//
 13224  	// Username is a required field
 13225  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13226  }
 13227  
 13228  // String returns the string representation.
 13229  //
 13230  // API parameter values that are decorated as "sensitive" in the API will not
 13231  // be included in the string output. The member name will be present, but the
 13232  // value will be replaced with "sensitive".
 13233  func (s AdminGetDeviceInput) String() string {
 13234  	return awsutil.Prettify(s)
 13235  }
 13236  
 13237  // GoString returns the string representation.
 13238  //
 13239  // API parameter values that are decorated as "sensitive" in the API will not
 13240  // be included in the string output. The member name will be present, but the
 13241  // value will be replaced with "sensitive".
 13242  func (s AdminGetDeviceInput) GoString() string {
 13243  	return s.String()
 13244  }
 13245  
 13246  // Validate inspects the fields of the type to determine if they are valid.
 13247  func (s *AdminGetDeviceInput) Validate() error {
 13248  	invalidParams := request.ErrInvalidParams{Context: "AdminGetDeviceInput"}
 13249  	if s.DeviceKey == nil {
 13250  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 13251  	}
 13252  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 13253  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 13254  	}
 13255  	if s.UserPoolId == nil {
 13256  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 13257  	}
 13258  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 13259  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 13260  	}
 13261  	if s.Username == nil {
 13262  		invalidParams.Add(request.NewErrParamRequired("Username"))
 13263  	}
 13264  	if s.Username != nil && len(*s.Username) < 1 {
 13265  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 13266  	}
 13267  
 13268  	if invalidParams.Len() > 0 {
 13269  		return invalidParams
 13270  	}
 13271  	return nil
 13272  }
 13273  
 13274  // SetDeviceKey sets the DeviceKey field's value.
 13275  func (s *AdminGetDeviceInput) SetDeviceKey(v string) *AdminGetDeviceInput {
 13276  	s.DeviceKey = &v
 13277  	return s
 13278  }
 13279  
 13280  // SetUserPoolId sets the UserPoolId field's value.
 13281  func (s *AdminGetDeviceInput) SetUserPoolId(v string) *AdminGetDeviceInput {
 13282  	s.UserPoolId = &v
 13283  	return s
 13284  }
 13285  
 13286  // SetUsername sets the Username field's value.
 13287  func (s *AdminGetDeviceInput) SetUsername(v string) *AdminGetDeviceInput {
 13288  	s.Username = &v
 13289  	return s
 13290  }
 13291  
 13292  // Gets the device response, as an administrator.
 13293  type AdminGetDeviceOutput struct {
 13294  	_ struct{} `type:"structure"`
 13295  
 13296  	// The device.
 13297  	//
 13298  	// Device is a required field
 13299  	Device *DeviceType `type:"structure" required:"true"`
 13300  }
 13301  
 13302  // String returns the string representation.
 13303  //
 13304  // API parameter values that are decorated as "sensitive" in the API will not
 13305  // be included in the string output. The member name will be present, but the
 13306  // value will be replaced with "sensitive".
 13307  func (s AdminGetDeviceOutput) String() string {
 13308  	return awsutil.Prettify(s)
 13309  }
 13310  
 13311  // GoString returns the string representation.
 13312  //
 13313  // API parameter values that are decorated as "sensitive" in the API will not
 13314  // be included in the string output. The member name will be present, but the
 13315  // value will be replaced with "sensitive".
 13316  func (s AdminGetDeviceOutput) GoString() string {
 13317  	return s.String()
 13318  }
 13319  
 13320  // SetDevice sets the Device field's value.
 13321  func (s *AdminGetDeviceOutput) SetDevice(v *DeviceType) *AdminGetDeviceOutput {
 13322  	s.Device = v
 13323  	return s
 13324  }
 13325  
 13326  // Represents the request to get the specified user as an administrator.
 13327  type AdminGetUserInput struct {
 13328  	_ struct{} `type:"structure"`
 13329  
 13330  	// The user pool ID for the user pool where you want to get information about
 13331  	// the user.
 13332  	//
 13333  	// UserPoolId is a required field
 13334  	UserPoolId *string `min:"1" type:"string" required:"true"`
 13335  
 13336  	// The user name of the user you wish to retrieve.
 13337  	//
 13338  	// Username is a sensitive parameter and its value will be
 13339  	// replaced with "sensitive" in string returned by AdminGetUserInput's
 13340  	// String and GoString methods.
 13341  	//
 13342  	// Username is a required field
 13343  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13344  }
 13345  
 13346  // String returns the string representation.
 13347  //
 13348  // API parameter values that are decorated as "sensitive" in the API will not
 13349  // be included in the string output. The member name will be present, but the
 13350  // value will be replaced with "sensitive".
 13351  func (s AdminGetUserInput) String() string {
 13352  	return awsutil.Prettify(s)
 13353  }
 13354  
 13355  // GoString returns the string representation.
 13356  //
 13357  // API parameter values that are decorated as "sensitive" in the API will not
 13358  // be included in the string output. The member name will be present, but the
 13359  // value will be replaced with "sensitive".
 13360  func (s AdminGetUserInput) GoString() string {
 13361  	return s.String()
 13362  }
 13363  
 13364  // Validate inspects the fields of the type to determine if they are valid.
 13365  func (s *AdminGetUserInput) Validate() error {
 13366  	invalidParams := request.ErrInvalidParams{Context: "AdminGetUserInput"}
 13367  	if s.UserPoolId == nil {
 13368  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 13369  	}
 13370  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 13371  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 13372  	}
 13373  	if s.Username == nil {
 13374  		invalidParams.Add(request.NewErrParamRequired("Username"))
 13375  	}
 13376  	if s.Username != nil && len(*s.Username) < 1 {
 13377  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 13378  	}
 13379  
 13380  	if invalidParams.Len() > 0 {
 13381  		return invalidParams
 13382  	}
 13383  	return nil
 13384  }
 13385  
 13386  // SetUserPoolId sets the UserPoolId field's value.
 13387  func (s *AdminGetUserInput) SetUserPoolId(v string) *AdminGetUserInput {
 13388  	s.UserPoolId = &v
 13389  	return s
 13390  }
 13391  
 13392  // SetUsername sets the Username field's value.
 13393  func (s *AdminGetUserInput) SetUsername(v string) *AdminGetUserInput {
 13394  	s.Username = &v
 13395  	return s
 13396  }
 13397  
 13398  // Represents the response from the server from the request to get the specified
 13399  // user as an administrator.
 13400  type AdminGetUserOutput struct {
 13401  	_ struct{} `type:"structure"`
 13402  
 13403  	// Indicates that the status is enabled.
 13404  	Enabled *bool `type:"boolean"`
 13405  
 13406  	// This response parameter is no longer supported. It provides information only
 13407  	// about SMS MFA configurations. It doesn't provide information about TOTP software
 13408  	// token MFA configurations. To look up information about either type of MFA
 13409  	// configuration, use UserMFASettingList instead.
 13410  	MFAOptions []*MFAOptionType `type:"list"`
 13411  
 13412  	// The user's preferred MFA setting.
 13413  	PreferredMfaSetting *string `type:"string"`
 13414  
 13415  	// An array of name-value pairs representing user attributes.
 13416  	UserAttributes []*AttributeType `type:"list"`
 13417  
 13418  	// The date the user was created.
 13419  	UserCreateDate *time.Time `type:"timestamp"`
 13420  
 13421  	// The date the user was last modified.
 13422  	UserLastModifiedDate *time.Time `type:"timestamp"`
 13423  
 13424  	// The MFA options that are enabled for the user. The possible values in this
 13425  	// list are SMS_MFA and SOFTWARE_TOKEN_MFA.
 13426  	UserMFASettingList []*string `type:"list"`
 13427  
 13428  	// The user status. Can be one of the following:
 13429  	//
 13430  	//    * UNCONFIRMED - User has been created but not confirmed.
 13431  	//
 13432  	//    * CONFIRMED - User has been confirmed.
 13433  	//
 13434  	//    * ARCHIVED - User is no longer active.
 13435  	//
 13436  	//    * COMPROMISED - User is disabled due to a potential security threat.
 13437  	//
 13438  	//    * UNKNOWN - User status is not known.
 13439  	//
 13440  	//    * RESET_REQUIRED - User is confirmed, but the user must request a code
 13441  	//    and reset his or her password before he or she can sign in.
 13442  	//
 13443  	//    * FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign
 13444  	//    in using a temporary password, but on first sign-in, the user must change
 13445  	//    his or her password to a new value before doing anything else.
 13446  	UserStatus *string `type:"string" enum:"UserStatusType"`
 13447  
 13448  	// The user name of the user about whom you are receiving information.
 13449  	//
 13450  	// Username is a sensitive parameter and its value will be
 13451  	// replaced with "sensitive" in string returned by AdminGetUserOutput's
 13452  	// String and GoString methods.
 13453  	//
 13454  	// Username is a required field
 13455  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13456  }
 13457  
 13458  // String returns the string representation.
 13459  //
 13460  // API parameter values that are decorated as "sensitive" in the API will not
 13461  // be included in the string output. The member name will be present, but the
 13462  // value will be replaced with "sensitive".
 13463  func (s AdminGetUserOutput) String() string {
 13464  	return awsutil.Prettify(s)
 13465  }
 13466  
 13467  // GoString returns the string representation.
 13468  //
 13469  // API parameter values that are decorated as "sensitive" in the API will not
 13470  // be included in the string output. The member name will be present, but the
 13471  // value will be replaced with "sensitive".
 13472  func (s AdminGetUserOutput) GoString() string {
 13473  	return s.String()
 13474  }
 13475  
 13476  // SetEnabled sets the Enabled field's value.
 13477  func (s *AdminGetUserOutput) SetEnabled(v bool) *AdminGetUserOutput {
 13478  	s.Enabled = &v
 13479  	return s
 13480  }
 13481  
 13482  // SetMFAOptions sets the MFAOptions field's value.
 13483  func (s *AdminGetUserOutput) SetMFAOptions(v []*MFAOptionType) *AdminGetUserOutput {
 13484  	s.MFAOptions = v
 13485  	return s
 13486  }
 13487  
 13488  // SetPreferredMfaSetting sets the PreferredMfaSetting field's value.
 13489  func (s *AdminGetUserOutput) SetPreferredMfaSetting(v string) *AdminGetUserOutput {
 13490  	s.PreferredMfaSetting = &v
 13491  	return s
 13492  }
 13493  
 13494  // SetUserAttributes sets the UserAttributes field's value.
 13495  func (s *AdminGetUserOutput) SetUserAttributes(v []*AttributeType) *AdminGetUserOutput {
 13496  	s.UserAttributes = v
 13497  	return s
 13498  }
 13499  
 13500  // SetUserCreateDate sets the UserCreateDate field's value.
 13501  func (s *AdminGetUserOutput) SetUserCreateDate(v time.Time) *AdminGetUserOutput {
 13502  	s.UserCreateDate = &v
 13503  	return s
 13504  }
 13505  
 13506  // SetUserLastModifiedDate sets the UserLastModifiedDate field's value.
 13507  func (s *AdminGetUserOutput) SetUserLastModifiedDate(v time.Time) *AdminGetUserOutput {
 13508  	s.UserLastModifiedDate = &v
 13509  	return s
 13510  }
 13511  
 13512  // SetUserMFASettingList sets the UserMFASettingList field's value.
 13513  func (s *AdminGetUserOutput) SetUserMFASettingList(v []*string) *AdminGetUserOutput {
 13514  	s.UserMFASettingList = v
 13515  	return s
 13516  }
 13517  
 13518  // SetUserStatus sets the UserStatus field's value.
 13519  func (s *AdminGetUserOutput) SetUserStatus(v string) *AdminGetUserOutput {
 13520  	s.UserStatus = &v
 13521  	return s
 13522  }
 13523  
 13524  // SetUsername sets the Username field's value.
 13525  func (s *AdminGetUserOutput) SetUsername(v string) *AdminGetUserOutput {
 13526  	s.Username = &v
 13527  	return s
 13528  }
 13529  
 13530  // Initiates the authorization request, as an administrator.
 13531  type AdminInitiateAuthInput struct {
 13532  	_ struct{} `type:"structure"`
 13533  
 13534  	// The analytics metadata for collecting Amazon Pinpoint metrics for AdminInitiateAuth
 13535  	// calls.
 13536  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 13537  
 13538  	// The authentication flow for this call to execute. The API action will depend
 13539  	// on this value. For example:
 13540  	//
 13541  	//    * REFRESH_TOKEN_AUTH will take in a valid refresh token and return new
 13542  	//    tokens.
 13543  	//
 13544  	//    * USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables
 13545  	//    to be used for next challenge execution.
 13546  	//
 13547  	//    * USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the
 13548  	//    next challenge or tokens.
 13549  	//
 13550  	// Valid values include:
 13551  	//
 13552  	//    * USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP)
 13553  	//    protocol.
 13554  	//
 13555  	//    * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing
 13556  	//    the access token and ID token by supplying a valid refresh token.
 13557  	//
 13558  	//    * CUSTOM_AUTH: Custom authentication flow.
 13559  	//
 13560  	//    * ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in the
 13561  	//    USERNAME and PASSWORD directly if the flow is enabled for calling the
 13562  	//    app client.
 13563  	//
 13564  	//    * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD
 13565  	//    are passed directly. If a user migration Lambda trigger is set, this flow
 13566  	//    will invoke the user migration Lambda if the USERNAME is not found in
 13567  	//    the user pool.
 13568  	//
 13569  	//    * ADMIN_USER_PASSWORD_AUTH: Admin-based user password authentication.
 13570  	//    This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this flow,
 13571  	//    Cognito receives the password in the request instead of using the SRP
 13572  	//    process to verify passwords.
 13573  	//
 13574  	// AuthFlow is a required field
 13575  	AuthFlow *string `type:"string" required:"true" enum:"AuthFlowType"`
 13576  
 13577  	// The authentication parameters. These are inputs corresponding to the AuthFlow
 13578  	// that you are invoking. The required values depend on the value of AuthFlow:
 13579  	//
 13580  	//    * For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH
 13581  	//    (required if the app client is configured with a client secret), DEVICE_KEY.
 13582  	//
 13583  	//    * For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH
 13584  	//    (required if the app client is configured with a client secret), DEVICE_KEY.
 13585  	//
 13586  	//    * For ADMIN_NO_SRP_AUTH: USERNAME (required), SECRET_HASH (if app client
 13587  	//    is configured with client secret), PASSWORD (required), DEVICE_KEY.
 13588  	//
 13589  	//    * For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is
 13590  	//    configured with client secret), DEVICE_KEY. To start the authentication
 13591  	//    flow with password verification, include ChallengeName: SRP_A and SRP_A:
 13592  	//    (The SRP_A Value).
 13593  	//
 13594  	// AuthParameters is a sensitive parameter and its value will be
 13595  	// replaced with "sensitive" in string returned by AdminInitiateAuthInput's
 13596  	// String and GoString methods.
 13597  	AuthParameters map[string]*string `type:"map" sensitive:"true"`
 13598  
 13599  	// The app client ID.
 13600  	//
 13601  	// ClientId is a sensitive parameter and its value will be
 13602  	// replaced with "sensitive" in string returned by AdminInitiateAuthInput's
 13603  	// String and GoString methods.
 13604  	//
 13605  	// ClientId is a required field
 13606  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13607  
 13608  	// A map of custom key-value pairs that you can provide as input for certain
 13609  	// custom workflows that this action triggers.
 13610  	//
 13611  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 13612  	// When you use the AdminInitiateAuth API action, Amazon Cognito invokes the
 13613  	// Lambda functions that are specified for various triggers. The ClientMetadata
 13614  	// value is passed as input to the functions for only the following triggers:
 13615  	//
 13616  	//    * Pre signup
 13617  	//
 13618  	//    * Pre authentication
 13619  	//
 13620  	//    * User migration
 13621  	//
 13622  	// When Amazon Cognito invokes the functions for these triggers, it passes a
 13623  	// JSON payload, which the function receives as input. This payload contains
 13624  	// a validationData attribute, which provides the data that you assigned to
 13625  	// the ClientMetadata parameter in your AdminInitiateAuth request. In your function
 13626  	// code in Lambda, you can process the validationData value to enhance your
 13627  	// workflow for your specific needs.
 13628  	//
 13629  	// When you use the AdminInitiateAuth API action, Amazon Cognito also invokes
 13630  	// the functions for the following triggers, but it does not provide the ClientMetadata
 13631  	// value as input:
 13632  	//
 13633  	//    * Post authentication
 13634  	//
 13635  	//    * Custom message
 13636  	//
 13637  	//    * Pre token generation
 13638  	//
 13639  	//    * Create auth challenge
 13640  	//
 13641  	//    * Define auth challenge
 13642  	//
 13643  	//    * Verify auth challenge
 13644  	//
 13645  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 13646  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 13647  	// in the Amazon Cognito Developer Guide.
 13648  	//
 13649  	// Take the following limitations into consideration when you use the ClientMetadata
 13650  	// parameter:
 13651  	//
 13652  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 13653  	//    available only to Lambda triggers that are assigned to a user pool to
 13654  	//    support custom workflows. If your user pool configuration does not include
 13655  	//    triggers, the ClientMetadata parameter serves no purpose.
 13656  	//
 13657  	//    * Amazon Cognito does not validate the ClientMetadata value.
 13658  	//
 13659  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 13660  	//    use it to provide sensitive information.
 13661  	ClientMetadata map[string]*string `type:"map"`
 13662  
 13663  	// Contextual data such as the user's device fingerprint, IP address, or location
 13664  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 13665  	// security.
 13666  	ContextData *ContextDataType `type:"structure"`
 13667  
 13668  	// The ID of the Amazon Cognito user pool.
 13669  	//
 13670  	// UserPoolId is a required field
 13671  	UserPoolId *string `min:"1" type:"string" required:"true"`
 13672  }
 13673  
 13674  // String returns the string representation.
 13675  //
 13676  // API parameter values that are decorated as "sensitive" in the API will not
 13677  // be included in the string output. The member name will be present, but the
 13678  // value will be replaced with "sensitive".
 13679  func (s AdminInitiateAuthInput) String() string {
 13680  	return awsutil.Prettify(s)
 13681  }
 13682  
 13683  // GoString returns the string representation.
 13684  //
 13685  // API parameter values that are decorated as "sensitive" in the API will not
 13686  // be included in the string output. The member name will be present, but the
 13687  // value will be replaced with "sensitive".
 13688  func (s AdminInitiateAuthInput) GoString() string {
 13689  	return s.String()
 13690  }
 13691  
 13692  // Validate inspects the fields of the type to determine if they are valid.
 13693  func (s *AdminInitiateAuthInput) Validate() error {
 13694  	invalidParams := request.ErrInvalidParams{Context: "AdminInitiateAuthInput"}
 13695  	if s.AuthFlow == nil {
 13696  		invalidParams.Add(request.NewErrParamRequired("AuthFlow"))
 13697  	}
 13698  	if s.ClientId == nil {
 13699  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 13700  	}
 13701  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 13702  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 13703  	}
 13704  	if s.UserPoolId == nil {
 13705  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 13706  	}
 13707  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 13708  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 13709  	}
 13710  	if s.ContextData != nil {
 13711  		if err := s.ContextData.Validate(); err != nil {
 13712  			invalidParams.AddNested("ContextData", err.(request.ErrInvalidParams))
 13713  		}
 13714  	}
 13715  
 13716  	if invalidParams.Len() > 0 {
 13717  		return invalidParams
 13718  	}
 13719  	return nil
 13720  }
 13721  
 13722  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 13723  func (s *AdminInitiateAuthInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *AdminInitiateAuthInput {
 13724  	s.AnalyticsMetadata = v
 13725  	return s
 13726  }
 13727  
 13728  // SetAuthFlow sets the AuthFlow field's value.
 13729  func (s *AdminInitiateAuthInput) SetAuthFlow(v string) *AdminInitiateAuthInput {
 13730  	s.AuthFlow = &v
 13731  	return s
 13732  }
 13733  
 13734  // SetAuthParameters sets the AuthParameters field's value.
 13735  func (s *AdminInitiateAuthInput) SetAuthParameters(v map[string]*string) *AdminInitiateAuthInput {
 13736  	s.AuthParameters = v
 13737  	return s
 13738  }
 13739  
 13740  // SetClientId sets the ClientId field's value.
 13741  func (s *AdminInitiateAuthInput) SetClientId(v string) *AdminInitiateAuthInput {
 13742  	s.ClientId = &v
 13743  	return s
 13744  }
 13745  
 13746  // SetClientMetadata sets the ClientMetadata field's value.
 13747  func (s *AdminInitiateAuthInput) SetClientMetadata(v map[string]*string) *AdminInitiateAuthInput {
 13748  	s.ClientMetadata = v
 13749  	return s
 13750  }
 13751  
 13752  // SetContextData sets the ContextData field's value.
 13753  func (s *AdminInitiateAuthInput) SetContextData(v *ContextDataType) *AdminInitiateAuthInput {
 13754  	s.ContextData = v
 13755  	return s
 13756  }
 13757  
 13758  // SetUserPoolId sets the UserPoolId field's value.
 13759  func (s *AdminInitiateAuthInput) SetUserPoolId(v string) *AdminInitiateAuthInput {
 13760  	s.UserPoolId = &v
 13761  	return s
 13762  }
 13763  
 13764  // Initiates the authentication response, as an administrator.
 13765  type AdminInitiateAuthOutput struct {
 13766  	_ struct{} `type:"structure"`
 13767  
 13768  	// The result of the authentication response. This is only returned if the caller
 13769  	// does not need to pass another challenge. If the caller does need to pass
 13770  	// another challenge before it gets tokens, ChallengeName, ChallengeParameters,
 13771  	// and Session are returned.
 13772  	AuthenticationResult *AuthenticationResultType `type:"structure"`
 13773  
 13774  	// The name of the challenge which you are responding to with this call. This
 13775  	// is returned to you in the AdminInitiateAuth response if you need to pass
 13776  	// another challenge.
 13777  	//
 13778  	//    * MFA_SETUP: If MFA is required, users who do not have at least one of
 13779  	//    the MFA methods set up are presented with an MFA_SETUP challenge. The
 13780  	//    user must set up at least one MFA type to continue to authenticate.
 13781  	//
 13782  	//    * SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA
 13783  	//    for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.
 13784  	//
 13785  	//    * SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via
 13786  	//    SMS.
 13787  	//
 13788  	//    * PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE,
 13789  	//    PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.
 13790  	//
 13791  	//    * CUSTOM_CHALLENGE: This is returned if your custom authentication flow
 13792  	//    determines that the user should pass another challenge before tokens are
 13793  	//    issued.
 13794  	//
 13795  	//    * DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and
 13796  	//    the previous challenges were passed, this challenge is returned so that
 13797  	//    Amazon Cognito can start tracking this device.
 13798  	//
 13799  	//    * DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices
 13800  	//    only.
 13801  	//
 13802  	//    * ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with
 13803  	//    USERNAME and PASSWORD directly. An app client must be enabled to use this
 13804  	//    flow.
 13805  	//
 13806  	//    * NEW_PASSWORD_REQUIRED: For users who are required to change their passwords
 13807  	//    after successful first login. This challenge should be passed with NEW_PASSWORD
 13808  	//    and any other required attributes.
 13809  	//
 13810  	//    * MFA_SETUP: For users who are required to setup an MFA factor before
 13811  	//    they can sign-in. The MFA types enabled for the user pool will be listed
 13812  	//    in the challenge parameters MFA_CAN_SETUP value. To setup software token
 13813  	//    MFA, use the session returned here from InitiateAuth as an input to AssociateSoftwareToken,
 13814  	//    and use the session returned by VerifySoftwareToken as an input to RespondToAuthChallenge
 13815  	//    with challenge name MFA_SETUP to complete sign-in. To setup SMS MFA, users
 13816  	//    will need help from an administrator to add a phone number to their account
 13817  	//    and then call InitiateAuth again to restart sign-in.
 13818  	ChallengeName *string `type:"string" enum:"ChallengeNameType"`
 13819  
 13820  	// The challenge parameters. These are returned to you in the AdminInitiateAuth
 13821  	// response if you need to pass another challenge. The responses in this parameter
 13822  	// should be used to compute inputs to the next call (AdminRespondToAuthChallenge).
 13823  	//
 13824  	// All challenges require USERNAME and SECRET_HASH (if applicable).
 13825  	//
 13826  	// The value of the USER_ID_FOR_SRP attribute will be the user's actual username,
 13827  	// not an alias (such as email address or phone number), even if you specified
 13828  	// an alias in your call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge
 13829  	// API ChallengeResponses, the USERNAME attribute cannot be an alias.
 13830  	ChallengeParameters map[string]*string `type:"map"`
 13831  
 13832  	// The session which should be passed both ways in challenge-response calls
 13833  	// to the service. If AdminInitiateAuth or AdminRespondToAuthChallenge API call
 13834  	// determines that the caller needs to go through another challenge, they return
 13835  	// a session with other challenge parameters. This session should be passed
 13836  	// as it is to the next AdminRespondToAuthChallenge API call.
 13837  	Session *string `min:"20" type:"string"`
 13838  }
 13839  
 13840  // String returns the string representation.
 13841  //
 13842  // API parameter values that are decorated as "sensitive" in the API will not
 13843  // be included in the string output. The member name will be present, but the
 13844  // value will be replaced with "sensitive".
 13845  func (s AdminInitiateAuthOutput) String() string {
 13846  	return awsutil.Prettify(s)
 13847  }
 13848  
 13849  // GoString returns the string representation.
 13850  //
 13851  // API parameter values that are decorated as "sensitive" in the API will not
 13852  // be included in the string output. The member name will be present, but the
 13853  // value will be replaced with "sensitive".
 13854  func (s AdminInitiateAuthOutput) GoString() string {
 13855  	return s.String()
 13856  }
 13857  
 13858  // SetAuthenticationResult sets the AuthenticationResult field's value.
 13859  func (s *AdminInitiateAuthOutput) SetAuthenticationResult(v *AuthenticationResultType) *AdminInitiateAuthOutput {
 13860  	s.AuthenticationResult = v
 13861  	return s
 13862  }
 13863  
 13864  // SetChallengeName sets the ChallengeName field's value.
 13865  func (s *AdminInitiateAuthOutput) SetChallengeName(v string) *AdminInitiateAuthOutput {
 13866  	s.ChallengeName = &v
 13867  	return s
 13868  }
 13869  
 13870  // SetChallengeParameters sets the ChallengeParameters field's value.
 13871  func (s *AdminInitiateAuthOutput) SetChallengeParameters(v map[string]*string) *AdminInitiateAuthOutput {
 13872  	s.ChallengeParameters = v
 13873  	return s
 13874  }
 13875  
 13876  // SetSession sets the Session field's value.
 13877  func (s *AdminInitiateAuthOutput) SetSession(v string) *AdminInitiateAuthOutput {
 13878  	s.Session = &v
 13879  	return s
 13880  }
 13881  
 13882  type AdminLinkProviderForUserInput struct {
 13883  	_ struct{} `type:"structure"`
 13884  
 13885  	// The existing user in the user pool to be linked to the external identity
 13886  	// provider user account. Can be a native (Username + Password) Cognito User
 13887  	// Pools user or a federated user (for example, a SAML or Facebook user). If
 13888  	// the user doesn't exist, an exception is thrown. This is the user that is
 13889  	// returned when the new user (with the linked identity provider attribute)
 13890  	// signs in.
 13891  	//
 13892  	// For a native username + password user, the ProviderAttributeValue for the
 13893  	// DestinationUser should be the username in the user pool. For a federated
 13894  	// user, it should be the provider-specific user_id.
 13895  	//
 13896  	// The ProviderAttributeName of the DestinationUser is ignored.
 13897  	//
 13898  	// The ProviderName should be set to Cognito for users in Cognito user pools.
 13899  	//
 13900  	// DestinationUser is a required field
 13901  	DestinationUser *ProviderUserIdentifierType `type:"structure" required:"true"`
 13902  
 13903  	// An external identity provider account for a user who does not currently exist
 13904  	// yet in the user pool. This user must be a federated user (for example, a
 13905  	// SAML or Facebook user), not another native user.
 13906  	//
 13907  	// If the SourceUser is a federated social identity provider user (Facebook,
 13908  	// Google, or Login with Amazon), you must set the ProviderAttributeName to
 13909  	// Cognito_Subject. For social identity providers, the ProviderName will be
 13910  	// Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse
 13911  	// the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id,
 13912  	// respectively. The ProviderAttributeValue for the user must be the same value
 13913  	// as the id, sub, or user_id value found in the social identity provider token.
 13914  	//
 13915  	// For SAML, the ProviderAttributeName can be any value that matches a claim
 13916  	// in the SAML assertion. If you wish to link SAML users based on the subject
 13917  	// of the SAML assertion, you should map the subject to a claim through the
 13918  	// SAML identity provider and submit that claim name as the ProviderAttributeName.
 13919  	// If you set ProviderAttributeName to Cognito_Subject, Cognito will automatically
 13920  	// parse the default unique identifier found in the subject from the SAML token.
 13921  	//
 13922  	// SourceUser is a required field
 13923  	SourceUser *ProviderUserIdentifierType `type:"structure" required:"true"`
 13924  
 13925  	// The user pool ID for the user pool.
 13926  	//
 13927  	// UserPoolId is a required field
 13928  	UserPoolId *string `type:"string" required:"true"`
 13929  }
 13930  
 13931  // String returns the string representation.
 13932  //
 13933  // API parameter values that are decorated as "sensitive" in the API will not
 13934  // be included in the string output. The member name will be present, but the
 13935  // value will be replaced with "sensitive".
 13936  func (s AdminLinkProviderForUserInput) String() string {
 13937  	return awsutil.Prettify(s)
 13938  }
 13939  
 13940  // GoString returns the string representation.
 13941  //
 13942  // API parameter values that are decorated as "sensitive" in the API will not
 13943  // be included in the string output. The member name will be present, but the
 13944  // value will be replaced with "sensitive".
 13945  func (s AdminLinkProviderForUserInput) GoString() string {
 13946  	return s.String()
 13947  }
 13948  
 13949  // Validate inspects the fields of the type to determine if they are valid.
 13950  func (s *AdminLinkProviderForUserInput) Validate() error {
 13951  	invalidParams := request.ErrInvalidParams{Context: "AdminLinkProviderForUserInput"}
 13952  	if s.DestinationUser == nil {
 13953  		invalidParams.Add(request.NewErrParamRequired("DestinationUser"))
 13954  	}
 13955  	if s.SourceUser == nil {
 13956  		invalidParams.Add(request.NewErrParamRequired("SourceUser"))
 13957  	}
 13958  	if s.UserPoolId == nil {
 13959  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 13960  	}
 13961  	if s.DestinationUser != nil {
 13962  		if err := s.DestinationUser.Validate(); err != nil {
 13963  			invalidParams.AddNested("DestinationUser", err.(request.ErrInvalidParams))
 13964  		}
 13965  	}
 13966  	if s.SourceUser != nil {
 13967  		if err := s.SourceUser.Validate(); err != nil {
 13968  			invalidParams.AddNested("SourceUser", err.(request.ErrInvalidParams))
 13969  		}
 13970  	}
 13971  
 13972  	if invalidParams.Len() > 0 {
 13973  		return invalidParams
 13974  	}
 13975  	return nil
 13976  }
 13977  
 13978  // SetDestinationUser sets the DestinationUser field's value.
 13979  func (s *AdminLinkProviderForUserInput) SetDestinationUser(v *ProviderUserIdentifierType) *AdminLinkProviderForUserInput {
 13980  	s.DestinationUser = v
 13981  	return s
 13982  }
 13983  
 13984  // SetSourceUser sets the SourceUser field's value.
 13985  func (s *AdminLinkProviderForUserInput) SetSourceUser(v *ProviderUserIdentifierType) *AdminLinkProviderForUserInput {
 13986  	s.SourceUser = v
 13987  	return s
 13988  }
 13989  
 13990  // SetUserPoolId sets the UserPoolId field's value.
 13991  func (s *AdminLinkProviderForUserInput) SetUserPoolId(v string) *AdminLinkProviderForUserInput {
 13992  	s.UserPoolId = &v
 13993  	return s
 13994  }
 13995  
 13996  type AdminLinkProviderForUserOutput struct {
 13997  	_ struct{} `type:"structure"`
 13998  }
 13999  
 14000  // String returns the string representation.
 14001  //
 14002  // API parameter values that are decorated as "sensitive" in the API will not
 14003  // be included in the string output. The member name will be present, but the
 14004  // value will be replaced with "sensitive".
 14005  func (s AdminLinkProviderForUserOutput) String() string {
 14006  	return awsutil.Prettify(s)
 14007  }
 14008  
 14009  // GoString returns the string representation.
 14010  //
 14011  // API parameter values that are decorated as "sensitive" in the API will not
 14012  // be included in the string output. The member name will be present, but the
 14013  // value will be replaced with "sensitive".
 14014  func (s AdminLinkProviderForUserOutput) GoString() string {
 14015  	return s.String()
 14016  }
 14017  
 14018  // Represents the request to list devices, as an administrator.
 14019  type AdminListDevicesInput struct {
 14020  	_ struct{} `type:"structure"`
 14021  
 14022  	// The limit of the devices request.
 14023  	Limit *int64 `type:"integer"`
 14024  
 14025  	// The pagination token.
 14026  	PaginationToken *string `min:"1" type:"string"`
 14027  
 14028  	// The user pool ID.
 14029  	//
 14030  	// UserPoolId is a required field
 14031  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14032  
 14033  	// The user name.
 14034  	//
 14035  	// Username is a sensitive parameter and its value will be
 14036  	// replaced with "sensitive" in string returned by AdminListDevicesInput's
 14037  	// String and GoString methods.
 14038  	//
 14039  	// Username is a required field
 14040  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14041  }
 14042  
 14043  // String returns the string representation.
 14044  //
 14045  // API parameter values that are decorated as "sensitive" in the API will not
 14046  // be included in the string output. The member name will be present, but the
 14047  // value will be replaced with "sensitive".
 14048  func (s AdminListDevicesInput) String() string {
 14049  	return awsutil.Prettify(s)
 14050  }
 14051  
 14052  // GoString returns the string representation.
 14053  //
 14054  // API parameter values that are decorated as "sensitive" in the API will not
 14055  // be included in the string output. The member name will be present, but the
 14056  // value will be replaced with "sensitive".
 14057  func (s AdminListDevicesInput) GoString() string {
 14058  	return s.String()
 14059  }
 14060  
 14061  // Validate inspects the fields of the type to determine if they are valid.
 14062  func (s *AdminListDevicesInput) Validate() error {
 14063  	invalidParams := request.ErrInvalidParams{Context: "AdminListDevicesInput"}
 14064  	if s.PaginationToken != nil && len(*s.PaginationToken) < 1 {
 14065  		invalidParams.Add(request.NewErrParamMinLen("PaginationToken", 1))
 14066  	}
 14067  	if s.UserPoolId == nil {
 14068  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14069  	}
 14070  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14071  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14072  	}
 14073  	if s.Username == nil {
 14074  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14075  	}
 14076  	if s.Username != nil && len(*s.Username) < 1 {
 14077  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14078  	}
 14079  
 14080  	if invalidParams.Len() > 0 {
 14081  		return invalidParams
 14082  	}
 14083  	return nil
 14084  }
 14085  
 14086  // SetLimit sets the Limit field's value.
 14087  func (s *AdminListDevicesInput) SetLimit(v int64) *AdminListDevicesInput {
 14088  	s.Limit = &v
 14089  	return s
 14090  }
 14091  
 14092  // SetPaginationToken sets the PaginationToken field's value.
 14093  func (s *AdminListDevicesInput) SetPaginationToken(v string) *AdminListDevicesInput {
 14094  	s.PaginationToken = &v
 14095  	return s
 14096  }
 14097  
 14098  // SetUserPoolId sets the UserPoolId field's value.
 14099  func (s *AdminListDevicesInput) SetUserPoolId(v string) *AdminListDevicesInput {
 14100  	s.UserPoolId = &v
 14101  	return s
 14102  }
 14103  
 14104  // SetUsername sets the Username field's value.
 14105  func (s *AdminListDevicesInput) SetUsername(v string) *AdminListDevicesInput {
 14106  	s.Username = &v
 14107  	return s
 14108  }
 14109  
 14110  // Lists the device's response, as an administrator.
 14111  type AdminListDevicesOutput struct {
 14112  	_ struct{} `type:"structure"`
 14113  
 14114  	// The devices in the list of devices response.
 14115  	Devices []*DeviceType `type:"list"`
 14116  
 14117  	// The pagination token.
 14118  	PaginationToken *string `min:"1" type:"string"`
 14119  }
 14120  
 14121  // String returns the string representation.
 14122  //
 14123  // API parameter values that are decorated as "sensitive" in the API will not
 14124  // be included in the string output. The member name will be present, but the
 14125  // value will be replaced with "sensitive".
 14126  func (s AdminListDevicesOutput) String() string {
 14127  	return awsutil.Prettify(s)
 14128  }
 14129  
 14130  // GoString returns the string representation.
 14131  //
 14132  // API parameter values that are decorated as "sensitive" in the API will not
 14133  // be included in the string output. The member name will be present, but the
 14134  // value will be replaced with "sensitive".
 14135  func (s AdminListDevicesOutput) GoString() string {
 14136  	return s.String()
 14137  }
 14138  
 14139  // SetDevices sets the Devices field's value.
 14140  func (s *AdminListDevicesOutput) SetDevices(v []*DeviceType) *AdminListDevicesOutput {
 14141  	s.Devices = v
 14142  	return s
 14143  }
 14144  
 14145  // SetPaginationToken sets the PaginationToken field's value.
 14146  func (s *AdminListDevicesOutput) SetPaginationToken(v string) *AdminListDevicesOutput {
 14147  	s.PaginationToken = &v
 14148  	return s
 14149  }
 14150  
 14151  type AdminListGroupsForUserInput struct {
 14152  	_ struct{} `type:"structure"`
 14153  
 14154  	// The limit of the request to list groups.
 14155  	Limit *int64 `type:"integer"`
 14156  
 14157  	// An identifier that was returned from the previous call to this operation,
 14158  	// which can be used to return the next set of items in the list.
 14159  	NextToken *string `min:"1" type:"string"`
 14160  
 14161  	// The user pool ID for the user pool.
 14162  	//
 14163  	// UserPoolId is a required field
 14164  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14165  
 14166  	// The username for the user.
 14167  	//
 14168  	// Username is a sensitive parameter and its value will be
 14169  	// replaced with "sensitive" in string returned by AdminListGroupsForUserInput's
 14170  	// String and GoString methods.
 14171  	//
 14172  	// Username is a required field
 14173  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14174  }
 14175  
 14176  // String returns the string representation.
 14177  //
 14178  // API parameter values that are decorated as "sensitive" in the API will not
 14179  // be included in the string output. The member name will be present, but the
 14180  // value will be replaced with "sensitive".
 14181  func (s AdminListGroupsForUserInput) String() string {
 14182  	return awsutil.Prettify(s)
 14183  }
 14184  
 14185  // GoString returns the string representation.
 14186  //
 14187  // API parameter values that are decorated as "sensitive" in the API will not
 14188  // be included in the string output. The member name will be present, but the
 14189  // value will be replaced with "sensitive".
 14190  func (s AdminListGroupsForUserInput) GoString() string {
 14191  	return s.String()
 14192  }
 14193  
 14194  // Validate inspects the fields of the type to determine if they are valid.
 14195  func (s *AdminListGroupsForUserInput) Validate() error {
 14196  	invalidParams := request.ErrInvalidParams{Context: "AdminListGroupsForUserInput"}
 14197  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14198  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14199  	}
 14200  	if s.UserPoolId == nil {
 14201  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14202  	}
 14203  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14204  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14205  	}
 14206  	if s.Username == nil {
 14207  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14208  	}
 14209  	if s.Username != nil && len(*s.Username) < 1 {
 14210  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14211  	}
 14212  
 14213  	if invalidParams.Len() > 0 {
 14214  		return invalidParams
 14215  	}
 14216  	return nil
 14217  }
 14218  
 14219  // SetLimit sets the Limit field's value.
 14220  func (s *AdminListGroupsForUserInput) SetLimit(v int64) *AdminListGroupsForUserInput {
 14221  	s.Limit = &v
 14222  	return s
 14223  }
 14224  
 14225  // SetNextToken sets the NextToken field's value.
 14226  func (s *AdminListGroupsForUserInput) SetNextToken(v string) *AdminListGroupsForUserInput {
 14227  	s.NextToken = &v
 14228  	return s
 14229  }
 14230  
 14231  // SetUserPoolId sets the UserPoolId field's value.
 14232  func (s *AdminListGroupsForUserInput) SetUserPoolId(v string) *AdminListGroupsForUserInput {
 14233  	s.UserPoolId = &v
 14234  	return s
 14235  }
 14236  
 14237  // SetUsername sets the Username field's value.
 14238  func (s *AdminListGroupsForUserInput) SetUsername(v string) *AdminListGroupsForUserInput {
 14239  	s.Username = &v
 14240  	return s
 14241  }
 14242  
 14243  type AdminListGroupsForUserOutput struct {
 14244  	_ struct{} `type:"structure"`
 14245  
 14246  	// The groups that the user belongs to.
 14247  	Groups []*GroupType `type:"list"`
 14248  
 14249  	// An identifier that was returned from the previous call to this operation,
 14250  	// which can be used to return the next set of items in the list.
 14251  	NextToken *string `min:"1" type:"string"`
 14252  }
 14253  
 14254  // String returns the string representation.
 14255  //
 14256  // API parameter values that are decorated as "sensitive" in the API will not
 14257  // be included in the string output. The member name will be present, but the
 14258  // value will be replaced with "sensitive".
 14259  func (s AdminListGroupsForUserOutput) String() string {
 14260  	return awsutil.Prettify(s)
 14261  }
 14262  
 14263  // GoString returns the string representation.
 14264  //
 14265  // API parameter values that are decorated as "sensitive" in the API will not
 14266  // be included in the string output. The member name will be present, but the
 14267  // value will be replaced with "sensitive".
 14268  func (s AdminListGroupsForUserOutput) GoString() string {
 14269  	return s.String()
 14270  }
 14271  
 14272  // SetGroups sets the Groups field's value.
 14273  func (s *AdminListGroupsForUserOutput) SetGroups(v []*GroupType) *AdminListGroupsForUserOutput {
 14274  	s.Groups = v
 14275  	return s
 14276  }
 14277  
 14278  // SetNextToken sets the NextToken field's value.
 14279  func (s *AdminListGroupsForUserOutput) SetNextToken(v string) *AdminListGroupsForUserOutput {
 14280  	s.NextToken = &v
 14281  	return s
 14282  }
 14283  
 14284  type AdminListUserAuthEventsInput struct {
 14285  	_ struct{} `type:"structure"`
 14286  
 14287  	// The maximum number of authentication events to return.
 14288  	MaxResults *int64 `type:"integer"`
 14289  
 14290  	// A pagination token.
 14291  	NextToken *string `min:"1" type:"string"`
 14292  
 14293  	// The user pool ID.
 14294  	//
 14295  	// UserPoolId is a required field
 14296  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14297  
 14298  	// The user pool username or an alias.
 14299  	//
 14300  	// Username is a sensitive parameter and its value will be
 14301  	// replaced with "sensitive" in string returned by AdminListUserAuthEventsInput's
 14302  	// String and GoString methods.
 14303  	//
 14304  	// Username is a required field
 14305  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14306  }
 14307  
 14308  // String returns the string representation.
 14309  //
 14310  // API parameter values that are decorated as "sensitive" in the API will not
 14311  // be included in the string output. The member name will be present, but the
 14312  // value will be replaced with "sensitive".
 14313  func (s AdminListUserAuthEventsInput) String() string {
 14314  	return awsutil.Prettify(s)
 14315  }
 14316  
 14317  // GoString returns the string representation.
 14318  //
 14319  // API parameter values that are decorated as "sensitive" in the API will not
 14320  // be included in the string output. The member name will be present, but the
 14321  // value will be replaced with "sensitive".
 14322  func (s AdminListUserAuthEventsInput) GoString() string {
 14323  	return s.String()
 14324  }
 14325  
 14326  // Validate inspects the fields of the type to determine if they are valid.
 14327  func (s *AdminListUserAuthEventsInput) Validate() error {
 14328  	invalidParams := request.ErrInvalidParams{Context: "AdminListUserAuthEventsInput"}
 14329  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14330  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14331  	}
 14332  	if s.UserPoolId == nil {
 14333  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14334  	}
 14335  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14336  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14337  	}
 14338  	if s.Username == nil {
 14339  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14340  	}
 14341  	if s.Username != nil && len(*s.Username) < 1 {
 14342  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14343  	}
 14344  
 14345  	if invalidParams.Len() > 0 {
 14346  		return invalidParams
 14347  	}
 14348  	return nil
 14349  }
 14350  
 14351  // SetMaxResults sets the MaxResults field's value.
 14352  func (s *AdminListUserAuthEventsInput) SetMaxResults(v int64) *AdminListUserAuthEventsInput {
 14353  	s.MaxResults = &v
 14354  	return s
 14355  }
 14356  
 14357  // SetNextToken sets the NextToken field's value.
 14358  func (s *AdminListUserAuthEventsInput) SetNextToken(v string) *AdminListUserAuthEventsInput {
 14359  	s.NextToken = &v
 14360  	return s
 14361  }
 14362  
 14363  // SetUserPoolId sets the UserPoolId field's value.
 14364  func (s *AdminListUserAuthEventsInput) SetUserPoolId(v string) *AdminListUserAuthEventsInput {
 14365  	s.UserPoolId = &v
 14366  	return s
 14367  }
 14368  
 14369  // SetUsername sets the Username field's value.
 14370  func (s *AdminListUserAuthEventsInput) SetUsername(v string) *AdminListUserAuthEventsInput {
 14371  	s.Username = &v
 14372  	return s
 14373  }
 14374  
 14375  type AdminListUserAuthEventsOutput struct {
 14376  	_ struct{} `type:"structure"`
 14377  
 14378  	// The response object. It includes the EventID, EventType, CreationDate, EventRisk,
 14379  	// and EventResponse.
 14380  	AuthEvents []*AuthEventType `type:"list"`
 14381  
 14382  	// A pagination token.
 14383  	NextToken *string `min:"1" type:"string"`
 14384  }
 14385  
 14386  // String returns the string representation.
 14387  //
 14388  // API parameter values that are decorated as "sensitive" in the API will not
 14389  // be included in the string output. The member name will be present, but the
 14390  // value will be replaced with "sensitive".
 14391  func (s AdminListUserAuthEventsOutput) String() string {
 14392  	return awsutil.Prettify(s)
 14393  }
 14394  
 14395  // GoString returns the string representation.
 14396  //
 14397  // API parameter values that are decorated as "sensitive" in the API will not
 14398  // be included in the string output. The member name will be present, but the
 14399  // value will be replaced with "sensitive".
 14400  func (s AdminListUserAuthEventsOutput) GoString() string {
 14401  	return s.String()
 14402  }
 14403  
 14404  // SetAuthEvents sets the AuthEvents field's value.
 14405  func (s *AdminListUserAuthEventsOutput) SetAuthEvents(v []*AuthEventType) *AdminListUserAuthEventsOutput {
 14406  	s.AuthEvents = v
 14407  	return s
 14408  }
 14409  
 14410  // SetNextToken sets the NextToken field's value.
 14411  func (s *AdminListUserAuthEventsOutput) SetNextToken(v string) *AdminListUserAuthEventsOutput {
 14412  	s.NextToken = &v
 14413  	return s
 14414  }
 14415  
 14416  type AdminRemoveUserFromGroupInput struct {
 14417  	_ struct{} `type:"structure"`
 14418  
 14419  	// The group name.
 14420  	//
 14421  	// GroupName is a required field
 14422  	GroupName *string `min:"1" type:"string" required:"true"`
 14423  
 14424  	// The user pool ID for the user pool.
 14425  	//
 14426  	// UserPoolId is a required field
 14427  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14428  
 14429  	// The username for the user.
 14430  	//
 14431  	// Username is a sensitive parameter and its value will be
 14432  	// replaced with "sensitive" in string returned by AdminRemoveUserFromGroupInput's
 14433  	// String and GoString methods.
 14434  	//
 14435  	// Username is a required field
 14436  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14437  }
 14438  
 14439  // String returns the string representation.
 14440  //
 14441  // API parameter values that are decorated as "sensitive" in the API will not
 14442  // be included in the string output. The member name will be present, but the
 14443  // value will be replaced with "sensitive".
 14444  func (s AdminRemoveUserFromGroupInput) String() string {
 14445  	return awsutil.Prettify(s)
 14446  }
 14447  
 14448  // GoString returns the string representation.
 14449  //
 14450  // API parameter values that are decorated as "sensitive" in the API will not
 14451  // be included in the string output. The member name will be present, but the
 14452  // value will be replaced with "sensitive".
 14453  func (s AdminRemoveUserFromGroupInput) GoString() string {
 14454  	return s.String()
 14455  }
 14456  
 14457  // Validate inspects the fields of the type to determine if they are valid.
 14458  func (s *AdminRemoveUserFromGroupInput) Validate() error {
 14459  	invalidParams := request.ErrInvalidParams{Context: "AdminRemoveUserFromGroupInput"}
 14460  	if s.GroupName == nil {
 14461  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 14462  	}
 14463  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 14464  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 14465  	}
 14466  	if s.UserPoolId == nil {
 14467  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14468  	}
 14469  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14470  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14471  	}
 14472  	if s.Username == nil {
 14473  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14474  	}
 14475  	if s.Username != nil && len(*s.Username) < 1 {
 14476  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14477  	}
 14478  
 14479  	if invalidParams.Len() > 0 {
 14480  		return invalidParams
 14481  	}
 14482  	return nil
 14483  }
 14484  
 14485  // SetGroupName sets the GroupName field's value.
 14486  func (s *AdminRemoveUserFromGroupInput) SetGroupName(v string) *AdminRemoveUserFromGroupInput {
 14487  	s.GroupName = &v
 14488  	return s
 14489  }
 14490  
 14491  // SetUserPoolId sets the UserPoolId field's value.
 14492  func (s *AdminRemoveUserFromGroupInput) SetUserPoolId(v string) *AdminRemoveUserFromGroupInput {
 14493  	s.UserPoolId = &v
 14494  	return s
 14495  }
 14496  
 14497  // SetUsername sets the Username field's value.
 14498  func (s *AdminRemoveUserFromGroupInput) SetUsername(v string) *AdminRemoveUserFromGroupInput {
 14499  	s.Username = &v
 14500  	return s
 14501  }
 14502  
 14503  type AdminRemoveUserFromGroupOutput struct {
 14504  	_ struct{} `type:"structure"`
 14505  }
 14506  
 14507  // String returns the string representation.
 14508  //
 14509  // API parameter values that are decorated as "sensitive" in the API will not
 14510  // be included in the string output. The member name will be present, but the
 14511  // value will be replaced with "sensitive".
 14512  func (s AdminRemoveUserFromGroupOutput) String() string {
 14513  	return awsutil.Prettify(s)
 14514  }
 14515  
 14516  // GoString returns the string representation.
 14517  //
 14518  // API parameter values that are decorated as "sensitive" in the API will not
 14519  // be included in the string output. The member name will be present, but the
 14520  // value will be replaced with "sensitive".
 14521  func (s AdminRemoveUserFromGroupOutput) GoString() string {
 14522  	return s.String()
 14523  }
 14524  
 14525  // Represents the request to reset a user's password as an administrator.
 14526  type AdminResetUserPasswordInput struct {
 14527  	_ struct{} `type:"structure"`
 14528  
 14529  	// A map of custom key-value pairs that you can provide as input for any custom
 14530  	// workflows that this action triggers.
 14531  	//
 14532  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 14533  	// When you use the AdminResetUserPassword API action, Amazon Cognito invokes
 14534  	// the function that is assigned to the custom message trigger. When Amazon
 14535  	// Cognito invokes this function, it passes a JSON payload, which the function
 14536  	// receives as input. This payload contains a clientMetadata attribute, which
 14537  	// provides the data that you assigned to the ClientMetadata parameter in your
 14538  	// AdminResetUserPassword request. In your function code in Lambda, you can
 14539  	// process the clientMetadata value to enhance your workflow for your specific
 14540  	// needs.
 14541  	//
 14542  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 14543  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 14544  	// in the Amazon Cognito Developer Guide.
 14545  	//
 14546  	// Take the following limitations into consideration when you use the ClientMetadata
 14547  	// parameter:
 14548  	//
 14549  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 14550  	//    available only to Lambda triggers that are assigned to a user pool to
 14551  	//    support custom workflows. If your user pool configuration does not include
 14552  	//    triggers, the ClientMetadata parameter serves no purpose.
 14553  	//
 14554  	//    * Amazon Cognito does not validate the ClientMetadata value.
 14555  	//
 14556  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 14557  	//    use it to provide sensitive information.
 14558  	ClientMetadata map[string]*string `type:"map"`
 14559  
 14560  	// The user pool ID for the user pool where you want to reset the user's password.
 14561  	//
 14562  	// UserPoolId is a required field
 14563  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14564  
 14565  	// The user name of the user whose password you wish to reset.
 14566  	//
 14567  	// Username is a sensitive parameter and its value will be
 14568  	// replaced with "sensitive" in string returned by AdminResetUserPasswordInput's
 14569  	// String and GoString methods.
 14570  	//
 14571  	// Username is a required field
 14572  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14573  }
 14574  
 14575  // String returns the string representation.
 14576  //
 14577  // API parameter values that are decorated as "sensitive" in the API will not
 14578  // be included in the string output. The member name will be present, but the
 14579  // value will be replaced with "sensitive".
 14580  func (s AdminResetUserPasswordInput) String() string {
 14581  	return awsutil.Prettify(s)
 14582  }
 14583  
 14584  // GoString returns the string representation.
 14585  //
 14586  // API parameter values that are decorated as "sensitive" in the API will not
 14587  // be included in the string output. The member name will be present, but the
 14588  // value will be replaced with "sensitive".
 14589  func (s AdminResetUserPasswordInput) GoString() string {
 14590  	return s.String()
 14591  }
 14592  
 14593  // Validate inspects the fields of the type to determine if they are valid.
 14594  func (s *AdminResetUserPasswordInput) Validate() error {
 14595  	invalidParams := request.ErrInvalidParams{Context: "AdminResetUserPasswordInput"}
 14596  	if s.UserPoolId == nil {
 14597  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14598  	}
 14599  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14600  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14601  	}
 14602  	if s.Username == nil {
 14603  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14604  	}
 14605  	if s.Username != nil && len(*s.Username) < 1 {
 14606  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14607  	}
 14608  
 14609  	if invalidParams.Len() > 0 {
 14610  		return invalidParams
 14611  	}
 14612  	return nil
 14613  }
 14614  
 14615  // SetClientMetadata sets the ClientMetadata field's value.
 14616  func (s *AdminResetUserPasswordInput) SetClientMetadata(v map[string]*string) *AdminResetUserPasswordInput {
 14617  	s.ClientMetadata = v
 14618  	return s
 14619  }
 14620  
 14621  // SetUserPoolId sets the UserPoolId field's value.
 14622  func (s *AdminResetUserPasswordInput) SetUserPoolId(v string) *AdminResetUserPasswordInput {
 14623  	s.UserPoolId = &v
 14624  	return s
 14625  }
 14626  
 14627  // SetUsername sets the Username field's value.
 14628  func (s *AdminResetUserPasswordInput) SetUsername(v string) *AdminResetUserPasswordInput {
 14629  	s.Username = &v
 14630  	return s
 14631  }
 14632  
 14633  // Represents the response from the server to reset a user password as an administrator.
 14634  type AdminResetUserPasswordOutput struct {
 14635  	_ struct{} `type:"structure"`
 14636  }
 14637  
 14638  // String returns the string representation.
 14639  //
 14640  // API parameter values that are decorated as "sensitive" in the API will not
 14641  // be included in the string output. The member name will be present, but the
 14642  // value will be replaced with "sensitive".
 14643  func (s AdminResetUserPasswordOutput) String() string {
 14644  	return awsutil.Prettify(s)
 14645  }
 14646  
 14647  // GoString returns the string representation.
 14648  //
 14649  // API parameter values that are decorated as "sensitive" in the API will not
 14650  // be included in the string output. The member name will be present, but the
 14651  // value will be replaced with "sensitive".
 14652  func (s AdminResetUserPasswordOutput) GoString() string {
 14653  	return s.String()
 14654  }
 14655  
 14656  // The request to respond to the authentication challenge, as an administrator.
 14657  type AdminRespondToAuthChallengeInput struct {
 14658  	_ struct{} `type:"structure"`
 14659  
 14660  	// The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
 14661  	// calls.
 14662  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 14663  
 14664  	// The challenge name. For more information, see AdminInitiateAuth (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html).
 14665  	//
 14666  	// ChallengeName is a required field
 14667  	ChallengeName *string `type:"string" required:"true" enum:"ChallengeNameType"`
 14668  
 14669  	// The challenge responses. These are inputs corresponding to the value of ChallengeName,
 14670  	// for example:
 14671  	//
 14672  	//    * SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured
 14673  	//    with client secret).
 14674  	//
 14675  	//    * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK,
 14676  	//    TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client
 14677  	//    secret).
 14678  	//
 14679  	//    * ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is
 14680  	//    configured with client secret).
 14681  	//
 14682  	//    * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes,
 14683  	//    USERNAME, SECRET_HASH (if app client is configured with client secret).
 14684  	//
 14685  	//    * MFA_SETUP requires USERNAME, plus you need to use the session value
 14686  	//    returned by VerifySoftwareToken in the Session parameter.
 14687  	//
 14688  	// The value of the USERNAME attribute must be the user's actual username, not
 14689  	// an alias (such as email address or phone number). To make this easier, the
 14690  	// AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP
 14691  	// attribute, even if you specified an alias in your call to AdminInitiateAuth.
 14692  	ChallengeResponses map[string]*string `type:"map"`
 14693  
 14694  	// The app client ID.
 14695  	//
 14696  	// ClientId is a sensitive parameter and its value will be
 14697  	// replaced with "sensitive" in string returned by AdminRespondToAuthChallengeInput's
 14698  	// String and GoString methods.
 14699  	//
 14700  	// ClientId is a required field
 14701  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14702  
 14703  	// A map of custom key-value pairs that you can provide as input for any custom
 14704  	// workflows that this action triggers.
 14705  	//
 14706  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 14707  	// When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes
 14708  	// any functions that are assigned to the following triggers: pre sign-up, custom
 14709  	// message, post authentication, user migration, pre token generation, define
 14710  	// auth challenge, create auth challenge, and verify auth challenge response.
 14711  	// When Amazon Cognito invokes any of these functions, it passes a JSON payload,
 14712  	// which the function receives as input. This payload contains a clientMetadata
 14713  	// attribute, which provides the data that you assigned to the ClientMetadata
 14714  	// parameter in your AdminRespondToAuthChallenge request. In your function code
 14715  	// in Lambda, you can process the clientMetadata value to enhance your workflow
 14716  	// for your specific needs.
 14717  	//
 14718  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 14719  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 14720  	// in the Amazon Cognito Developer Guide.
 14721  	//
 14722  	// Take the following limitations into consideration when you use the ClientMetadata
 14723  	// parameter:
 14724  	//
 14725  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 14726  	//    available only to Lambda triggers that are assigned to a user pool to
 14727  	//    support custom workflows. If your user pool configuration does not include
 14728  	//    triggers, the ClientMetadata parameter serves no purpose.
 14729  	//
 14730  	//    * Amazon Cognito does not validate the ClientMetadata value.
 14731  	//
 14732  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 14733  	//    use it to provide sensitive information.
 14734  	ClientMetadata map[string]*string `type:"map"`
 14735  
 14736  	// Contextual data such as the user's device fingerprint, IP address, or location
 14737  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 14738  	// security.
 14739  	ContextData *ContextDataType `type:"structure"`
 14740  
 14741  	// The session which should be passed both ways in challenge-response calls
 14742  	// to the service. If InitiateAuth or RespondToAuthChallenge API call determines
 14743  	// that the caller needs to go through another challenge, they return a session
 14744  	// with other challenge parameters. This session should be passed as it is to
 14745  	// the next RespondToAuthChallenge API call.
 14746  	Session *string `min:"20" type:"string"`
 14747  
 14748  	// The ID of the Amazon Cognito user pool.
 14749  	//
 14750  	// UserPoolId is a required field
 14751  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14752  }
 14753  
 14754  // String returns the string representation.
 14755  //
 14756  // API parameter values that are decorated as "sensitive" in the API will not
 14757  // be included in the string output. The member name will be present, but the
 14758  // value will be replaced with "sensitive".
 14759  func (s AdminRespondToAuthChallengeInput) String() string {
 14760  	return awsutil.Prettify(s)
 14761  }
 14762  
 14763  // GoString returns the string representation.
 14764  //
 14765  // API parameter values that are decorated as "sensitive" in the API will not
 14766  // be included in the string output. The member name will be present, but the
 14767  // value will be replaced with "sensitive".
 14768  func (s AdminRespondToAuthChallengeInput) GoString() string {
 14769  	return s.String()
 14770  }
 14771  
 14772  // Validate inspects the fields of the type to determine if they are valid.
 14773  func (s *AdminRespondToAuthChallengeInput) Validate() error {
 14774  	invalidParams := request.ErrInvalidParams{Context: "AdminRespondToAuthChallengeInput"}
 14775  	if s.ChallengeName == nil {
 14776  		invalidParams.Add(request.NewErrParamRequired("ChallengeName"))
 14777  	}
 14778  	if s.ClientId == nil {
 14779  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 14780  	}
 14781  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 14782  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 14783  	}
 14784  	if s.Session != nil && len(*s.Session) < 20 {
 14785  		invalidParams.Add(request.NewErrParamMinLen("Session", 20))
 14786  	}
 14787  	if s.UserPoolId == nil {
 14788  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14789  	}
 14790  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14791  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14792  	}
 14793  	if s.ContextData != nil {
 14794  		if err := s.ContextData.Validate(); err != nil {
 14795  			invalidParams.AddNested("ContextData", err.(request.ErrInvalidParams))
 14796  		}
 14797  	}
 14798  
 14799  	if invalidParams.Len() > 0 {
 14800  		return invalidParams
 14801  	}
 14802  	return nil
 14803  }
 14804  
 14805  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 14806  func (s *AdminRespondToAuthChallengeInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *AdminRespondToAuthChallengeInput {
 14807  	s.AnalyticsMetadata = v
 14808  	return s
 14809  }
 14810  
 14811  // SetChallengeName sets the ChallengeName field's value.
 14812  func (s *AdminRespondToAuthChallengeInput) SetChallengeName(v string) *AdminRespondToAuthChallengeInput {
 14813  	s.ChallengeName = &v
 14814  	return s
 14815  }
 14816  
 14817  // SetChallengeResponses sets the ChallengeResponses field's value.
 14818  func (s *AdminRespondToAuthChallengeInput) SetChallengeResponses(v map[string]*string) *AdminRespondToAuthChallengeInput {
 14819  	s.ChallengeResponses = v
 14820  	return s
 14821  }
 14822  
 14823  // SetClientId sets the ClientId field's value.
 14824  func (s *AdminRespondToAuthChallengeInput) SetClientId(v string) *AdminRespondToAuthChallengeInput {
 14825  	s.ClientId = &v
 14826  	return s
 14827  }
 14828  
 14829  // SetClientMetadata sets the ClientMetadata field's value.
 14830  func (s *AdminRespondToAuthChallengeInput) SetClientMetadata(v map[string]*string) *AdminRespondToAuthChallengeInput {
 14831  	s.ClientMetadata = v
 14832  	return s
 14833  }
 14834  
 14835  // SetContextData sets the ContextData field's value.
 14836  func (s *AdminRespondToAuthChallengeInput) SetContextData(v *ContextDataType) *AdminRespondToAuthChallengeInput {
 14837  	s.ContextData = v
 14838  	return s
 14839  }
 14840  
 14841  // SetSession sets the Session field's value.
 14842  func (s *AdminRespondToAuthChallengeInput) SetSession(v string) *AdminRespondToAuthChallengeInput {
 14843  	s.Session = &v
 14844  	return s
 14845  }
 14846  
 14847  // SetUserPoolId sets the UserPoolId field's value.
 14848  func (s *AdminRespondToAuthChallengeInput) SetUserPoolId(v string) *AdminRespondToAuthChallengeInput {
 14849  	s.UserPoolId = &v
 14850  	return s
 14851  }
 14852  
 14853  // Responds to the authentication challenge, as an administrator.
 14854  type AdminRespondToAuthChallengeOutput struct {
 14855  	_ struct{} `type:"structure"`
 14856  
 14857  	// The result returned by the server in response to the authentication request.
 14858  	AuthenticationResult *AuthenticationResultType `type:"structure"`
 14859  
 14860  	// The name of the challenge. For more information, see AdminInitiateAuth (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html).
 14861  	ChallengeName *string `type:"string" enum:"ChallengeNameType"`
 14862  
 14863  	// The challenge parameters. For more information, see AdminInitiateAuth (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html).
 14864  	ChallengeParameters map[string]*string `type:"map"`
 14865  
 14866  	// The session which should be passed both ways in challenge-response calls
 14867  	// to the service. If the caller needs to go through another challenge, they
 14868  	// return a session with other challenge parameters. This session should be
 14869  	// passed as it is to the next RespondToAuthChallenge API call.
 14870  	Session *string `min:"20" type:"string"`
 14871  }
 14872  
 14873  // String returns the string representation.
 14874  //
 14875  // API parameter values that are decorated as "sensitive" in the API will not
 14876  // be included in the string output. The member name will be present, but the
 14877  // value will be replaced with "sensitive".
 14878  func (s AdminRespondToAuthChallengeOutput) String() string {
 14879  	return awsutil.Prettify(s)
 14880  }
 14881  
 14882  // GoString returns the string representation.
 14883  //
 14884  // API parameter values that are decorated as "sensitive" in the API will not
 14885  // be included in the string output. The member name will be present, but the
 14886  // value will be replaced with "sensitive".
 14887  func (s AdminRespondToAuthChallengeOutput) GoString() string {
 14888  	return s.String()
 14889  }
 14890  
 14891  // SetAuthenticationResult sets the AuthenticationResult field's value.
 14892  func (s *AdminRespondToAuthChallengeOutput) SetAuthenticationResult(v *AuthenticationResultType) *AdminRespondToAuthChallengeOutput {
 14893  	s.AuthenticationResult = v
 14894  	return s
 14895  }
 14896  
 14897  // SetChallengeName sets the ChallengeName field's value.
 14898  func (s *AdminRespondToAuthChallengeOutput) SetChallengeName(v string) *AdminRespondToAuthChallengeOutput {
 14899  	s.ChallengeName = &v
 14900  	return s
 14901  }
 14902  
 14903  // SetChallengeParameters sets the ChallengeParameters field's value.
 14904  func (s *AdminRespondToAuthChallengeOutput) SetChallengeParameters(v map[string]*string) *AdminRespondToAuthChallengeOutput {
 14905  	s.ChallengeParameters = v
 14906  	return s
 14907  }
 14908  
 14909  // SetSession sets the Session field's value.
 14910  func (s *AdminRespondToAuthChallengeOutput) SetSession(v string) *AdminRespondToAuthChallengeOutput {
 14911  	s.Session = &v
 14912  	return s
 14913  }
 14914  
 14915  type AdminSetUserMFAPreferenceInput struct {
 14916  	_ struct{} `type:"structure"`
 14917  
 14918  	// The SMS text message MFA settings.
 14919  	SMSMfaSettings *SMSMfaSettingsType `type:"structure"`
 14920  
 14921  	// The time-based one-time password software token MFA settings.
 14922  	SoftwareTokenMfaSettings *SoftwareTokenMfaSettingsType `type:"structure"`
 14923  
 14924  	// The user pool ID.
 14925  	//
 14926  	// UserPoolId is a required field
 14927  	UserPoolId *string `min:"1" type:"string" required:"true"`
 14928  
 14929  	// The user pool username or alias.
 14930  	//
 14931  	// Username is a sensitive parameter and its value will be
 14932  	// replaced with "sensitive" in string returned by AdminSetUserMFAPreferenceInput's
 14933  	// String and GoString methods.
 14934  	//
 14935  	// Username is a required field
 14936  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 14937  }
 14938  
 14939  // String returns the string representation.
 14940  //
 14941  // API parameter values that are decorated as "sensitive" in the API will not
 14942  // be included in the string output. The member name will be present, but the
 14943  // value will be replaced with "sensitive".
 14944  func (s AdminSetUserMFAPreferenceInput) String() string {
 14945  	return awsutil.Prettify(s)
 14946  }
 14947  
 14948  // GoString returns the string representation.
 14949  //
 14950  // API parameter values that are decorated as "sensitive" in the API will not
 14951  // be included in the string output. The member name will be present, but the
 14952  // value will be replaced with "sensitive".
 14953  func (s AdminSetUserMFAPreferenceInput) GoString() string {
 14954  	return s.String()
 14955  }
 14956  
 14957  // Validate inspects the fields of the type to determine if they are valid.
 14958  func (s *AdminSetUserMFAPreferenceInput) Validate() error {
 14959  	invalidParams := request.ErrInvalidParams{Context: "AdminSetUserMFAPreferenceInput"}
 14960  	if s.UserPoolId == nil {
 14961  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 14962  	}
 14963  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 14964  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 14965  	}
 14966  	if s.Username == nil {
 14967  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14968  	}
 14969  	if s.Username != nil && len(*s.Username) < 1 {
 14970  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14971  	}
 14972  
 14973  	if invalidParams.Len() > 0 {
 14974  		return invalidParams
 14975  	}
 14976  	return nil
 14977  }
 14978  
 14979  // SetSMSMfaSettings sets the SMSMfaSettings field's value.
 14980  func (s *AdminSetUserMFAPreferenceInput) SetSMSMfaSettings(v *SMSMfaSettingsType) *AdminSetUserMFAPreferenceInput {
 14981  	s.SMSMfaSettings = v
 14982  	return s
 14983  }
 14984  
 14985  // SetSoftwareTokenMfaSettings sets the SoftwareTokenMfaSettings field's value.
 14986  func (s *AdminSetUserMFAPreferenceInput) SetSoftwareTokenMfaSettings(v *SoftwareTokenMfaSettingsType) *AdminSetUserMFAPreferenceInput {
 14987  	s.SoftwareTokenMfaSettings = v
 14988  	return s
 14989  }
 14990  
 14991  // SetUserPoolId sets the UserPoolId field's value.
 14992  func (s *AdminSetUserMFAPreferenceInput) SetUserPoolId(v string) *AdminSetUserMFAPreferenceInput {
 14993  	s.UserPoolId = &v
 14994  	return s
 14995  }
 14996  
 14997  // SetUsername sets the Username field's value.
 14998  func (s *AdminSetUserMFAPreferenceInput) SetUsername(v string) *AdminSetUserMFAPreferenceInput {
 14999  	s.Username = &v
 15000  	return s
 15001  }
 15002  
 15003  type AdminSetUserMFAPreferenceOutput struct {
 15004  	_ struct{} `type:"structure"`
 15005  }
 15006  
 15007  // String returns the string representation.
 15008  //
 15009  // API parameter values that are decorated as "sensitive" in the API will not
 15010  // be included in the string output. The member name will be present, but the
 15011  // value will be replaced with "sensitive".
 15012  func (s AdminSetUserMFAPreferenceOutput) String() string {
 15013  	return awsutil.Prettify(s)
 15014  }
 15015  
 15016  // GoString returns the string representation.
 15017  //
 15018  // API parameter values that are decorated as "sensitive" in the API will not
 15019  // be included in the string output. The member name will be present, but the
 15020  // value will be replaced with "sensitive".
 15021  func (s AdminSetUserMFAPreferenceOutput) GoString() string {
 15022  	return s.String()
 15023  }
 15024  
 15025  type AdminSetUserPasswordInput struct {
 15026  	_ struct{} `type:"structure"`
 15027  
 15028  	// The password for the user.
 15029  	//
 15030  	// Password is a sensitive parameter and its value will be
 15031  	// replaced with "sensitive" in string returned by AdminSetUserPasswordInput's
 15032  	// String and GoString methods.
 15033  	//
 15034  	// Password is a required field
 15035  	Password *string `min:"6" type:"string" required:"true" sensitive:"true"`
 15036  
 15037  	// True if the password is permanent, False if it is temporary.
 15038  	Permanent *bool `type:"boolean"`
 15039  
 15040  	// The user pool ID for the user pool where you want to set the user's password.
 15041  	//
 15042  	// UserPoolId is a required field
 15043  	UserPoolId *string `min:"1" type:"string" required:"true"`
 15044  
 15045  	// The user name of the user whose password you wish to set.
 15046  	//
 15047  	// Username is a sensitive parameter and its value will be
 15048  	// replaced with "sensitive" in string returned by AdminSetUserPasswordInput's
 15049  	// String and GoString methods.
 15050  	//
 15051  	// Username is a required field
 15052  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15053  }
 15054  
 15055  // String returns the string representation.
 15056  //
 15057  // API parameter values that are decorated as "sensitive" in the API will not
 15058  // be included in the string output. The member name will be present, but the
 15059  // value will be replaced with "sensitive".
 15060  func (s AdminSetUserPasswordInput) String() string {
 15061  	return awsutil.Prettify(s)
 15062  }
 15063  
 15064  // GoString returns the string representation.
 15065  //
 15066  // API parameter values that are decorated as "sensitive" in the API will not
 15067  // be included in the string output. The member name will be present, but the
 15068  // value will be replaced with "sensitive".
 15069  func (s AdminSetUserPasswordInput) GoString() string {
 15070  	return s.String()
 15071  }
 15072  
 15073  // Validate inspects the fields of the type to determine if they are valid.
 15074  func (s *AdminSetUserPasswordInput) Validate() error {
 15075  	invalidParams := request.ErrInvalidParams{Context: "AdminSetUserPasswordInput"}
 15076  	if s.Password == nil {
 15077  		invalidParams.Add(request.NewErrParamRequired("Password"))
 15078  	}
 15079  	if s.Password != nil && len(*s.Password) < 6 {
 15080  		invalidParams.Add(request.NewErrParamMinLen("Password", 6))
 15081  	}
 15082  	if s.UserPoolId == nil {
 15083  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 15084  	}
 15085  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 15086  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 15087  	}
 15088  	if s.Username == nil {
 15089  		invalidParams.Add(request.NewErrParamRequired("Username"))
 15090  	}
 15091  	if s.Username != nil && len(*s.Username) < 1 {
 15092  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 15093  	}
 15094  
 15095  	if invalidParams.Len() > 0 {
 15096  		return invalidParams
 15097  	}
 15098  	return nil
 15099  }
 15100  
 15101  // SetPassword sets the Password field's value.
 15102  func (s *AdminSetUserPasswordInput) SetPassword(v string) *AdminSetUserPasswordInput {
 15103  	s.Password = &v
 15104  	return s
 15105  }
 15106  
 15107  // SetPermanent sets the Permanent field's value.
 15108  func (s *AdminSetUserPasswordInput) SetPermanent(v bool) *AdminSetUserPasswordInput {
 15109  	s.Permanent = &v
 15110  	return s
 15111  }
 15112  
 15113  // SetUserPoolId sets the UserPoolId field's value.
 15114  func (s *AdminSetUserPasswordInput) SetUserPoolId(v string) *AdminSetUserPasswordInput {
 15115  	s.UserPoolId = &v
 15116  	return s
 15117  }
 15118  
 15119  // SetUsername sets the Username field's value.
 15120  func (s *AdminSetUserPasswordInput) SetUsername(v string) *AdminSetUserPasswordInput {
 15121  	s.Username = &v
 15122  	return s
 15123  }
 15124  
 15125  type AdminSetUserPasswordOutput struct {
 15126  	_ struct{} `type:"structure"`
 15127  }
 15128  
 15129  // String returns the string representation.
 15130  //
 15131  // API parameter values that are decorated as "sensitive" in the API will not
 15132  // be included in the string output. The member name will be present, but the
 15133  // value will be replaced with "sensitive".
 15134  func (s AdminSetUserPasswordOutput) String() string {
 15135  	return awsutil.Prettify(s)
 15136  }
 15137  
 15138  // GoString returns the string representation.
 15139  //
 15140  // API parameter values that are decorated as "sensitive" in the API will not
 15141  // be included in the string output. The member name will be present, but the
 15142  // value will be replaced with "sensitive".
 15143  func (s AdminSetUserPasswordOutput) GoString() string {
 15144  	return s.String()
 15145  }
 15146  
 15147  // You can use this parameter to set an MFA configuration that uses the SMS
 15148  // delivery medium.
 15149  type AdminSetUserSettingsInput struct {
 15150  	_ struct{} `type:"structure"`
 15151  
 15152  	// You can use this parameter only to set an SMS configuration that uses SMS
 15153  	// for delivery.
 15154  	//
 15155  	// MFAOptions is a required field
 15156  	MFAOptions []*MFAOptionType `type:"list" required:"true"`
 15157  
 15158  	// The ID of the user pool that contains the user that you are setting options
 15159  	// for.
 15160  	//
 15161  	// UserPoolId is a required field
 15162  	UserPoolId *string `min:"1" type:"string" required:"true"`
 15163  
 15164  	// The user name of the user that you are setting options for.
 15165  	//
 15166  	// Username is a sensitive parameter and its value will be
 15167  	// replaced with "sensitive" in string returned by AdminSetUserSettingsInput's
 15168  	// String and GoString methods.
 15169  	//
 15170  	// Username is a required field
 15171  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15172  }
 15173  
 15174  // String returns the string representation.
 15175  //
 15176  // API parameter values that are decorated as "sensitive" in the API will not
 15177  // be included in the string output. The member name will be present, but the
 15178  // value will be replaced with "sensitive".
 15179  func (s AdminSetUserSettingsInput) String() string {
 15180  	return awsutil.Prettify(s)
 15181  }
 15182  
 15183  // GoString returns the string representation.
 15184  //
 15185  // API parameter values that are decorated as "sensitive" in the API will not
 15186  // be included in the string output. The member name will be present, but the
 15187  // value will be replaced with "sensitive".
 15188  func (s AdminSetUserSettingsInput) GoString() string {
 15189  	return s.String()
 15190  }
 15191  
 15192  // Validate inspects the fields of the type to determine if they are valid.
 15193  func (s *AdminSetUserSettingsInput) Validate() error {
 15194  	invalidParams := request.ErrInvalidParams{Context: "AdminSetUserSettingsInput"}
 15195  	if s.MFAOptions == nil {
 15196  		invalidParams.Add(request.NewErrParamRequired("MFAOptions"))
 15197  	}
 15198  	if s.UserPoolId == nil {
 15199  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 15200  	}
 15201  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 15202  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 15203  	}
 15204  	if s.Username == nil {
 15205  		invalidParams.Add(request.NewErrParamRequired("Username"))
 15206  	}
 15207  	if s.Username != nil && len(*s.Username) < 1 {
 15208  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 15209  	}
 15210  	if s.MFAOptions != nil {
 15211  		for i, v := range s.MFAOptions {
 15212  			if v == nil {
 15213  				continue
 15214  			}
 15215  			if err := v.Validate(); err != nil {
 15216  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MFAOptions", i), err.(request.ErrInvalidParams))
 15217  			}
 15218  		}
 15219  	}
 15220  
 15221  	if invalidParams.Len() > 0 {
 15222  		return invalidParams
 15223  	}
 15224  	return nil
 15225  }
 15226  
 15227  // SetMFAOptions sets the MFAOptions field's value.
 15228  func (s *AdminSetUserSettingsInput) SetMFAOptions(v []*MFAOptionType) *AdminSetUserSettingsInput {
 15229  	s.MFAOptions = v
 15230  	return s
 15231  }
 15232  
 15233  // SetUserPoolId sets the UserPoolId field's value.
 15234  func (s *AdminSetUserSettingsInput) SetUserPoolId(v string) *AdminSetUserSettingsInput {
 15235  	s.UserPoolId = &v
 15236  	return s
 15237  }
 15238  
 15239  // SetUsername sets the Username field's value.
 15240  func (s *AdminSetUserSettingsInput) SetUsername(v string) *AdminSetUserSettingsInput {
 15241  	s.Username = &v
 15242  	return s
 15243  }
 15244  
 15245  // Represents the response from the server to set user settings as an administrator.
 15246  type AdminSetUserSettingsOutput struct {
 15247  	_ struct{} `type:"structure"`
 15248  }
 15249  
 15250  // String returns the string representation.
 15251  //
 15252  // API parameter values that are decorated as "sensitive" in the API will not
 15253  // be included in the string output. The member name will be present, but the
 15254  // value will be replaced with "sensitive".
 15255  func (s AdminSetUserSettingsOutput) String() string {
 15256  	return awsutil.Prettify(s)
 15257  }
 15258  
 15259  // GoString returns the string representation.
 15260  //
 15261  // API parameter values that are decorated as "sensitive" in the API will not
 15262  // be included in the string output. The member name will be present, but the
 15263  // value will be replaced with "sensitive".
 15264  func (s AdminSetUserSettingsOutput) GoString() string {
 15265  	return s.String()
 15266  }
 15267  
 15268  type AdminUpdateAuthEventFeedbackInput struct {
 15269  	_ struct{} `type:"structure"`
 15270  
 15271  	// The authentication event ID.
 15272  	//
 15273  	// EventId is a required field
 15274  	EventId *string `min:"1" type:"string" required:"true"`
 15275  
 15276  	// The authentication event feedback value.
 15277  	//
 15278  	// FeedbackValue is a required field
 15279  	FeedbackValue *string `type:"string" required:"true" enum:"FeedbackValueType"`
 15280  
 15281  	// The user pool ID.
 15282  	//
 15283  	// UserPoolId is a required field
 15284  	UserPoolId *string `min:"1" type:"string" required:"true"`
 15285  
 15286  	// The user pool username.
 15287  	//
 15288  	// Username is a sensitive parameter and its value will be
 15289  	// replaced with "sensitive" in string returned by AdminUpdateAuthEventFeedbackInput's
 15290  	// String and GoString methods.
 15291  	//
 15292  	// Username is a required field
 15293  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15294  }
 15295  
 15296  // String returns the string representation.
 15297  //
 15298  // API parameter values that are decorated as "sensitive" in the API will not
 15299  // be included in the string output. The member name will be present, but the
 15300  // value will be replaced with "sensitive".
 15301  func (s AdminUpdateAuthEventFeedbackInput) String() string {
 15302  	return awsutil.Prettify(s)
 15303  }
 15304  
 15305  // GoString returns the string representation.
 15306  //
 15307  // API parameter values that are decorated as "sensitive" in the API will not
 15308  // be included in the string output. The member name will be present, but the
 15309  // value will be replaced with "sensitive".
 15310  func (s AdminUpdateAuthEventFeedbackInput) GoString() string {
 15311  	return s.String()
 15312  }
 15313  
 15314  // Validate inspects the fields of the type to determine if they are valid.
 15315  func (s *AdminUpdateAuthEventFeedbackInput) Validate() error {
 15316  	invalidParams := request.ErrInvalidParams{Context: "AdminUpdateAuthEventFeedbackInput"}
 15317  	if s.EventId == nil {
 15318  		invalidParams.Add(request.NewErrParamRequired("EventId"))
 15319  	}
 15320  	if s.EventId != nil && len(*s.EventId) < 1 {
 15321  		invalidParams.Add(request.NewErrParamMinLen("EventId", 1))
 15322  	}
 15323  	if s.FeedbackValue == nil {
 15324  		invalidParams.Add(request.NewErrParamRequired("FeedbackValue"))
 15325  	}
 15326  	if s.UserPoolId == nil {
 15327  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 15328  	}
 15329  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 15330  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 15331  	}
 15332  	if s.Username == nil {
 15333  		invalidParams.Add(request.NewErrParamRequired("Username"))
 15334  	}
 15335  	if s.Username != nil && len(*s.Username) < 1 {
 15336  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 15337  	}
 15338  
 15339  	if invalidParams.Len() > 0 {
 15340  		return invalidParams
 15341  	}
 15342  	return nil
 15343  }
 15344  
 15345  // SetEventId sets the EventId field's value.
 15346  func (s *AdminUpdateAuthEventFeedbackInput) SetEventId(v string) *AdminUpdateAuthEventFeedbackInput {
 15347  	s.EventId = &v
 15348  	return s
 15349  }
 15350  
 15351  // SetFeedbackValue sets the FeedbackValue field's value.
 15352  func (s *AdminUpdateAuthEventFeedbackInput) SetFeedbackValue(v string) *AdminUpdateAuthEventFeedbackInput {
 15353  	s.FeedbackValue = &v
 15354  	return s
 15355  }
 15356  
 15357  // SetUserPoolId sets the UserPoolId field's value.
 15358  func (s *AdminUpdateAuthEventFeedbackInput) SetUserPoolId(v string) *AdminUpdateAuthEventFeedbackInput {
 15359  	s.UserPoolId = &v
 15360  	return s
 15361  }
 15362  
 15363  // SetUsername sets the Username field's value.
 15364  func (s *AdminUpdateAuthEventFeedbackInput) SetUsername(v string) *AdminUpdateAuthEventFeedbackInput {
 15365  	s.Username = &v
 15366  	return s
 15367  }
 15368  
 15369  type AdminUpdateAuthEventFeedbackOutput struct {
 15370  	_ struct{} `type:"structure"`
 15371  }
 15372  
 15373  // String returns the string representation.
 15374  //
 15375  // API parameter values that are decorated as "sensitive" in the API will not
 15376  // be included in the string output. The member name will be present, but the
 15377  // value will be replaced with "sensitive".
 15378  func (s AdminUpdateAuthEventFeedbackOutput) String() string {
 15379  	return awsutil.Prettify(s)
 15380  }
 15381  
 15382  // GoString returns the string representation.
 15383  //
 15384  // API parameter values that are decorated as "sensitive" in the API will not
 15385  // be included in the string output. The member name will be present, but the
 15386  // value will be replaced with "sensitive".
 15387  func (s AdminUpdateAuthEventFeedbackOutput) GoString() string {
 15388  	return s.String()
 15389  }
 15390  
 15391  // The request to update the device status, as an administrator.
 15392  type AdminUpdateDeviceStatusInput struct {
 15393  	_ struct{} `type:"structure"`
 15394  
 15395  	// The device key.
 15396  	//
 15397  	// DeviceKey is a required field
 15398  	DeviceKey *string `min:"1" type:"string" required:"true"`
 15399  
 15400  	// The status indicating whether a device has been remembered or not.
 15401  	DeviceRememberedStatus *string `type:"string" enum:"DeviceRememberedStatusType"`
 15402  
 15403  	// The user pool ID.
 15404  	//
 15405  	// UserPoolId is a required field
 15406  	UserPoolId *string `min:"1" type:"string" required:"true"`
 15407  
 15408  	// The user name.
 15409  	//
 15410  	// Username is a sensitive parameter and its value will be
 15411  	// replaced with "sensitive" in string returned by AdminUpdateDeviceStatusInput's
 15412  	// String and GoString methods.
 15413  	//
 15414  	// Username is a required field
 15415  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15416  }
 15417  
 15418  // String returns the string representation.
 15419  //
 15420  // API parameter values that are decorated as "sensitive" in the API will not
 15421  // be included in the string output. The member name will be present, but the
 15422  // value will be replaced with "sensitive".
 15423  func (s AdminUpdateDeviceStatusInput) String() string {
 15424  	return awsutil.Prettify(s)
 15425  }
 15426  
 15427  // GoString returns the string representation.
 15428  //
 15429  // API parameter values that are decorated as "sensitive" in the API will not
 15430  // be included in the string output. The member name will be present, but the
 15431  // value will be replaced with "sensitive".
 15432  func (s AdminUpdateDeviceStatusInput) GoString() string {
 15433  	return s.String()
 15434  }
 15435  
 15436  // Validate inspects the fields of the type to determine if they are valid.
 15437  func (s *AdminUpdateDeviceStatusInput) Validate() error {
 15438  	invalidParams := request.ErrInvalidParams{Context: "AdminUpdateDeviceStatusInput"}
 15439  	if s.DeviceKey == nil {
 15440  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 15441  	}
 15442  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 15443  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 15444  	}
 15445  	if s.UserPoolId == nil {
 15446  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 15447  	}
 15448  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 15449  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 15450  	}
 15451  	if s.Username == nil {
 15452  		invalidParams.Add(request.NewErrParamRequired("Username"))
 15453  	}
 15454  	if s.Username != nil && len(*s.Username) < 1 {
 15455  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 15456  	}
 15457  
 15458  	if invalidParams.Len() > 0 {
 15459  		return invalidParams
 15460  	}
 15461  	return nil
 15462  }
 15463  
 15464  // SetDeviceKey sets the DeviceKey field's value.
 15465  func (s *AdminUpdateDeviceStatusInput) SetDeviceKey(v string) *AdminUpdateDeviceStatusInput {
 15466  	s.DeviceKey = &v
 15467  	return s
 15468  }
 15469  
 15470  // SetDeviceRememberedStatus sets the DeviceRememberedStatus field's value.
 15471  func (s *AdminUpdateDeviceStatusInput) SetDeviceRememberedStatus(v string) *AdminUpdateDeviceStatusInput {
 15472  	s.DeviceRememberedStatus = &v
 15473  	return s
 15474  }
 15475  
 15476  // SetUserPoolId sets the UserPoolId field's value.
 15477  func (s *AdminUpdateDeviceStatusInput) SetUserPoolId(v string) *AdminUpdateDeviceStatusInput {
 15478  	s.UserPoolId = &v
 15479  	return s
 15480  }
 15481  
 15482  // SetUsername sets the Username field's value.
 15483  func (s *AdminUpdateDeviceStatusInput) SetUsername(v string) *AdminUpdateDeviceStatusInput {
 15484  	s.Username = &v
 15485  	return s
 15486  }
 15487  
 15488  // The status response from the request to update the device, as an administrator.
 15489  type AdminUpdateDeviceStatusOutput struct {
 15490  	_ struct{} `type:"structure"`
 15491  }
 15492  
 15493  // String returns the string representation.
 15494  //
 15495  // API parameter values that are decorated as "sensitive" in the API will not
 15496  // be included in the string output. The member name will be present, but the
 15497  // value will be replaced with "sensitive".
 15498  func (s AdminUpdateDeviceStatusOutput) String() string {
 15499  	return awsutil.Prettify(s)
 15500  }
 15501  
 15502  // GoString returns the string representation.
 15503  //
 15504  // API parameter values that are decorated as "sensitive" in the API will not
 15505  // be included in the string output. The member name will be present, but the
 15506  // value will be replaced with "sensitive".
 15507  func (s AdminUpdateDeviceStatusOutput) GoString() string {
 15508  	return s.String()
 15509  }
 15510  
 15511  // Represents the request to update the user's attributes as an administrator.
 15512  type AdminUpdateUserAttributesInput struct {
 15513  	_ struct{} `type:"structure"`
 15514  
 15515  	// A map of custom key-value pairs that you can provide as input for any custom
 15516  	// workflows that this action triggers.
 15517  	//
 15518  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 15519  	// When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes
 15520  	// the function that is assigned to the custom message trigger. When Amazon
 15521  	// Cognito invokes this function, it passes a JSON payload, which the function
 15522  	// receives as input. This payload contains a clientMetadata attribute, which
 15523  	// provides the data that you assigned to the ClientMetadata parameter in your
 15524  	// AdminUpdateUserAttributes request. In your function code in Lambda, you can
 15525  	// process the clientMetadata value to enhance your workflow for your specific
 15526  	// needs.
 15527  	//
 15528  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 15529  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 15530  	// in the Amazon Cognito Developer Guide.
 15531  	//
 15532  	// Take the following limitations into consideration when you use the ClientMetadata
 15533  	// parameter:
 15534  	//
 15535  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 15536  	//    available only to Lambda triggers that are assigned to a user pool to
 15537  	//    support custom workflows. If your user pool configuration does not include
 15538  	//    triggers, the ClientMetadata parameter serves no purpose.
 15539  	//
 15540  	//    * Amazon Cognito does not validate the ClientMetadata value.
 15541  	//
 15542  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 15543  	//    use it to provide sensitive information.
 15544  	ClientMetadata map[string]*string `type:"map"`
 15545  
 15546  	// An array of name-value pairs representing user attributes.
 15547  	//
 15548  	// For custom attributes, you must prepend the custom: prefix to the attribute
 15549  	// name.
 15550  	//
 15551  	// UserAttributes is a required field
 15552  	UserAttributes []*AttributeType `type:"list" required:"true"`
 15553  
 15554  	// The user pool ID for the user pool where you want to update user attributes.
 15555  	//
 15556  	// UserPoolId is a required field
 15557  	UserPoolId *string `min:"1" type:"string" required:"true"`
 15558  
 15559  	// The user name of the user for whom you want to update user attributes.
 15560  	//
 15561  	// Username is a sensitive parameter and its value will be
 15562  	// replaced with "sensitive" in string returned by AdminUpdateUserAttributesInput's
 15563  	// String and GoString methods.
 15564  	//
 15565  	// Username is a required field
 15566  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15567  }
 15568  
 15569  // String returns the string representation.
 15570  //
 15571  // API parameter values that are decorated as "sensitive" in the API will not
 15572  // be included in the string output. The member name will be present, but the
 15573  // value will be replaced with "sensitive".
 15574  func (s AdminUpdateUserAttributesInput) String() string {
 15575  	return awsutil.Prettify(s)
 15576  }
 15577  
 15578  // GoString returns the string representation.
 15579  //
 15580  // API parameter values that are decorated as "sensitive" in the API will not
 15581  // be included in the string output. The member name will be present, but the
 15582  // value will be replaced with "sensitive".
 15583  func (s AdminUpdateUserAttributesInput) GoString() string {
 15584  	return s.String()
 15585  }
 15586  
 15587  // Validate inspects the fields of the type to determine if they are valid.
 15588  func (s *AdminUpdateUserAttributesInput) Validate() error {
 15589  	invalidParams := request.ErrInvalidParams{Context: "AdminUpdateUserAttributesInput"}
 15590  	if s.UserAttributes == nil {
 15591  		invalidParams.Add(request.NewErrParamRequired("UserAttributes"))
 15592  	}
 15593  	if s.UserPoolId == nil {
 15594  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 15595  	}
 15596  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 15597  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 15598  	}
 15599  	if s.Username == nil {
 15600  		invalidParams.Add(request.NewErrParamRequired("Username"))
 15601  	}
 15602  	if s.Username != nil && len(*s.Username) < 1 {
 15603  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 15604  	}
 15605  	if s.UserAttributes != nil {
 15606  		for i, v := range s.UserAttributes {
 15607  			if v == nil {
 15608  				continue
 15609  			}
 15610  			if err := v.Validate(); err != nil {
 15611  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
 15612  			}
 15613  		}
 15614  	}
 15615  
 15616  	if invalidParams.Len() > 0 {
 15617  		return invalidParams
 15618  	}
 15619  	return nil
 15620  }
 15621  
 15622  // SetClientMetadata sets the ClientMetadata field's value.
 15623  func (s *AdminUpdateUserAttributesInput) SetClientMetadata(v map[string]*string) *AdminUpdateUserAttributesInput {
 15624  	s.ClientMetadata = v
 15625  	return s
 15626  }
 15627  
 15628  // SetUserAttributes sets the UserAttributes field's value.
 15629  func (s *AdminUpdateUserAttributesInput) SetUserAttributes(v []*AttributeType) *AdminUpdateUserAttributesInput {
 15630  	s.UserAttributes = v
 15631  	return s
 15632  }
 15633  
 15634  // SetUserPoolId sets the UserPoolId field's value.
 15635  func (s *AdminUpdateUserAttributesInput) SetUserPoolId(v string) *AdminUpdateUserAttributesInput {
 15636  	s.UserPoolId = &v
 15637  	return s
 15638  }
 15639  
 15640  // SetUsername sets the Username field's value.
 15641  func (s *AdminUpdateUserAttributesInput) SetUsername(v string) *AdminUpdateUserAttributesInput {
 15642  	s.Username = &v
 15643  	return s
 15644  }
 15645  
 15646  // Represents the response from the server for the request to update user attributes
 15647  // as an administrator.
 15648  type AdminUpdateUserAttributesOutput struct {
 15649  	_ struct{} `type:"structure"`
 15650  }
 15651  
 15652  // String returns the string representation.
 15653  //
 15654  // API parameter values that are decorated as "sensitive" in the API will not
 15655  // be included in the string output. The member name will be present, but the
 15656  // value will be replaced with "sensitive".
 15657  func (s AdminUpdateUserAttributesOutput) String() string {
 15658  	return awsutil.Prettify(s)
 15659  }
 15660  
 15661  // GoString returns the string representation.
 15662  //
 15663  // API parameter values that are decorated as "sensitive" in the API will not
 15664  // be included in the string output. The member name will be present, but the
 15665  // value will be replaced with "sensitive".
 15666  func (s AdminUpdateUserAttributesOutput) GoString() string {
 15667  	return s.String()
 15668  }
 15669  
 15670  // The request to sign out of all devices, as an administrator.
 15671  type AdminUserGlobalSignOutInput struct {
 15672  	_ struct{} `type:"structure"`
 15673  
 15674  	// The user pool ID.
 15675  	//
 15676  	// UserPoolId is a required field
 15677  	UserPoolId *string `min:"1" type:"string" required:"true"`
 15678  
 15679  	// The user name.
 15680  	//
 15681  	// Username is a sensitive parameter and its value will be
 15682  	// replaced with "sensitive" in string returned by AdminUserGlobalSignOutInput's
 15683  	// String and GoString methods.
 15684  	//
 15685  	// Username is a required field
 15686  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15687  }
 15688  
 15689  // String returns the string representation.
 15690  //
 15691  // API parameter values that are decorated as "sensitive" in the API will not
 15692  // be included in the string output. The member name will be present, but the
 15693  // value will be replaced with "sensitive".
 15694  func (s AdminUserGlobalSignOutInput) String() string {
 15695  	return awsutil.Prettify(s)
 15696  }
 15697  
 15698  // GoString returns the string representation.
 15699  //
 15700  // API parameter values that are decorated as "sensitive" in the API will not
 15701  // be included in the string output. The member name will be present, but the
 15702  // value will be replaced with "sensitive".
 15703  func (s AdminUserGlobalSignOutInput) GoString() string {
 15704  	return s.String()
 15705  }
 15706  
 15707  // Validate inspects the fields of the type to determine if they are valid.
 15708  func (s *AdminUserGlobalSignOutInput) Validate() error {
 15709  	invalidParams := request.ErrInvalidParams{Context: "AdminUserGlobalSignOutInput"}
 15710  	if s.UserPoolId == nil {
 15711  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 15712  	}
 15713  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 15714  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 15715  	}
 15716  	if s.Username == nil {
 15717  		invalidParams.Add(request.NewErrParamRequired("Username"))
 15718  	}
 15719  	if s.Username != nil && len(*s.Username) < 1 {
 15720  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 15721  	}
 15722  
 15723  	if invalidParams.Len() > 0 {
 15724  		return invalidParams
 15725  	}
 15726  	return nil
 15727  }
 15728  
 15729  // SetUserPoolId sets the UserPoolId field's value.
 15730  func (s *AdminUserGlobalSignOutInput) SetUserPoolId(v string) *AdminUserGlobalSignOutInput {
 15731  	s.UserPoolId = &v
 15732  	return s
 15733  }
 15734  
 15735  // SetUsername sets the Username field's value.
 15736  func (s *AdminUserGlobalSignOutInput) SetUsername(v string) *AdminUserGlobalSignOutInput {
 15737  	s.Username = &v
 15738  	return s
 15739  }
 15740  
 15741  // The global sign-out response, as an administrator.
 15742  type AdminUserGlobalSignOutOutput struct {
 15743  	_ struct{} `type:"structure"`
 15744  }
 15745  
 15746  // String returns the string representation.
 15747  //
 15748  // API parameter values that are decorated as "sensitive" in the API will not
 15749  // be included in the string output. The member name will be present, but the
 15750  // value will be replaced with "sensitive".
 15751  func (s AdminUserGlobalSignOutOutput) String() string {
 15752  	return awsutil.Prettify(s)
 15753  }
 15754  
 15755  // GoString returns the string representation.
 15756  //
 15757  // API parameter values that are decorated as "sensitive" in the API will not
 15758  // be included in the string output. The member name will be present, but the
 15759  // value will be replaced with "sensitive".
 15760  func (s AdminUserGlobalSignOutOutput) GoString() string {
 15761  	return s.String()
 15762  }
 15763  
 15764  // This exception is thrown when a user tries to confirm the account with an
 15765  // email or phone number that has already been supplied as an alias from a different
 15766  // account. This exception tells user that an account with this email or phone
 15767  // already exists.
 15768  type AliasExistsException struct {
 15769  	_            struct{}                  `type:"structure"`
 15770  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15771  
 15772  	// The message sent to the user when an alias exists.
 15773  	Message_ *string `locationName:"message" type:"string"`
 15774  }
 15775  
 15776  // String returns the string representation.
 15777  //
 15778  // API parameter values that are decorated as "sensitive" in the API will not
 15779  // be included in the string output. The member name will be present, but the
 15780  // value will be replaced with "sensitive".
 15781  func (s AliasExistsException) String() string {
 15782  	return awsutil.Prettify(s)
 15783  }
 15784  
 15785  // GoString returns the string representation.
 15786  //
 15787  // API parameter values that are decorated as "sensitive" in the API will not
 15788  // be included in the string output. The member name will be present, but the
 15789  // value will be replaced with "sensitive".
 15790  func (s AliasExistsException) GoString() string {
 15791  	return s.String()
 15792  }
 15793  
 15794  func newErrorAliasExistsException(v protocol.ResponseMetadata) error {
 15795  	return &AliasExistsException{
 15796  		RespMetadata: v,
 15797  	}
 15798  }
 15799  
 15800  // Code returns the exception type name.
 15801  func (s *AliasExistsException) Code() string {
 15802  	return "AliasExistsException"
 15803  }
 15804  
 15805  // Message returns the exception's message.
 15806  func (s *AliasExistsException) Message() string {
 15807  	if s.Message_ != nil {
 15808  		return *s.Message_
 15809  	}
 15810  	return ""
 15811  }
 15812  
 15813  // OrigErr always returns nil, satisfies awserr.Error interface.
 15814  func (s *AliasExistsException) OrigErr() error {
 15815  	return nil
 15816  }
 15817  
 15818  func (s *AliasExistsException) Error() string {
 15819  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15820  }
 15821  
 15822  // Status code returns the HTTP status code for the request's response error.
 15823  func (s *AliasExistsException) StatusCode() int {
 15824  	return s.RespMetadata.StatusCode
 15825  }
 15826  
 15827  // RequestID returns the service's response RequestID for request.
 15828  func (s *AliasExistsException) RequestID() string {
 15829  	return s.RespMetadata.RequestID
 15830  }
 15831  
 15832  // The Amazon Pinpoint analytics configuration for collecting metrics for a
 15833  // user pool.
 15834  //
 15835  // In regions where Pinpoint is not available, Cognito User Pools only supports
 15836  // sending events to Amazon Pinpoint projects in us-east-1. In regions where
 15837  // Pinpoint is available, Cognito User Pools will support sending events to
 15838  // Amazon Pinpoint projects within that same region.
 15839  type AnalyticsConfigurationType struct {
 15840  	_ struct{} `type:"structure"`
 15841  
 15842  	// The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use
 15843  	// the Amazon Pinpoint project for Pinpoint integration with the chosen User
 15844  	// Pool Client. Amazon Cognito publishes events to the pinpoint project declared
 15845  	// by the app ARN.
 15846  	ApplicationArn *string `min:"20" type:"string"`
 15847  
 15848  	// The application ID for an Amazon Pinpoint application.
 15849  	ApplicationId *string `type:"string"`
 15850  
 15851  	// The external ID.
 15852  	ExternalId *string `type:"string"`
 15853  
 15854  	// The ARN of an IAM role that authorizes Amazon Cognito to publish events to
 15855  	// Amazon Pinpoint analytics.
 15856  	RoleArn *string `min:"20" type:"string"`
 15857  
 15858  	// If UserDataShared is true, Amazon Cognito will include user data in the events
 15859  	// it publishes to Amazon Pinpoint analytics.
 15860  	UserDataShared *bool `type:"boolean"`
 15861  }
 15862  
 15863  // String returns the string representation.
 15864  //
 15865  // API parameter values that are decorated as "sensitive" in the API will not
 15866  // be included in the string output. The member name will be present, but the
 15867  // value will be replaced with "sensitive".
 15868  func (s AnalyticsConfigurationType) String() string {
 15869  	return awsutil.Prettify(s)
 15870  }
 15871  
 15872  // GoString returns the string representation.
 15873  //
 15874  // API parameter values that are decorated as "sensitive" in the API will not
 15875  // be included in the string output. The member name will be present, but the
 15876  // value will be replaced with "sensitive".
 15877  func (s AnalyticsConfigurationType) GoString() string {
 15878  	return s.String()
 15879  }
 15880  
 15881  // Validate inspects the fields of the type to determine if they are valid.
 15882  func (s *AnalyticsConfigurationType) Validate() error {
 15883  	invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfigurationType"}
 15884  	if s.ApplicationArn != nil && len(*s.ApplicationArn) < 20 {
 15885  		invalidParams.Add(request.NewErrParamMinLen("ApplicationArn", 20))
 15886  	}
 15887  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 15888  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 15889  	}
 15890  
 15891  	if invalidParams.Len() > 0 {
 15892  		return invalidParams
 15893  	}
 15894  	return nil
 15895  }
 15896  
 15897  // SetApplicationArn sets the ApplicationArn field's value.
 15898  func (s *AnalyticsConfigurationType) SetApplicationArn(v string) *AnalyticsConfigurationType {
 15899  	s.ApplicationArn = &v
 15900  	return s
 15901  }
 15902  
 15903  // SetApplicationId sets the ApplicationId field's value.
 15904  func (s *AnalyticsConfigurationType) SetApplicationId(v string) *AnalyticsConfigurationType {
 15905  	s.ApplicationId = &v
 15906  	return s
 15907  }
 15908  
 15909  // SetExternalId sets the ExternalId field's value.
 15910  func (s *AnalyticsConfigurationType) SetExternalId(v string) *AnalyticsConfigurationType {
 15911  	s.ExternalId = &v
 15912  	return s
 15913  }
 15914  
 15915  // SetRoleArn sets the RoleArn field's value.
 15916  func (s *AnalyticsConfigurationType) SetRoleArn(v string) *AnalyticsConfigurationType {
 15917  	s.RoleArn = &v
 15918  	return s
 15919  }
 15920  
 15921  // SetUserDataShared sets the UserDataShared field's value.
 15922  func (s *AnalyticsConfigurationType) SetUserDataShared(v bool) *AnalyticsConfigurationType {
 15923  	s.UserDataShared = &v
 15924  	return s
 15925  }
 15926  
 15927  // An Amazon Pinpoint analytics endpoint.
 15928  //
 15929  // An endpoint uniquely identifies a mobile device, email address, or phone
 15930  // number that can receive messages from Amazon Pinpoint analytics.
 15931  //
 15932  // Cognito User Pools only supports sending events to Amazon Pinpoint projects
 15933  // in the US East (N. Virginia) us-east-1 Region, regardless of the region in
 15934  // which the user pool resides.
 15935  type AnalyticsMetadataType struct {
 15936  	_ struct{} `type:"structure"`
 15937  
 15938  	// The endpoint ID.
 15939  	AnalyticsEndpointId *string `type:"string"`
 15940  }
 15941  
 15942  // String returns the string representation.
 15943  //
 15944  // API parameter values that are decorated as "sensitive" in the API will not
 15945  // be included in the string output. The member name will be present, but the
 15946  // value will be replaced with "sensitive".
 15947  func (s AnalyticsMetadataType) String() string {
 15948  	return awsutil.Prettify(s)
 15949  }
 15950  
 15951  // GoString returns the string representation.
 15952  //
 15953  // API parameter values that are decorated as "sensitive" in the API will not
 15954  // be included in the string output. The member name will be present, but the
 15955  // value will be replaced with "sensitive".
 15956  func (s AnalyticsMetadataType) GoString() string {
 15957  	return s.String()
 15958  }
 15959  
 15960  // SetAnalyticsEndpointId sets the AnalyticsEndpointId field's value.
 15961  func (s *AnalyticsMetadataType) SetAnalyticsEndpointId(v string) *AnalyticsMetadataType {
 15962  	s.AnalyticsEndpointId = &v
 15963  	return s
 15964  }
 15965  
 15966  type AssociateSoftwareTokenInput struct {
 15967  	_ struct{} `type:"structure"`
 15968  
 15969  	// The access token.
 15970  	//
 15971  	// AccessToken is a sensitive parameter and its value will be
 15972  	// replaced with "sensitive" in string returned by AssociateSoftwareTokenInput's
 15973  	// String and GoString methods.
 15974  	AccessToken *string `type:"string" sensitive:"true"`
 15975  
 15976  	// The session which should be passed both ways in challenge-response calls
 15977  	// to the service. This allows authentication of the user as part of the MFA
 15978  	// setup process.
 15979  	Session *string `min:"20" type:"string"`
 15980  }
 15981  
 15982  // String returns the string representation.
 15983  //
 15984  // API parameter values that are decorated as "sensitive" in the API will not
 15985  // be included in the string output. The member name will be present, but the
 15986  // value will be replaced with "sensitive".
 15987  func (s AssociateSoftwareTokenInput) String() string {
 15988  	return awsutil.Prettify(s)
 15989  }
 15990  
 15991  // GoString returns the string representation.
 15992  //
 15993  // API parameter values that are decorated as "sensitive" in the API will not
 15994  // be included in the string output. The member name will be present, but the
 15995  // value will be replaced with "sensitive".
 15996  func (s AssociateSoftwareTokenInput) GoString() string {
 15997  	return s.String()
 15998  }
 15999  
 16000  // Validate inspects the fields of the type to determine if they are valid.
 16001  func (s *AssociateSoftwareTokenInput) Validate() error {
 16002  	invalidParams := request.ErrInvalidParams{Context: "AssociateSoftwareTokenInput"}
 16003  	if s.Session != nil && len(*s.Session) < 20 {
 16004  		invalidParams.Add(request.NewErrParamMinLen("Session", 20))
 16005  	}
 16006  
 16007  	if invalidParams.Len() > 0 {
 16008  		return invalidParams
 16009  	}
 16010  	return nil
 16011  }
 16012  
 16013  // SetAccessToken sets the AccessToken field's value.
 16014  func (s *AssociateSoftwareTokenInput) SetAccessToken(v string) *AssociateSoftwareTokenInput {
 16015  	s.AccessToken = &v
 16016  	return s
 16017  }
 16018  
 16019  // SetSession sets the Session field's value.
 16020  func (s *AssociateSoftwareTokenInput) SetSession(v string) *AssociateSoftwareTokenInput {
 16021  	s.Session = &v
 16022  	return s
 16023  }
 16024  
 16025  type AssociateSoftwareTokenOutput struct {
 16026  	_ struct{} `type:"structure"`
 16027  
 16028  	// A unique generated shared secret code that is used in the TOTP algorithm
 16029  	// to generate a one time code.
 16030  	//
 16031  	// SecretCode is a sensitive parameter and its value will be
 16032  	// replaced with "sensitive" in string returned by AssociateSoftwareTokenOutput's
 16033  	// String and GoString methods.
 16034  	SecretCode *string `min:"16" type:"string" sensitive:"true"`
 16035  
 16036  	// The session which should be passed both ways in challenge-response calls
 16037  	// to the service. This allows authentication of the user as part of the MFA
 16038  	// setup process.
 16039  	Session *string `min:"20" type:"string"`
 16040  }
 16041  
 16042  // String returns the string representation.
 16043  //
 16044  // API parameter values that are decorated as "sensitive" in the API will not
 16045  // be included in the string output. The member name will be present, but the
 16046  // value will be replaced with "sensitive".
 16047  func (s AssociateSoftwareTokenOutput) String() string {
 16048  	return awsutil.Prettify(s)
 16049  }
 16050  
 16051  // GoString returns the string representation.
 16052  //
 16053  // API parameter values that are decorated as "sensitive" in the API will not
 16054  // be included in the string output. The member name will be present, but the
 16055  // value will be replaced with "sensitive".
 16056  func (s AssociateSoftwareTokenOutput) GoString() string {
 16057  	return s.String()
 16058  }
 16059  
 16060  // SetSecretCode sets the SecretCode field's value.
 16061  func (s *AssociateSoftwareTokenOutput) SetSecretCode(v string) *AssociateSoftwareTokenOutput {
 16062  	s.SecretCode = &v
 16063  	return s
 16064  }
 16065  
 16066  // SetSession sets the Session field's value.
 16067  func (s *AssociateSoftwareTokenOutput) SetSession(v string) *AssociateSoftwareTokenOutput {
 16068  	s.Session = &v
 16069  	return s
 16070  }
 16071  
 16072  // Specifies whether the attribute is standard or custom.
 16073  type AttributeType struct {
 16074  	_ struct{} `type:"structure"`
 16075  
 16076  	// The name of the attribute.
 16077  	//
 16078  	// Name is a required field
 16079  	Name *string `min:"1" type:"string" required:"true"`
 16080  
 16081  	// The value of the attribute.
 16082  	//
 16083  	// Value is a sensitive parameter and its value will be
 16084  	// replaced with "sensitive" in string returned by AttributeType's
 16085  	// String and GoString methods.
 16086  	Value *string `type:"string" sensitive:"true"`
 16087  }
 16088  
 16089  // String returns the string representation.
 16090  //
 16091  // API parameter values that are decorated as "sensitive" in the API will not
 16092  // be included in the string output. The member name will be present, but the
 16093  // value will be replaced with "sensitive".
 16094  func (s AttributeType) String() string {
 16095  	return awsutil.Prettify(s)
 16096  }
 16097  
 16098  // GoString returns the string representation.
 16099  //
 16100  // API parameter values that are decorated as "sensitive" in the API will not
 16101  // be included in the string output. The member name will be present, but the
 16102  // value will be replaced with "sensitive".
 16103  func (s AttributeType) GoString() string {
 16104  	return s.String()
 16105  }
 16106  
 16107  // Validate inspects the fields of the type to determine if they are valid.
 16108  func (s *AttributeType) Validate() error {
 16109  	invalidParams := request.ErrInvalidParams{Context: "AttributeType"}
 16110  	if s.Name == nil {
 16111  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16112  	}
 16113  	if s.Name != nil && len(*s.Name) < 1 {
 16114  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 16115  	}
 16116  
 16117  	if invalidParams.Len() > 0 {
 16118  		return invalidParams
 16119  	}
 16120  	return nil
 16121  }
 16122  
 16123  // SetName sets the Name field's value.
 16124  func (s *AttributeType) SetName(v string) *AttributeType {
 16125  	s.Name = &v
 16126  	return s
 16127  }
 16128  
 16129  // SetValue sets the Value field's value.
 16130  func (s *AttributeType) SetValue(v string) *AttributeType {
 16131  	s.Value = &v
 16132  	return s
 16133  }
 16134  
 16135  // The authentication event type.
 16136  type AuthEventType struct {
 16137  	_ struct{} `type:"structure"`
 16138  
 16139  	// The challenge responses.
 16140  	ChallengeResponses []*ChallengeResponseType `type:"list"`
 16141  
 16142  	// The creation date
 16143  	CreationDate *time.Time `type:"timestamp"`
 16144  
 16145  	// The user context data captured at the time of an event request. It provides
 16146  	// additional information about the client from which event the request is received.
 16147  	EventContextData *EventContextDataType `type:"structure"`
 16148  
 16149  	// A flag specifying the user feedback captured at the time of an event request
 16150  	// is good or bad.
 16151  	EventFeedback *EventFeedbackType `type:"structure"`
 16152  
 16153  	// The event ID.
 16154  	EventId *string `type:"string"`
 16155  
 16156  	// The event response.
 16157  	EventResponse *string `type:"string" enum:"EventResponseType"`
 16158  
 16159  	// The event risk.
 16160  	EventRisk *EventRiskType `type:"structure"`
 16161  
 16162  	// The event type.
 16163  	EventType *string `type:"string" enum:"EventType"`
 16164  }
 16165  
 16166  // String returns the string representation.
 16167  //
 16168  // API parameter values that are decorated as "sensitive" in the API will not
 16169  // be included in the string output. The member name will be present, but the
 16170  // value will be replaced with "sensitive".
 16171  func (s AuthEventType) String() string {
 16172  	return awsutil.Prettify(s)
 16173  }
 16174  
 16175  // GoString returns the string representation.
 16176  //
 16177  // API parameter values that are decorated as "sensitive" in the API will not
 16178  // be included in the string output. The member name will be present, but the
 16179  // value will be replaced with "sensitive".
 16180  func (s AuthEventType) GoString() string {
 16181  	return s.String()
 16182  }
 16183  
 16184  // SetChallengeResponses sets the ChallengeResponses field's value.
 16185  func (s *AuthEventType) SetChallengeResponses(v []*ChallengeResponseType) *AuthEventType {
 16186  	s.ChallengeResponses = v
 16187  	return s
 16188  }
 16189  
 16190  // SetCreationDate sets the CreationDate field's value.
 16191  func (s *AuthEventType) SetCreationDate(v time.Time) *AuthEventType {
 16192  	s.CreationDate = &v
 16193  	return s
 16194  }
 16195  
 16196  // SetEventContextData sets the EventContextData field's value.
 16197  func (s *AuthEventType) SetEventContextData(v *EventContextDataType) *AuthEventType {
 16198  	s.EventContextData = v
 16199  	return s
 16200  }
 16201  
 16202  // SetEventFeedback sets the EventFeedback field's value.
 16203  func (s *AuthEventType) SetEventFeedback(v *EventFeedbackType) *AuthEventType {
 16204  	s.EventFeedback = v
 16205  	return s
 16206  }
 16207  
 16208  // SetEventId sets the EventId field's value.
 16209  func (s *AuthEventType) SetEventId(v string) *AuthEventType {
 16210  	s.EventId = &v
 16211  	return s
 16212  }
 16213  
 16214  // SetEventResponse sets the EventResponse field's value.
 16215  func (s *AuthEventType) SetEventResponse(v string) *AuthEventType {
 16216  	s.EventResponse = &v
 16217  	return s
 16218  }
 16219  
 16220  // SetEventRisk sets the EventRisk field's value.
 16221  func (s *AuthEventType) SetEventRisk(v *EventRiskType) *AuthEventType {
 16222  	s.EventRisk = v
 16223  	return s
 16224  }
 16225  
 16226  // SetEventType sets the EventType field's value.
 16227  func (s *AuthEventType) SetEventType(v string) *AuthEventType {
 16228  	s.EventType = &v
 16229  	return s
 16230  }
 16231  
 16232  // The authentication result.
 16233  type AuthenticationResultType struct {
 16234  	_ struct{} `type:"structure"`
 16235  
 16236  	// The access token.
 16237  	//
 16238  	// AccessToken is a sensitive parameter and its value will be
 16239  	// replaced with "sensitive" in string returned by AuthenticationResultType's
 16240  	// String and GoString methods.
 16241  	AccessToken *string `type:"string" sensitive:"true"`
 16242  
 16243  	// The expiration period of the authentication result in seconds.
 16244  	ExpiresIn *int64 `type:"integer"`
 16245  
 16246  	// The ID token.
 16247  	//
 16248  	// IdToken is a sensitive parameter and its value will be
 16249  	// replaced with "sensitive" in string returned by AuthenticationResultType's
 16250  	// String and GoString methods.
 16251  	IdToken *string `type:"string" sensitive:"true"`
 16252  
 16253  	// The new device metadata from an authentication result.
 16254  	NewDeviceMetadata *NewDeviceMetadataType `type:"structure"`
 16255  
 16256  	// The refresh token.
 16257  	//
 16258  	// RefreshToken is a sensitive parameter and its value will be
 16259  	// replaced with "sensitive" in string returned by AuthenticationResultType's
 16260  	// String and GoString methods.
 16261  	RefreshToken *string `type:"string" sensitive:"true"`
 16262  
 16263  	// The token type.
 16264  	TokenType *string `type:"string"`
 16265  }
 16266  
 16267  // String returns the string representation.
 16268  //
 16269  // API parameter values that are decorated as "sensitive" in the API will not
 16270  // be included in the string output. The member name will be present, but the
 16271  // value will be replaced with "sensitive".
 16272  func (s AuthenticationResultType) String() string {
 16273  	return awsutil.Prettify(s)
 16274  }
 16275  
 16276  // GoString returns the string representation.
 16277  //
 16278  // API parameter values that are decorated as "sensitive" in the API will not
 16279  // be included in the string output. The member name will be present, but the
 16280  // value will be replaced with "sensitive".
 16281  func (s AuthenticationResultType) GoString() string {
 16282  	return s.String()
 16283  }
 16284  
 16285  // SetAccessToken sets the AccessToken field's value.
 16286  func (s *AuthenticationResultType) SetAccessToken(v string) *AuthenticationResultType {
 16287  	s.AccessToken = &v
 16288  	return s
 16289  }
 16290  
 16291  // SetExpiresIn sets the ExpiresIn field's value.
 16292  func (s *AuthenticationResultType) SetExpiresIn(v int64) *AuthenticationResultType {
 16293  	s.ExpiresIn = &v
 16294  	return s
 16295  }
 16296  
 16297  // SetIdToken sets the IdToken field's value.
 16298  func (s *AuthenticationResultType) SetIdToken(v string) *AuthenticationResultType {
 16299  	s.IdToken = &v
 16300  	return s
 16301  }
 16302  
 16303  // SetNewDeviceMetadata sets the NewDeviceMetadata field's value.
 16304  func (s *AuthenticationResultType) SetNewDeviceMetadata(v *NewDeviceMetadataType) *AuthenticationResultType {
 16305  	s.NewDeviceMetadata = v
 16306  	return s
 16307  }
 16308  
 16309  // SetRefreshToken sets the RefreshToken field's value.
 16310  func (s *AuthenticationResultType) SetRefreshToken(v string) *AuthenticationResultType {
 16311  	s.RefreshToken = &v
 16312  	return s
 16313  }
 16314  
 16315  // SetTokenType sets the TokenType field's value.
 16316  func (s *AuthenticationResultType) SetTokenType(v string) *AuthenticationResultType {
 16317  	s.TokenType = &v
 16318  	return s
 16319  }
 16320  
 16321  // The challenge response type.
 16322  type ChallengeResponseType struct {
 16323  	_ struct{} `type:"structure"`
 16324  
 16325  	// The challenge name
 16326  	ChallengeName *string `type:"string" enum:"ChallengeName"`
 16327  
 16328  	// The challenge response.
 16329  	ChallengeResponse *string `type:"string" enum:"ChallengeResponse"`
 16330  }
 16331  
 16332  // String returns the string representation.
 16333  //
 16334  // API parameter values that are decorated as "sensitive" in the API will not
 16335  // be included in the string output. The member name will be present, but the
 16336  // value will be replaced with "sensitive".
 16337  func (s ChallengeResponseType) String() string {
 16338  	return awsutil.Prettify(s)
 16339  }
 16340  
 16341  // GoString returns the string representation.
 16342  //
 16343  // API parameter values that are decorated as "sensitive" in the API will not
 16344  // be included in the string output. The member name will be present, but the
 16345  // value will be replaced with "sensitive".
 16346  func (s ChallengeResponseType) GoString() string {
 16347  	return s.String()
 16348  }
 16349  
 16350  // SetChallengeName sets the ChallengeName field's value.
 16351  func (s *ChallengeResponseType) SetChallengeName(v string) *ChallengeResponseType {
 16352  	s.ChallengeName = &v
 16353  	return s
 16354  }
 16355  
 16356  // SetChallengeResponse sets the ChallengeResponse field's value.
 16357  func (s *ChallengeResponseType) SetChallengeResponse(v string) *ChallengeResponseType {
 16358  	s.ChallengeResponse = &v
 16359  	return s
 16360  }
 16361  
 16362  // Represents the request to change a user password.
 16363  type ChangePasswordInput struct {
 16364  	_ struct{} `type:"structure"`
 16365  
 16366  	// The access token.
 16367  	//
 16368  	// AccessToken is a sensitive parameter and its value will be
 16369  	// replaced with "sensitive" in string returned by ChangePasswordInput's
 16370  	// String and GoString methods.
 16371  	//
 16372  	// AccessToken is a required field
 16373  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 16374  
 16375  	// The old password.
 16376  	//
 16377  	// PreviousPassword is a sensitive parameter and its value will be
 16378  	// replaced with "sensitive" in string returned by ChangePasswordInput's
 16379  	// String and GoString methods.
 16380  	//
 16381  	// PreviousPassword is a required field
 16382  	PreviousPassword *string `min:"6" type:"string" required:"true" sensitive:"true"`
 16383  
 16384  	// The new password.
 16385  	//
 16386  	// ProposedPassword is a sensitive parameter and its value will be
 16387  	// replaced with "sensitive" in string returned by ChangePasswordInput's
 16388  	// String and GoString methods.
 16389  	//
 16390  	// ProposedPassword is a required field
 16391  	ProposedPassword *string `min:"6" type:"string" required:"true" sensitive:"true"`
 16392  }
 16393  
 16394  // String returns the string representation.
 16395  //
 16396  // API parameter values that are decorated as "sensitive" in the API will not
 16397  // be included in the string output. The member name will be present, but the
 16398  // value will be replaced with "sensitive".
 16399  func (s ChangePasswordInput) String() string {
 16400  	return awsutil.Prettify(s)
 16401  }
 16402  
 16403  // GoString returns the string representation.
 16404  //
 16405  // API parameter values that are decorated as "sensitive" in the API will not
 16406  // be included in the string output. The member name will be present, but the
 16407  // value will be replaced with "sensitive".
 16408  func (s ChangePasswordInput) GoString() string {
 16409  	return s.String()
 16410  }
 16411  
 16412  // Validate inspects the fields of the type to determine if they are valid.
 16413  func (s *ChangePasswordInput) Validate() error {
 16414  	invalidParams := request.ErrInvalidParams{Context: "ChangePasswordInput"}
 16415  	if s.AccessToken == nil {
 16416  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 16417  	}
 16418  	if s.PreviousPassword == nil {
 16419  		invalidParams.Add(request.NewErrParamRequired("PreviousPassword"))
 16420  	}
 16421  	if s.PreviousPassword != nil && len(*s.PreviousPassword) < 6 {
 16422  		invalidParams.Add(request.NewErrParamMinLen("PreviousPassword", 6))
 16423  	}
 16424  	if s.ProposedPassword == nil {
 16425  		invalidParams.Add(request.NewErrParamRequired("ProposedPassword"))
 16426  	}
 16427  	if s.ProposedPassword != nil && len(*s.ProposedPassword) < 6 {
 16428  		invalidParams.Add(request.NewErrParamMinLen("ProposedPassword", 6))
 16429  	}
 16430  
 16431  	if invalidParams.Len() > 0 {
 16432  		return invalidParams
 16433  	}
 16434  	return nil
 16435  }
 16436  
 16437  // SetAccessToken sets the AccessToken field's value.
 16438  func (s *ChangePasswordInput) SetAccessToken(v string) *ChangePasswordInput {
 16439  	s.AccessToken = &v
 16440  	return s
 16441  }
 16442  
 16443  // SetPreviousPassword sets the PreviousPassword field's value.
 16444  func (s *ChangePasswordInput) SetPreviousPassword(v string) *ChangePasswordInput {
 16445  	s.PreviousPassword = &v
 16446  	return s
 16447  }
 16448  
 16449  // SetProposedPassword sets the ProposedPassword field's value.
 16450  func (s *ChangePasswordInput) SetProposedPassword(v string) *ChangePasswordInput {
 16451  	s.ProposedPassword = &v
 16452  	return s
 16453  }
 16454  
 16455  // The response from the server to the change password request.
 16456  type ChangePasswordOutput struct {
 16457  	_ struct{} `type:"structure"`
 16458  }
 16459  
 16460  // String returns the string representation.
 16461  //
 16462  // API parameter values that are decorated as "sensitive" in the API will not
 16463  // be included in the string output. The member name will be present, but the
 16464  // value will be replaced with "sensitive".
 16465  func (s ChangePasswordOutput) String() string {
 16466  	return awsutil.Prettify(s)
 16467  }
 16468  
 16469  // GoString returns the string representation.
 16470  //
 16471  // API parameter values that are decorated as "sensitive" in the API will not
 16472  // be included in the string output. The member name will be present, but the
 16473  // value will be replaced with "sensitive".
 16474  func (s ChangePasswordOutput) GoString() string {
 16475  	return s.String()
 16476  }
 16477  
 16478  // The code delivery details being returned from the server.
 16479  type CodeDeliveryDetailsType struct {
 16480  	_ struct{} `type:"structure"`
 16481  
 16482  	// The attribute name.
 16483  	AttributeName *string `min:"1" type:"string"`
 16484  
 16485  	// The delivery medium (email message or phone number).
 16486  	DeliveryMedium *string `type:"string" enum:"DeliveryMediumType"`
 16487  
 16488  	// The destination for the code delivery details.
 16489  	Destination *string `type:"string"`
 16490  }
 16491  
 16492  // String returns the string representation.
 16493  //
 16494  // API parameter values that are decorated as "sensitive" in the API will not
 16495  // be included in the string output. The member name will be present, but the
 16496  // value will be replaced with "sensitive".
 16497  func (s CodeDeliveryDetailsType) String() string {
 16498  	return awsutil.Prettify(s)
 16499  }
 16500  
 16501  // GoString returns the string representation.
 16502  //
 16503  // API parameter values that are decorated as "sensitive" in the API will not
 16504  // be included in the string output. The member name will be present, but the
 16505  // value will be replaced with "sensitive".
 16506  func (s CodeDeliveryDetailsType) GoString() string {
 16507  	return s.String()
 16508  }
 16509  
 16510  // SetAttributeName sets the AttributeName field's value.
 16511  func (s *CodeDeliveryDetailsType) SetAttributeName(v string) *CodeDeliveryDetailsType {
 16512  	s.AttributeName = &v
 16513  	return s
 16514  }
 16515  
 16516  // SetDeliveryMedium sets the DeliveryMedium field's value.
 16517  func (s *CodeDeliveryDetailsType) SetDeliveryMedium(v string) *CodeDeliveryDetailsType {
 16518  	s.DeliveryMedium = &v
 16519  	return s
 16520  }
 16521  
 16522  // SetDestination sets the Destination field's value.
 16523  func (s *CodeDeliveryDetailsType) SetDestination(v string) *CodeDeliveryDetailsType {
 16524  	s.Destination = &v
 16525  	return s
 16526  }
 16527  
 16528  // This exception is thrown when a verification code fails to deliver successfully.
 16529  type CodeDeliveryFailureException struct {
 16530  	_            struct{}                  `type:"structure"`
 16531  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16532  
 16533  	// The message sent when a verification code fails to deliver successfully.
 16534  	Message_ *string `locationName:"message" type:"string"`
 16535  }
 16536  
 16537  // String returns the string representation.
 16538  //
 16539  // API parameter values that are decorated as "sensitive" in the API will not
 16540  // be included in the string output. The member name will be present, but the
 16541  // value will be replaced with "sensitive".
 16542  func (s CodeDeliveryFailureException) String() string {
 16543  	return awsutil.Prettify(s)
 16544  }
 16545  
 16546  // GoString returns the string representation.
 16547  //
 16548  // API parameter values that are decorated as "sensitive" in the API will not
 16549  // be included in the string output. The member name will be present, but the
 16550  // value will be replaced with "sensitive".
 16551  func (s CodeDeliveryFailureException) GoString() string {
 16552  	return s.String()
 16553  }
 16554  
 16555  func newErrorCodeDeliveryFailureException(v protocol.ResponseMetadata) error {
 16556  	return &CodeDeliveryFailureException{
 16557  		RespMetadata: v,
 16558  	}
 16559  }
 16560  
 16561  // Code returns the exception type name.
 16562  func (s *CodeDeliveryFailureException) Code() string {
 16563  	return "CodeDeliveryFailureException"
 16564  }
 16565  
 16566  // Message returns the exception's message.
 16567  func (s *CodeDeliveryFailureException) Message() string {
 16568  	if s.Message_ != nil {
 16569  		return *s.Message_
 16570  	}
 16571  	return ""
 16572  }
 16573  
 16574  // OrigErr always returns nil, satisfies awserr.Error interface.
 16575  func (s *CodeDeliveryFailureException) OrigErr() error {
 16576  	return nil
 16577  }
 16578  
 16579  func (s *CodeDeliveryFailureException) Error() string {
 16580  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16581  }
 16582  
 16583  // Status code returns the HTTP status code for the request's response error.
 16584  func (s *CodeDeliveryFailureException) StatusCode() int {
 16585  	return s.RespMetadata.StatusCode
 16586  }
 16587  
 16588  // RequestID returns the service's response RequestID for request.
 16589  func (s *CodeDeliveryFailureException) RequestID() string {
 16590  	return s.RespMetadata.RequestID
 16591  }
 16592  
 16593  // This exception is thrown if the provided code does not match what the server
 16594  // was expecting.
 16595  type CodeMismatchException struct {
 16596  	_            struct{}                  `type:"structure"`
 16597  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16598  
 16599  	// The message provided when the code mismatch exception is thrown.
 16600  	Message_ *string `locationName:"message" type:"string"`
 16601  }
 16602  
 16603  // String returns the string representation.
 16604  //
 16605  // API parameter values that are decorated as "sensitive" in the API will not
 16606  // be included in the string output. The member name will be present, but the
 16607  // value will be replaced with "sensitive".
 16608  func (s CodeMismatchException) String() string {
 16609  	return awsutil.Prettify(s)
 16610  }
 16611  
 16612  // GoString returns the string representation.
 16613  //
 16614  // API parameter values that are decorated as "sensitive" in the API will not
 16615  // be included in the string output. The member name will be present, but the
 16616  // value will be replaced with "sensitive".
 16617  func (s CodeMismatchException) GoString() string {
 16618  	return s.String()
 16619  }
 16620  
 16621  func newErrorCodeMismatchException(v protocol.ResponseMetadata) error {
 16622  	return &CodeMismatchException{
 16623  		RespMetadata: v,
 16624  	}
 16625  }
 16626  
 16627  // Code returns the exception type name.
 16628  func (s *CodeMismatchException) Code() string {
 16629  	return "CodeMismatchException"
 16630  }
 16631  
 16632  // Message returns the exception's message.
 16633  func (s *CodeMismatchException) Message() string {
 16634  	if s.Message_ != nil {
 16635  		return *s.Message_
 16636  	}
 16637  	return ""
 16638  }
 16639  
 16640  // OrigErr always returns nil, satisfies awserr.Error interface.
 16641  func (s *CodeMismatchException) OrigErr() error {
 16642  	return nil
 16643  }
 16644  
 16645  func (s *CodeMismatchException) Error() string {
 16646  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16647  }
 16648  
 16649  // Status code returns the HTTP status code for the request's response error.
 16650  func (s *CodeMismatchException) StatusCode() int {
 16651  	return s.RespMetadata.StatusCode
 16652  }
 16653  
 16654  // RequestID returns the service's response RequestID for request.
 16655  func (s *CodeMismatchException) RequestID() string {
 16656  	return s.RespMetadata.RequestID
 16657  }
 16658  
 16659  // The compromised credentials actions type
 16660  type CompromisedCredentialsActionsType struct {
 16661  	_ struct{} `type:"structure"`
 16662  
 16663  	// The event action.
 16664  	//
 16665  	// EventAction is a required field
 16666  	EventAction *string `type:"string" required:"true" enum:"CompromisedCredentialsEventActionType"`
 16667  }
 16668  
 16669  // String returns the string representation.
 16670  //
 16671  // API parameter values that are decorated as "sensitive" in the API will not
 16672  // be included in the string output. The member name will be present, but the
 16673  // value will be replaced with "sensitive".
 16674  func (s CompromisedCredentialsActionsType) String() string {
 16675  	return awsutil.Prettify(s)
 16676  }
 16677  
 16678  // GoString returns the string representation.
 16679  //
 16680  // API parameter values that are decorated as "sensitive" in the API will not
 16681  // be included in the string output. The member name will be present, but the
 16682  // value will be replaced with "sensitive".
 16683  func (s CompromisedCredentialsActionsType) GoString() string {
 16684  	return s.String()
 16685  }
 16686  
 16687  // Validate inspects the fields of the type to determine if they are valid.
 16688  func (s *CompromisedCredentialsActionsType) Validate() error {
 16689  	invalidParams := request.ErrInvalidParams{Context: "CompromisedCredentialsActionsType"}
 16690  	if s.EventAction == nil {
 16691  		invalidParams.Add(request.NewErrParamRequired("EventAction"))
 16692  	}
 16693  
 16694  	if invalidParams.Len() > 0 {
 16695  		return invalidParams
 16696  	}
 16697  	return nil
 16698  }
 16699  
 16700  // SetEventAction sets the EventAction field's value.
 16701  func (s *CompromisedCredentialsActionsType) SetEventAction(v string) *CompromisedCredentialsActionsType {
 16702  	s.EventAction = &v
 16703  	return s
 16704  }
 16705  
 16706  // The compromised credentials risk configuration type.
 16707  type CompromisedCredentialsRiskConfigurationType struct {
 16708  	_ struct{} `type:"structure"`
 16709  
 16710  	// The compromised credentials risk configuration actions.
 16711  	//
 16712  	// Actions is a required field
 16713  	Actions *CompromisedCredentialsActionsType `type:"structure" required:"true"`
 16714  
 16715  	// Perform the action for these events. The default is to perform all events
 16716  	// if no event filter is specified.
 16717  	EventFilter []*string `type:"list"`
 16718  }
 16719  
 16720  // String returns the string representation.
 16721  //
 16722  // API parameter values that are decorated as "sensitive" in the API will not
 16723  // be included in the string output. The member name will be present, but the
 16724  // value will be replaced with "sensitive".
 16725  func (s CompromisedCredentialsRiskConfigurationType) String() string {
 16726  	return awsutil.Prettify(s)
 16727  }
 16728  
 16729  // GoString returns the string representation.
 16730  //
 16731  // API parameter values that are decorated as "sensitive" in the API will not
 16732  // be included in the string output. The member name will be present, but the
 16733  // value will be replaced with "sensitive".
 16734  func (s CompromisedCredentialsRiskConfigurationType) GoString() string {
 16735  	return s.String()
 16736  }
 16737  
 16738  // Validate inspects the fields of the type to determine if they are valid.
 16739  func (s *CompromisedCredentialsRiskConfigurationType) Validate() error {
 16740  	invalidParams := request.ErrInvalidParams{Context: "CompromisedCredentialsRiskConfigurationType"}
 16741  	if s.Actions == nil {
 16742  		invalidParams.Add(request.NewErrParamRequired("Actions"))
 16743  	}
 16744  	if s.Actions != nil {
 16745  		if err := s.Actions.Validate(); err != nil {
 16746  			invalidParams.AddNested("Actions", err.(request.ErrInvalidParams))
 16747  		}
 16748  	}
 16749  
 16750  	if invalidParams.Len() > 0 {
 16751  		return invalidParams
 16752  	}
 16753  	return nil
 16754  }
 16755  
 16756  // SetActions sets the Actions field's value.
 16757  func (s *CompromisedCredentialsRiskConfigurationType) SetActions(v *CompromisedCredentialsActionsType) *CompromisedCredentialsRiskConfigurationType {
 16758  	s.Actions = v
 16759  	return s
 16760  }
 16761  
 16762  // SetEventFilter sets the EventFilter field's value.
 16763  func (s *CompromisedCredentialsRiskConfigurationType) SetEventFilter(v []*string) *CompromisedCredentialsRiskConfigurationType {
 16764  	s.EventFilter = v
 16765  	return s
 16766  }
 16767  
 16768  // This exception is thrown if two or more modifications are happening concurrently.
 16769  type ConcurrentModificationException struct {
 16770  	_            struct{}                  `type:"structure"`
 16771  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16772  
 16773  	// The message provided when the concurrent exception is thrown.
 16774  	Message_ *string `locationName:"message" type:"string"`
 16775  }
 16776  
 16777  // String returns the string representation.
 16778  //
 16779  // API parameter values that are decorated as "sensitive" in the API will not
 16780  // be included in the string output. The member name will be present, but the
 16781  // value will be replaced with "sensitive".
 16782  func (s ConcurrentModificationException) String() string {
 16783  	return awsutil.Prettify(s)
 16784  }
 16785  
 16786  // GoString returns the string representation.
 16787  //
 16788  // API parameter values that are decorated as "sensitive" in the API will not
 16789  // be included in the string output. The member name will be present, but the
 16790  // value will be replaced with "sensitive".
 16791  func (s ConcurrentModificationException) GoString() string {
 16792  	return s.String()
 16793  }
 16794  
 16795  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
 16796  	return &ConcurrentModificationException{
 16797  		RespMetadata: v,
 16798  	}
 16799  }
 16800  
 16801  // Code returns the exception type name.
 16802  func (s *ConcurrentModificationException) Code() string {
 16803  	return "ConcurrentModificationException"
 16804  }
 16805  
 16806  // Message returns the exception's message.
 16807  func (s *ConcurrentModificationException) Message() string {
 16808  	if s.Message_ != nil {
 16809  		return *s.Message_
 16810  	}
 16811  	return ""
 16812  }
 16813  
 16814  // OrigErr always returns nil, satisfies awserr.Error interface.
 16815  func (s *ConcurrentModificationException) OrigErr() error {
 16816  	return nil
 16817  }
 16818  
 16819  func (s *ConcurrentModificationException) Error() string {
 16820  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16821  }
 16822  
 16823  // Status code returns the HTTP status code for the request's response error.
 16824  func (s *ConcurrentModificationException) StatusCode() int {
 16825  	return s.RespMetadata.StatusCode
 16826  }
 16827  
 16828  // RequestID returns the service's response RequestID for request.
 16829  func (s *ConcurrentModificationException) RequestID() string {
 16830  	return s.RespMetadata.RequestID
 16831  }
 16832  
 16833  // Confirms the device request.
 16834  type ConfirmDeviceInput struct {
 16835  	_ struct{} `type:"structure"`
 16836  
 16837  	// The access token.
 16838  	//
 16839  	// AccessToken is a sensitive parameter and its value will be
 16840  	// replaced with "sensitive" in string returned by ConfirmDeviceInput's
 16841  	// String and GoString methods.
 16842  	//
 16843  	// AccessToken is a required field
 16844  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 16845  
 16846  	// The device key.
 16847  	//
 16848  	// DeviceKey is a required field
 16849  	DeviceKey *string `min:"1" type:"string" required:"true"`
 16850  
 16851  	// The device name.
 16852  	DeviceName *string `min:"1" type:"string"`
 16853  
 16854  	// The configuration of the device secret verifier.
 16855  	DeviceSecretVerifierConfig *DeviceSecretVerifierConfigType `type:"structure"`
 16856  }
 16857  
 16858  // String returns the string representation.
 16859  //
 16860  // API parameter values that are decorated as "sensitive" in the API will not
 16861  // be included in the string output. The member name will be present, but the
 16862  // value will be replaced with "sensitive".
 16863  func (s ConfirmDeviceInput) String() string {
 16864  	return awsutil.Prettify(s)
 16865  }
 16866  
 16867  // GoString returns the string representation.
 16868  //
 16869  // API parameter values that are decorated as "sensitive" in the API will not
 16870  // be included in the string output. The member name will be present, but the
 16871  // value will be replaced with "sensitive".
 16872  func (s ConfirmDeviceInput) GoString() string {
 16873  	return s.String()
 16874  }
 16875  
 16876  // Validate inspects the fields of the type to determine if they are valid.
 16877  func (s *ConfirmDeviceInput) Validate() error {
 16878  	invalidParams := request.ErrInvalidParams{Context: "ConfirmDeviceInput"}
 16879  	if s.AccessToken == nil {
 16880  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 16881  	}
 16882  	if s.DeviceKey == nil {
 16883  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 16884  	}
 16885  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 16886  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 16887  	}
 16888  	if s.DeviceName != nil && len(*s.DeviceName) < 1 {
 16889  		invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1))
 16890  	}
 16891  
 16892  	if invalidParams.Len() > 0 {
 16893  		return invalidParams
 16894  	}
 16895  	return nil
 16896  }
 16897  
 16898  // SetAccessToken sets the AccessToken field's value.
 16899  func (s *ConfirmDeviceInput) SetAccessToken(v string) *ConfirmDeviceInput {
 16900  	s.AccessToken = &v
 16901  	return s
 16902  }
 16903  
 16904  // SetDeviceKey sets the DeviceKey field's value.
 16905  func (s *ConfirmDeviceInput) SetDeviceKey(v string) *ConfirmDeviceInput {
 16906  	s.DeviceKey = &v
 16907  	return s
 16908  }
 16909  
 16910  // SetDeviceName sets the DeviceName field's value.
 16911  func (s *ConfirmDeviceInput) SetDeviceName(v string) *ConfirmDeviceInput {
 16912  	s.DeviceName = &v
 16913  	return s
 16914  }
 16915  
 16916  // SetDeviceSecretVerifierConfig sets the DeviceSecretVerifierConfig field's value.
 16917  func (s *ConfirmDeviceInput) SetDeviceSecretVerifierConfig(v *DeviceSecretVerifierConfigType) *ConfirmDeviceInput {
 16918  	s.DeviceSecretVerifierConfig = v
 16919  	return s
 16920  }
 16921  
 16922  // Confirms the device response.
 16923  type ConfirmDeviceOutput struct {
 16924  	_ struct{} `type:"structure"`
 16925  
 16926  	// Indicates whether the user confirmation is necessary to confirm the device
 16927  	// response.
 16928  	UserConfirmationNecessary *bool `type:"boolean"`
 16929  }
 16930  
 16931  // String returns the string representation.
 16932  //
 16933  // API parameter values that are decorated as "sensitive" in the API will not
 16934  // be included in the string output. The member name will be present, but the
 16935  // value will be replaced with "sensitive".
 16936  func (s ConfirmDeviceOutput) String() string {
 16937  	return awsutil.Prettify(s)
 16938  }
 16939  
 16940  // GoString returns the string representation.
 16941  //
 16942  // API parameter values that are decorated as "sensitive" in the API will not
 16943  // be included in the string output. The member name will be present, but the
 16944  // value will be replaced with "sensitive".
 16945  func (s ConfirmDeviceOutput) GoString() string {
 16946  	return s.String()
 16947  }
 16948  
 16949  // SetUserConfirmationNecessary sets the UserConfirmationNecessary field's value.
 16950  func (s *ConfirmDeviceOutput) SetUserConfirmationNecessary(v bool) *ConfirmDeviceOutput {
 16951  	s.UserConfirmationNecessary = &v
 16952  	return s
 16953  }
 16954  
 16955  // The request representing the confirmation for a password reset.
 16956  type ConfirmForgotPasswordInput struct {
 16957  	_ struct{} `type:"structure"`
 16958  
 16959  	// The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmForgotPassword
 16960  	// calls.
 16961  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 16962  
 16963  	// The app client ID of the app associated with the user pool.
 16964  	//
 16965  	// ClientId is a sensitive parameter and its value will be
 16966  	// replaced with "sensitive" in string returned by ConfirmForgotPasswordInput's
 16967  	// String and GoString methods.
 16968  	//
 16969  	// ClientId is a required field
 16970  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 16971  
 16972  	// A map of custom key-value pairs that you can provide as input for any custom
 16973  	// workflows that this action triggers.
 16974  	//
 16975  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 16976  	// When you use the ConfirmForgotPassword API action, Amazon Cognito invokes
 16977  	// the function that is assigned to the post confirmation trigger. When Amazon
 16978  	// Cognito invokes this function, it passes a JSON payload, which the function
 16979  	// receives as input. This payload contains a clientMetadata attribute, which
 16980  	// provides the data that you assigned to the ClientMetadata parameter in your
 16981  	// ConfirmForgotPassword request. In your function code in Lambda, you can process
 16982  	// the clientMetadata value to enhance your workflow for your specific needs.
 16983  	//
 16984  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 16985  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 16986  	// in the Amazon Cognito Developer Guide.
 16987  	//
 16988  	// Take the following limitations into consideration when you use the ClientMetadata
 16989  	// parameter:
 16990  	//
 16991  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 16992  	//    available only to Lambda triggers that are assigned to a user pool to
 16993  	//    support custom workflows. If your user pool configuration does not include
 16994  	//    triggers, the ClientMetadata parameter serves no purpose.
 16995  	//
 16996  	//    * Amazon Cognito does not validate the ClientMetadata value.
 16997  	//
 16998  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 16999  	//    use it to provide sensitive information.
 17000  	ClientMetadata map[string]*string `type:"map"`
 17001  
 17002  	// The confirmation code sent by a user's request to retrieve a forgotten password.
 17003  	// For more information, see ForgotPassword (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html).
 17004  	//
 17005  	// ConfirmationCode is a required field
 17006  	ConfirmationCode *string `min:"1" type:"string" required:"true"`
 17007  
 17008  	// The password sent by a user's request to retrieve a forgotten password.
 17009  	//
 17010  	// Password is a sensitive parameter and its value will be
 17011  	// replaced with "sensitive" in string returned by ConfirmForgotPasswordInput's
 17012  	// String and GoString methods.
 17013  	//
 17014  	// Password is a required field
 17015  	Password *string `min:"6" type:"string" required:"true" sensitive:"true"`
 17016  
 17017  	// A keyed-hash message authentication code (HMAC) calculated using the secret
 17018  	// key of a user pool client and username plus the client ID in the message.
 17019  	//
 17020  	// SecretHash is a sensitive parameter and its value will be
 17021  	// replaced with "sensitive" in string returned by ConfirmForgotPasswordInput's
 17022  	// String and GoString methods.
 17023  	SecretHash *string `min:"1" type:"string" sensitive:"true"`
 17024  
 17025  	// Contextual data such as the user's device fingerprint, IP address, or location
 17026  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 17027  	// security.
 17028  	UserContextData *UserContextDataType `type:"structure"`
 17029  
 17030  	// The user name of the user for whom you want to enter a code to retrieve a
 17031  	// forgotten password.
 17032  	//
 17033  	// Username is a sensitive parameter and its value will be
 17034  	// replaced with "sensitive" in string returned by ConfirmForgotPasswordInput's
 17035  	// String and GoString methods.
 17036  	//
 17037  	// Username is a required field
 17038  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 17039  }
 17040  
 17041  // String returns the string representation.
 17042  //
 17043  // API parameter values that are decorated as "sensitive" in the API will not
 17044  // be included in the string output. The member name will be present, but the
 17045  // value will be replaced with "sensitive".
 17046  func (s ConfirmForgotPasswordInput) String() string {
 17047  	return awsutil.Prettify(s)
 17048  }
 17049  
 17050  // GoString returns the string representation.
 17051  //
 17052  // API parameter values that are decorated as "sensitive" in the API will not
 17053  // be included in the string output. The member name will be present, but the
 17054  // value will be replaced with "sensitive".
 17055  func (s ConfirmForgotPasswordInput) GoString() string {
 17056  	return s.String()
 17057  }
 17058  
 17059  // Validate inspects the fields of the type to determine if they are valid.
 17060  func (s *ConfirmForgotPasswordInput) Validate() error {
 17061  	invalidParams := request.ErrInvalidParams{Context: "ConfirmForgotPasswordInput"}
 17062  	if s.ClientId == nil {
 17063  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 17064  	}
 17065  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 17066  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 17067  	}
 17068  	if s.ConfirmationCode == nil {
 17069  		invalidParams.Add(request.NewErrParamRequired("ConfirmationCode"))
 17070  	}
 17071  	if s.ConfirmationCode != nil && len(*s.ConfirmationCode) < 1 {
 17072  		invalidParams.Add(request.NewErrParamMinLen("ConfirmationCode", 1))
 17073  	}
 17074  	if s.Password == nil {
 17075  		invalidParams.Add(request.NewErrParamRequired("Password"))
 17076  	}
 17077  	if s.Password != nil && len(*s.Password) < 6 {
 17078  		invalidParams.Add(request.NewErrParamMinLen("Password", 6))
 17079  	}
 17080  	if s.SecretHash != nil && len(*s.SecretHash) < 1 {
 17081  		invalidParams.Add(request.NewErrParamMinLen("SecretHash", 1))
 17082  	}
 17083  	if s.Username == nil {
 17084  		invalidParams.Add(request.NewErrParamRequired("Username"))
 17085  	}
 17086  	if s.Username != nil && len(*s.Username) < 1 {
 17087  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 17088  	}
 17089  
 17090  	if invalidParams.Len() > 0 {
 17091  		return invalidParams
 17092  	}
 17093  	return nil
 17094  }
 17095  
 17096  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 17097  func (s *ConfirmForgotPasswordInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *ConfirmForgotPasswordInput {
 17098  	s.AnalyticsMetadata = v
 17099  	return s
 17100  }
 17101  
 17102  // SetClientId sets the ClientId field's value.
 17103  func (s *ConfirmForgotPasswordInput) SetClientId(v string) *ConfirmForgotPasswordInput {
 17104  	s.ClientId = &v
 17105  	return s
 17106  }
 17107  
 17108  // SetClientMetadata sets the ClientMetadata field's value.
 17109  func (s *ConfirmForgotPasswordInput) SetClientMetadata(v map[string]*string) *ConfirmForgotPasswordInput {
 17110  	s.ClientMetadata = v
 17111  	return s
 17112  }
 17113  
 17114  // SetConfirmationCode sets the ConfirmationCode field's value.
 17115  func (s *ConfirmForgotPasswordInput) SetConfirmationCode(v string) *ConfirmForgotPasswordInput {
 17116  	s.ConfirmationCode = &v
 17117  	return s
 17118  }
 17119  
 17120  // SetPassword sets the Password field's value.
 17121  func (s *ConfirmForgotPasswordInput) SetPassword(v string) *ConfirmForgotPasswordInput {
 17122  	s.Password = &v
 17123  	return s
 17124  }
 17125  
 17126  // SetSecretHash sets the SecretHash field's value.
 17127  func (s *ConfirmForgotPasswordInput) SetSecretHash(v string) *ConfirmForgotPasswordInput {
 17128  	s.SecretHash = &v
 17129  	return s
 17130  }
 17131  
 17132  // SetUserContextData sets the UserContextData field's value.
 17133  func (s *ConfirmForgotPasswordInput) SetUserContextData(v *UserContextDataType) *ConfirmForgotPasswordInput {
 17134  	s.UserContextData = v
 17135  	return s
 17136  }
 17137  
 17138  // SetUsername sets the Username field's value.
 17139  func (s *ConfirmForgotPasswordInput) SetUsername(v string) *ConfirmForgotPasswordInput {
 17140  	s.Username = &v
 17141  	return s
 17142  }
 17143  
 17144  // The response from the server that results from a user's request to retrieve
 17145  // a forgotten password.
 17146  type ConfirmForgotPasswordOutput struct {
 17147  	_ struct{} `type:"structure"`
 17148  }
 17149  
 17150  // String returns the string representation.
 17151  //
 17152  // API parameter values that are decorated as "sensitive" in the API will not
 17153  // be included in the string output. The member name will be present, but the
 17154  // value will be replaced with "sensitive".
 17155  func (s ConfirmForgotPasswordOutput) String() string {
 17156  	return awsutil.Prettify(s)
 17157  }
 17158  
 17159  // GoString returns the string representation.
 17160  //
 17161  // API parameter values that are decorated as "sensitive" in the API will not
 17162  // be included in the string output. The member name will be present, but the
 17163  // value will be replaced with "sensitive".
 17164  func (s ConfirmForgotPasswordOutput) GoString() string {
 17165  	return s.String()
 17166  }
 17167  
 17168  // Represents the request to confirm registration of a user.
 17169  type ConfirmSignUpInput struct {
 17170  	_ struct{} `type:"structure"`
 17171  
 17172  	// The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmSignUp
 17173  	// calls.
 17174  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 17175  
 17176  	// The ID of the app client associated with the user pool.
 17177  	//
 17178  	// ClientId is a sensitive parameter and its value will be
 17179  	// replaced with "sensitive" in string returned by ConfirmSignUpInput's
 17180  	// String and GoString methods.
 17181  	//
 17182  	// ClientId is a required field
 17183  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 17184  
 17185  	// A map of custom key-value pairs that you can provide as input for any custom
 17186  	// workflows that this action triggers.
 17187  	//
 17188  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 17189  	// When you use the ConfirmSignUp API action, Amazon Cognito invokes the function
 17190  	// that is assigned to the post confirmation trigger. When Amazon Cognito invokes
 17191  	// this function, it passes a JSON payload, which the function receives as input.
 17192  	// This payload contains a clientMetadata attribute, which provides the data
 17193  	// that you assigned to the ClientMetadata parameter in your ConfirmSignUp request.
 17194  	// In your function code in Lambda, you can process the clientMetadata value
 17195  	// to enhance your workflow for your specific needs.
 17196  	//
 17197  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 17198  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 17199  	// in the Amazon Cognito Developer Guide.
 17200  	//
 17201  	// Take the following limitations into consideration when you use the ClientMetadata
 17202  	// parameter:
 17203  	//
 17204  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 17205  	//    available only to Lambda triggers that are assigned to a user pool to
 17206  	//    support custom workflows. If your user pool configuration does not include
 17207  	//    triggers, the ClientMetadata parameter serves no purpose.
 17208  	//
 17209  	//    * Amazon Cognito does not validate the ClientMetadata value.
 17210  	//
 17211  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 17212  	//    use it to provide sensitive information.
 17213  	ClientMetadata map[string]*string `type:"map"`
 17214  
 17215  	// The confirmation code sent by a user's request to confirm registration.
 17216  	//
 17217  	// ConfirmationCode is a required field
 17218  	ConfirmationCode *string `min:"1" type:"string" required:"true"`
 17219  
 17220  	// Boolean to be specified to force user confirmation irrespective of existing
 17221  	// alias. By default set to False. If this parameter is set to True and the
 17222  	// phone number/email used for sign up confirmation already exists as an alias
 17223  	// with a different user, the API call will migrate the alias from the previous
 17224  	// user to the newly created user being confirmed. If set to False, the API
 17225  	// will throw an AliasExistsException error.
 17226  	ForceAliasCreation *bool `type:"boolean"`
 17227  
 17228  	// A keyed-hash message authentication code (HMAC) calculated using the secret
 17229  	// key of a user pool client and username plus the client ID in the message.
 17230  	//
 17231  	// SecretHash is a sensitive parameter and its value will be
 17232  	// replaced with "sensitive" in string returned by ConfirmSignUpInput's
 17233  	// String and GoString methods.
 17234  	SecretHash *string `min:"1" type:"string" sensitive:"true"`
 17235  
 17236  	// Contextual data such as the user's device fingerprint, IP address, or location
 17237  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 17238  	// security.
 17239  	UserContextData *UserContextDataType `type:"structure"`
 17240  
 17241  	// The user name of the user whose registration you wish to confirm.
 17242  	//
 17243  	// Username is a sensitive parameter and its value will be
 17244  	// replaced with "sensitive" in string returned by ConfirmSignUpInput's
 17245  	// String and GoString methods.
 17246  	//
 17247  	// Username is a required field
 17248  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 17249  }
 17250  
 17251  // String returns the string representation.
 17252  //
 17253  // API parameter values that are decorated as "sensitive" in the API will not
 17254  // be included in the string output. The member name will be present, but the
 17255  // value will be replaced with "sensitive".
 17256  func (s ConfirmSignUpInput) String() string {
 17257  	return awsutil.Prettify(s)
 17258  }
 17259  
 17260  // GoString returns the string representation.
 17261  //
 17262  // API parameter values that are decorated as "sensitive" in the API will not
 17263  // be included in the string output. The member name will be present, but the
 17264  // value will be replaced with "sensitive".
 17265  func (s ConfirmSignUpInput) GoString() string {
 17266  	return s.String()
 17267  }
 17268  
 17269  // Validate inspects the fields of the type to determine if they are valid.
 17270  func (s *ConfirmSignUpInput) Validate() error {
 17271  	invalidParams := request.ErrInvalidParams{Context: "ConfirmSignUpInput"}
 17272  	if s.ClientId == nil {
 17273  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 17274  	}
 17275  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 17276  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 17277  	}
 17278  	if s.ConfirmationCode == nil {
 17279  		invalidParams.Add(request.NewErrParamRequired("ConfirmationCode"))
 17280  	}
 17281  	if s.ConfirmationCode != nil && len(*s.ConfirmationCode) < 1 {
 17282  		invalidParams.Add(request.NewErrParamMinLen("ConfirmationCode", 1))
 17283  	}
 17284  	if s.SecretHash != nil && len(*s.SecretHash) < 1 {
 17285  		invalidParams.Add(request.NewErrParamMinLen("SecretHash", 1))
 17286  	}
 17287  	if s.Username == nil {
 17288  		invalidParams.Add(request.NewErrParamRequired("Username"))
 17289  	}
 17290  	if s.Username != nil && len(*s.Username) < 1 {
 17291  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 17292  	}
 17293  
 17294  	if invalidParams.Len() > 0 {
 17295  		return invalidParams
 17296  	}
 17297  	return nil
 17298  }
 17299  
 17300  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 17301  func (s *ConfirmSignUpInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *ConfirmSignUpInput {
 17302  	s.AnalyticsMetadata = v
 17303  	return s
 17304  }
 17305  
 17306  // SetClientId sets the ClientId field's value.
 17307  func (s *ConfirmSignUpInput) SetClientId(v string) *ConfirmSignUpInput {
 17308  	s.ClientId = &v
 17309  	return s
 17310  }
 17311  
 17312  // SetClientMetadata sets the ClientMetadata field's value.
 17313  func (s *ConfirmSignUpInput) SetClientMetadata(v map[string]*string) *ConfirmSignUpInput {
 17314  	s.ClientMetadata = v
 17315  	return s
 17316  }
 17317  
 17318  // SetConfirmationCode sets the ConfirmationCode field's value.
 17319  func (s *ConfirmSignUpInput) SetConfirmationCode(v string) *ConfirmSignUpInput {
 17320  	s.ConfirmationCode = &v
 17321  	return s
 17322  }
 17323  
 17324  // SetForceAliasCreation sets the ForceAliasCreation field's value.
 17325  func (s *ConfirmSignUpInput) SetForceAliasCreation(v bool) *ConfirmSignUpInput {
 17326  	s.ForceAliasCreation = &v
 17327  	return s
 17328  }
 17329  
 17330  // SetSecretHash sets the SecretHash field's value.
 17331  func (s *ConfirmSignUpInput) SetSecretHash(v string) *ConfirmSignUpInput {
 17332  	s.SecretHash = &v
 17333  	return s
 17334  }
 17335  
 17336  // SetUserContextData sets the UserContextData field's value.
 17337  func (s *ConfirmSignUpInput) SetUserContextData(v *UserContextDataType) *ConfirmSignUpInput {
 17338  	s.UserContextData = v
 17339  	return s
 17340  }
 17341  
 17342  // SetUsername sets the Username field's value.
 17343  func (s *ConfirmSignUpInput) SetUsername(v string) *ConfirmSignUpInput {
 17344  	s.Username = &v
 17345  	return s
 17346  }
 17347  
 17348  // Represents the response from the server for the registration confirmation.
 17349  type ConfirmSignUpOutput struct {
 17350  	_ struct{} `type:"structure"`
 17351  }
 17352  
 17353  // String returns the string representation.
 17354  //
 17355  // API parameter values that are decorated as "sensitive" in the API will not
 17356  // be included in the string output. The member name will be present, but the
 17357  // value will be replaced with "sensitive".
 17358  func (s ConfirmSignUpOutput) String() string {
 17359  	return awsutil.Prettify(s)
 17360  }
 17361  
 17362  // GoString returns the string representation.
 17363  //
 17364  // API parameter values that are decorated as "sensitive" in the API will not
 17365  // be included in the string output. The member name will be present, but the
 17366  // value will be replaced with "sensitive".
 17367  func (s ConfirmSignUpOutput) GoString() string {
 17368  	return s.String()
 17369  }
 17370  
 17371  // Contextual user data type used for evaluating the risk of an unexpected event
 17372  // by Amazon Cognito advanced security.
 17373  type ContextDataType struct {
 17374  	_ struct{} `type:"structure"`
 17375  
 17376  	// Encoded data containing device fingerprinting details, collected using the
 17377  	// Amazon Cognito context data collection library.
 17378  	EncodedData *string `type:"string"`
 17379  
 17380  	// HttpHeaders received on your server in same order.
 17381  	//
 17382  	// HttpHeaders is a required field
 17383  	HttpHeaders []*HttpHeader `type:"list" required:"true"`
 17384  
 17385  	// Source IP address of your user.
 17386  	//
 17387  	// IpAddress is a required field
 17388  	IpAddress *string `type:"string" required:"true"`
 17389  
 17390  	// Your server endpoint where this API is invoked.
 17391  	//
 17392  	// ServerName is a required field
 17393  	ServerName *string `type:"string" required:"true"`
 17394  
 17395  	// Your server path where this API is invoked.
 17396  	//
 17397  	// ServerPath is a required field
 17398  	ServerPath *string `type:"string" required:"true"`
 17399  }
 17400  
 17401  // String returns the string representation.
 17402  //
 17403  // API parameter values that are decorated as "sensitive" in the API will not
 17404  // be included in the string output. The member name will be present, but the
 17405  // value will be replaced with "sensitive".
 17406  func (s ContextDataType) String() string {
 17407  	return awsutil.Prettify(s)
 17408  }
 17409  
 17410  // GoString returns the string representation.
 17411  //
 17412  // API parameter values that are decorated as "sensitive" in the API will not
 17413  // be included in the string output. The member name will be present, but the
 17414  // value will be replaced with "sensitive".
 17415  func (s ContextDataType) GoString() string {
 17416  	return s.String()
 17417  }
 17418  
 17419  // Validate inspects the fields of the type to determine if they are valid.
 17420  func (s *ContextDataType) Validate() error {
 17421  	invalidParams := request.ErrInvalidParams{Context: "ContextDataType"}
 17422  	if s.HttpHeaders == nil {
 17423  		invalidParams.Add(request.NewErrParamRequired("HttpHeaders"))
 17424  	}
 17425  	if s.IpAddress == nil {
 17426  		invalidParams.Add(request.NewErrParamRequired("IpAddress"))
 17427  	}
 17428  	if s.ServerName == nil {
 17429  		invalidParams.Add(request.NewErrParamRequired("ServerName"))
 17430  	}
 17431  	if s.ServerPath == nil {
 17432  		invalidParams.Add(request.NewErrParamRequired("ServerPath"))
 17433  	}
 17434  
 17435  	if invalidParams.Len() > 0 {
 17436  		return invalidParams
 17437  	}
 17438  	return nil
 17439  }
 17440  
 17441  // SetEncodedData sets the EncodedData field's value.
 17442  func (s *ContextDataType) SetEncodedData(v string) *ContextDataType {
 17443  	s.EncodedData = &v
 17444  	return s
 17445  }
 17446  
 17447  // SetHttpHeaders sets the HttpHeaders field's value.
 17448  func (s *ContextDataType) SetHttpHeaders(v []*HttpHeader) *ContextDataType {
 17449  	s.HttpHeaders = v
 17450  	return s
 17451  }
 17452  
 17453  // SetIpAddress sets the IpAddress field's value.
 17454  func (s *ContextDataType) SetIpAddress(v string) *ContextDataType {
 17455  	s.IpAddress = &v
 17456  	return s
 17457  }
 17458  
 17459  // SetServerName sets the ServerName field's value.
 17460  func (s *ContextDataType) SetServerName(v string) *ContextDataType {
 17461  	s.ServerName = &v
 17462  	return s
 17463  }
 17464  
 17465  // SetServerPath sets the ServerPath field's value.
 17466  func (s *ContextDataType) SetServerPath(v string) *ContextDataType {
 17467  	s.ServerPath = &v
 17468  	return s
 17469  }
 17470  
 17471  type CreateGroupInput struct {
 17472  	_ struct{} `type:"structure"`
 17473  
 17474  	// A string containing the description of the group.
 17475  	Description *string `type:"string"`
 17476  
 17477  	// The name of the group. Must be unique.
 17478  	//
 17479  	// GroupName is a required field
 17480  	GroupName *string `min:"1" type:"string" required:"true"`
 17481  
 17482  	// A nonnegative integer value that specifies the precedence of this group relative
 17483  	// to the other groups that a user can belong to in the user pool. Zero is the
 17484  	// highest precedence value. Groups with lower Precedence values take precedence
 17485  	// over groups with higher or null Precedence values. If a user belongs to two
 17486  	// or more groups, it is the group with the lowest precedence value whose role
 17487  	// ARN will be used in the cognito:roles and cognito:preferred_role claims in
 17488  	// the user's tokens.
 17489  	//
 17490  	// Two groups can have the same Precedence value. If this happens, neither group
 17491  	// takes precedence over the other. If two groups with the same Precedence have
 17492  	// the same role ARN, that role is used in the cognito:preferred_role claim
 17493  	// in tokens for users in each group. If the two groups have different role
 17494  	// ARNs, the cognito:preferred_role claim is not set in users' tokens.
 17495  	//
 17496  	// The default Precedence value is null.
 17497  	Precedence *int64 `type:"integer"`
 17498  
 17499  	// The role ARN for the group.
 17500  	RoleArn *string `min:"20" type:"string"`
 17501  
 17502  	// The user pool ID for the user pool.
 17503  	//
 17504  	// UserPoolId is a required field
 17505  	UserPoolId *string `min:"1" type:"string" required:"true"`
 17506  }
 17507  
 17508  // String returns the string representation.
 17509  //
 17510  // API parameter values that are decorated as "sensitive" in the API will not
 17511  // be included in the string output. The member name will be present, but the
 17512  // value will be replaced with "sensitive".
 17513  func (s CreateGroupInput) String() string {
 17514  	return awsutil.Prettify(s)
 17515  }
 17516  
 17517  // GoString returns the string representation.
 17518  //
 17519  // API parameter values that are decorated as "sensitive" in the API will not
 17520  // be included in the string output. The member name will be present, but the
 17521  // value will be replaced with "sensitive".
 17522  func (s CreateGroupInput) GoString() string {
 17523  	return s.String()
 17524  }
 17525  
 17526  // Validate inspects the fields of the type to determine if they are valid.
 17527  func (s *CreateGroupInput) Validate() error {
 17528  	invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
 17529  	if s.GroupName == nil {
 17530  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 17531  	}
 17532  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 17533  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 17534  	}
 17535  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 17536  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 17537  	}
 17538  	if s.UserPoolId == nil {
 17539  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 17540  	}
 17541  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 17542  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 17543  	}
 17544  
 17545  	if invalidParams.Len() > 0 {
 17546  		return invalidParams
 17547  	}
 17548  	return nil
 17549  }
 17550  
 17551  // SetDescription sets the Description field's value.
 17552  func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput {
 17553  	s.Description = &v
 17554  	return s
 17555  }
 17556  
 17557  // SetGroupName sets the GroupName field's value.
 17558  func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput {
 17559  	s.GroupName = &v
 17560  	return s
 17561  }
 17562  
 17563  // SetPrecedence sets the Precedence field's value.
 17564  func (s *CreateGroupInput) SetPrecedence(v int64) *CreateGroupInput {
 17565  	s.Precedence = &v
 17566  	return s
 17567  }
 17568  
 17569  // SetRoleArn sets the RoleArn field's value.
 17570  func (s *CreateGroupInput) SetRoleArn(v string) *CreateGroupInput {
 17571  	s.RoleArn = &v
 17572  	return s
 17573  }
 17574  
 17575  // SetUserPoolId sets the UserPoolId field's value.
 17576  func (s *CreateGroupInput) SetUserPoolId(v string) *CreateGroupInput {
 17577  	s.UserPoolId = &v
 17578  	return s
 17579  }
 17580  
 17581  type CreateGroupOutput struct {
 17582  	_ struct{} `type:"structure"`
 17583  
 17584  	// The group object for the group.
 17585  	Group *GroupType `type:"structure"`
 17586  }
 17587  
 17588  // String returns the string representation.
 17589  //
 17590  // API parameter values that are decorated as "sensitive" in the API will not
 17591  // be included in the string output. The member name will be present, but the
 17592  // value will be replaced with "sensitive".
 17593  func (s CreateGroupOutput) String() string {
 17594  	return awsutil.Prettify(s)
 17595  }
 17596  
 17597  // GoString returns the string representation.
 17598  //
 17599  // API parameter values that are decorated as "sensitive" in the API will not
 17600  // be included in the string output. The member name will be present, but the
 17601  // value will be replaced with "sensitive".
 17602  func (s CreateGroupOutput) GoString() string {
 17603  	return s.String()
 17604  }
 17605  
 17606  // SetGroup sets the Group field's value.
 17607  func (s *CreateGroupOutput) SetGroup(v *GroupType) *CreateGroupOutput {
 17608  	s.Group = v
 17609  	return s
 17610  }
 17611  
 17612  type CreateIdentityProviderInput struct {
 17613  	_ struct{} `type:"structure"`
 17614  
 17615  	// A mapping of identity provider attributes to standard and custom user pool
 17616  	// attributes.
 17617  	AttributeMapping map[string]*string `type:"map"`
 17618  
 17619  	// A list of identity provider identifiers.
 17620  	IdpIdentifiers []*string `type:"list"`
 17621  
 17622  	// The identity provider details. The following list describes the provider
 17623  	// detail keys for each identity provider type.
 17624  	//
 17625  	//    * For Google and Login with Amazon: client_id client_secret authorize_scopes
 17626  	//
 17627  	//    * For Facebook: client_id client_secret authorize_scopes api_version
 17628  	//
 17629  	//    * For Sign in with Apple: client_id team_id key_id private_key authorize_scopes
 17630  	//
 17631  	//    * For OIDC providers: client_id client_secret attributes_request_method
 17632  	//    oidc_issuer authorize_scopes authorize_url if not available from discovery
 17633  	//    URL specified by oidc_issuer key token_url if not available from discovery
 17634  	//    URL specified by oidc_issuer key attributes_url if not available from
 17635  	//    discovery URL specified by oidc_issuer key jwks_uri if not available from
 17636  	//    discovery URL specified by oidc_issuer key
 17637  	//
 17638  	//    * For SAML providers: MetadataFile OR MetadataURL IDPSignout optional
 17639  	//
 17640  	// ProviderDetails is a required field
 17641  	ProviderDetails map[string]*string `type:"map" required:"true"`
 17642  
 17643  	// The identity provider name.
 17644  	//
 17645  	// ProviderName is a required field
 17646  	ProviderName *string `min:"1" type:"string" required:"true"`
 17647  
 17648  	// The identity provider type.
 17649  	//
 17650  	// ProviderType is a required field
 17651  	ProviderType *string `type:"string" required:"true" enum:"IdentityProviderTypeType"`
 17652  
 17653  	// The user pool ID.
 17654  	//
 17655  	// UserPoolId is a required field
 17656  	UserPoolId *string `min:"1" type:"string" required:"true"`
 17657  }
 17658  
 17659  // String returns the string representation.
 17660  //
 17661  // API parameter values that are decorated as "sensitive" in the API will not
 17662  // be included in the string output. The member name will be present, but the
 17663  // value will be replaced with "sensitive".
 17664  func (s CreateIdentityProviderInput) String() string {
 17665  	return awsutil.Prettify(s)
 17666  }
 17667  
 17668  // GoString returns the string representation.
 17669  //
 17670  // API parameter values that are decorated as "sensitive" in the API will not
 17671  // be included in the string output. The member name will be present, but the
 17672  // value will be replaced with "sensitive".
 17673  func (s CreateIdentityProviderInput) GoString() string {
 17674  	return s.String()
 17675  }
 17676  
 17677  // Validate inspects the fields of the type to determine if they are valid.
 17678  func (s *CreateIdentityProviderInput) Validate() error {
 17679  	invalidParams := request.ErrInvalidParams{Context: "CreateIdentityProviderInput"}
 17680  	if s.ProviderDetails == nil {
 17681  		invalidParams.Add(request.NewErrParamRequired("ProviderDetails"))
 17682  	}
 17683  	if s.ProviderName == nil {
 17684  		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
 17685  	}
 17686  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 17687  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 17688  	}
 17689  	if s.ProviderType == nil {
 17690  		invalidParams.Add(request.NewErrParamRequired("ProviderType"))
 17691  	}
 17692  	if s.UserPoolId == nil {
 17693  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 17694  	}
 17695  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 17696  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 17697  	}
 17698  
 17699  	if invalidParams.Len() > 0 {
 17700  		return invalidParams
 17701  	}
 17702  	return nil
 17703  }
 17704  
 17705  // SetAttributeMapping sets the AttributeMapping field's value.
 17706  func (s *CreateIdentityProviderInput) SetAttributeMapping(v map[string]*string) *CreateIdentityProviderInput {
 17707  	s.AttributeMapping = v
 17708  	return s
 17709  }
 17710  
 17711  // SetIdpIdentifiers sets the IdpIdentifiers field's value.
 17712  func (s *CreateIdentityProviderInput) SetIdpIdentifiers(v []*string) *CreateIdentityProviderInput {
 17713  	s.IdpIdentifiers = v
 17714  	return s
 17715  }
 17716  
 17717  // SetProviderDetails sets the ProviderDetails field's value.
 17718  func (s *CreateIdentityProviderInput) SetProviderDetails(v map[string]*string) *CreateIdentityProviderInput {
 17719  	s.ProviderDetails = v
 17720  	return s
 17721  }
 17722  
 17723  // SetProviderName sets the ProviderName field's value.
 17724  func (s *CreateIdentityProviderInput) SetProviderName(v string) *CreateIdentityProviderInput {
 17725  	s.ProviderName = &v
 17726  	return s
 17727  }
 17728  
 17729  // SetProviderType sets the ProviderType field's value.
 17730  func (s *CreateIdentityProviderInput) SetProviderType(v string) *CreateIdentityProviderInput {
 17731  	s.ProviderType = &v
 17732  	return s
 17733  }
 17734  
 17735  // SetUserPoolId sets the UserPoolId field's value.
 17736  func (s *CreateIdentityProviderInput) SetUserPoolId(v string) *CreateIdentityProviderInput {
 17737  	s.UserPoolId = &v
 17738  	return s
 17739  }
 17740  
 17741  type CreateIdentityProviderOutput struct {
 17742  	_ struct{} `type:"structure"`
 17743  
 17744  	// The newly created identity provider object.
 17745  	//
 17746  	// IdentityProvider is a required field
 17747  	IdentityProvider *IdentityProviderType `type:"structure" required:"true"`
 17748  }
 17749  
 17750  // String returns the string representation.
 17751  //
 17752  // API parameter values that are decorated as "sensitive" in the API will not
 17753  // be included in the string output. The member name will be present, but the
 17754  // value will be replaced with "sensitive".
 17755  func (s CreateIdentityProviderOutput) String() string {
 17756  	return awsutil.Prettify(s)
 17757  }
 17758  
 17759  // GoString returns the string representation.
 17760  //
 17761  // API parameter values that are decorated as "sensitive" in the API will not
 17762  // be included in the string output. The member name will be present, but the
 17763  // value will be replaced with "sensitive".
 17764  func (s CreateIdentityProviderOutput) GoString() string {
 17765  	return s.String()
 17766  }
 17767  
 17768  // SetIdentityProvider sets the IdentityProvider field's value.
 17769  func (s *CreateIdentityProviderOutput) SetIdentityProvider(v *IdentityProviderType) *CreateIdentityProviderOutput {
 17770  	s.IdentityProvider = v
 17771  	return s
 17772  }
 17773  
 17774  type CreateResourceServerInput struct {
 17775  	_ struct{} `type:"structure"`
 17776  
 17777  	// A unique resource server identifier for the resource server. This could be
 17778  	// an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com.
 17779  	//
 17780  	// Identifier is a required field
 17781  	Identifier *string `min:"1" type:"string" required:"true"`
 17782  
 17783  	// A friendly name for the resource server.
 17784  	//
 17785  	// Name is a required field
 17786  	Name *string `min:"1" type:"string" required:"true"`
 17787  
 17788  	// A list of scopes. Each scope is map, where the keys are name and description.
 17789  	Scopes []*ResourceServerScopeType `type:"list"`
 17790  
 17791  	// The user pool ID for the user pool.
 17792  	//
 17793  	// UserPoolId is a required field
 17794  	UserPoolId *string `min:"1" type:"string" required:"true"`
 17795  }
 17796  
 17797  // String returns the string representation.
 17798  //
 17799  // API parameter values that are decorated as "sensitive" in the API will not
 17800  // be included in the string output. The member name will be present, but the
 17801  // value will be replaced with "sensitive".
 17802  func (s CreateResourceServerInput) String() string {
 17803  	return awsutil.Prettify(s)
 17804  }
 17805  
 17806  // GoString returns the string representation.
 17807  //
 17808  // API parameter values that are decorated as "sensitive" in the API will not
 17809  // be included in the string output. The member name will be present, but the
 17810  // value will be replaced with "sensitive".
 17811  func (s CreateResourceServerInput) GoString() string {
 17812  	return s.String()
 17813  }
 17814  
 17815  // Validate inspects the fields of the type to determine if they are valid.
 17816  func (s *CreateResourceServerInput) Validate() error {
 17817  	invalidParams := request.ErrInvalidParams{Context: "CreateResourceServerInput"}
 17818  	if s.Identifier == nil {
 17819  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
 17820  	}
 17821  	if s.Identifier != nil && len(*s.Identifier) < 1 {
 17822  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
 17823  	}
 17824  	if s.Name == nil {
 17825  		invalidParams.Add(request.NewErrParamRequired("Name"))
 17826  	}
 17827  	if s.Name != nil && len(*s.Name) < 1 {
 17828  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 17829  	}
 17830  	if s.UserPoolId == nil {
 17831  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 17832  	}
 17833  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 17834  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 17835  	}
 17836  	if s.Scopes != nil {
 17837  		for i, v := range s.Scopes {
 17838  			if v == nil {
 17839  				continue
 17840  			}
 17841  			if err := v.Validate(); err != nil {
 17842  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scopes", i), err.(request.ErrInvalidParams))
 17843  			}
 17844  		}
 17845  	}
 17846  
 17847  	if invalidParams.Len() > 0 {
 17848  		return invalidParams
 17849  	}
 17850  	return nil
 17851  }
 17852  
 17853  // SetIdentifier sets the Identifier field's value.
 17854  func (s *CreateResourceServerInput) SetIdentifier(v string) *CreateResourceServerInput {
 17855  	s.Identifier = &v
 17856  	return s
 17857  }
 17858  
 17859  // SetName sets the Name field's value.
 17860  func (s *CreateResourceServerInput) SetName(v string) *CreateResourceServerInput {
 17861  	s.Name = &v
 17862  	return s
 17863  }
 17864  
 17865  // SetScopes sets the Scopes field's value.
 17866  func (s *CreateResourceServerInput) SetScopes(v []*ResourceServerScopeType) *CreateResourceServerInput {
 17867  	s.Scopes = v
 17868  	return s
 17869  }
 17870  
 17871  // SetUserPoolId sets the UserPoolId field's value.
 17872  func (s *CreateResourceServerInput) SetUserPoolId(v string) *CreateResourceServerInput {
 17873  	s.UserPoolId = &v
 17874  	return s
 17875  }
 17876  
 17877  type CreateResourceServerOutput struct {
 17878  	_ struct{} `type:"structure"`
 17879  
 17880  	// The newly created resource server.
 17881  	//
 17882  	// ResourceServer is a required field
 17883  	ResourceServer *ResourceServerType `type:"structure" required:"true"`
 17884  }
 17885  
 17886  // String returns the string representation.
 17887  //
 17888  // API parameter values that are decorated as "sensitive" in the API will not
 17889  // be included in the string output. The member name will be present, but the
 17890  // value will be replaced with "sensitive".
 17891  func (s CreateResourceServerOutput) String() string {
 17892  	return awsutil.Prettify(s)
 17893  }
 17894  
 17895  // GoString returns the string representation.
 17896  //
 17897  // API parameter values that are decorated as "sensitive" in the API will not
 17898  // be included in the string output. The member name will be present, but the
 17899  // value will be replaced with "sensitive".
 17900  func (s CreateResourceServerOutput) GoString() string {
 17901  	return s.String()
 17902  }
 17903  
 17904  // SetResourceServer sets the ResourceServer field's value.
 17905  func (s *CreateResourceServerOutput) SetResourceServer(v *ResourceServerType) *CreateResourceServerOutput {
 17906  	s.ResourceServer = v
 17907  	return s
 17908  }
 17909  
 17910  // Represents the request to create the user import job.
 17911  type CreateUserImportJobInput struct {
 17912  	_ struct{} `type:"structure"`
 17913  
 17914  	// The role ARN for the Amazon CloudWatch Logging role for the user import job.
 17915  	//
 17916  	// CloudWatchLogsRoleArn is a required field
 17917  	CloudWatchLogsRoleArn *string `min:"20" type:"string" required:"true"`
 17918  
 17919  	// The job name for the user import job.
 17920  	//
 17921  	// JobName is a required field
 17922  	JobName *string `min:"1" type:"string" required:"true"`
 17923  
 17924  	// The user pool ID for the user pool that the users are being imported into.
 17925  	//
 17926  	// UserPoolId is a required field
 17927  	UserPoolId *string `min:"1" type:"string" required:"true"`
 17928  }
 17929  
 17930  // String returns the string representation.
 17931  //
 17932  // API parameter values that are decorated as "sensitive" in the API will not
 17933  // be included in the string output. The member name will be present, but the
 17934  // value will be replaced with "sensitive".
 17935  func (s CreateUserImportJobInput) String() string {
 17936  	return awsutil.Prettify(s)
 17937  }
 17938  
 17939  // GoString returns the string representation.
 17940  //
 17941  // API parameter values that are decorated as "sensitive" in the API will not
 17942  // be included in the string output. The member name will be present, but the
 17943  // value will be replaced with "sensitive".
 17944  func (s CreateUserImportJobInput) GoString() string {
 17945  	return s.String()
 17946  }
 17947  
 17948  // Validate inspects the fields of the type to determine if they are valid.
 17949  func (s *CreateUserImportJobInput) Validate() error {
 17950  	invalidParams := request.ErrInvalidParams{Context: "CreateUserImportJobInput"}
 17951  	if s.CloudWatchLogsRoleArn == nil {
 17952  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsRoleArn"))
 17953  	}
 17954  	if s.CloudWatchLogsRoleArn != nil && len(*s.CloudWatchLogsRoleArn) < 20 {
 17955  		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogsRoleArn", 20))
 17956  	}
 17957  	if s.JobName == nil {
 17958  		invalidParams.Add(request.NewErrParamRequired("JobName"))
 17959  	}
 17960  	if s.JobName != nil && len(*s.JobName) < 1 {
 17961  		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
 17962  	}
 17963  	if s.UserPoolId == nil {
 17964  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 17965  	}
 17966  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 17967  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 17968  	}
 17969  
 17970  	if invalidParams.Len() > 0 {
 17971  		return invalidParams
 17972  	}
 17973  	return nil
 17974  }
 17975  
 17976  // SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
 17977  func (s *CreateUserImportJobInput) SetCloudWatchLogsRoleArn(v string) *CreateUserImportJobInput {
 17978  	s.CloudWatchLogsRoleArn = &v
 17979  	return s
 17980  }
 17981  
 17982  // SetJobName sets the JobName field's value.
 17983  func (s *CreateUserImportJobInput) SetJobName(v string) *CreateUserImportJobInput {
 17984  	s.JobName = &v
 17985  	return s
 17986  }
 17987  
 17988  // SetUserPoolId sets the UserPoolId field's value.
 17989  func (s *CreateUserImportJobInput) SetUserPoolId(v string) *CreateUserImportJobInput {
 17990  	s.UserPoolId = &v
 17991  	return s
 17992  }
 17993  
 17994  // Represents the response from the server to the request to create the user
 17995  // import job.
 17996  type CreateUserImportJobOutput struct {
 17997  	_ struct{} `type:"structure"`
 17998  
 17999  	// The job object that represents the user import job.
 18000  	UserImportJob *UserImportJobType `type:"structure"`
 18001  }
 18002  
 18003  // String returns the string representation.
 18004  //
 18005  // API parameter values that are decorated as "sensitive" in the API will not
 18006  // be included in the string output. The member name will be present, but the
 18007  // value will be replaced with "sensitive".
 18008  func (s CreateUserImportJobOutput) String() string {
 18009  	return awsutil.Prettify(s)
 18010  }
 18011  
 18012  // GoString returns the string representation.
 18013  //
 18014  // API parameter values that are decorated as "sensitive" in the API will not
 18015  // be included in the string output. The member name will be present, but the
 18016  // value will be replaced with "sensitive".
 18017  func (s CreateUserImportJobOutput) GoString() string {
 18018  	return s.String()
 18019  }
 18020  
 18021  // SetUserImportJob sets the UserImportJob field's value.
 18022  func (s *CreateUserImportJobOutput) SetUserImportJob(v *UserImportJobType) *CreateUserImportJobOutput {
 18023  	s.UserImportJob = v
 18024  	return s
 18025  }
 18026  
 18027  // Represents the request to create a user pool client.
 18028  type CreateUserPoolClientInput struct {
 18029  	_ struct{} `type:"structure"`
 18030  
 18031  	// The time limit, between 5 minutes and 1 day, after which the access token
 18032  	// is no longer valid and cannot be used. This value will be overridden if you
 18033  	// have entered a value in TokenValidityUnits.
 18034  	AccessTokenValidity *int64 `min:"1" type:"integer"`
 18035  
 18036  	// The allowed OAuth flows.
 18037  	//
 18038  	// Set to code to initiate a code grant flow, which provides an authorization
 18039  	// code as the response. This code can be exchanged for access tokens with the
 18040  	// token endpoint.
 18041  	//
 18042  	// Set to implicit to specify that the client should get the access token (and,
 18043  	// optionally, ID token, based on scopes) directly.
 18044  	//
 18045  	// Set to client_credentials to specify that the client should get the access
 18046  	// token (and, optionally, ID token, based on scopes) from the token endpoint
 18047  	// using a combination of client and client_secret.
 18048  	AllowedOAuthFlows []*string `type:"list"`
 18049  
 18050  	// Set to true if the client is allowed to follow the OAuth protocol when interacting
 18051  	// with Cognito user pools.
 18052  	AllowedOAuthFlowsUserPoolClient *bool `type:"boolean"`
 18053  
 18054  	// The allowed OAuth scopes. Possible values provided by OAuth are: phone, email,
 18055  	// openid, and profile. Possible values provided by Amazon Web Services are:
 18056  	// aws.cognito.signin.user.admin. Custom scopes created in Resource Servers
 18057  	// are also supported.
 18058  	AllowedOAuthScopes []*string `type:"list"`
 18059  
 18060  	// The Amazon Pinpoint analytics configuration for collecting metrics for this
 18061  	// user pool.
 18062  	//
 18063  	// In regions where Pinpoint is not available, Cognito User Pools only supports
 18064  	// sending events to Amazon Pinpoint projects in us-east-1. In regions where
 18065  	// Pinpoint is available, Cognito User Pools will support sending events to
 18066  	// Amazon Pinpoint projects within that same region.
 18067  	AnalyticsConfiguration *AnalyticsConfigurationType `type:"structure"`
 18068  
 18069  	// A list of allowed redirect (callback) URLs for the identity providers.
 18070  	//
 18071  	// A redirect URI must:
 18072  	//
 18073  	//    * Be an absolute URI.
 18074  	//
 18075  	//    * Be registered with the authorization server.
 18076  	//
 18077  	//    * Not include a fragment component.
 18078  	//
 18079  	// See OAuth 2.0 - Redirection Endpoint (https://tools.ietf.org/html/rfc6749#section-3.1.2).
 18080  	//
 18081  	// Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing
 18082  	// purposes only.
 18083  	//
 18084  	// App callback URLs such as myapp://example are also supported.
 18085  	CallbackURLs []*string `type:"list"`
 18086  
 18087  	// The client name for the user pool client you would like to create.
 18088  	//
 18089  	// ClientName is a required field
 18090  	ClientName *string `min:"1" type:"string" required:"true"`
 18091  
 18092  	// The default redirect URI. Must be in the CallbackURLs list.
 18093  	//
 18094  	// A redirect URI must:
 18095  	//
 18096  	//    * Be an absolute URI.
 18097  	//
 18098  	//    * Be registered with the authorization server.
 18099  	//
 18100  	//    * Not include a fragment component.
 18101  	//
 18102  	// See OAuth 2.0 - Redirection Endpoint (https://tools.ietf.org/html/rfc6749#section-3.1.2).
 18103  	//
 18104  	// Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing
 18105  	// purposes only.
 18106  	//
 18107  	// App callback URLs such as myapp://example are also supported.
 18108  	DefaultRedirectURI *string `min:"1" type:"string"`
 18109  
 18110  	// Enables or disables token revocation. For more information about revoking
 18111  	// tokens, see RevokeToken (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html).
 18112  	//
 18113  	// If you don't include this parameter, token revocation is automatically enabled
 18114  	// for the new user pool client.
 18115  	EnableTokenRevocation *bool `type:"boolean"`
 18116  
 18117  	// The authentication flows that are supported by the user pool clients. Flow
 18118  	// names without the ALLOW_ prefix are deprecated in favor of new names with
 18119  	// the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along
 18120  	// with values without ALLOW_ prefix.
 18121  	//
 18122  	// Valid values include:
 18123  	//
 18124  	//    * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication
 18125  	//    flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH
 18126  	//    setting. With this authentication flow, Cognito receives the password
 18127  	//    in the request instead of using the SRP (Secure Remote Password protocol)
 18128  	//    protocol to verify passwords.
 18129  	//
 18130  	//    * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.
 18131  	//
 18132  	//    * ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication.
 18133  	//    In this flow, Cognito receives the password in the request instead of
 18134  	//    using the SRP protocol to verify passwords.
 18135  	//
 18136  	//    * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.
 18137  	//
 18138  	//    * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.
 18139  	ExplicitAuthFlows []*string `type:"list"`
 18140  
 18141  	// Boolean to specify whether you want to generate a secret for the user pool
 18142  	// client being created.
 18143  	GenerateSecret *bool `type:"boolean"`
 18144  
 18145  	// The time limit, between 5 minutes and 1 day, after which the ID token is
 18146  	// no longer valid and cannot be used. This value will be overridden if you
 18147  	// have entered a value in TokenValidityUnits.
 18148  	IdTokenValidity *int64 `min:"1" type:"integer"`
 18149  
 18150  	// A list of allowed logout URLs for the identity providers.
 18151  	LogoutURLs []*string `type:"list"`
 18152  
 18153  	// Use this setting to choose which errors and responses are returned by Cognito
 18154  	// APIs during authentication, account confirmation, and password recovery when
 18155  	// the user does not exist in the user pool. When set to ENABLED and the user
 18156  	// does not exist, authentication returns an error indicating either the username
 18157  	// or password was incorrect, and account confirmation and password recovery
 18158  	// return a response indicating a code was sent to a simulated destination.
 18159  	// When set to LEGACY, those APIs will return a UserNotFoundException exception
 18160  	// if the user does not exist in the user pool.
 18161  	//
 18162  	// Valid values include:
 18163  	//
 18164  	//    * ENABLED - This prevents user existence-related errors.
 18165  	//
 18166  	//    * LEGACY - This represents the old behavior of Cognito where user existence
 18167  	//    related errors are not prevented.
 18168  	//
 18169  	// After February 15th 2020, the value of PreventUserExistenceErrors will default
 18170  	// to ENABLED for newly created user pool clients if no value is provided.
 18171  	PreventUserExistenceErrors *string `type:"string" enum:"PreventUserExistenceErrorTypes"`
 18172  
 18173  	// The read attributes.
 18174  	ReadAttributes []*string `type:"list"`
 18175  
 18176  	// The time limit, in days, after which the refresh token is no longer valid
 18177  	// and cannot be used.
 18178  	RefreshTokenValidity *int64 `type:"integer"`
 18179  
 18180  	// A list of provider names for the identity providers that are supported on
 18181  	// this client. The following are supported: COGNITO, Facebook, Google and LoginWithAmazon.
 18182  	SupportedIdentityProviders []*string `type:"list"`
 18183  
 18184  	// The units in which the validity times are represented in. Default for RefreshToken
 18185  	// is days, and default for ID and access tokens are hours.
 18186  	TokenValidityUnits *TokenValidityUnitsType `type:"structure"`
 18187  
 18188  	// The user pool ID for the user pool where you want to create a user pool client.
 18189  	//
 18190  	// UserPoolId is a required field
 18191  	UserPoolId *string `min:"1" type:"string" required:"true"`
 18192  
 18193  	// The user pool attributes that the app client can write to.
 18194  	//
 18195  	// If your app client allows users to sign in through an identity provider,
 18196  	// this array must include all attributes that are mapped to identity provider
 18197  	// attributes. Amazon Cognito updates mapped attributes when users sign in to
 18198  	// your application through an identity provider. If your app client lacks write
 18199  	// access to a mapped attribute, Amazon Cognito throws an error when it attempts
 18200  	// to update the attribute. For more information, see Specifying Identity Provider
 18201  	// Attribute Mappings for Your User Pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html).
 18202  	WriteAttributes []*string `type:"list"`
 18203  }
 18204  
 18205  // String returns the string representation.
 18206  //
 18207  // API parameter values that are decorated as "sensitive" in the API will not
 18208  // be included in the string output. The member name will be present, but the
 18209  // value will be replaced with "sensitive".
 18210  func (s CreateUserPoolClientInput) String() string {
 18211  	return awsutil.Prettify(s)
 18212  }
 18213  
 18214  // GoString returns the string representation.
 18215  //
 18216  // API parameter values that are decorated as "sensitive" in the API will not
 18217  // be included in the string output. The member name will be present, but the
 18218  // value will be replaced with "sensitive".
 18219  func (s CreateUserPoolClientInput) GoString() string {
 18220  	return s.String()
 18221  }
 18222  
 18223  // Validate inspects the fields of the type to determine if they are valid.
 18224  func (s *CreateUserPoolClientInput) Validate() error {
 18225  	invalidParams := request.ErrInvalidParams{Context: "CreateUserPoolClientInput"}
 18226  	if s.AccessTokenValidity != nil && *s.AccessTokenValidity < 1 {
 18227  		invalidParams.Add(request.NewErrParamMinValue("AccessTokenValidity", 1))
 18228  	}
 18229  	if s.ClientName == nil {
 18230  		invalidParams.Add(request.NewErrParamRequired("ClientName"))
 18231  	}
 18232  	if s.ClientName != nil && len(*s.ClientName) < 1 {
 18233  		invalidParams.Add(request.NewErrParamMinLen("ClientName", 1))
 18234  	}
 18235  	if s.DefaultRedirectURI != nil && len(*s.DefaultRedirectURI) < 1 {
 18236  		invalidParams.Add(request.NewErrParamMinLen("DefaultRedirectURI", 1))
 18237  	}
 18238  	if s.IdTokenValidity != nil && *s.IdTokenValidity < 1 {
 18239  		invalidParams.Add(request.NewErrParamMinValue("IdTokenValidity", 1))
 18240  	}
 18241  	if s.UserPoolId == nil {
 18242  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 18243  	}
 18244  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 18245  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 18246  	}
 18247  	if s.AnalyticsConfiguration != nil {
 18248  		if err := s.AnalyticsConfiguration.Validate(); err != nil {
 18249  			invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
 18250  		}
 18251  	}
 18252  
 18253  	if invalidParams.Len() > 0 {
 18254  		return invalidParams
 18255  	}
 18256  	return nil
 18257  }
 18258  
 18259  // SetAccessTokenValidity sets the AccessTokenValidity field's value.
 18260  func (s *CreateUserPoolClientInput) SetAccessTokenValidity(v int64) *CreateUserPoolClientInput {
 18261  	s.AccessTokenValidity = &v
 18262  	return s
 18263  }
 18264  
 18265  // SetAllowedOAuthFlows sets the AllowedOAuthFlows field's value.
 18266  func (s *CreateUserPoolClientInput) SetAllowedOAuthFlows(v []*string) *CreateUserPoolClientInput {
 18267  	s.AllowedOAuthFlows = v
 18268  	return s
 18269  }
 18270  
 18271  // SetAllowedOAuthFlowsUserPoolClient sets the AllowedOAuthFlowsUserPoolClient field's value.
 18272  func (s *CreateUserPoolClientInput) SetAllowedOAuthFlowsUserPoolClient(v bool) *CreateUserPoolClientInput {
 18273  	s.AllowedOAuthFlowsUserPoolClient = &v
 18274  	return s
 18275  }
 18276  
 18277  // SetAllowedOAuthScopes sets the AllowedOAuthScopes field's value.
 18278  func (s *CreateUserPoolClientInput) SetAllowedOAuthScopes(v []*string) *CreateUserPoolClientInput {
 18279  	s.AllowedOAuthScopes = v
 18280  	return s
 18281  }
 18282  
 18283  // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
 18284  func (s *CreateUserPoolClientInput) SetAnalyticsConfiguration(v *AnalyticsConfigurationType) *CreateUserPoolClientInput {
 18285  	s.AnalyticsConfiguration = v
 18286  	return s
 18287  }
 18288  
 18289  // SetCallbackURLs sets the CallbackURLs field's value.
 18290  func (s *CreateUserPoolClientInput) SetCallbackURLs(v []*string) *CreateUserPoolClientInput {
 18291  	s.CallbackURLs = v
 18292  	return s
 18293  }
 18294  
 18295  // SetClientName sets the ClientName field's value.
 18296  func (s *CreateUserPoolClientInput) SetClientName(v string) *CreateUserPoolClientInput {
 18297  	s.ClientName = &v
 18298  	return s
 18299  }
 18300  
 18301  // SetDefaultRedirectURI sets the DefaultRedirectURI field's value.
 18302  func (s *CreateUserPoolClientInput) SetDefaultRedirectURI(v string) *CreateUserPoolClientInput {
 18303  	s.DefaultRedirectURI = &v
 18304  	return s
 18305  }
 18306  
 18307  // SetEnableTokenRevocation sets the EnableTokenRevocation field's value.
 18308  func (s *CreateUserPoolClientInput) SetEnableTokenRevocation(v bool) *CreateUserPoolClientInput {
 18309  	s.EnableTokenRevocation = &v
 18310  	return s
 18311  }
 18312  
 18313  // SetExplicitAuthFlows sets the ExplicitAuthFlows field's value.
 18314  func (s *CreateUserPoolClientInput) SetExplicitAuthFlows(v []*string) *CreateUserPoolClientInput {
 18315  	s.ExplicitAuthFlows = v
 18316  	return s
 18317  }
 18318  
 18319  // SetGenerateSecret sets the GenerateSecret field's value.
 18320  func (s *CreateUserPoolClientInput) SetGenerateSecret(v bool) *CreateUserPoolClientInput {
 18321  	s.GenerateSecret = &v
 18322  	return s
 18323  }
 18324  
 18325  // SetIdTokenValidity sets the IdTokenValidity field's value.
 18326  func (s *CreateUserPoolClientInput) SetIdTokenValidity(v int64) *CreateUserPoolClientInput {
 18327  	s.IdTokenValidity = &v
 18328  	return s
 18329  }
 18330  
 18331  // SetLogoutURLs sets the LogoutURLs field's value.
 18332  func (s *CreateUserPoolClientInput) SetLogoutURLs(v []*string) *CreateUserPoolClientInput {
 18333  	s.LogoutURLs = v
 18334  	return s
 18335  }
 18336  
 18337  // SetPreventUserExistenceErrors sets the PreventUserExistenceErrors field's value.
 18338  func (s *CreateUserPoolClientInput) SetPreventUserExistenceErrors(v string) *CreateUserPoolClientInput {
 18339  	s.PreventUserExistenceErrors = &v
 18340  	return s
 18341  }
 18342  
 18343  // SetReadAttributes sets the ReadAttributes field's value.
 18344  func (s *CreateUserPoolClientInput) SetReadAttributes(v []*string) *CreateUserPoolClientInput {
 18345  	s.ReadAttributes = v
 18346  	return s
 18347  }
 18348  
 18349  // SetRefreshTokenValidity sets the RefreshTokenValidity field's value.
 18350  func (s *CreateUserPoolClientInput) SetRefreshTokenValidity(v int64) *CreateUserPoolClientInput {
 18351  	s.RefreshTokenValidity = &v
 18352  	return s
 18353  }
 18354  
 18355  // SetSupportedIdentityProviders sets the SupportedIdentityProviders field's value.
 18356  func (s *CreateUserPoolClientInput) SetSupportedIdentityProviders(v []*string) *CreateUserPoolClientInput {
 18357  	s.SupportedIdentityProviders = v
 18358  	return s
 18359  }
 18360  
 18361  // SetTokenValidityUnits sets the TokenValidityUnits field's value.
 18362  func (s *CreateUserPoolClientInput) SetTokenValidityUnits(v *TokenValidityUnitsType) *CreateUserPoolClientInput {
 18363  	s.TokenValidityUnits = v
 18364  	return s
 18365  }
 18366  
 18367  // SetUserPoolId sets the UserPoolId field's value.
 18368  func (s *CreateUserPoolClientInput) SetUserPoolId(v string) *CreateUserPoolClientInput {
 18369  	s.UserPoolId = &v
 18370  	return s
 18371  }
 18372  
 18373  // SetWriteAttributes sets the WriteAttributes field's value.
 18374  func (s *CreateUserPoolClientInput) SetWriteAttributes(v []*string) *CreateUserPoolClientInput {
 18375  	s.WriteAttributes = v
 18376  	return s
 18377  }
 18378  
 18379  // Represents the response from the server to create a user pool client.
 18380  type CreateUserPoolClientOutput struct {
 18381  	_ struct{} `type:"structure"`
 18382  
 18383  	// The user pool client that was just created.
 18384  	UserPoolClient *UserPoolClientType `type:"structure"`
 18385  }
 18386  
 18387  // String returns the string representation.
 18388  //
 18389  // API parameter values that are decorated as "sensitive" in the API will not
 18390  // be included in the string output. The member name will be present, but the
 18391  // value will be replaced with "sensitive".
 18392  func (s CreateUserPoolClientOutput) String() string {
 18393  	return awsutil.Prettify(s)
 18394  }
 18395  
 18396  // GoString returns the string representation.
 18397  //
 18398  // API parameter values that are decorated as "sensitive" in the API will not
 18399  // be included in the string output. The member name will be present, but the
 18400  // value will be replaced with "sensitive".
 18401  func (s CreateUserPoolClientOutput) GoString() string {
 18402  	return s.String()
 18403  }
 18404  
 18405  // SetUserPoolClient sets the UserPoolClient field's value.
 18406  func (s *CreateUserPoolClientOutput) SetUserPoolClient(v *UserPoolClientType) *CreateUserPoolClientOutput {
 18407  	s.UserPoolClient = v
 18408  	return s
 18409  }
 18410  
 18411  type CreateUserPoolDomainInput struct {
 18412  	_ struct{} `type:"structure"`
 18413  
 18414  	// The configuration for a custom domain that hosts the sign-up and sign-in
 18415  	// webpages for your application.
 18416  	//
 18417  	// Provide this parameter only if you want to use a custom domain for your user
 18418  	// pool. Otherwise, you can exclude this parameter and use the Amazon Cognito
 18419  	// hosted domain instead.
 18420  	//
 18421  	// For more information about the hosted domain and custom domains, see Configuring
 18422  	// a User Pool Domain (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-assign-domain.html).
 18423  	CustomDomainConfig *CustomDomainConfigType `type:"structure"`
 18424  
 18425  	// The domain string.
 18426  	//
 18427  	// Domain is a required field
 18428  	Domain *string `min:"1" type:"string" required:"true"`
 18429  
 18430  	// The user pool ID.
 18431  	//
 18432  	// UserPoolId is a required field
 18433  	UserPoolId *string `min:"1" type:"string" required:"true"`
 18434  }
 18435  
 18436  // String returns the string representation.
 18437  //
 18438  // API parameter values that are decorated as "sensitive" in the API will not
 18439  // be included in the string output. The member name will be present, but the
 18440  // value will be replaced with "sensitive".
 18441  func (s CreateUserPoolDomainInput) String() string {
 18442  	return awsutil.Prettify(s)
 18443  }
 18444  
 18445  // GoString returns the string representation.
 18446  //
 18447  // API parameter values that are decorated as "sensitive" in the API will not
 18448  // be included in the string output. The member name will be present, but the
 18449  // value will be replaced with "sensitive".
 18450  func (s CreateUserPoolDomainInput) GoString() string {
 18451  	return s.String()
 18452  }
 18453  
 18454  // Validate inspects the fields of the type to determine if they are valid.
 18455  func (s *CreateUserPoolDomainInput) Validate() error {
 18456  	invalidParams := request.ErrInvalidParams{Context: "CreateUserPoolDomainInput"}
 18457  	if s.Domain == nil {
 18458  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 18459  	}
 18460  	if s.Domain != nil && len(*s.Domain) < 1 {
 18461  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 18462  	}
 18463  	if s.UserPoolId == nil {
 18464  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 18465  	}
 18466  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 18467  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 18468  	}
 18469  	if s.CustomDomainConfig != nil {
 18470  		if err := s.CustomDomainConfig.Validate(); err != nil {
 18471  			invalidParams.AddNested("CustomDomainConfig", err.(request.ErrInvalidParams))
 18472  		}
 18473  	}
 18474  
 18475  	if invalidParams.Len() > 0 {
 18476  		return invalidParams
 18477  	}
 18478  	return nil
 18479  }
 18480  
 18481  // SetCustomDomainConfig sets the CustomDomainConfig field's value.
 18482  func (s *CreateUserPoolDomainInput) SetCustomDomainConfig(v *CustomDomainConfigType) *CreateUserPoolDomainInput {
 18483  	s.CustomDomainConfig = v
 18484  	return s
 18485  }
 18486  
 18487  // SetDomain sets the Domain field's value.
 18488  func (s *CreateUserPoolDomainInput) SetDomain(v string) *CreateUserPoolDomainInput {
 18489  	s.Domain = &v
 18490  	return s
 18491  }
 18492  
 18493  // SetUserPoolId sets the UserPoolId field's value.
 18494  func (s *CreateUserPoolDomainInput) SetUserPoolId(v string) *CreateUserPoolDomainInput {
 18495  	s.UserPoolId = &v
 18496  	return s
 18497  }
 18498  
 18499  type CreateUserPoolDomainOutput struct {
 18500  	_ struct{} `type:"structure"`
 18501  
 18502  	// The Amazon CloudFront endpoint that you use as the target of the alias that
 18503  	// you set up with your Domain Name Service (DNS) provider.
 18504  	CloudFrontDomain *string `min:"1" type:"string"`
 18505  }
 18506  
 18507  // String returns the string representation.
 18508  //
 18509  // API parameter values that are decorated as "sensitive" in the API will not
 18510  // be included in the string output. The member name will be present, but the
 18511  // value will be replaced with "sensitive".
 18512  func (s CreateUserPoolDomainOutput) String() string {
 18513  	return awsutil.Prettify(s)
 18514  }
 18515  
 18516  // GoString returns the string representation.
 18517  //
 18518  // API parameter values that are decorated as "sensitive" in the API will not
 18519  // be included in the string output. The member name will be present, but the
 18520  // value will be replaced with "sensitive".
 18521  func (s CreateUserPoolDomainOutput) GoString() string {
 18522  	return s.String()
 18523  }
 18524  
 18525  // SetCloudFrontDomain sets the CloudFrontDomain field's value.
 18526  func (s *CreateUserPoolDomainOutput) SetCloudFrontDomain(v string) *CreateUserPoolDomainOutput {
 18527  	s.CloudFrontDomain = &v
 18528  	return s
 18529  }
 18530  
 18531  // Represents the request to create a user pool.
 18532  type CreateUserPoolInput struct {
 18533  	_ struct{} `type:"structure"`
 18534  
 18535  	// Use this setting to define which verified available method a user can use
 18536  	// to recover their password when they call ForgotPassword. It allows you to
 18537  	// define a preferred method when a user has more than one method available.
 18538  	// With this setting, SMS does not qualify for a valid password recovery mechanism
 18539  	// if the user also has SMS MFA enabled. In the absence of this setting, Cognito
 18540  	// uses the legacy behavior to determine the recovery method where SMS is preferred
 18541  	// over email.
 18542  	AccountRecoverySetting *AccountRecoverySettingType `type:"structure"`
 18543  
 18544  	// The configuration for AdminCreateUser requests.
 18545  	AdminCreateUserConfig *AdminCreateUserConfigType `type:"structure"`
 18546  
 18547  	// Attributes supported as an alias for this user pool. Possible values: phone_number,
 18548  	// email, or preferred_username.
 18549  	AliasAttributes []*string `type:"list"`
 18550  
 18551  	// The attributes to be auto-verified. Possible values: email, phone_number.
 18552  	AutoVerifiedAttributes []*string `type:"list"`
 18553  
 18554  	// The device configuration.
 18555  	DeviceConfiguration *DeviceConfigurationType `type:"structure"`
 18556  
 18557  	// The email configuration.
 18558  	EmailConfiguration *EmailConfigurationType `type:"structure"`
 18559  
 18560  	// A string representing the email verification message. EmailVerificationMessage
 18561  	// is allowed only if EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 18562  	// is DEVELOPER.
 18563  	EmailVerificationMessage *string `min:"6" type:"string"`
 18564  
 18565  	// A string representing the email verification subject. EmailVerificationSubject
 18566  	// is allowed only if EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 18567  	// is DEVELOPER.
 18568  	EmailVerificationSubject *string `min:"1" type:"string"`
 18569  
 18570  	// The Lambda trigger configuration information for the new user pool.
 18571  	//
 18572  	// In a push model, event sources (such as Amazon S3 and custom applications)
 18573  	// need permission to invoke a function. So you will need to make an extra call
 18574  	// to add permission for these event sources to invoke your Lambda function.
 18575  	//
 18576  	// For more information on using the Lambda API to add permission, see AddPermission
 18577  	// (https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html).
 18578  	//
 18579  	// For adding permission using the CLI, see add-permission (https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html).
 18580  	LambdaConfig *LambdaConfigType `type:"structure"`
 18581  
 18582  	// Specifies MFA configuration details.
 18583  	MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"`
 18584  
 18585  	// The policies associated with the new user pool.
 18586  	Policies *UserPoolPolicyType `type:"structure"`
 18587  
 18588  	// A string used to name the user pool.
 18589  	//
 18590  	// PoolName is a required field
 18591  	PoolName *string `min:"1" type:"string" required:"true"`
 18592  
 18593  	// An array of schema attributes for the new user pool. These attributes can
 18594  	// be standard or custom attributes.
 18595  	Schema []*SchemaAttributeType `min:"1" type:"list"`
 18596  
 18597  	// A string representing the SMS authentication message.
 18598  	SmsAuthenticationMessage *string `min:"6" type:"string"`
 18599  
 18600  	// The SMS configuration.
 18601  	SmsConfiguration *SmsConfigurationType `type:"structure"`
 18602  
 18603  	// A string representing the SMS verification message.
 18604  	SmsVerificationMessage *string `min:"6" type:"string"`
 18605  
 18606  	// Used to enable advanced security risk detection. Set the key AdvancedSecurityMode
 18607  	// to the value "AUDIT".
 18608  	UserPoolAddOns *UserPoolAddOnsType `type:"structure"`
 18609  
 18610  	// The tag keys and values to assign to the user pool. A tag is a label that
 18611  	// you can use to categorize and manage user pools in different ways, such as
 18612  	// by purpose, owner, environment, or other criteria.
 18613  	UserPoolTags map[string]*string `type:"map"`
 18614  
 18615  	// Specifies whether email addresses or phone numbers can be specified as usernames
 18616  	// when a user signs up.
 18617  	UsernameAttributes []*string `type:"list"`
 18618  
 18619  	// You can choose to set case sensitivity on the username input for the selected
 18620  	// sign-in option. For example, when this is set to False, users will be able
 18621  	// to sign in using either "username" or "Username". This configuration is immutable
 18622  	// once it has been set. For more information, see UsernameConfigurationType
 18623  	// (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html).
 18624  	UsernameConfiguration *UsernameConfigurationType `type:"structure"`
 18625  
 18626  	// The template for the verification message that the user sees when the app
 18627  	// requests permission to access the user's information.
 18628  	VerificationMessageTemplate *VerificationMessageTemplateType `type:"structure"`
 18629  }
 18630  
 18631  // String returns the string representation.
 18632  //
 18633  // API parameter values that are decorated as "sensitive" in the API will not
 18634  // be included in the string output. The member name will be present, but the
 18635  // value will be replaced with "sensitive".
 18636  func (s CreateUserPoolInput) String() string {
 18637  	return awsutil.Prettify(s)
 18638  }
 18639  
 18640  // GoString returns the string representation.
 18641  //
 18642  // API parameter values that are decorated as "sensitive" in the API will not
 18643  // be included in the string output. The member name will be present, but the
 18644  // value will be replaced with "sensitive".
 18645  func (s CreateUserPoolInput) GoString() string {
 18646  	return s.String()
 18647  }
 18648  
 18649  // Validate inspects the fields of the type to determine if they are valid.
 18650  func (s *CreateUserPoolInput) Validate() error {
 18651  	invalidParams := request.ErrInvalidParams{Context: "CreateUserPoolInput"}
 18652  	if s.EmailVerificationMessage != nil && len(*s.EmailVerificationMessage) < 6 {
 18653  		invalidParams.Add(request.NewErrParamMinLen("EmailVerificationMessage", 6))
 18654  	}
 18655  	if s.EmailVerificationSubject != nil && len(*s.EmailVerificationSubject) < 1 {
 18656  		invalidParams.Add(request.NewErrParamMinLen("EmailVerificationSubject", 1))
 18657  	}
 18658  	if s.PoolName == nil {
 18659  		invalidParams.Add(request.NewErrParamRequired("PoolName"))
 18660  	}
 18661  	if s.PoolName != nil && len(*s.PoolName) < 1 {
 18662  		invalidParams.Add(request.NewErrParamMinLen("PoolName", 1))
 18663  	}
 18664  	if s.Schema != nil && len(s.Schema) < 1 {
 18665  		invalidParams.Add(request.NewErrParamMinLen("Schema", 1))
 18666  	}
 18667  	if s.SmsAuthenticationMessage != nil && len(*s.SmsAuthenticationMessage) < 6 {
 18668  		invalidParams.Add(request.NewErrParamMinLen("SmsAuthenticationMessage", 6))
 18669  	}
 18670  	if s.SmsVerificationMessage != nil && len(*s.SmsVerificationMessage) < 6 {
 18671  		invalidParams.Add(request.NewErrParamMinLen("SmsVerificationMessage", 6))
 18672  	}
 18673  	if s.AccountRecoverySetting != nil {
 18674  		if err := s.AccountRecoverySetting.Validate(); err != nil {
 18675  			invalidParams.AddNested("AccountRecoverySetting", err.(request.ErrInvalidParams))
 18676  		}
 18677  	}
 18678  	if s.AdminCreateUserConfig != nil {
 18679  		if err := s.AdminCreateUserConfig.Validate(); err != nil {
 18680  			invalidParams.AddNested("AdminCreateUserConfig", err.(request.ErrInvalidParams))
 18681  		}
 18682  	}
 18683  	if s.EmailConfiguration != nil {
 18684  		if err := s.EmailConfiguration.Validate(); err != nil {
 18685  			invalidParams.AddNested("EmailConfiguration", err.(request.ErrInvalidParams))
 18686  		}
 18687  	}
 18688  	if s.LambdaConfig != nil {
 18689  		if err := s.LambdaConfig.Validate(); err != nil {
 18690  			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
 18691  		}
 18692  	}
 18693  	if s.Policies != nil {
 18694  		if err := s.Policies.Validate(); err != nil {
 18695  			invalidParams.AddNested("Policies", err.(request.ErrInvalidParams))
 18696  		}
 18697  	}
 18698  	if s.Schema != nil {
 18699  		for i, v := range s.Schema {
 18700  			if v == nil {
 18701  				continue
 18702  			}
 18703  			if err := v.Validate(); err != nil {
 18704  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Schema", i), err.(request.ErrInvalidParams))
 18705  			}
 18706  		}
 18707  	}
 18708  	if s.SmsConfiguration != nil {
 18709  		if err := s.SmsConfiguration.Validate(); err != nil {
 18710  			invalidParams.AddNested("SmsConfiguration", err.(request.ErrInvalidParams))
 18711  		}
 18712  	}
 18713  	if s.UserPoolAddOns != nil {
 18714  		if err := s.UserPoolAddOns.Validate(); err != nil {
 18715  			invalidParams.AddNested("UserPoolAddOns", err.(request.ErrInvalidParams))
 18716  		}
 18717  	}
 18718  	if s.UsernameConfiguration != nil {
 18719  		if err := s.UsernameConfiguration.Validate(); err != nil {
 18720  			invalidParams.AddNested("UsernameConfiguration", err.(request.ErrInvalidParams))
 18721  		}
 18722  	}
 18723  	if s.VerificationMessageTemplate != nil {
 18724  		if err := s.VerificationMessageTemplate.Validate(); err != nil {
 18725  			invalidParams.AddNested("VerificationMessageTemplate", err.(request.ErrInvalidParams))
 18726  		}
 18727  	}
 18728  
 18729  	if invalidParams.Len() > 0 {
 18730  		return invalidParams
 18731  	}
 18732  	return nil
 18733  }
 18734  
 18735  // SetAccountRecoverySetting sets the AccountRecoverySetting field's value.
 18736  func (s *CreateUserPoolInput) SetAccountRecoverySetting(v *AccountRecoverySettingType) *CreateUserPoolInput {
 18737  	s.AccountRecoverySetting = v
 18738  	return s
 18739  }
 18740  
 18741  // SetAdminCreateUserConfig sets the AdminCreateUserConfig field's value.
 18742  func (s *CreateUserPoolInput) SetAdminCreateUserConfig(v *AdminCreateUserConfigType) *CreateUserPoolInput {
 18743  	s.AdminCreateUserConfig = v
 18744  	return s
 18745  }
 18746  
 18747  // SetAliasAttributes sets the AliasAttributes field's value.
 18748  func (s *CreateUserPoolInput) SetAliasAttributes(v []*string) *CreateUserPoolInput {
 18749  	s.AliasAttributes = v
 18750  	return s
 18751  }
 18752  
 18753  // SetAutoVerifiedAttributes sets the AutoVerifiedAttributes field's value.
 18754  func (s *CreateUserPoolInput) SetAutoVerifiedAttributes(v []*string) *CreateUserPoolInput {
 18755  	s.AutoVerifiedAttributes = v
 18756  	return s
 18757  }
 18758  
 18759  // SetDeviceConfiguration sets the DeviceConfiguration field's value.
 18760  func (s *CreateUserPoolInput) SetDeviceConfiguration(v *DeviceConfigurationType) *CreateUserPoolInput {
 18761  	s.DeviceConfiguration = v
 18762  	return s
 18763  }
 18764  
 18765  // SetEmailConfiguration sets the EmailConfiguration field's value.
 18766  func (s *CreateUserPoolInput) SetEmailConfiguration(v *EmailConfigurationType) *CreateUserPoolInput {
 18767  	s.EmailConfiguration = v
 18768  	return s
 18769  }
 18770  
 18771  // SetEmailVerificationMessage sets the EmailVerificationMessage field's value.
 18772  func (s *CreateUserPoolInput) SetEmailVerificationMessage(v string) *CreateUserPoolInput {
 18773  	s.EmailVerificationMessage = &v
 18774  	return s
 18775  }
 18776  
 18777  // SetEmailVerificationSubject sets the EmailVerificationSubject field's value.
 18778  func (s *CreateUserPoolInput) SetEmailVerificationSubject(v string) *CreateUserPoolInput {
 18779  	s.EmailVerificationSubject = &v
 18780  	return s
 18781  }
 18782  
 18783  // SetLambdaConfig sets the LambdaConfig field's value.
 18784  func (s *CreateUserPoolInput) SetLambdaConfig(v *LambdaConfigType) *CreateUserPoolInput {
 18785  	s.LambdaConfig = v
 18786  	return s
 18787  }
 18788  
 18789  // SetMfaConfiguration sets the MfaConfiguration field's value.
 18790  func (s *CreateUserPoolInput) SetMfaConfiguration(v string) *CreateUserPoolInput {
 18791  	s.MfaConfiguration = &v
 18792  	return s
 18793  }
 18794  
 18795  // SetPolicies sets the Policies field's value.
 18796  func (s *CreateUserPoolInput) SetPolicies(v *UserPoolPolicyType) *CreateUserPoolInput {
 18797  	s.Policies = v
 18798  	return s
 18799  }
 18800  
 18801  // SetPoolName sets the PoolName field's value.
 18802  func (s *CreateUserPoolInput) SetPoolName(v string) *CreateUserPoolInput {
 18803  	s.PoolName = &v
 18804  	return s
 18805  }
 18806  
 18807  // SetSchema sets the Schema field's value.
 18808  func (s *CreateUserPoolInput) SetSchema(v []*SchemaAttributeType) *CreateUserPoolInput {
 18809  	s.Schema = v
 18810  	return s
 18811  }
 18812  
 18813  // SetSmsAuthenticationMessage sets the SmsAuthenticationMessage field's value.
 18814  func (s *CreateUserPoolInput) SetSmsAuthenticationMessage(v string) *CreateUserPoolInput {
 18815  	s.SmsAuthenticationMessage = &v
 18816  	return s
 18817  }
 18818  
 18819  // SetSmsConfiguration sets the SmsConfiguration field's value.
 18820  func (s *CreateUserPoolInput) SetSmsConfiguration(v *SmsConfigurationType) *CreateUserPoolInput {
 18821  	s.SmsConfiguration = v
 18822  	return s
 18823  }
 18824  
 18825  // SetSmsVerificationMessage sets the SmsVerificationMessage field's value.
 18826  func (s *CreateUserPoolInput) SetSmsVerificationMessage(v string) *CreateUserPoolInput {
 18827  	s.SmsVerificationMessage = &v
 18828  	return s
 18829  }
 18830  
 18831  // SetUserPoolAddOns sets the UserPoolAddOns field's value.
 18832  func (s *CreateUserPoolInput) SetUserPoolAddOns(v *UserPoolAddOnsType) *CreateUserPoolInput {
 18833  	s.UserPoolAddOns = v
 18834  	return s
 18835  }
 18836  
 18837  // SetUserPoolTags sets the UserPoolTags field's value.
 18838  func (s *CreateUserPoolInput) SetUserPoolTags(v map[string]*string) *CreateUserPoolInput {
 18839  	s.UserPoolTags = v
 18840  	return s
 18841  }
 18842  
 18843  // SetUsernameAttributes sets the UsernameAttributes field's value.
 18844  func (s *CreateUserPoolInput) SetUsernameAttributes(v []*string) *CreateUserPoolInput {
 18845  	s.UsernameAttributes = v
 18846  	return s
 18847  }
 18848  
 18849  // SetUsernameConfiguration sets the UsernameConfiguration field's value.
 18850  func (s *CreateUserPoolInput) SetUsernameConfiguration(v *UsernameConfigurationType) *CreateUserPoolInput {
 18851  	s.UsernameConfiguration = v
 18852  	return s
 18853  }
 18854  
 18855  // SetVerificationMessageTemplate sets the VerificationMessageTemplate field's value.
 18856  func (s *CreateUserPoolInput) SetVerificationMessageTemplate(v *VerificationMessageTemplateType) *CreateUserPoolInput {
 18857  	s.VerificationMessageTemplate = v
 18858  	return s
 18859  }
 18860  
 18861  // Represents the response from the server for the request to create a user
 18862  // pool.
 18863  type CreateUserPoolOutput struct {
 18864  	_ struct{} `type:"structure"`
 18865  
 18866  	// A container for the user pool details.
 18867  	UserPool *UserPoolType `type:"structure"`
 18868  }
 18869  
 18870  // String returns the string representation.
 18871  //
 18872  // API parameter values that are decorated as "sensitive" in the API will not
 18873  // be included in the string output. The member name will be present, but the
 18874  // value will be replaced with "sensitive".
 18875  func (s CreateUserPoolOutput) String() string {
 18876  	return awsutil.Prettify(s)
 18877  }
 18878  
 18879  // GoString returns the string representation.
 18880  //
 18881  // API parameter values that are decorated as "sensitive" in the API will not
 18882  // be included in the string output. The member name will be present, but the
 18883  // value will be replaced with "sensitive".
 18884  func (s CreateUserPoolOutput) GoString() string {
 18885  	return s.String()
 18886  }
 18887  
 18888  // SetUserPool sets the UserPool field's value.
 18889  func (s *CreateUserPoolOutput) SetUserPool(v *UserPoolType) *CreateUserPoolOutput {
 18890  	s.UserPool = v
 18891  	return s
 18892  }
 18893  
 18894  // The configuration for a custom domain that hosts the sign-up and sign-in
 18895  // webpages for your application.
 18896  type CustomDomainConfigType struct {
 18897  	_ struct{} `type:"structure"`
 18898  
 18899  	// The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate.
 18900  	// You use this certificate for the subdomain of your custom domain.
 18901  	//
 18902  	// CertificateArn is a required field
 18903  	CertificateArn *string `min:"20" type:"string" required:"true"`
 18904  }
 18905  
 18906  // String returns the string representation.
 18907  //
 18908  // API parameter values that are decorated as "sensitive" in the API will not
 18909  // be included in the string output. The member name will be present, but the
 18910  // value will be replaced with "sensitive".
 18911  func (s CustomDomainConfigType) String() string {
 18912  	return awsutil.Prettify(s)
 18913  }
 18914  
 18915  // GoString returns the string representation.
 18916  //
 18917  // API parameter values that are decorated as "sensitive" in the API will not
 18918  // be included in the string output. The member name will be present, but the
 18919  // value will be replaced with "sensitive".
 18920  func (s CustomDomainConfigType) GoString() string {
 18921  	return s.String()
 18922  }
 18923  
 18924  // Validate inspects the fields of the type to determine if they are valid.
 18925  func (s *CustomDomainConfigType) Validate() error {
 18926  	invalidParams := request.ErrInvalidParams{Context: "CustomDomainConfigType"}
 18927  	if s.CertificateArn == nil {
 18928  		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
 18929  	}
 18930  	if s.CertificateArn != nil && len(*s.CertificateArn) < 20 {
 18931  		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 20))
 18932  	}
 18933  
 18934  	if invalidParams.Len() > 0 {
 18935  		return invalidParams
 18936  	}
 18937  	return nil
 18938  }
 18939  
 18940  // SetCertificateArn sets the CertificateArn field's value.
 18941  func (s *CustomDomainConfigType) SetCertificateArn(v string) *CustomDomainConfigType {
 18942  	s.CertificateArn = &v
 18943  	return s
 18944  }
 18945  
 18946  // A custom email sender Lambda configuration type.
 18947  type CustomEmailLambdaVersionConfigType struct {
 18948  	_ struct{} `type:"structure"`
 18949  
 18950  	// The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito
 18951  	// triggers to send email notifications to users.
 18952  	//
 18953  	// LambdaArn is a required field
 18954  	LambdaArn *string `min:"20" type:"string" required:"true"`
 18955  
 18956  	// The Lambda version represents the signature of the "request" attribute in
 18957  	// the "event" information Amazon Cognito passes to your custom email Lambda
 18958  	// function. The only supported value is V1_0.
 18959  	//
 18960  	// LambdaVersion is a required field
 18961  	LambdaVersion *string `type:"string" required:"true" enum:"CustomEmailSenderLambdaVersionType"`
 18962  }
 18963  
 18964  // String returns the string representation.
 18965  //
 18966  // API parameter values that are decorated as "sensitive" in the API will not
 18967  // be included in the string output. The member name will be present, but the
 18968  // value will be replaced with "sensitive".
 18969  func (s CustomEmailLambdaVersionConfigType) String() string {
 18970  	return awsutil.Prettify(s)
 18971  }
 18972  
 18973  // GoString returns the string representation.
 18974  //
 18975  // API parameter values that are decorated as "sensitive" in the API will not
 18976  // be included in the string output. The member name will be present, but the
 18977  // value will be replaced with "sensitive".
 18978  func (s CustomEmailLambdaVersionConfigType) GoString() string {
 18979  	return s.String()
 18980  }
 18981  
 18982  // Validate inspects the fields of the type to determine if they are valid.
 18983  func (s *CustomEmailLambdaVersionConfigType) Validate() error {
 18984  	invalidParams := request.ErrInvalidParams{Context: "CustomEmailLambdaVersionConfigType"}
 18985  	if s.LambdaArn == nil {
 18986  		invalidParams.Add(request.NewErrParamRequired("LambdaArn"))
 18987  	}
 18988  	if s.LambdaArn != nil && len(*s.LambdaArn) < 20 {
 18989  		invalidParams.Add(request.NewErrParamMinLen("LambdaArn", 20))
 18990  	}
 18991  	if s.LambdaVersion == nil {
 18992  		invalidParams.Add(request.NewErrParamRequired("LambdaVersion"))
 18993  	}
 18994  
 18995  	if invalidParams.Len() > 0 {
 18996  		return invalidParams
 18997  	}
 18998  	return nil
 18999  }
 19000  
 19001  // SetLambdaArn sets the LambdaArn field's value.
 19002  func (s *CustomEmailLambdaVersionConfigType) SetLambdaArn(v string) *CustomEmailLambdaVersionConfigType {
 19003  	s.LambdaArn = &v
 19004  	return s
 19005  }
 19006  
 19007  // SetLambdaVersion sets the LambdaVersion field's value.
 19008  func (s *CustomEmailLambdaVersionConfigType) SetLambdaVersion(v string) *CustomEmailLambdaVersionConfigType {
 19009  	s.LambdaVersion = &v
 19010  	return s
 19011  }
 19012  
 19013  // A custom SMS sender Lambda configuration type.
 19014  type CustomSMSLambdaVersionConfigType struct {
 19015  	_ struct{} `type:"structure"`
 19016  
 19017  	// The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito
 19018  	// triggers to send SMS notifications to users.
 19019  	//
 19020  	// LambdaArn is a required field
 19021  	LambdaArn *string `min:"20" type:"string" required:"true"`
 19022  
 19023  	// The Lambda version represents the signature of the "request" attribute in
 19024  	// the "event" information Amazon Cognito passes to your custom SMS Lambda function.
 19025  	// The only supported value is V1_0.
 19026  	//
 19027  	// LambdaVersion is a required field
 19028  	LambdaVersion *string `type:"string" required:"true" enum:"CustomSMSSenderLambdaVersionType"`
 19029  }
 19030  
 19031  // String returns the string representation.
 19032  //
 19033  // API parameter values that are decorated as "sensitive" in the API will not
 19034  // be included in the string output. The member name will be present, but the
 19035  // value will be replaced with "sensitive".
 19036  func (s CustomSMSLambdaVersionConfigType) String() string {
 19037  	return awsutil.Prettify(s)
 19038  }
 19039  
 19040  // GoString returns the string representation.
 19041  //
 19042  // API parameter values that are decorated as "sensitive" in the API will not
 19043  // be included in the string output. The member name will be present, but the
 19044  // value will be replaced with "sensitive".
 19045  func (s CustomSMSLambdaVersionConfigType) GoString() string {
 19046  	return s.String()
 19047  }
 19048  
 19049  // Validate inspects the fields of the type to determine if they are valid.
 19050  func (s *CustomSMSLambdaVersionConfigType) Validate() error {
 19051  	invalidParams := request.ErrInvalidParams{Context: "CustomSMSLambdaVersionConfigType"}
 19052  	if s.LambdaArn == nil {
 19053  		invalidParams.Add(request.NewErrParamRequired("LambdaArn"))
 19054  	}
 19055  	if s.LambdaArn != nil && len(*s.LambdaArn) < 20 {
 19056  		invalidParams.Add(request.NewErrParamMinLen("LambdaArn", 20))
 19057  	}
 19058  	if s.LambdaVersion == nil {
 19059  		invalidParams.Add(request.NewErrParamRequired("LambdaVersion"))
 19060  	}
 19061  
 19062  	if invalidParams.Len() > 0 {
 19063  		return invalidParams
 19064  	}
 19065  	return nil
 19066  }
 19067  
 19068  // SetLambdaArn sets the LambdaArn field's value.
 19069  func (s *CustomSMSLambdaVersionConfigType) SetLambdaArn(v string) *CustomSMSLambdaVersionConfigType {
 19070  	s.LambdaArn = &v
 19071  	return s
 19072  }
 19073  
 19074  // SetLambdaVersion sets the LambdaVersion field's value.
 19075  func (s *CustomSMSLambdaVersionConfigType) SetLambdaVersion(v string) *CustomSMSLambdaVersionConfigType {
 19076  	s.LambdaVersion = &v
 19077  	return s
 19078  }
 19079  
 19080  type DeleteGroupInput struct {
 19081  	_ struct{} `type:"structure"`
 19082  
 19083  	// The name of the group.
 19084  	//
 19085  	// GroupName is a required field
 19086  	GroupName *string `min:"1" type:"string" required:"true"`
 19087  
 19088  	// The user pool ID for the user pool.
 19089  	//
 19090  	// UserPoolId is a required field
 19091  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19092  }
 19093  
 19094  // String returns the string representation.
 19095  //
 19096  // API parameter values that are decorated as "sensitive" in the API will not
 19097  // be included in the string output. The member name will be present, but the
 19098  // value will be replaced with "sensitive".
 19099  func (s DeleteGroupInput) String() string {
 19100  	return awsutil.Prettify(s)
 19101  }
 19102  
 19103  // GoString returns the string representation.
 19104  //
 19105  // API parameter values that are decorated as "sensitive" in the API will not
 19106  // be included in the string output. The member name will be present, but the
 19107  // value will be replaced with "sensitive".
 19108  func (s DeleteGroupInput) GoString() string {
 19109  	return s.String()
 19110  }
 19111  
 19112  // Validate inspects the fields of the type to determine if they are valid.
 19113  func (s *DeleteGroupInput) Validate() error {
 19114  	invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
 19115  	if s.GroupName == nil {
 19116  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 19117  	}
 19118  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 19119  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 19120  	}
 19121  	if s.UserPoolId == nil {
 19122  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19123  	}
 19124  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19125  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19126  	}
 19127  
 19128  	if invalidParams.Len() > 0 {
 19129  		return invalidParams
 19130  	}
 19131  	return nil
 19132  }
 19133  
 19134  // SetGroupName sets the GroupName field's value.
 19135  func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput {
 19136  	s.GroupName = &v
 19137  	return s
 19138  }
 19139  
 19140  // SetUserPoolId sets the UserPoolId field's value.
 19141  func (s *DeleteGroupInput) SetUserPoolId(v string) *DeleteGroupInput {
 19142  	s.UserPoolId = &v
 19143  	return s
 19144  }
 19145  
 19146  type DeleteGroupOutput struct {
 19147  	_ struct{} `type:"structure"`
 19148  }
 19149  
 19150  // String returns the string representation.
 19151  //
 19152  // API parameter values that are decorated as "sensitive" in the API will not
 19153  // be included in the string output. The member name will be present, but the
 19154  // value will be replaced with "sensitive".
 19155  func (s DeleteGroupOutput) String() string {
 19156  	return awsutil.Prettify(s)
 19157  }
 19158  
 19159  // GoString returns the string representation.
 19160  //
 19161  // API parameter values that are decorated as "sensitive" in the API will not
 19162  // be included in the string output. The member name will be present, but the
 19163  // value will be replaced with "sensitive".
 19164  func (s DeleteGroupOutput) GoString() string {
 19165  	return s.String()
 19166  }
 19167  
 19168  type DeleteIdentityProviderInput struct {
 19169  	_ struct{} `type:"structure"`
 19170  
 19171  	// The identity provider name.
 19172  	//
 19173  	// ProviderName is a required field
 19174  	ProviderName *string `min:"1" type:"string" required:"true"`
 19175  
 19176  	// The user pool ID.
 19177  	//
 19178  	// UserPoolId is a required field
 19179  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19180  }
 19181  
 19182  // String returns the string representation.
 19183  //
 19184  // API parameter values that are decorated as "sensitive" in the API will not
 19185  // be included in the string output. The member name will be present, but the
 19186  // value will be replaced with "sensitive".
 19187  func (s DeleteIdentityProviderInput) String() string {
 19188  	return awsutil.Prettify(s)
 19189  }
 19190  
 19191  // GoString returns the string representation.
 19192  //
 19193  // API parameter values that are decorated as "sensitive" in the API will not
 19194  // be included in the string output. The member name will be present, but the
 19195  // value will be replaced with "sensitive".
 19196  func (s DeleteIdentityProviderInput) GoString() string {
 19197  	return s.String()
 19198  }
 19199  
 19200  // Validate inspects the fields of the type to determine if they are valid.
 19201  func (s *DeleteIdentityProviderInput) Validate() error {
 19202  	invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityProviderInput"}
 19203  	if s.ProviderName == nil {
 19204  		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
 19205  	}
 19206  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 19207  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 19208  	}
 19209  	if s.UserPoolId == nil {
 19210  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19211  	}
 19212  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19213  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19214  	}
 19215  
 19216  	if invalidParams.Len() > 0 {
 19217  		return invalidParams
 19218  	}
 19219  	return nil
 19220  }
 19221  
 19222  // SetProviderName sets the ProviderName field's value.
 19223  func (s *DeleteIdentityProviderInput) SetProviderName(v string) *DeleteIdentityProviderInput {
 19224  	s.ProviderName = &v
 19225  	return s
 19226  }
 19227  
 19228  // SetUserPoolId sets the UserPoolId field's value.
 19229  func (s *DeleteIdentityProviderInput) SetUserPoolId(v string) *DeleteIdentityProviderInput {
 19230  	s.UserPoolId = &v
 19231  	return s
 19232  }
 19233  
 19234  type DeleteIdentityProviderOutput struct {
 19235  	_ struct{} `type:"structure"`
 19236  }
 19237  
 19238  // String returns the string representation.
 19239  //
 19240  // API parameter values that are decorated as "sensitive" in the API will not
 19241  // be included in the string output. The member name will be present, but the
 19242  // value will be replaced with "sensitive".
 19243  func (s DeleteIdentityProviderOutput) String() string {
 19244  	return awsutil.Prettify(s)
 19245  }
 19246  
 19247  // GoString returns the string representation.
 19248  //
 19249  // API parameter values that are decorated as "sensitive" in the API will not
 19250  // be included in the string output. The member name will be present, but the
 19251  // value will be replaced with "sensitive".
 19252  func (s DeleteIdentityProviderOutput) GoString() string {
 19253  	return s.String()
 19254  }
 19255  
 19256  type DeleteResourceServerInput struct {
 19257  	_ struct{} `type:"structure"`
 19258  
 19259  	// The identifier for the resource server.
 19260  	//
 19261  	// Identifier is a required field
 19262  	Identifier *string `min:"1" type:"string" required:"true"`
 19263  
 19264  	// The user pool ID for the user pool that hosts the resource server.
 19265  	//
 19266  	// UserPoolId is a required field
 19267  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19268  }
 19269  
 19270  // String returns the string representation.
 19271  //
 19272  // API parameter values that are decorated as "sensitive" in the API will not
 19273  // be included in the string output. The member name will be present, but the
 19274  // value will be replaced with "sensitive".
 19275  func (s DeleteResourceServerInput) String() string {
 19276  	return awsutil.Prettify(s)
 19277  }
 19278  
 19279  // GoString returns the string representation.
 19280  //
 19281  // API parameter values that are decorated as "sensitive" in the API will not
 19282  // be included in the string output. The member name will be present, but the
 19283  // value will be replaced with "sensitive".
 19284  func (s DeleteResourceServerInput) GoString() string {
 19285  	return s.String()
 19286  }
 19287  
 19288  // Validate inspects the fields of the type to determine if they are valid.
 19289  func (s *DeleteResourceServerInput) Validate() error {
 19290  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceServerInput"}
 19291  	if s.Identifier == nil {
 19292  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
 19293  	}
 19294  	if s.Identifier != nil && len(*s.Identifier) < 1 {
 19295  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
 19296  	}
 19297  	if s.UserPoolId == nil {
 19298  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19299  	}
 19300  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19301  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19302  	}
 19303  
 19304  	if invalidParams.Len() > 0 {
 19305  		return invalidParams
 19306  	}
 19307  	return nil
 19308  }
 19309  
 19310  // SetIdentifier sets the Identifier field's value.
 19311  func (s *DeleteResourceServerInput) SetIdentifier(v string) *DeleteResourceServerInput {
 19312  	s.Identifier = &v
 19313  	return s
 19314  }
 19315  
 19316  // SetUserPoolId sets the UserPoolId field's value.
 19317  func (s *DeleteResourceServerInput) SetUserPoolId(v string) *DeleteResourceServerInput {
 19318  	s.UserPoolId = &v
 19319  	return s
 19320  }
 19321  
 19322  type DeleteResourceServerOutput struct {
 19323  	_ struct{} `type:"structure"`
 19324  }
 19325  
 19326  // String returns the string representation.
 19327  //
 19328  // API parameter values that are decorated as "sensitive" in the API will not
 19329  // be included in the string output. The member name will be present, but the
 19330  // value will be replaced with "sensitive".
 19331  func (s DeleteResourceServerOutput) String() string {
 19332  	return awsutil.Prettify(s)
 19333  }
 19334  
 19335  // GoString returns the string representation.
 19336  //
 19337  // API parameter values that are decorated as "sensitive" in the API will not
 19338  // be included in the string output. The member name will be present, but the
 19339  // value will be replaced with "sensitive".
 19340  func (s DeleteResourceServerOutput) GoString() string {
 19341  	return s.String()
 19342  }
 19343  
 19344  // Represents the request to delete user attributes.
 19345  type DeleteUserAttributesInput struct {
 19346  	_ struct{} `type:"structure"`
 19347  
 19348  	// The access token used in the request to delete user attributes.
 19349  	//
 19350  	// AccessToken is a sensitive parameter and its value will be
 19351  	// replaced with "sensitive" in string returned by DeleteUserAttributesInput's
 19352  	// String and GoString methods.
 19353  	//
 19354  	// AccessToken is a required field
 19355  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 19356  
 19357  	// An array of strings representing the user attribute names you wish to delete.
 19358  	//
 19359  	// For custom attributes, you must prepend the custom: prefix to the attribute
 19360  	// name.
 19361  	//
 19362  	// UserAttributeNames is a required field
 19363  	UserAttributeNames []*string `type:"list" required:"true"`
 19364  }
 19365  
 19366  // String returns the string representation.
 19367  //
 19368  // API parameter values that are decorated as "sensitive" in the API will not
 19369  // be included in the string output. The member name will be present, but the
 19370  // value will be replaced with "sensitive".
 19371  func (s DeleteUserAttributesInput) String() string {
 19372  	return awsutil.Prettify(s)
 19373  }
 19374  
 19375  // GoString returns the string representation.
 19376  //
 19377  // API parameter values that are decorated as "sensitive" in the API will not
 19378  // be included in the string output. The member name will be present, but the
 19379  // value will be replaced with "sensitive".
 19380  func (s DeleteUserAttributesInput) GoString() string {
 19381  	return s.String()
 19382  }
 19383  
 19384  // Validate inspects the fields of the type to determine if they are valid.
 19385  func (s *DeleteUserAttributesInput) Validate() error {
 19386  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserAttributesInput"}
 19387  	if s.AccessToken == nil {
 19388  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 19389  	}
 19390  	if s.UserAttributeNames == nil {
 19391  		invalidParams.Add(request.NewErrParamRequired("UserAttributeNames"))
 19392  	}
 19393  
 19394  	if invalidParams.Len() > 0 {
 19395  		return invalidParams
 19396  	}
 19397  	return nil
 19398  }
 19399  
 19400  // SetAccessToken sets the AccessToken field's value.
 19401  func (s *DeleteUserAttributesInput) SetAccessToken(v string) *DeleteUserAttributesInput {
 19402  	s.AccessToken = &v
 19403  	return s
 19404  }
 19405  
 19406  // SetUserAttributeNames sets the UserAttributeNames field's value.
 19407  func (s *DeleteUserAttributesInput) SetUserAttributeNames(v []*string) *DeleteUserAttributesInput {
 19408  	s.UserAttributeNames = v
 19409  	return s
 19410  }
 19411  
 19412  // Represents the response from the server to delete user attributes.
 19413  type DeleteUserAttributesOutput struct {
 19414  	_ struct{} `type:"structure"`
 19415  }
 19416  
 19417  // String returns the string representation.
 19418  //
 19419  // API parameter values that are decorated as "sensitive" in the API will not
 19420  // be included in the string output. The member name will be present, but the
 19421  // value will be replaced with "sensitive".
 19422  func (s DeleteUserAttributesOutput) String() string {
 19423  	return awsutil.Prettify(s)
 19424  }
 19425  
 19426  // GoString returns the string representation.
 19427  //
 19428  // API parameter values that are decorated as "sensitive" in the API will not
 19429  // be included in the string output. The member name will be present, but the
 19430  // value will be replaced with "sensitive".
 19431  func (s DeleteUserAttributesOutput) GoString() string {
 19432  	return s.String()
 19433  }
 19434  
 19435  // Represents the request to delete a user.
 19436  type DeleteUserInput struct {
 19437  	_ struct{} `type:"structure"`
 19438  
 19439  	// The access token from a request to delete a user.
 19440  	//
 19441  	// AccessToken is a sensitive parameter and its value will be
 19442  	// replaced with "sensitive" in string returned by DeleteUserInput's
 19443  	// String and GoString methods.
 19444  	//
 19445  	// AccessToken is a required field
 19446  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 19447  }
 19448  
 19449  // String returns the string representation.
 19450  //
 19451  // API parameter values that are decorated as "sensitive" in the API will not
 19452  // be included in the string output. The member name will be present, but the
 19453  // value will be replaced with "sensitive".
 19454  func (s DeleteUserInput) String() string {
 19455  	return awsutil.Prettify(s)
 19456  }
 19457  
 19458  // GoString returns the string representation.
 19459  //
 19460  // API parameter values that are decorated as "sensitive" in the API will not
 19461  // be included in the string output. The member name will be present, but the
 19462  // value will be replaced with "sensitive".
 19463  func (s DeleteUserInput) GoString() string {
 19464  	return s.String()
 19465  }
 19466  
 19467  // Validate inspects the fields of the type to determine if they are valid.
 19468  func (s *DeleteUserInput) Validate() error {
 19469  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
 19470  	if s.AccessToken == nil {
 19471  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 19472  	}
 19473  
 19474  	if invalidParams.Len() > 0 {
 19475  		return invalidParams
 19476  	}
 19477  	return nil
 19478  }
 19479  
 19480  // SetAccessToken sets the AccessToken field's value.
 19481  func (s *DeleteUserInput) SetAccessToken(v string) *DeleteUserInput {
 19482  	s.AccessToken = &v
 19483  	return s
 19484  }
 19485  
 19486  type DeleteUserOutput struct {
 19487  	_ struct{} `type:"structure"`
 19488  }
 19489  
 19490  // String returns the string representation.
 19491  //
 19492  // API parameter values that are decorated as "sensitive" in the API will not
 19493  // be included in the string output. The member name will be present, but the
 19494  // value will be replaced with "sensitive".
 19495  func (s DeleteUserOutput) String() string {
 19496  	return awsutil.Prettify(s)
 19497  }
 19498  
 19499  // GoString returns the string representation.
 19500  //
 19501  // API parameter values that are decorated as "sensitive" in the API will not
 19502  // be included in the string output. The member name will be present, but the
 19503  // value will be replaced with "sensitive".
 19504  func (s DeleteUserOutput) GoString() string {
 19505  	return s.String()
 19506  }
 19507  
 19508  // Represents the request to delete a user pool client.
 19509  type DeleteUserPoolClientInput struct {
 19510  	_ struct{} `type:"structure"`
 19511  
 19512  	// The app client ID of the app associated with the user pool.
 19513  	//
 19514  	// ClientId is a sensitive parameter and its value will be
 19515  	// replaced with "sensitive" in string returned by DeleteUserPoolClientInput's
 19516  	// String and GoString methods.
 19517  	//
 19518  	// ClientId is a required field
 19519  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 19520  
 19521  	// The user pool ID for the user pool where you want to delete the client.
 19522  	//
 19523  	// UserPoolId is a required field
 19524  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19525  }
 19526  
 19527  // String returns the string representation.
 19528  //
 19529  // API parameter values that are decorated as "sensitive" in the API will not
 19530  // be included in the string output. The member name will be present, but the
 19531  // value will be replaced with "sensitive".
 19532  func (s DeleteUserPoolClientInput) String() string {
 19533  	return awsutil.Prettify(s)
 19534  }
 19535  
 19536  // GoString returns the string representation.
 19537  //
 19538  // API parameter values that are decorated as "sensitive" in the API will not
 19539  // be included in the string output. The member name will be present, but the
 19540  // value will be replaced with "sensitive".
 19541  func (s DeleteUserPoolClientInput) GoString() string {
 19542  	return s.String()
 19543  }
 19544  
 19545  // Validate inspects the fields of the type to determine if they are valid.
 19546  func (s *DeleteUserPoolClientInput) Validate() error {
 19547  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserPoolClientInput"}
 19548  	if s.ClientId == nil {
 19549  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 19550  	}
 19551  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 19552  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 19553  	}
 19554  	if s.UserPoolId == nil {
 19555  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19556  	}
 19557  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19558  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19559  	}
 19560  
 19561  	if invalidParams.Len() > 0 {
 19562  		return invalidParams
 19563  	}
 19564  	return nil
 19565  }
 19566  
 19567  // SetClientId sets the ClientId field's value.
 19568  func (s *DeleteUserPoolClientInput) SetClientId(v string) *DeleteUserPoolClientInput {
 19569  	s.ClientId = &v
 19570  	return s
 19571  }
 19572  
 19573  // SetUserPoolId sets the UserPoolId field's value.
 19574  func (s *DeleteUserPoolClientInput) SetUserPoolId(v string) *DeleteUserPoolClientInput {
 19575  	s.UserPoolId = &v
 19576  	return s
 19577  }
 19578  
 19579  type DeleteUserPoolClientOutput struct {
 19580  	_ struct{} `type:"structure"`
 19581  }
 19582  
 19583  // String returns the string representation.
 19584  //
 19585  // API parameter values that are decorated as "sensitive" in the API will not
 19586  // be included in the string output. The member name will be present, but the
 19587  // value will be replaced with "sensitive".
 19588  func (s DeleteUserPoolClientOutput) String() string {
 19589  	return awsutil.Prettify(s)
 19590  }
 19591  
 19592  // GoString returns the string representation.
 19593  //
 19594  // API parameter values that are decorated as "sensitive" in the API will not
 19595  // be included in the string output. The member name will be present, but the
 19596  // value will be replaced with "sensitive".
 19597  func (s DeleteUserPoolClientOutput) GoString() string {
 19598  	return s.String()
 19599  }
 19600  
 19601  type DeleteUserPoolDomainInput struct {
 19602  	_ struct{} `type:"structure"`
 19603  
 19604  	// The domain string.
 19605  	//
 19606  	// Domain is a required field
 19607  	Domain *string `min:"1" type:"string" required:"true"`
 19608  
 19609  	// The user pool ID.
 19610  	//
 19611  	// UserPoolId is a required field
 19612  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19613  }
 19614  
 19615  // String returns the string representation.
 19616  //
 19617  // API parameter values that are decorated as "sensitive" in the API will not
 19618  // be included in the string output. The member name will be present, but the
 19619  // value will be replaced with "sensitive".
 19620  func (s DeleteUserPoolDomainInput) String() string {
 19621  	return awsutil.Prettify(s)
 19622  }
 19623  
 19624  // GoString returns the string representation.
 19625  //
 19626  // API parameter values that are decorated as "sensitive" in the API will not
 19627  // be included in the string output. The member name will be present, but the
 19628  // value will be replaced with "sensitive".
 19629  func (s DeleteUserPoolDomainInput) GoString() string {
 19630  	return s.String()
 19631  }
 19632  
 19633  // Validate inspects the fields of the type to determine if they are valid.
 19634  func (s *DeleteUserPoolDomainInput) Validate() error {
 19635  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserPoolDomainInput"}
 19636  	if s.Domain == nil {
 19637  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 19638  	}
 19639  	if s.Domain != nil && len(*s.Domain) < 1 {
 19640  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 19641  	}
 19642  	if s.UserPoolId == nil {
 19643  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19644  	}
 19645  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19646  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19647  	}
 19648  
 19649  	if invalidParams.Len() > 0 {
 19650  		return invalidParams
 19651  	}
 19652  	return nil
 19653  }
 19654  
 19655  // SetDomain sets the Domain field's value.
 19656  func (s *DeleteUserPoolDomainInput) SetDomain(v string) *DeleteUserPoolDomainInput {
 19657  	s.Domain = &v
 19658  	return s
 19659  }
 19660  
 19661  // SetUserPoolId sets the UserPoolId field's value.
 19662  func (s *DeleteUserPoolDomainInput) SetUserPoolId(v string) *DeleteUserPoolDomainInput {
 19663  	s.UserPoolId = &v
 19664  	return s
 19665  }
 19666  
 19667  type DeleteUserPoolDomainOutput struct {
 19668  	_ struct{} `type:"structure"`
 19669  }
 19670  
 19671  // String returns the string representation.
 19672  //
 19673  // API parameter values that are decorated as "sensitive" in the API will not
 19674  // be included in the string output. The member name will be present, but the
 19675  // value will be replaced with "sensitive".
 19676  func (s DeleteUserPoolDomainOutput) String() string {
 19677  	return awsutil.Prettify(s)
 19678  }
 19679  
 19680  // GoString returns the string representation.
 19681  //
 19682  // API parameter values that are decorated as "sensitive" in the API will not
 19683  // be included in the string output. The member name will be present, but the
 19684  // value will be replaced with "sensitive".
 19685  func (s DeleteUserPoolDomainOutput) GoString() string {
 19686  	return s.String()
 19687  }
 19688  
 19689  // Represents the request to delete a user pool.
 19690  type DeleteUserPoolInput struct {
 19691  	_ struct{} `type:"structure"`
 19692  
 19693  	// The user pool ID for the user pool you want to delete.
 19694  	//
 19695  	// UserPoolId is a required field
 19696  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19697  }
 19698  
 19699  // String returns the string representation.
 19700  //
 19701  // API parameter values that are decorated as "sensitive" in the API will not
 19702  // be included in the string output. The member name will be present, but the
 19703  // value will be replaced with "sensitive".
 19704  func (s DeleteUserPoolInput) String() string {
 19705  	return awsutil.Prettify(s)
 19706  }
 19707  
 19708  // GoString returns the string representation.
 19709  //
 19710  // API parameter values that are decorated as "sensitive" in the API will not
 19711  // be included in the string output. The member name will be present, but the
 19712  // value will be replaced with "sensitive".
 19713  func (s DeleteUserPoolInput) GoString() string {
 19714  	return s.String()
 19715  }
 19716  
 19717  // Validate inspects the fields of the type to determine if they are valid.
 19718  func (s *DeleteUserPoolInput) Validate() error {
 19719  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserPoolInput"}
 19720  	if s.UserPoolId == nil {
 19721  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19722  	}
 19723  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19724  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19725  	}
 19726  
 19727  	if invalidParams.Len() > 0 {
 19728  		return invalidParams
 19729  	}
 19730  	return nil
 19731  }
 19732  
 19733  // SetUserPoolId sets the UserPoolId field's value.
 19734  func (s *DeleteUserPoolInput) SetUserPoolId(v string) *DeleteUserPoolInput {
 19735  	s.UserPoolId = &v
 19736  	return s
 19737  }
 19738  
 19739  type DeleteUserPoolOutput struct {
 19740  	_ struct{} `type:"structure"`
 19741  }
 19742  
 19743  // String returns the string representation.
 19744  //
 19745  // API parameter values that are decorated as "sensitive" in the API will not
 19746  // be included in the string output. The member name will be present, but the
 19747  // value will be replaced with "sensitive".
 19748  func (s DeleteUserPoolOutput) String() string {
 19749  	return awsutil.Prettify(s)
 19750  }
 19751  
 19752  // GoString returns the string representation.
 19753  //
 19754  // API parameter values that are decorated as "sensitive" in the API will not
 19755  // be included in the string output. The member name will be present, but the
 19756  // value will be replaced with "sensitive".
 19757  func (s DeleteUserPoolOutput) GoString() string {
 19758  	return s.String()
 19759  }
 19760  
 19761  type DescribeIdentityProviderInput struct {
 19762  	_ struct{} `type:"structure"`
 19763  
 19764  	// The identity provider name.
 19765  	//
 19766  	// ProviderName is a required field
 19767  	ProviderName *string `min:"1" type:"string" required:"true"`
 19768  
 19769  	// The user pool ID.
 19770  	//
 19771  	// UserPoolId is a required field
 19772  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19773  }
 19774  
 19775  // String returns the string representation.
 19776  //
 19777  // API parameter values that are decorated as "sensitive" in the API will not
 19778  // be included in the string output. The member name will be present, but the
 19779  // value will be replaced with "sensitive".
 19780  func (s DescribeIdentityProviderInput) String() string {
 19781  	return awsutil.Prettify(s)
 19782  }
 19783  
 19784  // GoString returns the string representation.
 19785  //
 19786  // API parameter values that are decorated as "sensitive" in the API will not
 19787  // be included in the string output. The member name will be present, but the
 19788  // value will be replaced with "sensitive".
 19789  func (s DescribeIdentityProviderInput) GoString() string {
 19790  	return s.String()
 19791  }
 19792  
 19793  // Validate inspects the fields of the type to determine if they are valid.
 19794  func (s *DescribeIdentityProviderInput) Validate() error {
 19795  	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityProviderInput"}
 19796  	if s.ProviderName == nil {
 19797  		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
 19798  	}
 19799  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 19800  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 19801  	}
 19802  	if s.UserPoolId == nil {
 19803  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19804  	}
 19805  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19806  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19807  	}
 19808  
 19809  	if invalidParams.Len() > 0 {
 19810  		return invalidParams
 19811  	}
 19812  	return nil
 19813  }
 19814  
 19815  // SetProviderName sets the ProviderName field's value.
 19816  func (s *DescribeIdentityProviderInput) SetProviderName(v string) *DescribeIdentityProviderInput {
 19817  	s.ProviderName = &v
 19818  	return s
 19819  }
 19820  
 19821  // SetUserPoolId sets the UserPoolId field's value.
 19822  func (s *DescribeIdentityProviderInput) SetUserPoolId(v string) *DescribeIdentityProviderInput {
 19823  	s.UserPoolId = &v
 19824  	return s
 19825  }
 19826  
 19827  type DescribeIdentityProviderOutput struct {
 19828  	_ struct{} `type:"structure"`
 19829  
 19830  	// The identity provider that was deleted.
 19831  	//
 19832  	// IdentityProvider is a required field
 19833  	IdentityProvider *IdentityProviderType `type:"structure" required:"true"`
 19834  }
 19835  
 19836  // String returns the string representation.
 19837  //
 19838  // API parameter values that are decorated as "sensitive" in the API will not
 19839  // be included in the string output. The member name will be present, but the
 19840  // value will be replaced with "sensitive".
 19841  func (s DescribeIdentityProviderOutput) String() string {
 19842  	return awsutil.Prettify(s)
 19843  }
 19844  
 19845  // GoString returns the string representation.
 19846  //
 19847  // API parameter values that are decorated as "sensitive" in the API will not
 19848  // be included in the string output. The member name will be present, but the
 19849  // value will be replaced with "sensitive".
 19850  func (s DescribeIdentityProviderOutput) GoString() string {
 19851  	return s.String()
 19852  }
 19853  
 19854  // SetIdentityProvider sets the IdentityProvider field's value.
 19855  func (s *DescribeIdentityProviderOutput) SetIdentityProvider(v *IdentityProviderType) *DescribeIdentityProviderOutput {
 19856  	s.IdentityProvider = v
 19857  	return s
 19858  }
 19859  
 19860  type DescribeResourceServerInput struct {
 19861  	_ struct{} `type:"structure"`
 19862  
 19863  	// The identifier for the resource server
 19864  	//
 19865  	// Identifier is a required field
 19866  	Identifier *string `min:"1" type:"string" required:"true"`
 19867  
 19868  	// The user pool ID for the user pool that hosts the resource server.
 19869  	//
 19870  	// UserPoolId is a required field
 19871  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19872  }
 19873  
 19874  // String returns the string representation.
 19875  //
 19876  // API parameter values that are decorated as "sensitive" in the API will not
 19877  // be included in the string output. The member name will be present, but the
 19878  // value will be replaced with "sensitive".
 19879  func (s DescribeResourceServerInput) String() string {
 19880  	return awsutil.Prettify(s)
 19881  }
 19882  
 19883  // GoString returns the string representation.
 19884  //
 19885  // API parameter values that are decorated as "sensitive" in the API will not
 19886  // be included in the string output. The member name will be present, but the
 19887  // value will be replaced with "sensitive".
 19888  func (s DescribeResourceServerInput) GoString() string {
 19889  	return s.String()
 19890  }
 19891  
 19892  // Validate inspects the fields of the type to determine if they are valid.
 19893  func (s *DescribeResourceServerInput) Validate() error {
 19894  	invalidParams := request.ErrInvalidParams{Context: "DescribeResourceServerInput"}
 19895  	if s.Identifier == nil {
 19896  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
 19897  	}
 19898  	if s.Identifier != nil && len(*s.Identifier) < 1 {
 19899  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
 19900  	}
 19901  	if s.UserPoolId == nil {
 19902  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 19903  	}
 19904  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 19905  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 19906  	}
 19907  
 19908  	if invalidParams.Len() > 0 {
 19909  		return invalidParams
 19910  	}
 19911  	return nil
 19912  }
 19913  
 19914  // SetIdentifier sets the Identifier field's value.
 19915  func (s *DescribeResourceServerInput) SetIdentifier(v string) *DescribeResourceServerInput {
 19916  	s.Identifier = &v
 19917  	return s
 19918  }
 19919  
 19920  // SetUserPoolId sets the UserPoolId field's value.
 19921  func (s *DescribeResourceServerInput) SetUserPoolId(v string) *DescribeResourceServerInput {
 19922  	s.UserPoolId = &v
 19923  	return s
 19924  }
 19925  
 19926  type DescribeResourceServerOutput struct {
 19927  	_ struct{} `type:"structure"`
 19928  
 19929  	// The resource server.
 19930  	//
 19931  	// ResourceServer is a required field
 19932  	ResourceServer *ResourceServerType `type:"structure" required:"true"`
 19933  }
 19934  
 19935  // String returns the string representation.
 19936  //
 19937  // API parameter values that are decorated as "sensitive" in the API will not
 19938  // be included in the string output. The member name will be present, but the
 19939  // value will be replaced with "sensitive".
 19940  func (s DescribeResourceServerOutput) String() string {
 19941  	return awsutil.Prettify(s)
 19942  }
 19943  
 19944  // GoString returns the string representation.
 19945  //
 19946  // API parameter values that are decorated as "sensitive" in the API will not
 19947  // be included in the string output. The member name will be present, but the
 19948  // value will be replaced with "sensitive".
 19949  func (s DescribeResourceServerOutput) GoString() string {
 19950  	return s.String()
 19951  }
 19952  
 19953  // SetResourceServer sets the ResourceServer field's value.
 19954  func (s *DescribeResourceServerOutput) SetResourceServer(v *ResourceServerType) *DescribeResourceServerOutput {
 19955  	s.ResourceServer = v
 19956  	return s
 19957  }
 19958  
 19959  type DescribeRiskConfigurationInput struct {
 19960  	_ struct{} `type:"structure"`
 19961  
 19962  	// The app client ID.
 19963  	//
 19964  	// ClientId is a sensitive parameter and its value will be
 19965  	// replaced with "sensitive" in string returned by DescribeRiskConfigurationInput's
 19966  	// String and GoString methods.
 19967  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 19968  
 19969  	// The user pool ID.
 19970  	//
 19971  	// UserPoolId is a required field
 19972  	UserPoolId *string `min:"1" type:"string" required:"true"`
 19973  }
 19974  
 19975  // String returns the string representation.
 19976  //
 19977  // API parameter values that are decorated as "sensitive" in the API will not
 19978  // be included in the string output. The member name will be present, but the
 19979  // value will be replaced with "sensitive".
 19980  func (s DescribeRiskConfigurationInput) String() string {
 19981  	return awsutil.Prettify(s)
 19982  }
 19983  
 19984  // GoString returns the string representation.
 19985  //
 19986  // API parameter values that are decorated as "sensitive" in the API will not
 19987  // be included in the string output. The member name will be present, but the
 19988  // value will be replaced with "sensitive".
 19989  func (s DescribeRiskConfigurationInput) GoString() string {
 19990  	return s.String()
 19991  }
 19992  
 19993  // Validate inspects the fields of the type to determine if they are valid.
 19994  func (s *DescribeRiskConfigurationInput) Validate() error {
 19995  	invalidParams := request.ErrInvalidParams{Context: "DescribeRiskConfigurationInput"}
 19996  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 19997  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 19998  	}
 19999  	if s.UserPoolId == nil {
 20000  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 20001  	}
 20002  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 20003  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 20004  	}
 20005  
 20006  	if invalidParams.Len() > 0 {
 20007  		return invalidParams
 20008  	}
 20009  	return nil
 20010  }
 20011  
 20012  // SetClientId sets the ClientId field's value.
 20013  func (s *DescribeRiskConfigurationInput) SetClientId(v string) *DescribeRiskConfigurationInput {
 20014  	s.ClientId = &v
 20015  	return s
 20016  }
 20017  
 20018  // SetUserPoolId sets the UserPoolId field's value.
 20019  func (s *DescribeRiskConfigurationInput) SetUserPoolId(v string) *DescribeRiskConfigurationInput {
 20020  	s.UserPoolId = &v
 20021  	return s
 20022  }
 20023  
 20024  type DescribeRiskConfigurationOutput struct {
 20025  	_ struct{} `type:"structure"`
 20026  
 20027  	// The risk configuration.
 20028  	//
 20029  	// RiskConfiguration is a required field
 20030  	RiskConfiguration *RiskConfigurationType `type:"structure" required:"true"`
 20031  }
 20032  
 20033  // String returns the string representation.
 20034  //
 20035  // API parameter values that are decorated as "sensitive" in the API will not
 20036  // be included in the string output. The member name will be present, but the
 20037  // value will be replaced with "sensitive".
 20038  func (s DescribeRiskConfigurationOutput) String() string {
 20039  	return awsutil.Prettify(s)
 20040  }
 20041  
 20042  // GoString returns the string representation.
 20043  //
 20044  // API parameter values that are decorated as "sensitive" in the API will not
 20045  // be included in the string output. The member name will be present, but the
 20046  // value will be replaced with "sensitive".
 20047  func (s DescribeRiskConfigurationOutput) GoString() string {
 20048  	return s.String()
 20049  }
 20050  
 20051  // SetRiskConfiguration sets the RiskConfiguration field's value.
 20052  func (s *DescribeRiskConfigurationOutput) SetRiskConfiguration(v *RiskConfigurationType) *DescribeRiskConfigurationOutput {
 20053  	s.RiskConfiguration = v
 20054  	return s
 20055  }
 20056  
 20057  // Represents the request to describe the user import job.
 20058  type DescribeUserImportJobInput struct {
 20059  	_ struct{} `type:"structure"`
 20060  
 20061  	// The job ID for the user import job.
 20062  	//
 20063  	// JobId is a required field
 20064  	JobId *string `min:"1" type:"string" required:"true"`
 20065  
 20066  	// The user pool ID for the user pool that the users are being imported into.
 20067  	//
 20068  	// UserPoolId is a required field
 20069  	UserPoolId *string `min:"1" type:"string" required:"true"`
 20070  }
 20071  
 20072  // String returns the string representation.
 20073  //
 20074  // API parameter values that are decorated as "sensitive" in the API will not
 20075  // be included in the string output. The member name will be present, but the
 20076  // value will be replaced with "sensitive".
 20077  func (s DescribeUserImportJobInput) String() string {
 20078  	return awsutil.Prettify(s)
 20079  }
 20080  
 20081  // GoString returns the string representation.
 20082  //
 20083  // API parameter values that are decorated as "sensitive" in the API will not
 20084  // be included in the string output. The member name will be present, but the
 20085  // value will be replaced with "sensitive".
 20086  func (s DescribeUserImportJobInput) GoString() string {
 20087  	return s.String()
 20088  }
 20089  
 20090  // Validate inspects the fields of the type to determine if they are valid.
 20091  func (s *DescribeUserImportJobInput) Validate() error {
 20092  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserImportJobInput"}
 20093  	if s.JobId == nil {
 20094  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 20095  	}
 20096  	if s.JobId != nil && len(*s.JobId) < 1 {
 20097  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 20098  	}
 20099  	if s.UserPoolId == nil {
 20100  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 20101  	}
 20102  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 20103  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 20104  	}
 20105  
 20106  	if invalidParams.Len() > 0 {
 20107  		return invalidParams
 20108  	}
 20109  	return nil
 20110  }
 20111  
 20112  // SetJobId sets the JobId field's value.
 20113  func (s *DescribeUserImportJobInput) SetJobId(v string) *DescribeUserImportJobInput {
 20114  	s.JobId = &v
 20115  	return s
 20116  }
 20117  
 20118  // SetUserPoolId sets the UserPoolId field's value.
 20119  func (s *DescribeUserImportJobInput) SetUserPoolId(v string) *DescribeUserImportJobInput {
 20120  	s.UserPoolId = &v
 20121  	return s
 20122  }
 20123  
 20124  // Represents the response from the server to the request to describe the user
 20125  // import job.
 20126  type DescribeUserImportJobOutput struct {
 20127  	_ struct{} `type:"structure"`
 20128  
 20129  	// The job object that represents the user import job.
 20130  	UserImportJob *UserImportJobType `type:"structure"`
 20131  }
 20132  
 20133  // String returns the string representation.
 20134  //
 20135  // API parameter values that are decorated as "sensitive" in the API will not
 20136  // be included in the string output. The member name will be present, but the
 20137  // value will be replaced with "sensitive".
 20138  func (s DescribeUserImportJobOutput) String() string {
 20139  	return awsutil.Prettify(s)
 20140  }
 20141  
 20142  // GoString returns the string representation.
 20143  //
 20144  // API parameter values that are decorated as "sensitive" in the API will not
 20145  // be included in the string output. The member name will be present, but the
 20146  // value will be replaced with "sensitive".
 20147  func (s DescribeUserImportJobOutput) GoString() string {
 20148  	return s.String()
 20149  }
 20150  
 20151  // SetUserImportJob sets the UserImportJob field's value.
 20152  func (s *DescribeUserImportJobOutput) SetUserImportJob(v *UserImportJobType) *DescribeUserImportJobOutput {
 20153  	s.UserImportJob = v
 20154  	return s
 20155  }
 20156  
 20157  // Represents the request to describe a user pool client.
 20158  type DescribeUserPoolClientInput struct {
 20159  	_ struct{} `type:"structure"`
 20160  
 20161  	// The app client ID of the app associated with the user pool.
 20162  	//
 20163  	// ClientId is a sensitive parameter and its value will be
 20164  	// replaced with "sensitive" in string returned by DescribeUserPoolClientInput's
 20165  	// String and GoString methods.
 20166  	//
 20167  	// ClientId is a required field
 20168  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 20169  
 20170  	// The user pool ID for the user pool you want to describe.
 20171  	//
 20172  	// UserPoolId is a required field
 20173  	UserPoolId *string `min:"1" type:"string" required:"true"`
 20174  }
 20175  
 20176  // String returns the string representation.
 20177  //
 20178  // API parameter values that are decorated as "sensitive" in the API will not
 20179  // be included in the string output. The member name will be present, but the
 20180  // value will be replaced with "sensitive".
 20181  func (s DescribeUserPoolClientInput) String() string {
 20182  	return awsutil.Prettify(s)
 20183  }
 20184  
 20185  // GoString returns the string representation.
 20186  //
 20187  // API parameter values that are decorated as "sensitive" in the API will not
 20188  // be included in the string output. The member name will be present, but the
 20189  // value will be replaced with "sensitive".
 20190  func (s DescribeUserPoolClientInput) GoString() string {
 20191  	return s.String()
 20192  }
 20193  
 20194  // Validate inspects the fields of the type to determine if they are valid.
 20195  func (s *DescribeUserPoolClientInput) Validate() error {
 20196  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserPoolClientInput"}
 20197  	if s.ClientId == nil {
 20198  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 20199  	}
 20200  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 20201  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 20202  	}
 20203  	if s.UserPoolId == nil {
 20204  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 20205  	}
 20206  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 20207  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 20208  	}
 20209  
 20210  	if invalidParams.Len() > 0 {
 20211  		return invalidParams
 20212  	}
 20213  	return nil
 20214  }
 20215  
 20216  // SetClientId sets the ClientId field's value.
 20217  func (s *DescribeUserPoolClientInput) SetClientId(v string) *DescribeUserPoolClientInput {
 20218  	s.ClientId = &v
 20219  	return s
 20220  }
 20221  
 20222  // SetUserPoolId sets the UserPoolId field's value.
 20223  func (s *DescribeUserPoolClientInput) SetUserPoolId(v string) *DescribeUserPoolClientInput {
 20224  	s.UserPoolId = &v
 20225  	return s
 20226  }
 20227  
 20228  // Represents the response from the server from a request to describe the user
 20229  // pool client.
 20230  type DescribeUserPoolClientOutput struct {
 20231  	_ struct{} `type:"structure"`
 20232  
 20233  	// The user pool client from a server response to describe the user pool client.
 20234  	UserPoolClient *UserPoolClientType `type:"structure"`
 20235  }
 20236  
 20237  // String returns the string representation.
 20238  //
 20239  // API parameter values that are decorated as "sensitive" in the API will not
 20240  // be included in the string output. The member name will be present, but the
 20241  // value will be replaced with "sensitive".
 20242  func (s DescribeUserPoolClientOutput) String() string {
 20243  	return awsutil.Prettify(s)
 20244  }
 20245  
 20246  // GoString returns the string representation.
 20247  //
 20248  // API parameter values that are decorated as "sensitive" in the API will not
 20249  // be included in the string output. The member name will be present, but the
 20250  // value will be replaced with "sensitive".
 20251  func (s DescribeUserPoolClientOutput) GoString() string {
 20252  	return s.String()
 20253  }
 20254  
 20255  // SetUserPoolClient sets the UserPoolClient field's value.
 20256  func (s *DescribeUserPoolClientOutput) SetUserPoolClient(v *UserPoolClientType) *DescribeUserPoolClientOutput {
 20257  	s.UserPoolClient = v
 20258  	return s
 20259  }
 20260  
 20261  type DescribeUserPoolDomainInput struct {
 20262  	_ struct{} `type:"structure"`
 20263  
 20264  	// The domain string.
 20265  	//
 20266  	// Domain is a required field
 20267  	Domain *string `min:"1" type:"string" required:"true"`
 20268  }
 20269  
 20270  // String returns the string representation.
 20271  //
 20272  // API parameter values that are decorated as "sensitive" in the API will not
 20273  // be included in the string output. The member name will be present, but the
 20274  // value will be replaced with "sensitive".
 20275  func (s DescribeUserPoolDomainInput) String() string {
 20276  	return awsutil.Prettify(s)
 20277  }
 20278  
 20279  // GoString returns the string representation.
 20280  //
 20281  // API parameter values that are decorated as "sensitive" in the API will not
 20282  // be included in the string output. The member name will be present, but the
 20283  // value will be replaced with "sensitive".
 20284  func (s DescribeUserPoolDomainInput) GoString() string {
 20285  	return s.String()
 20286  }
 20287  
 20288  // Validate inspects the fields of the type to determine if they are valid.
 20289  func (s *DescribeUserPoolDomainInput) Validate() error {
 20290  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserPoolDomainInput"}
 20291  	if s.Domain == nil {
 20292  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 20293  	}
 20294  	if s.Domain != nil && len(*s.Domain) < 1 {
 20295  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 20296  	}
 20297  
 20298  	if invalidParams.Len() > 0 {
 20299  		return invalidParams
 20300  	}
 20301  	return nil
 20302  }
 20303  
 20304  // SetDomain sets the Domain field's value.
 20305  func (s *DescribeUserPoolDomainInput) SetDomain(v string) *DescribeUserPoolDomainInput {
 20306  	s.Domain = &v
 20307  	return s
 20308  }
 20309  
 20310  type DescribeUserPoolDomainOutput struct {
 20311  	_ struct{} `type:"structure"`
 20312  
 20313  	// A domain description object containing information about the domain.
 20314  	DomainDescription *DomainDescriptionType `type:"structure"`
 20315  }
 20316  
 20317  // String returns the string representation.
 20318  //
 20319  // API parameter values that are decorated as "sensitive" in the API will not
 20320  // be included in the string output. The member name will be present, but the
 20321  // value will be replaced with "sensitive".
 20322  func (s DescribeUserPoolDomainOutput) String() string {
 20323  	return awsutil.Prettify(s)
 20324  }
 20325  
 20326  // GoString returns the string representation.
 20327  //
 20328  // API parameter values that are decorated as "sensitive" in the API will not
 20329  // be included in the string output. The member name will be present, but the
 20330  // value will be replaced with "sensitive".
 20331  func (s DescribeUserPoolDomainOutput) GoString() string {
 20332  	return s.String()
 20333  }
 20334  
 20335  // SetDomainDescription sets the DomainDescription field's value.
 20336  func (s *DescribeUserPoolDomainOutput) SetDomainDescription(v *DomainDescriptionType) *DescribeUserPoolDomainOutput {
 20337  	s.DomainDescription = v
 20338  	return s
 20339  }
 20340  
 20341  // Represents the request to describe the user pool.
 20342  type DescribeUserPoolInput struct {
 20343  	_ struct{} `type:"structure"`
 20344  
 20345  	// The user pool ID for the user pool you want to describe.
 20346  	//
 20347  	// UserPoolId is a required field
 20348  	UserPoolId *string `min:"1" type:"string" required:"true"`
 20349  }
 20350  
 20351  // String returns the string representation.
 20352  //
 20353  // API parameter values that are decorated as "sensitive" in the API will not
 20354  // be included in the string output. The member name will be present, but the
 20355  // value will be replaced with "sensitive".
 20356  func (s DescribeUserPoolInput) String() string {
 20357  	return awsutil.Prettify(s)
 20358  }
 20359  
 20360  // GoString returns the string representation.
 20361  //
 20362  // API parameter values that are decorated as "sensitive" in the API will not
 20363  // be included in the string output. The member name will be present, but the
 20364  // value will be replaced with "sensitive".
 20365  func (s DescribeUserPoolInput) GoString() string {
 20366  	return s.String()
 20367  }
 20368  
 20369  // Validate inspects the fields of the type to determine if they are valid.
 20370  func (s *DescribeUserPoolInput) Validate() error {
 20371  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserPoolInput"}
 20372  	if s.UserPoolId == nil {
 20373  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 20374  	}
 20375  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 20376  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 20377  	}
 20378  
 20379  	if invalidParams.Len() > 0 {
 20380  		return invalidParams
 20381  	}
 20382  	return nil
 20383  }
 20384  
 20385  // SetUserPoolId sets the UserPoolId field's value.
 20386  func (s *DescribeUserPoolInput) SetUserPoolId(v string) *DescribeUserPoolInput {
 20387  	s.UserPoolId = &v
 20388  	return s
 20389  }
 20390  
 20391  // Represents the response to describe the user pool.
 20392  type DescribeUserPoolOutput struct {
 20393  	_ struct{} `type:"structure"`
 20394  
 20395  	// The container of metadata returned by the server to describe the pool.
 20396  	UserPool *UserPoolType `type:"structure"`
 20397  }
 20398  
 20399  // String returns the string representation.
 20400  //
 20401  // API parameter values that are decorated as "sensitive" in the API will not
 20402  // be included in the string output. The member name will be present, but the
 20403  // value will be replaced with "sensitive".
 20404  func (s DescribeUserPoolOutput) String() string {
 20405  	return awsutil.Prettify(s)
 20406  }
 20407  
 20408  // GoString returns the string representation.
 20409  //
 20410  // API parameter values that are decorated as "sensitive" in the API will not
 20411  // be included in the string output. The member name will be present, but the
 20412  // value will be replaced with "sensitive".
 20413  func (s DescribeUserPoolOutput) GoString() string {
 20414  	return s.String()
 20415  }
 20416  
 20417  // SetUserPool sets the UserPool field's value.
 20418  func (s *DescribeUserPoolOutput) SetUserPool(v *UserPoolType) *DescribeUserPoolOutput {
 20419  	s.UserPool = v
 20420  	return s
 20421  }
 20422  
 20423  // The configuration for the user pool's device tracking.
 20424  type DeviceConfigurationType struct {
 20425  	_ struct{} `type:"structure"`
 20426  
 20427  	// Indicates whether a challenge is required on a new device. Only applicable
 20428  	// to a new device.
 20429  	ChallengeRequiredOnNewDevice *bool `type:"boolean"`
 20430  
 20431  	// If true, a device is only remembered on user prompt.
 20432  	DeviceOnlyRememberedOnUserPrompt *bool `type:"boolean"`
 20433  }
 20434  
 20435  // String returns the string representation.
 20436  //
 20437  // API parameter values that are decorated as "sensitive" in the API will not
 20438  // be included in the string output. The member name will be present, but the
 20439  // value will be replaced with "sensitive".
 20440  func (s DeviceConfigurationType) String() string {
 20441  	return awsutil.Prettify(s)
 20442  }
 20443  
 20444  // GoString returns the string representation.
 20445  //
 20446  // API parameter values that are decorated as "sensitive" in the API will not
 20447  // be included in the string output. The member name will be present, but the
 20448  // value will be replaced with "sensitive".
 20449  func (s DeviceConfigurationType) GoString() string {
 20450  	return s.String()
 20451  }
 20452  
 20453  // SetChallengeRequiredOnNewDevice sets the ChallengeRequiredOnNewDevice field's value.
 20454  func (s *DeviceConfigurationType) SetChallengeRequiredOnNewDevice(v bool) *DeviceConfigurationType {
 20455  	s.ChallengeRequiredOnNewDevice = &v
 20456  	return s
 20457  }
 20458  
 20459  // SetDeviceOnlyRememberedOnUserPrompt sets the DeviceOnlyRememberedOnUserPrompt field's value.
 20460  func (s *DeviceConfigurationType) SetDeviceOnlyRememberedOnUserPrompt(v bool) *DeviceConfigurationType {
 20461  	s.DeviceOnlyRememberedOnUserPrompt = &v
 20462  	return s
 20463  }
 20464  
 20465  // The device verifier against which it will be authenticated.
 20466  type DeviceSecretVerifierConfigType struct {
 20467  	_ struct{} `type:"structure"`
 20468  
 20469  	// The password verifier.
 20470  	PasswordVerifier *string `type:"string"`
 20471  
 20472  	// The salt.
 20473  	Salt *string `type:"string"`
 20474  }
 20475  
 20476  // String returns the string representation.
 20477  //
 20478  // API parameter values that are decorated as "sensitive" in the API will not
 20479  // be included in the string output. The member name will be present, but the
 20480  // value will be replaced with "sensitive".
 20481  func (s DeviceSecretVerifierConfigType) String() string {
 20482  	return awsutil.Prettify(s)
 20483  }
 20484  
 20485  // GoString returns the string representation.
 20486  //
 20487  // API parameter values that are decorated as "sensitive" in the API will not
 20488  // be included in the string output. The member name will be present, but the
 20489  // value will be replaced with "sensitive".
 20490  func (s DeviceSecretVerifierConfigType) GoString() string {
 20491  	return s.String()
 20492  }
 20493  
 20494  // SetPasswordVerifier sets the PasswordVerifier field's value.
 20495  func (s *DeviceSecretVerifierConfigType) SetPasswordVerifier(v string) *DeviceSecretVerifierConfigType {
 20496  	s.PasswordVerifier = &v
 20497  	return s
 20498  }
 20499  
 20500  // SetSalt sets the Salt field's value.
 20501  func (s *DeviceSecretVerifierConfigType) SetSalt(v string) *DeviceSecretVerifierConfigType {
 20502  	s.Salt = &v
 20503  	return s
 20504  }
 20505  
 20506  // The device type.
 20507  type DeviceType struct {
 20508  	_ struct{} `type:"structure"`
 20509  
 20510  	// The device attributes.
 20511  	DeviceAttributes []*AttributeType `type:"list"`
 20512  
 20513  	// The creation date of the device.
 20514  	DeviceCreateDate *time.Time `type:"timestamp"`
 20515  
 20516  	// The device key.
 20517  	DeviceKey *string `min:"1" type:"string"`
 20518  
 20519  	// The date in which the device was last authenticated.
 20520  	DeviceLastAuthenticatedDate *time.Time `type:"timestamp"`
 20521  
 20522  	// The last modified date of the device.
 20523  	DeviceLastModifiedDate *time.Time `type:"timestamp"`
 20524  }
 20525  
 20526  // String returns the string representation.
 20527  //
 20528  // API parameter values that are decorated as "sensitive" in the API will not
 20529  // be included in the string output. The member name will be present, but the
 20530  // value will be replaced with "sensitive".
 20531  func (s DeviceType) String() string {
 20532  	return awsutil.Prettify(s)
 20533  }
 20534  
 20535  // GoString returns the string representation.
 20536  //
 20537  // API parameter values that are decorated as "sensitive" in the API will not
 20538  // be included in the string output. The member name will be present, but the
 20539  // value will be replaced with "sensitive".
 20540  func (s DeviceType) GoString() string {
 20541  	return s.String()
 20542  }
 20543  
 20544  // SetDeviceAttributes sets the DeviceAttributes field's value.
 20545  func (s *DeviceType) SetDeviceAttributes(v []*AttributeType) *DeviceType {
 20546  	s.DeviceAttributes = v
 20547  	return s
 20548  }
 20549  
 20550  // SetDeviceCreateDate sets the DeviceCreateDate field's value.
 20551  func (s *DeviceType) SetDeviceCreateDate(v time.Time) *DeviceType {
 20552  	s.DeviceCreateDate = &v
 20553  	return s
 20554  }
 20555  
 20556  // SetDeviceKey sets the DeviceKey field's value.
 20557  func (s *DeviceType) SetDeviceKey(v string) *DeviceType {
 20558  	s.DeviceKey = &v
 20559  	return s
 20560  }
 20561  
 20562  // SetDeviceLastAuthenticatedDate sets the DeviceLastAuthenticatedDate field's value.
 20563  func (s *DeviceType) SetDeviceLastAuthenticatedDate(v time.Time) *DeviceType {
 20564  	s.DeviceLastAuthenticatedDate = &v
 20565  	return s
 20566  }
 20567  
 20568  // SetDeviceLastModifiedDate sets the DeviceLastModifiedDate field's value.
 20569  func (s *DeviceType) SetDeviceLastModifiedDate(v time.Time) *DeviceType {
 20570  	s.DeviceLastModifiedDate = &v
 20571  	return s
 20572  }
 20573  
 20574  // A container for information about a domain.
 20575  type DomainDescriptionType struct {
 20576  	_ struct{} `type:"structure"`
 20577  
 20578  	// The account ID for the user pool owner.
 20579  	AWSAccountId *string `type:"string"`
 20580  
 20581  	// The ARN of the CloudFront distribution.
 20582  	CloudFrontDistribution *string `type:"string"`
 20583  
 20584  	// The configuration for a custom domain that hosts the sign-up and sign-in
 20585  	// webpages for your application.
 20586  	CustomDomainConfig *CustomDomainConfigType `type:"structure"`
 20587  
 20588  	// The domain string.
 20589  	Domain *string `min:"1" type:"string"`
 20590  
 20591  	// The S3 bucket where the static files for this domain are stored.
 20592  	S3Bucket *string `min:"3" type:"string"`
 20593  
 20594  	// The domain status.
 20595  	Status *string `type:"string" enum:"DomainStatusType"`
 20596  
 20597  	// The user pool ID.
 20598  	UserPoolId *string `min:"1" type:"string"`
 20599  
 20600  	// The app version.
 20601  	Version *string `min:"1" type:"string"`
 20602  }
 20603  
 20604  // String returns the string representation.
 20605  //
 20606  // API parameter values that are decorated as "sensitive" in the API will not
 20607  // be included in the string output. The member name will be present, but the
 20608  // value will be replaced with "sensitive".
 20609  func (s DomainDescriptionType) String() string {
 20610  	return awsutil.Prettify(s)
 20611  }
 20612  
 20613  // GoString returns the string representation.
 20614  //
 20615  // API parameter values that are decorated as "sensitive" in the API will not
 20616  // be included in the string output. The member name will be present, but the
 20617  // value will be replaced with "sensitive".
 20618  func (s DomainDescriptionType) GoString() string {
 20619  	return s.String()
 20620  }
 20621  
 20622  // SetAWSAccountId sets the AWSAccountId field's value.
 20623  func (s *DomainDescriptionType) SetAWSAccountId(v string) *DomainDescriptionType {
 20624  	s.AWSAccountId = &v
 20625  	return s
 20626  }
 20627  
 20628  // SetCloudFrontDistribution sets the CloudFrontDistribution field's value.
 20629  func (s *DomainDescriptionType) SetCloudFrontDistribution(v string) *DomainDescriptionType {
 20630  	s.CloudFrontDistribution = &v
 20631  	return s
 20632  }
 20633  
 20634  // SetCustomDomainConfig sets the CustomDomainConfig field's value.
 20635  func (s *DomainDescriptionType) SetCustomDomainConfig(v *CustomDomainConfigType) *DomainDescriptionType {
 20636  	s.CustomDomainConfig = v
 20637  	return s
 20638  }
 20639  
 20640  // SetDomain sets the Domain field's value.
 20641  func (s *DomainDescriptionType) SetDomain(v string) *DomainDescriptionType {
 20642  	s.Domain = &v
 20643  	return s
 20644  }
 20645  
 20646  // SetS3Bucket sets the S3Bucket field's value.
 20647  func (s *DomainDescriptionType) SetS3Bucket(v string) *DomainDescriptionType {
 20648  	s.S3Bucket = &v
 20649  	return s
 20650  }
 20651  
 20652  // SetStatus sets the Status field's value.
 20653  func (s *DomainDescriptionType) SetStatus(v string) *DomainDescriptionType {
 20654  	s.Status = &v
 20655  	return s
 20656  }
 20657  
 20658  // SetUserPoolId sets the UserPoolId field's value.
 20659  func (s *DomainDescriptionType) SetUserPoolId(v string) *DomainDescriptionType {
 20660  	s.UserPoolId = &v
 20661  	return s
 20662  }
 20663  
 20664  // SetVersion sets the Version field's value.
 20665  func (s *DomainDescriptionType) SetVersion(v string) *DomainDescriptionType {
 20666  	s.Version = &v
 20667  	return s
 20668  }
 20669  
 20670  // This exception is thrown when the provider is already supported by the user
 20671  // pool.
 20672  type DuplicateProviderException struct {
 20673  	_            struct{}                  `type:"structure"`
 20674  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20675  
 20676  	Message_ *string `locationName:"message" type:"string"`
 20677  }
 20678  
 20679  // String returns the string representation.
 20680  //
 20681  // API parameter values that are decorated as "sensitive" in the API will not
 20682  // be included in the string output. The member name will be present, but the
 20683  // value will be replaced with "sensitive".
 20684  func (s DuplicateProviderException) String() string {
 20685  	return awsutil.Prettify(s)
 20686  }
 20687  
 20688  // GoString returns the string representation.
 20689  //
 20690  // API parameter values that are decorated as "sensitive" in the API will not
 20691  // be included in the string output. The member name will be present, but the
 20692  // value will be replaced with "sensitive".
 20693  func (s DuplicateProviderException) GoString() string {
 20694  	return s.String()
 20695  }
 20696  
 20697  func newErrorDuplicateProviderException(v protocol.ResponseMetadata) error {
 20698  	return &DuplicateProviderException{
 20699  		RespMetadata: v,
 20700  	}
 20701  }
 20702  
 20703  // Code returns the exception type name.
 20704  func (s *DuplicateProviderException) Code() string {
 20705  	return "DuplicateProviderException"
 20706  }
 20707  
 20708  // Message returns the exception's message.
 20709  func (s *DuplicateProviderException) Message() string {
 20710  	if s.Message_ != nil {
 20711  		return *s.Message_
 20712  	}
 20713  	return ""
 20714  }
 20715  
 20716  // OrigErr always returns nil, satisfies awserr.Error interface.
 20717  func (s *DuplicateProviderException) OrigErr() error {
 20718  	return nil
 20719  }
 20720  
 20721  func (s *DuplicateProviderException) Error() string {
 20722  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20723  }
 20724  
 20725  // Status code returns the HTTP status code for the request's response error.
 20726  func (s *DuplicateProviderException) StatusCode() int {
 20727  	return s.RespMetadata.StatusCode
 20728  }
 20729  
 20730  // RequestID returns the service's response RequestID for request.
 20731  func (s *DuplicateProviderException) RequestID() string {
 20732  	return s.RespMetadata.RequestID
 20733  }
 20734  
 20735  // The email configuration type.
 20736  //
 20737  // Amazon Cognito has specific regions for use with Amazon SES. For more information
 20738  // on the supported regions, see Email Settings for Amazon Cognito User Pools
 20739  // (https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html).
 20740  type EmailConfigurationType struct {
 20741  	_ struct{} `type:"structure"`
 20742  
 20743  	// The set of configuration rules that can be applied to emails sent using Amazon
 20744  	// SES. A configuration set is applied to an email by including a reference
 20745  	// to the configuration set in the headers of the email. Once applied, all of
 20746  	// the rules in that configuration set are applied to the email. Configuration
 20747  	// sets can be used to apply the following types of rules to emails:
 20748  	//
 20749  	//    * Event publishing – Amazon SES can track the number of send, delivery,
 20750  	//    open, click, bounce, and complaint events for each email sent. Use event
 20751  	//    publishing to send information about these events to other Amazon Web
 20752  	//    Services services such as SNS and CloudWatch.
 20753  	//
 20754  	//    * IP pool management – When leasing dedicated IP addresses with Amazon
 20755  	//    SES, you can create groups of IP addresses, called dedicated IP pools.
 20756  	//    You can then associate the dedicated IP pools with configuration sets.
 20757  	ConfigurationSet *string `min:"1" type:"string"`
 20758  
 20759  	// Specifies whether Amazon Cognito emails your users by using its built-in
 20760  	// email functionality or your Amazon SES email configuration. Specify one of
 20761  	// the following values:
 20762  	//
 20763  	// COGNITO_DEFAULT
 20764  	//
 20765  	// When Amazon Cognito emails your users, it uses its built-in email functionality.
 20766  	// When you use the default option, Amazon Cognito allows only a limited number
 20767  	// of emails each day for your user pool. For typical production environments,
 20768  	// the default email limit is below the required delivery volume. To achieve
 20769  	// a higher delivery volume, specify DEVELOPER to use your Amazon SES email
 20770  	// configuration.
 20771  	//
 20772  	// To look up the email delivery limit for the default option, see Limits in
 20773  	// Amazon Cognito (https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html)
 20774  	// in the Amazon Cognito Developer Guide.
 20775  	//
 20776  	// The default FROM address is no-reply@verificationemail.com. To customize
 20777  	// the FROM address, provide the ARN of an Amazon SES verified email address
 20778  	// for the SourceArn parameter.
 20779  	//
 20780  	// If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't
 20781  	// allowed:
 20782  	//
 20783  	//    * EmailVerificationMessage
 20784  	//
 20785  	//    * EmailVerificationSubject
 20786  	//
 20787  	//    * InviteMessageTemplate.EmailMessage
 20788  	//
 20789  	//    * InviteMessageTemplate.EmailSubject
 20790  	//
 20791  	//    * VerificationMessageTemplate.EmailMessage
 20792  	//
 20793  	//    * VerificationMessageTemplate.EmailMessageByLink
 20794  	//
 20795  	//    * VerificationMessageTemplate.EmailSubject,
 20796  	//
 20797  	//    * VerificationMessageTemplate.EmailSubjectByLink
 20798  	//
 20799  	// DEVELOPER EmailSendingAccount is required.
 20800  	//
 20801  	// DEVELOPER
 20802  	//
 20803  	// When Amazon Cognito emails your users, it uses your Amazon SES configuration.
 20804  	// Amazon Cognito calls Amazon SES on your behalf to send email from your verified
 20805  	// email address. When you use this option, the email delivery limits are the
 20806  	// same limits that apply to your Amazon SES verified email address in your
 20807  	// account.
 20808  	//
 20809  	// If you use this option, you must provide the ARN of an Amazon SES verified
 20810  	// email address for the SourceArn parameter.
 20811  	//
 20812  	// Before Amazon Cognito can email your users, it requires additional permissions
 20813  	// to call Amazon SES on your behalf. When you update your user pool with this
 20814  	// option, Amazon Cognito creates a service-linked role, which is a type of
 20815  	// IAM role, in your account. This role contains the permissions that allow
 20816  	// Amazon Cognito to access Amazon SES and send email messages with your address.
 20817  	// For more information about the service-linked role that Amazon Cognito creates,
 20818  	// see Using Service-Linked Roles for Amazon Cognito (https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html)
 20819  	// in the Amazon Cognito Developer Guide.
 20820  	EmailSendingAccount *string `type:"string" enum:"EmailSendingAccountType"`
 20821  
 20822  	// Identifies either the sender’s email address or the sender’s name with
 20823  	// their email address. For example, testuser@example.com or Test User <testuser@example.com>.
 20824  	// This address will appear before the body of the email.
 20825  	From *string `type:"string"`
 20826  
 20827  	// The destination to which the receiver of the email should reply to.
 20828  	ReplyToEmailAddress *string `type:"string"`
 20829  
 20830  	// The Amazon Resource Name (ARN) of a verified email address in Amazon SES.
 20831  	// This email address is used in one of the following ways, depending on the
 20832  	// value that you specify for the EmailSendingAccount parameter:
 20833  	//
 20834  	//    * If you specify COGNITO_DEFAULT, Amazon Cognito uses this address as
 20835  	//    the custom FROM address when it emails your users by using its built-in
 20836  	//    email account.
 20837  	//
 20838  	//    * If you specify DEVELOPER, Amazon Cognito emails your users with this
 20839  	//    address by calling Amazon SES on your behalf.
 20840  	SourceArn *string `min:"20" type:"string"`
 20841  }
 20842  
 20843  // String returns the string representation.
 20844  //
 20845  // API parameter values that are decorated as "sensitive" in the API will not
 20846  // be included in the string output. The member name will be present, but the
 20847  // value will be replaced with "sensitive".
 20848  func (s EmailConfigurationType) String() string {
 20849  	return awsutil.Prettify(s)
 20850  }
 20851  
 20852  // GoString returns the string representation.
 20853  //
 20854  // API parameter values that are decorated as "sensitive" in the API will not
 20855  // be included in the string output. The member name will be present, but the
 20856  // value will be replaced with "sensitive".
 20857  func (s EmailConfigurationType) GoString() string {
 20858  	return s.String()
 20859  }
 20860  
 20861  // Validate inspects the fields of the type to determine if they are valid.
 20862  func (s *EmailConfigurationType) Validate() error {
 20863  	invalidParams := request.ErrInvalidParams{Context: "EmailConfigurationType"}
 20864  	if s.ConfigurationSet != nil && len(*s.ConfigurationSet) < 1 {
 20865  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationSet", 1))
 20866  	}
 20867  	if s.SourceArn != nil && len(*s.SourceArn) < 20 {
 20868  		invalidParams.Add(request.NewErrParamMinLen("SourceArn", 20))
 20869  	}
 20870  
 20871  	if invalidParams.Len() > 0 {
 20872  		return invalidParams
 20873  	}
 20874  	return nil
 20875  }
 20876  
 20877  // SetConfigurationSet sets the ConfigurationSet field's value.
 20878  func (s *EmailConfigurationType) SetConfigurationSet(v string) *EmailConfigurationType {
 20879  	s.ConfigurationSet = &v
 20880  	return s
 20881  }
 20882  
 20883  // SetEmailSendingAccount sets the EmailSendingAccount field's value.
 20884  func (s *EmailConfigurationType) SetEmailSendingAccount(v string) *EmailConfigurationType {
 20885  	s.EmailSendingAccount = &v
 20886  	return s
 20887  }
 20888  
 20889  // SetFrom sets the From field's value.
 20890  func (s *EmailConfigurationType) SetFrom(v string) *EmailConfigurationType {
 20891  	s.From = &v
 20892  	return s
 20893  }
 20894  
 20895  // SetReplyToEmailAddress sets the ReplyToEmailAddress field's value.
 20896  func (s *EmailConfigurationType) SetReplyToEmailAddress(v string) *EmailConfigurationType {
 20897  	s.ReplyToEmailAddress = &v
 20898  	return s
 20899  }
 20900  
 20901  // SetSourceArn sets the SourceArn field's value.
 20902  func (s *EmailConfigurationType) SetSourceArn(v string) *EmailConfigurationType {
 20903  	s.SourceArn = &v
 20904  	return s
 20905  }
 20906  
 20907  // This exception is thrown when there is a code mismatch and the service fails
 20908  // to configure the software token TOTP multi-factor authentication (MFA).
 20909  type EnableSoftwareTokenMFAException struct {
 20910  	_            struct{}                  `type:"structure"`
 20911  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20912  
 20913  	Message_ *string `locationName:"message" type:"string"`
 20914  }
 20915  
 20916  // String returns the string representation.
 20917  //
 20918  // API parameter values that are decorated as "sensitive" in the API will not
 20919  // be included in the string output. The member name will be present, but the
 20920  // value will be replaced with "sensitive".
 20921  func (s EnableSoftwareTokenMFAException) String() string {
 20922  	return awsutil.Prettify(s)
 20923  }
 20924  
 20925  // GoString returns the string representation.
 20926  //
 20927  // API parameter values that are decorated as "sensitive" in the API will not
 20928  // be included in the string output. The member name will be present, but the
 20929  // value will be replaced with "sensitive".
 20930  func (s EnableSoftwareTokenMFAException) GoString() string {
 20931  	return s.String()
 20932  }
 20933  
 20934  func newErrorEnableSoftwareTokenMFAException(v protocol.ResponseMetadata) error {
 20935  	return &EnableSoftwareTokenMFAException{
 20936  		RespMetadata: v,
 20937  	}
 20938  }
 20939  
 20940  // Code returns the exception type name.
 20941  func (s *EnableSoftwareTokenMFAException) Code() string {
 20942  	return "EnableSoftwareTokenMFAException"
 20943  }
 20944  
 20945  // Message returns the exception's message.
 20946  func (s *EnableSoftwareTokenMFAException) Message() string {
 20947  	if s.Message_ != nil {
 20948  		return *s.Message_
 20949  	}
 20950  	return ""
 20951  }
 20952  
 20953  // OrigErr always returns nil, satisfies awserr.Error interface.
 20954  func (s *EnableSoftwareTokenMFAException) OrigErr() error {
 20955  	return nil
 20956  }
 20957  
 20958  func (s *EnableSoftwareTokenMFAException) Error() string {
 20959  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20960  }
 20961  
 20962  // Status code returns the HTTP status code for the request's response error.
 20963  func (s *EnableSoftwareTokenMFAException) StatusCode() int {
 20964  	return s.RespMetadata.StatusCode
 20965  }
 20966  
 20967  // RequestID returns the service's response RequestID for request.
 20968  func (s *EnableSoftwareTokenMFAException) RequestID() string {
 20969  	return s.RespMetadata.RequestID
 20970  }
 20971  
 20972  // Specifies the user context data captured at the time of an event request.
 20973  type EventContextDataType struct {
 20974  	_ struct{} `type:"structure"`
 20975  
 20976  	// The user's city.
 20977  	City *string `type:"string"`
 20978  
 20979  	// The user's country.
 20980  	Country *string `type:"string"`
 20981  
 20982  	// The user's device name.
 20983  	DeviceName *string `type:"string"`
 20984  
 20985  	// The user's IP address.
 20986  	IpAddress *string `type:"string"`
 20987  
 20988  	// The user's time zone.
 20989  	Timezone *string `type:"string"`
 20990  }
 20991  
 20992  // String returns the string representation.
 20993  //
 20994  // API parameter values that are decorated as "sensitive" in the API will not
 20995  // be included in the string output. The member name will be present, but the
 20996  // value will be replaced with "sensitive".
 20997  func (s EventContextDataType) String() string {
 20998  	return awsutil.Prettify(s)
 20999  }
 21000  
 21001  // GoString returns the string representation.
 21002  //
 21003  // API parameter values that are decorated as "sensitive" in the API will not
 21004  // be included in the string output. The member name will be present, but the
 21005  // value will be replaced with "sensitive".
 21006  func (s EventContextDataType) GoString() string {
 21007  	return s.String()
 21008  }
 21009  
 21010  // SetCity sets the City field's value.
 21011  func (s *EventContextDataType) SetCity(v string) *EventContextDataType {
 21012  	s.City = &v
 21013  	return s
 21014  }
 21015  
 21016  // SetCountry sets the Country field's value.
 21017  func (s *EventContextDataType) SetCountry(v string) *EventContextDataType {
 21018  	s.Country = &v
 21019  	return s
 21020  }
 21021  
 21022  // SetDeviceName sets the DeviceName field's value.
 21023  func (s *EventContextDataType) SetDeviceName(v string) *EventContextDataType {
 21024  	s.DeviceName = &v
 21025  	return s
 21026  }
 21027  
 21028  // SetIpAddress sets the IpAddress field's value.
 21029  func (s *EventContextDataType) SetIpAddress(v string) *EventContextDataType {
 21030  	s.IpAddress = &v
 21031  	return s
 21032  }
 21033  
 21034  // SetTimezone sets the Timezone field's value.
 21035  func (s *EventContextDataType) SetTimezone(v string) *EventContextDataType {
 21036  	s.Timezone = &v
 21037  	return s
 21038  }
 21039  
 21040  // Specifies the event feedback type.
 21041  type EventFeedbackType struct {
 21042  	_ struct{} `type:"structure"`
 21043  
 21044  	// The event feedback date.
 21045  	FeedbackDate *time.Time `type:"timestamp"`
 21046  
 21047  	// The event feedback value.
 21048  	//
 21049  	// FeedbackValue is a required field
 21050  	FeedbackValue *string `type:"string" required:"true" enum:"FeedbackValueType"`
 21051  
 21052  	// The provider.
 21053  	//
 21054  	// Provider is a required field
 21055  	Provider *string `type:"string" required:"true"`
 21056  }
 21057  
 21058  // String returns the string representation.
 21059  //
 21060  // API parameter values that are decorated as "sensitive" in the API will not
 21061  // be included in the string output. The member name will be present, but the
 21062  // value will be replaced with "sensitive".
 21063  func (s EventFeedbackType) String() string {
 21064  	return awsutil.Prettify(s)
 21065  }
 21066  
 21067  // GoString returns the string representation.
 21068  //
 21069  // API parameter values that are decorated as "sensitive" in the API will not
 21070  // be included in the string output. The member name will be present, but the
 21071  // value will be replaced with "sensitive".
 21072  func (s EventFeedbackType) GoString() string {
 21073  	return s.String()
 21074  }
 21075  
 21076  // SetFeedbackDate sets the FeedbackDate field's value.
 21077  func (s *EventFeedbackType) SetFeedbackDate(v time.Time) *EventFeedbackType {
 21078  	s.FeedbackDate = &v
 21079  	return s
 21080  }
 21081  
 21082  // SetFeedbackValue sets the FeedbackValue field's value.
 21083  func (s *EventFeedbackType) SetFeedbackValue(v string) *EventFeedbackType {
 21084  	s.FeedbackValue = &v
 21085  	return s
 21086  }
 21087  
 21088  // SetProvider sets the Provider field's value.
 21089  func (s *EventFeedbackType) SetProvider(v string) *EventFeedbackType {
 21090  	s.Provider = &v
 21091  	return s
 21092  }
 21093  
 21094  // The event risk type.
 21095  type EventRiskType struct {
 21096  	_ struct{} `type:"structure"`
 21097  
 21098  	// Indicates whether compromised credentials were detected during an authentication
 21099  	// event.
 21100  	CompromisedCredentialsDetected *bool `type:"boolean"`
 21101  
 21102  	// The risk decision.
 21103  	RiskDecision *string `type:"string" enum:"RiskDecisionType"`
 21104  
 21105  	// The risk level.
 21106  	RiskLevel *string `type:"string" enum:"RiskLevelType"`
 21107  }
 21108  
 21109  // String returns the string representation.
 21110  //
 21111  // API parameter values that are decorated as "sensitive" in the API will not
 21112  // be included in the string output. The member name will be present, but the
 21113  // value will be replaced with "sensitive".
 21114  func (s EventRiskType) String() string {
 21115  	return awsutil.Prettify(s)
 21116  }
 21117  
 21118  // GoString returns the string representation.
 21119  //
 21120  // API parameter values that are decorated as "sensitive" in the API will not
 21121  // be included in the string output. The member name will be present, but the
 21122  // value will be replaced with "sensitive".
 21123  func (s EventRiskType) GoString() string {
 21124  	return s.String()
 21125  }
 21126  
 21127  // SetCompromisedCredentialsDetected sets the CompromisedCredentialsDetected field's value.
 21128  func (s *EventRiskType) SetCompromisedCredentialsDetected(v bool) *EventRiskType {
 21129  	s.CompromisedCredentialsDetected = &v
 21130  	return s
 21131  }
 21132  
 21133  // SetRiskDecision sets the RiskDecision field's value.
 21134  func (s *EventRiskType) SetRiskDecision(v string) *EventRiskType {
 21135  	s.RiskDecision = &v
 21136  	return s
 21137  }
 21138  
 21139  // SetRiskLevel sets the RiskLevel field's value.
 21140  func (s *EventRiskType) SetRiskLevel(v string) *EventRiskType {
 21141  	s.RiskLevel = &v
 21142  	return s
 21143  }
 21144  
 21145  // This exception is thrown if a code has expired.
 21146  type ExpiredCodeException struct {
 21147  	_            struct{}                  `type:"structure"`
 21148  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21149  
 21150  	// The message returned when the expired code exception is thrown.
 21151  	Message_ *string `locationName:"message" type:"string"`
 21152  }
 21153  
 21154  // String returns the string representation.
 21155  //
 21156  // API parameter values that are decorated as "sensitive" in the API will not
 21157  // be included in the string output. The member name will be present, but the
 21158  // value will be replaced with "sensitive".
 21159  func (s ExpiredCodeException) String() string {
 21160  	return awsutil.Prettify(s)
 21161  }
 21162  
 21163  // GoString returns the string representation.
 21164  //
 21165  // API parameter values that are decorated as "sensitive" in the API will not
 21166  // be included in the string output. The member name will be present, but the
 21167  // value will be replaced with "sensitive".
 21168  func (s ExpiredCodeException) GoString() string {
 21169  	return s.String()
 21170  }
 21171  
 21172  func newErrorExpiredCodeException(v protocol.ResponseMetadata) error {
 21173  	return &ExpiredCodeException{
 21174  		RespMetadata: v,
 21175  	}
 21176  }
 21177  
 21178  // Code returns the exception type name.
 21179  func (s *ExpiredCodeException) Code() string {
 21180  	return "ExpiredCodeException"
 21181  }
 21182  
 21183  // Message returns the exception's message.
 21184  func (s *ExpiredCodeException) Message() string {
 21185  	if s.Message_ != nil {
 21186  		return *s.Message_
 21187  	}
 21188  	return ""
 21189  }
 21190  
 21191  // OrigErr always returns nil, satisfies awserr.Error interface.
 21192  func (s *ExpiredCodeException) OrigErr() error {
 21193  	return nil
 21194  }
 21195  
 21196  func (s *ExpiredCodeException) Error() string {
 21197  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21198  }
 21199  
 21200  // Status code returns the HTTP status code for the request's response error.
 21201  func (s *ExpiredCodeException) StatusCode() int {
 21202  	return s.RespMetadata.StatusCode
 21203  }
 21204  
 21205  // RequestID returns the service's response RequestID for request.
 21206  func (s *ExpiredCodeException) RequestID() string {
 21207  	return s.RespMetadata.RequestID
 21208  }
 21209  
 21210  // Represents the request to forget the device.
 21211  type ForgetDeviceInput struct {
 21212  	_ struct{} `type:"structure"`
 21213  
 21214  	// The access token for the forgotten device request.
 21215  	//
 21216  	// AccessToken is a sensitive parameter and its value will be
 21217  	// replaced with "sensitive" in string returned by ForgetDeviceInput's
 21218  	// String and GoString methods.
 21219  	AccessToken *string `type:"string" sensitive:"true"`
 21220  
 21221  	// The device key.
 21222  	//
 21223  	// DeviceKey is a required field
 21224  	DeviceKey *string `min:"1" type:"string" required:"true"`
 21225  }
 21226  
 21227  // String returns the string representation.
 21228  //
 21229  // API parameter values that are decorated as "sensitive" in the API will not
 21230  // be included in the string output. The member name will be present, but the
 21231  // value will be replaced with "sensitive".
 21232  func (s ForgetDeviceInput) String() string {
 21233  	return awsutil.Prettify(s)
 21234  }
 21235  
 21236  // GoString returns the string representation.
 21237  //
 21238  // API parameter values that are decorated as "sensitive" in the API will not
 21239  // be included in the string output. The member name will be present, but the
 21240  // value will be replaced with "sensitive".
 21241  func (s ForgetDeviceInput) GoString() string {
 21242  	return s.String()
 21243  }
 21244  
 21245  // Validate inspects the fields of the type to determine if they are valid.
 21246  func (s *ForgetDeviceInput) Validate() error {
 21247  	invalidParams := request.ErrInvalidParams{Context: "ForgetDeviceInput"}
 21248  	if s.DeviceKey == nil {
 21249  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 21250  	}
 21251  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 21252  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 21253  	}
 21254  
 21255  	if invalidParams.Len() > 0 {
 21256  		return invalidParams
 21257  	}
 21258  	return nil
 21259  }
 21260  
 21261  // SetAccessToken sets the AccessToken field's value.
 21262  func (s *ForgetDeviceInput) SetAccessToken(v string) *ForgetDeviceInput {
 21263  	s.AccessToken = &v
 21264  	return s
 21265  }
 21266  
 21267  // SetDeviceKey sets the DeviceKey field's value.
 21268  func (s *ForgetDeviceInput) SetDeviceKey(v string) *ForgetDeviceInput {
 21269  	s.DeviceKey = &v
 21270  	return s
 21271  }
 21272  
 21273  type ForgetDeviceOutput struct {
 21274  	_ struct{} `type:"structure"`
 21275  }
 21276  
 21277  // String returns the string representation.
 21278  //
 21279  // API parameter values that are decorated as "sensitive" in the API will not
 21280  // be included in the string output. The member name will be present, but the
 21281  // value will be replaced with "sensitive".
 21282  func (s ForgetDeviceOutput) String() string {
 21283  	return awsutil.Prettify(s)
 21284  }
 21285  
 21286  // GoString returns the string representation.
 21287  //
 21288  // API parameter values that are decorated as "sensitive" in the API will not
 21289  // be included in the string output. The member name will be present, but the
 21290  // value will be replaced with "sensitive".
 21291  func (s ForgetDeviceOutput) GoString() string {
 21292  	return s.String()
 21293  }
 21294  
 21295  // Represents the request to reset a user's password.
 21296  type ForgotPasswordInput struct {
 21297  	_ struct{} `type:"structure"`
 21298  
 21299  	// The Amazon Pinpoint analytics metadata for collecting metrics for ForgotPassword
 21300  	// calls.
 21301  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 21302  
 21303  	// The ID of the client associated with the user pool.
 21304  	//
 21305  	// ClientId is a sensitive parameter and its value will be
 21306  	// replaced with "sensitive" in string returned by ForgotPasswordInput's
 21307  	// String and GoString methods.
 21308  	//
 21309  	// ClientId is a required field
 21310  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 21311  
 21312  	// A map of custom key-value pairs that you can provide as input for any custom
 21313  	// workflows that this action triggers.
 21314  	//
 21315  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 21316  	// When you use the ForgotPassword API action, Amazon Cognito invokes any functions
 21317  	// that are assigned to the following triggers: pre sign-up, custom message,
 21318  	// and user migration. When Amazon Cognito invokes any of these functions, it
 21319  	// passes a JSON payload, which the function receives as input. This payload
 21320  	// contains a clientMetadata attribute, which provides the data that you assigned
 21321  	// to the ClientMetadata parameter in your ForgotPassword request. In your function
 21322  	// code in Lambda, you can process the clientMetadata value to enhance your
 21323  	// workflow for your specific needs.
 21324  	//
 21325  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 21326  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 21327  	// in the Amazon Cognito Developer Guide.
 21328  	//
 21329  	// Take the following limitations into consideration when you use the ClientMetadata
 21330  	// parameter:
 21331  	//
 21332  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 21333  	//    available only to Lambda triggers that are assigned to a user pool to
 21334  	//    support custom workflows. If your user pool configuration does not include
 21335  	//    triggers, the ClientMetadata parameter serves no purpose.
 21336  	//
 21337  	//    * Amazon Cognito does not validate the ClientMetadata value.
 21338  	//
 21339  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 21340  	//    use it to provide sensitive information.
 21341  	ClientMetadata map[string]*string `type:"map"`
 21342  
 21343  	// A keyed-hash message authentication code (HMAC) calculated using the secret
 21344  	// key of a user pool client and username plus the client ID in the message.
 21345  	//
 21346  	// SecretHash is a sensitive parameter and its value will be
 21347  	// replaced with "sensitive" in string returned by ForgotPasswordInput's
 21348  	// String and GoString methods.
 21349  	SecretHash *string `min:"1" type:"string" sensitive:"true"`
 21350  
 21351  	// Contextual data such as the user's device fingerprint, IP address, or location
 21352  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 21353  	// security.
 21354  	UserContextData *UserContextDataType `type:"structure"`
 21355  
 21356  	// The user name of the user for whom you want to enter a code to reset a forgotten
 21357  	// password.
 21358  	//
 21359  	// Username is a sensitive parameter and its value will be
 21360  	// replaced with "sensitive" in string returned by ForgotPasswordInput's
 21361  	// String and GoString methods.
 21362  	//
 21363  	// Username is a required field
 21364  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 21365  }
 21366  
 21367  // String returns the string representation.
 21368  //
 21369  // API parameter values that are decorated as "sensitive" in the API will not
 21370  // be included in the string output. The member name will be present, but the
 21371  // value will be replaced with "sensitive".
 21372  func (s ForgotPasswordInput) String() string {
 21373  	return awsutil.Prettify(s)
 21374  }
 21375  
 21376  // GoString returns the string representation.
 21377  //
 21378  // API parameter values that are decorated as "sensitive" in the API will not
 21379  // be included in the string output. The member name will be present, but the
 21380  // value will be replaced with "sensitive".
 21381  func (s ForgotPasswordInput) GoString() string {
 21382  	return s.String()
 21383  }
 21384  
 21385  // Validate inspects the fields of the type to determine if they are valid.
 21386  func (s *ForgotPasswordInput) Validate() error {
 21387  	invalidParams := request.ErrInvalidParams{Context: "ForgotPasswordInput"}
 21388  	if s.ClientId == nil {
 21389  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 21390  	}
 21391  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 21392  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 21393  	}
 21394  	if s.SecretHash != nil && len(*s.SecretHash) < 1 {
 21395  		invalidParams.Add(request.NewErrParamMinLen("SecretHash", 1))
 21396  	}
 21397  	if s.Username == nil {
 21398  		invalidParams.Add(request.NewErrParamRequired("Username"))
 21399  	}
 21400  	if s.Username != nil && len(*s.Username) < 1 {
 21401  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 21402  	}
 21403  
 21404  	if invalidParams.Len() > 0 {
 21405  		return invalidParams
 21406  	}
 21407  	return nil
 21408  }
 21409  
 21410  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 21411  func (s *ForgotPasswordInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *ForgotPasswordInput {
 21412  	s.AnalyticsMetadata = v
 21413  	return s
 21414  }
 21415  
 21416  // SetClientId sets the ClientId field's value.
 21417  func (s *ForgotPasswordInput) SetClientId(v string) *ForgotPasswordInput {
 21418  	s.ClientId = &v
 21419  	return s
 21420  }
 21421  
 21422  // SetClientMetadata sets the ClientMetadata field's value.
 21423  func (s *ForgotPasswordInput) SetClientMetadata(v map[string]*string) *ForgotPasswordInput {
 21424  	s.ClientMetadata = v
 21425  	return s
 21426  }
 21427  
 21428  // SetSecretHash sets the SecretHash field's value.
 21429  func (s *ForgotPasswordInput) SetSecretHash(v string) *ForgotPasswordInput {
 21430  	s.SecretHash = &v
 21431  	return s
 21432  }
 21433  
 21434  // SetUserContextData sets the UserContextData field's value.
 21435  func (s *ForgotPasswordInput) SetUserContextData(v *UserContextDataType) *ForgotPasswordInput {
 21436  	s.UserContextData = v
 21437  	return s
 21438  }
 21439  
 21440  // SetUsername sets the Username field's value.
 21441  func (s *ForgotPasswordInput) SetUsername(v string) *ForgotPasswordInput {
 21442  	s.Username = &v
 21443  	return s
 21444  }
 21445  
 21446  // Respresents the response from the server regarding the request to reset a
 21447  // password.
 21448  type ForgotPasswordOutput struct {
 21449  	_ struct{} `type:"structure"`
 21450  
 21451  	// The code delivery details returned by the server in response to the request
 21452  	// to reset a password.
 21453  	CodeDeliveryDetails *CodeDeliveryDetailsType `type:"structure"`
 21454  }
 21455  
 21456  // String returns the string representation.
 21457  //
 21458  // API parameter values that are decorated as "sensitive" in the API will not
 21459  // be included in the string output. The member name will be present, but the
 21460  // value will be replaced with "sensitive".
 21461  func (s ForgotPasswordOutput) String() string {
 21462  	return awsutil.Prettify(s)
 21463  }
 21464  
 21465  // GoString returns the string representation.
 21466  //
 21467  // API parameter values that are decorated as "sensitive" in the API will not
 21468  // be included in the string output. The member name will be present, but the
 21469  // value will be replaced with "sensitive".
 21470  func (s ForgotPasswordOutput) GoString() string {
 21471  	return s.String()
 21472  }
 21473  
 21474  // SetCodeDeliveryDetails sets the CodeDeliveryDetails field's value.
 21475  func (s *ForgotPasswordOutput) SetCodeDeliveryDetails(v *CodeDeliveryDetailsType) *ForgotPasswordOutput {
 21476  	s.CodeDeliveryDetails = v
 21477  	return s
 21478  }
 21479  
 21480  // Represents the request to get the header information for the .csv file for
 21481  // the user import job.
 21482  type GetCSVHeaderInput struct {
 21483  	_ struct{} `type:"structure"`
 21484  
 21485  	// The user pool ID for the user pool that the users are to be imported into.
 21486  	//
 21487  	// UserPoolId is a required field
 21488  	UserPoolId *string `min:"1" type:"string" required:"true"`
 21489  }
 21490  
 21491  // String returns the string representation.
 21492  //
 21493  // API parameter values that are decorated as "sensitive" in the API will not
 21494  // be included in the string output. The member name will be present, but the
 21495  // value will be replaced with "sensitive".
 21496  func (s GetCSVHeaderInput) String() string {
 21497  	return awsutil.Prettify(s)
 21498  }
 21499  
 21500  // GoString returns the string representation.
 21501  //
 21502  // API parameter values that are decorated as "sensitive" in the API will not
 21503  // be included in the string output. The member name will be present, but the
 21504  // value will be replaced with "sensitive".
 21505  func (s GetCSVHeaderInput) GoString() string {
 21506  	return s.String()
 21507  }
 21508  
 21509  // Validate inspects the fields of the type to determine if they are valid.
 21510  func (s *GetCSVHeaderInput) Validate() error {
 21511  	invalidParams := request.ErrInvalidParams{Context: "GetCSVHeaderInput"}
 21512  	if s.UserPoolId == nil {
 21513  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 21514  	}
 21515  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 21516  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 21517  	}
 21518  
 21519  	if invalidParams.Len() > 0 {
 21520  		return invalidParams
 21521  	}
 21522  	return nil
 21523  }
 21524  
 21525  // SetUserPoolId sets the UserPoolId field's value.
 21526  func (s *GetCSVHeaderInput) SetUserPoolId(v string) *GetCSVHeaderInput {
 21527  	s.UserPoolId = &v
 21528  	return s
 21529  }
 21530  
 21531  // Represents the response from the server to the request to get the header
 21532  // information for the .csv file for the user import job.
 21533  type GetCSVHeaderOutput struct {
 21534  	_ struct{} `type:"structure"`
 21535  
 21536  	// The header information for the .csv file for the user import job.
 21537  	CSVHeader []*string `type:"list"`
 21538  
 21539  	// The user pool ID for the user pool that the users are to be imported into.
 21540  	UserPoolId *string `min:"1" type:"string"`
 21541  }
 21542  
 21543  // String returns the string representation.
 21544  //
 21545  // API parameter values that are decorated as "sensitive" in the API will not
 21546  // be included in the string output. The member name will be present, but the
 21547  // value will be replaced with "sensitive".
 21548  func (s GetCSVHeaderOutput) String() string {
 21549  	return awsutil.Prettify(s)
 21550  }
 21551  
 21552  // GoString returns the string representation.
 21553  //
 21554  // API parameter values that are decorated as "sensitive" in the API will not
 21555  // be included in the string output. The member name will be present, but the
 21556  // value will be replaced with "sensitive".
 21557  func (s GetCSVHeaderOutput) GoString() string {
 21558  	return s.String()
 21559  }
 21560  
 21561  // SetCSVHeader sets the CSVHeader field's value.
 21562  func (s *GetCSVHeaderOutput) SetCSVHeader(v []*string) *GetCSVHeaderOutput {
 21563  	s.CSVHeader = v
 21564  	return s
 21565  }
 21566  
 21567  // SetUserPoolId sets the UserPoolId field's value.
 21568  func (s *GetCSVHeaderOutput) SetUserPoolId(v string) *GetCSVHeaderOutput {
 21569  	s.UserPoolId = &v
 21570  	return s
 21571  }
 21572  
 21573  // Represents the request to get the device.
 21574  type GetDeviceInput struct {
 21575  	_ struct{} `type:"structure"`
 21576  
 21577  	// The access token.
 21578  	//
 21579  	// AccessToken is a sensitive parameter and its value will be
 21580  	// replaced with "sensitive" in string returned by GetDeviceInput's
 21581  	// String and GoString methods.
 21582  	AccessToken *string `type:"string" sensitive:"true"`
 21583  
 21584  	// The device key.
 21585  	//
 21586  	// DeviceKey is a required field
 21587  	DeviceKey *string `min:"1" type:"string" required:"true"`
 21588  }
 21589  
 21590  // String returns the string representation.
 21591  //
 21592  // API parameter values that are decorated as "sensitive" in the API will not
 21593  // be included in the string output. The member name will be present, but the
 21594  // value will be replaced with "sensitive".
 21595  func (s GetDeviceInput) String() string {
 21596  	return awsutil.Prettify(s)
 21597  }
 21598  
 21599  // GoString returns the string representation.
 21600  //
 21601  // API parameter values that are decorated as "sensitive" in the API will not
 21602  // be included in the string output. The member name will be present, but the
 21603  // value will be replaced with "sensitive".
 21604  func (s GetDeviceInput) GoString() string {
 21605  	return s.String()
 21606  }
 21607  
 21608  // Validate inspects the fields of the type to determine if they are valid.
 21609  func (s *GetDeviceInput) Validate() error {
 21610  	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInput"}
 21611  	if s.DeviceKey == nil {
 21612  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 21613  	}
 21614  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 21615  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 21616  	}
 21617  
 21618  	if invalidParams.Len() > 0 {
 21619  		return invalidParams
 21620  	}
 21621  	return nil
 21622  }
 21623  
 21624  // SetAccessToken sets the AccessToken field's value.
 21625  func (s *GetDeviceInput) SetAccessToken(v string) *GetDeviceInput {
 21626  	s.AccessToken = &v
 21627  	return s
 21628  }
 21629  
 21630  // SetDeviceKey sets the DeviceKey field's value.
 21631  func (s *GetDeviceInput) SetDeviceKey(v string) *GetDeviceInput {
 21632  	s.DeviceKey = &v
 21633  	return s
 21634  }
 21635  
 21636  // Gets the device response.
 21637  type GetDeviceOutput struct {
 21638  	_ struct{} `type:"structure"`
 21639  
 21640  	// The device.
 21641  	//
 21642  	// Device is a required field
 21643  	Device *DeviceType `type:"structure" required:"true"`
 21644  }
 21645  
 21646  // String returns the string representation.
 21647  //
 21648  // API parameter values that are decorated as "sensitive" in the API will not
 21649  // be included in the string output. The member name will be present, but the
 21650  // value will be replaced with "sensitive".
 21651  func (s GetDeviceOutput) String() string {
 21652  	return awsutil.Prettify(s)
 21653  }
 21654  
 21655  // GoString returns the string representation.
 21656  //
 21657  // API parameter values that are decorated as "sensitive" in the API will not
 21658  // be included in the string output. The member name will be present, but the
 21659  // value will be replaced with "sensitive".
 21660  func (s GetDeviceOutput) GoString() string {
 21661  	return s.String()
 21662  }
 21663  
 21664  // SetDevice sets the Device field's value.
 21665  func (s *GetDeviceOutput) SetDevice(v *DeviceType) *GetDeviceOutput {
 21666  	s.Device = v
 21667  	return s
 21668  }
 21669  
 21670  type GetGroupInput struct {
 21671  	_ struct{} `type:"structure"`
 21672  
 21673  	// The name of the group.
 21674  	//
 21675  	// GroupName is a required field
 21676  	GroupName *string `min:"1" type:"string" required:"true"`
 21677  
 21678  	// The user pool ID for the user pool.
 21679  	//
 21680  	// UserPoolId is a required field
 21681  	UserPoolId *string `min:"1" type:"string" required:"true"`
 21682  }
 21683  
 21684  // String returns the string representation.
 21685  //
 21686  // API parameter values that are decorated as "sensitive" in the API will not
 21687  // be included in the string output. The member name will be present, but the
 21688  // value will be replaced with "sensitive".
 21689  func (s GetGroupInput) String() string {
 21690  	return awsutil.Prettify(s)
 21691  }
 21692  
 21693  // GoString returns the string representation.
 21694  //
 21695  // API parameter values that are decorated as "sensitive" in the API will not
 21696  // be included in the string output. The member name will be present, but the
 21697  // value will be replaced with "sensitive".
 21698  func (s GetGroupInput) GoString() string {
 21699  	return s.String()
 21700  }
 21701  
 21702  // Validate inspects the fields of the type to determine if they are valid.
 21703  func (s *GetGroupInput) Validate() error {
 21704  	invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
 21705  	if s.GroupName == nil {
 21706  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 21707  	}
 21708  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 21709  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 21710  	}
 21711  	if s.UserPoolId == nil {
 21712  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 21713  	}
 21714  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 21715  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 21716  	}
 21717  
 21718  	if invalidParams.Len() > 0 {
 21719  		return invalidParams
 21720  	}
 21721  	return nil
 21722  }
 21723  
 21724  // SetGroupName sets the GroupName field's value.
 21725  func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput {
 21726  	s.GroupName = &v
 21727  	return s
 21728  }
 21729  
 21730  // SetUserPoolId sets the UserPoolId field's value.
 21731  func (s *GetGroupInput) SetUserPoolId(v string) *GetGroupInput {
 21732  	s.UserPoolId = &v
 21733  	return s
 21734  }
 21735  
 21736  type GetGroupOutput struct {
 21737  	_ struct{} `type:"structure"`
 21738  
 21739  	// The group object for the group.
 21740  	Group *GroupType `type:"structure"`
 21741  }
 21742  
 21743  // String returns the string representation.
 21744  //
 21745  // API parameter values that are decorated as "sensitive" in the API will not
 21746  // be included in the string output. The member name will be present, but the
 21747  // value will be replaced with "sensitive".
 21748  func (s GetGroupOutput) String() string {
 21749  	return awsutil.Prettify(s)
 21750  }
 21751  
 21752  // GoString returns the string representation.
 21753  //
 21754  // API parameter values that are decorated as "sensitive" in the API will not
 21755  // be included in the string output. The member name will be present, but the
 21756  // value will be replaced with "sensitive".
 21757  func (s GetGroupOutput) GoString() string {
 21758  	return s.String()
 21759  }
 21760  
 21761  // SetGroup sets the Group field's value.
 21762  func (s *GetGroupOutput) SetGroup(v *GroupType) *GetGroupOutput {
 21763  	s.Group = v
 21764  	return s
 21765  }
 21766  
 21767  type GetIdentityProviderByIdentifierInput struct {
 21768  	_ struct{} `type:"structure"`
 21769  
 21770  	// The identity provider ID.
 21771  	//
 21772  	// IdpIdentifier is a required field
 21773  	IdpIdentifier *string `min:"1" type:"string" required:"true"`
 21774  
 21775  	// The user pool ID.
 21776  	//
 21777  	// UserPoolId is a required field
 21778  	UserPoolId *string `min:"1" type:"string" required:"true"`
 21779  }
 21780  
 21781  // String returns the string representation.
 21782  //
 21783  // API parameter values that are decorated as "sensitive" in the API will not
 21784  // be included in the string output. The member name will be present, but the
 21785  // value will be replaced with "sensitive".
 21786  func (s GetIdentityProviderByIdentifierInput) String() string {
 21787  	return awsutil.Prettify(s)
 21788  }
 21789  
 21790  // GoString returns the string representation.
 21791  //
 21792  // API parameter values that are decorated as "sensitive" in the API will not
 21793  // be included in the string output. The member name will be present, but the
 21794  // value will be replaced with "sensitive".
 21795  func (s GetIdentityProviderByIdentifierInput) GoString() string {
 21796  	return s.String()
 21797  }
 21798  
 21799  // Validate inspects the fields of the type to determine if they are valid.
 21800  func (s *GetIdentityProviderByIdentifierInput) Validate() error {
 21801  	invalidParams := request.ErrInvalidParams{Context: "GetIdentityProviderByIdentifierInput"}
 21802  	if s.IdpIdentifier == nil {
 21803  		invalidParams.Add(request.NewErrParamRequired("IdpIdentifier"))
 21804  	}
 21805  	if s.IdpIdentifier != nil && len(*s.IdpIdentifier) < 1 {
 21806  		invalidParams.Add(request.NewErrParamMinLen("IdpIdentifier", 1))
 21807  	}
 21808  	if s.UserPoolId == nil {
 21809  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 21810  	}
 21811  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 21812  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 21813  	}
 21814  
 21815  	if invalidParams.Len() > 0 {
 21816  		return invalidParams
 21817  	}
 21818  	return nil
 21819  }
 21820  
 21821  // SetIdpIdentifier sets the IdpIdentifier field's value.
 21822  func (s *GetIdentityProviderByIdentifierInput) SetIdpIdentifier(v string) *GetIdentityProviderByIdentifierInput {
 21823  	s.IdpIdentifier = &v
 21824  	return s
 21825  }
 21826  
 21827  // SetUserPoolId sets the UserPoolId field's value.
 21828  func (s *GetIdentityProviderByIdentifierInput) SetUserPoolId(v string) *GetIdentityProviderByIdentifierInput {
 21829  	s.UserPoolId = &v
 21830  	return s
 21831  }
 21832  
 21833  type GetIdentityProviderByIdentifierOutput struct {
 21834  	_ struct{} `type:"structure"`
 21835  
 21836  	// The identity provider object.
 21837  	//
 21838  	// IdentityProvider is a required field
 21839  	IdentityProvider *IdentityProviderType `type:"structure" required:"true"`
 21840  }
 21841  
 21842  // String returns the string representation.
 21843  //
 21844  // API parameter values that are decorated as "sensitive" in the API will not
 21845  // be included in the string output. The member name will be present, but the
 21846  // value will be replaced with "sensitive".
 21847  func (s GetIdentityProviderByIdentifierOutput) String() string {
 21848  	return awsutil.Prettify(s)
 21849  }
 21850  
 21851  // GoString returns the string representation.
 21852  //
 21853  // API parameter values that are decorated as "sensitive" in the API will not
 21854  // be included in the string output. The member name will be present, but the
 21855  // value will be replaced with "sensitive".
 21856  func (s GetIdentityProviderByIdentifierOutput) GoString() string {
 21857  	return s.String()
 21858  }
 21859  
 21860  // SetIdentityProvider sets the IdentityProvider field's value.
 21861  func (s *GetIdentityProviderByIdentifierOutput) SetIdentityProvider(v *IdentityProviderType) *GetIdentityProviderByIdentifierOutput {
 21862  	s.IdentityProvider = v
 21863  	return s
 21864  }
 21865  
 21866  // Request to get a signing certificate from Cognito.
 21867  type GetSigningCertificateInput struct {
 21868  	_ struct{} `type:"structure"`
 21869  
 21870  	// The user pool ID.
 21871  	//
 21872  	// UserPoolId is a required field
 21873  	UserPoolId *string `min:"1" type:"string" required:"true"`
 21874  }
 21875  
 21876  // String returns the string representation.
 21877  //
 21878  // API parameter values that are decorated as "sensitive" in the API will not
 21879  // be included in the string output. The member name will be present, but the
 21880  // value will be replaced with "sensitive".
 21881  func (s GetSigningCertificateInput) String() string {
 21882  	return awsutil.Prettify(s)
 21883  }
 21884  
 21885  // GoString returns the string representation.
 21886  //
 21887  // API parameter values that are decorated as "sensitive" in the API will not
 21888  // be included in the string output. The member name will be present, but the
 21889  // value will be replaced with "sensitive".
 21890  func (s GetSigningCertificateInput) GoString() string {
 21891  	return s.String()
 21892  }
 21893  
 21894  // Validate inspects the fields of the type to determine if they are valid.
 21895  func (s *GetSigningCertificateInput) Validate() error {
 21896  	invalidParams := request.ErrInvalidParams{Context: "GetSigningCertificateInput"}
 21897  	if s.UserPoolId == nil {
 21898  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 21899  	}
 21900  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 21901  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 21902  	}
 21903  
 21904  	if invalidParams.Len() > 0 {
 21905  		return invalidParams
 21906  	}
 21907  	return nil
 21908  }
 21909  
 21910  // SetUserPoolId sets the UserPoolId field's value.
 21911  func (s *GetSigningCertificateInput) SetUserPoolId(v string) *GetSigningCertificateInput {
 21912  	s.UserPoolId = &v
 21913  	return s
 21914  }
 21915  
 21916  // Response from Cognito for a signing certificate request.
 21917  type GetSigningCertificateOutput struct {
 21918  	_ struct{} `type:"structure"`
 21919  
 21920  	// The signing certificate.
 21921  	Certificate *string `type:"string"`
 21922  }
 21923  
 21924  // String returns the string representation.
 21925  //
 21926  // API parameter values that are decorated as "sensitive" in the API will not
 21927  // be included in the string output. The member name will be present, but the
 21928  // value will be replaced with "sensitive".
 21929  func (s GetSigningCertificateOutput) String() string {
 21930  	return awsutil.Prettify(s)
 21931  }
 21932  
 21933  // GoString returns the string representation.
 21934  //
 21935  // API parameter values that are decorated as "sensitive" in the API will not
 21936  // be included in the string output. The member name will be present, but the
 21937  // value will be replaced with "sensitive".
 21938  func (s GetSigningCertificateOutput) GoString() string {
 21939  	return s.String()
 21940  }
 21941  
 21942  // SetCertificate sets the Certificate field's value.
 21943  func (s *GetSigningCertificateOutput) SetCertificate(v string) *GetSigningCertificateOutput {
 21944  	s.Certificate = &v
 21945  	return s
 21946  }
 21947  
 21948  type GetUICustomizationInput struct {
 21949  	_ struct{} `type:"structure"`
 21950  
 21951  	// The client ID for the client app.
 21952  	//
 21953  	// ClientId is a sensitive parameter and its value will be
 21954  	// replaced with "sensitive" in string returned by GetUICustomizationInput's
 21955  	// String and GoString methods.
 21956  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 21957  
 21958  	// The user pool ID for the user pool.
 21959  	//
 21960  	// UserPoolId is a required field
 21961  	UserPoolId *string `min:"1" type:"string" required:"true"`
 21962  }
 21963  
 21964  // String returns the string representation.
 21965  //
 21966  // API parameter values that are decorated as "sensitive" in the API will not
 21967  // be included in the string output. The member name will be present, but the
 21968  // value will be replaced with "sensitive".
 21969  func (s GetUICustomizationInput) String() string {
 21970  	return awsutil.Prettify(s)
 21971  }
 21972  
 21973  // GoString returns the string representation.
 21974  //
 21975  // API parameter values that are decorated as "sensitive" in the API will not
 21976  // be included in the string output. The member name will be present, but the
 21977  // value will be replaced with "sensitive".
 21978  func (s GetUICustomizationInput) GoString() string {
 21979  	return s.String()
 21980  }
 21981  
 21982  // Validate inspects the fields of the type to determine if they are valid.
 21983  func (s *GetUICustomizationInput) Validate() error {
 21984  	invalidParams := request.ErrInvalidParams{Context: "GetUICustomizationInput"}
 21985  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 21986  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 21987  	}
 21988  	if s.UserPoolId == nil {
 21989  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 21990  	}
 21991  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 21992  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 21993  	}
 21994  
 21995  	if invalidParams.Len() > 0 {
 21996  		return invalidParams
 21997  	}
 21998  	return nil
 21999  }
 22000  
 22001  // SetClientId sets the ClientId field's value.
 22002  func (s *GetUICustomizationInput) SetClientId(v string) *GetUICustomizationInput {
 22003  	s.ClientId = &v
 22004  	return s
 22005  }
 22006  
 22007  // SetUserPoolId sets the UserPoolId field's value.
 22008  func (s *GetUICustomizationInput) SetUserPoolId(v string) *GetUICustomizationInput {
 22009  	s.UserPoolId = &v
 22010  	return s
 22011  }
 22012  
 22013  type GetUICustomizationOutput struct {
 22014  	_ struct{} `type:"structure"`
 22015  
 22016  	// The UI customization information.
 22017  	//
 22018  	// UICustomization is a required field
 22019  	UICustomization *UICustomizationType `type:"structure" required:"true"`
 22020  }
 22021  
 22022  // String returns the string representation.
 22023  //
 22024  // API parameter values that are decorated as "sensitive" in the API will not
 22025  // be included in the string output. The member name will be present, but the
 22026  // value will be replaced with "sensitive".
 22027  func (s GetUICustomizationOutput) String() string {
 22028  	return awsutil.Prettify(s)
 22029  }
 22030  
 22031  // GoString returns the string representation.
 22032  //
 22033  // API parameter values that are decorated as "sensitive" in the API will not
 22034  // be included in the string output. The member name will be present, but the
 22035  // value will be replaced with "sensitive".
 22036  func (s GetUICustomizationOutput) GoString() string {
 22037  	return s.String()
 22038  }
 22039  
 22040  // SetUICustomization sets the UICustomization field's value.
 22041  func (s *GetUICustomizationOutput) SetUICustomization(v *UICustomizationType) *GetUICustomizationOutput {
 22042  	s.UICustomization = v
 22043  	return s
 22044  }
 22045  
 22046  // Represents the request to get user attribute verification.
 22047  type GetUserAttributeVerificationCodeInput struct {
 22048  	_ struct{} `type:"structure"`
 22049  
 22050  	// The access token returned by the server response to get the user attribute
 22051  	// verification code.
 22052  	//
 22053  	// AccessToken is a sensitive parameter and its value will be
 22054  	// replaced with "sensitive" in string returned by GetUserAttributeVerificationCodeInput's
 22055  	// String and GoString methods.
 22056  	//
 22057  	// AccessToken is a required field
 22058  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 22059  
 22060  	// The attribute name returned by the server response to get the user attribute
 22061  	// verification code.
 22062  	//
 22063  	// AttributeName is a required field
 22064  	AttributeName *string `min:"1" type:"string" required:"true"`
 22065  
 22066  	// A map of custom key-value pairs that you can provide as input for any custom
 22067  	// workflows that this action triggers.
 22068  	//
 22069  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 22070  	// When you use the GetUserAttributeVerificationCode API action, Amazon Cognito
 22071  	// invokes the function that is assigned to the custom message trigger. When
 22072  	// Amazon Cognito invokes this function, it passes a JSON payload, which the
 22073  	// function receives as input. This payload contains a clientMetadata attribute,
 22074  	// which provides the data that you assigned to the ClientMetadata parameter
 22075  	// in your GetUserAttributeVerificationCode request. In your function code in
 22076  	// Lambda, you can process the clientMetadata value to enhance your workflow
 22077  	// for your specific needs.
 22078  	//
 22079  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 22080  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 22081  	// in the Amazon Cognito Developer Guide.
 22082  	//
 22083  	// Take the following limitations into consideration when you use the ClientMetadata
 22084  	// parameter:
 22085  	//
 22086  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 22087  	//    available only to Lambda triggers that are assigned to a user pool to
 22088  	//    support custom workflows. If your user pool configuration does not include
 22089  	//    triggers, the ClientMetadata parameter serves no purpose.
 22090  	//
 22091  	//    * Amazon Cognito does not validate the ClientMetadata value.
 22092  	//
 22093  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 22094  	//    use it to provide sensitive information.
 22095  	ClientMetadata map[string]*string `type:"map"`
 22096  }
 22097  
 22098  // String returns the string representation.
 22099  //
 22100  // API parameter values that are decorated as "sensitive" in the API will not
 22101  // be included in the string output. The member name will be present, but the
 22102  // value will be replaced with "sensitive".
 22103  func (s GetUserAttributeVerificationCodeInput) String() string {
 22104  	return awsutil.Prettify(s)
 22105  }
 22106  
 22107  // GoString returns the string representation.
 22108  //
 22109  // API parameter values that are decorated as "sensitive" in the API will not
 22110  // be included in the string output. The member name will be present, but the
 22111  // value will be replaced with "sensitive".
 22112  func (s GetUserAttributeVerificationCodeInput) GoString() string {
 22113  	return s.String()
 22114  }
 22115  
 22116  // Validate inspects the fields of the type to determine if they are valid.
 22117  func (s *GetUserAttributeVerificationCodeInput) Validate() error {
 22118  	invalidParams := request.ErrInvalidParams{Context: "GetUserAttributeVerificationCodeInput"}
 22119  	if s.AccessToken == nil {
 22120  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 22121  	}
 22122  	if s.AttributeName == nil {
 22123  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 22124  	}
 22125  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
 22126  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
 22127  	}
 22128  
 22129  	if invalidParams.Len() > 0 {
 22130  		return invalidParams
 22131  	}
 22132  	return nil
 22133  }
 22134  
 22135  // SetAccessToken sets the AccessToken field's value.
 22136  func (s *GetUserAttributeVerificationCodeInput) SetAccessToken(v string) *GetUserAttributeVerificationCodeInput {
 22137  	s.AccessToken = &v
 22138  	return s
 22139  }
 22140  
 22141  // SetAttributeName sets the AttributeName field's value.
 22142  func (s *GetUserAttributeVerificationCodeInput) SetAttributeName(v string) *GetUserAttributeVerificationCodeInput {
 22143  	s.AttributeName = &v
 22144  	return s
 22145  }
 22146  
 22147  // SetClientMetadata sets the ClientMetadata field's value.
 22148  func (s *GetUserAttributeVerificationCodeInput) SetClientMetadata(v map[string]*string) *GetUserAttributeVerificationCodeInput {
 22149  	s.ClientMetadata = v
 22150  	return s
 22151  }
 22152  
 22153  // The verification code response returned by the server response to get the
 22154  // user attribute verification code.
 22155  type GetUserAttributeVerificationCodeOutput struct {
 22156  	_ struct{} `type:"structure"`
 22157  
 22158  	// The code delivery details returned by the server in response to the request
 22159  	// to get the user attribute verification code.
 22160  	CodeDeliveryDetails *CodeDeliveryDetailsType `type:"structure"`
 22161  }
 22162  
 22163  // String returns the string representation.
 22164  //
 22165  // API parameter values that are decorated as "sensitive" in the API will not
 22166  // be included in the string output. The member name will be present, but the
 22167  // value will be replaced with "sensitive".
 22168  func (s GetUserAttributeVerificationCodeOutput) String() string {
 22169  	return awsutil.Prettify(s)
 22170  }
 22171  
 22172  // GoString returns the string representation.
 22173  //
 22174  // API parameter values that are decorated as "sensitive" in the API will not
 22175  // be included in the string output. The member name will be present, but the
 22176  // value will be replaced with "sensitive".
 22177  func (s GetUserAttributeVerificationCodeOutput) GoString() string {
 22178  	return s.String()
 22179  }
 22180  
 22181  // SetCodeDeliveryDetails sets the CodeDeliveryDetails field's value.
 22182  func (s *GetUserAttributeVerificationCodeOutput) SetCodeDeliveryDetails(v *CodeDeliveryDetailsType) *GetUserAttributeVerificationCodeOutput {
 22183  	s.CodeDeliveryDetails = v
 22184  	return s
 22185  }
 22186  
 22187  // Represents the request to get information about the user.
 22188  type GetUserInput struct {
 22189  	_ struct{} `type:"structure"`
 22190  
 22191  	// The access token returned by the server response to get information about
 22192  	// the user.
 22193  	//
 22194  	// AccessToken is a sensitive parameter and its value will be
 22195  	// replaced with "sensitive" in string returned by GetUserInput's
 22196  	// String and GoString methods.
 22197  	//
 22198  	// AccessToken is a required field
 22199  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 22200  }
 22201  
 22202  // String returns the string representation.
 22203  //
 22204  // API parameter values that are decorated as "sensitive" in the API will not
 22205  // be included in the string output. The member name will be present, but the
 22206  // value will be replaced with "sensitive".
 22207  func (s GetUserInput) String() string {
 22208  	return awsutil.Prettify(s)
 22209  }
 22210  
 22211  // GoString returns the string representation.
 22212  //
 22213  // API parameter values that are decorated as "sensitive" in the API will not
 22214  // be included in the string output. The member name will be present, but the
 22215  // value will be replaced with "sensitive".
 22216  func (s GetUserInput) GoString() string {
 22217  	return s.String()
 22218  }
 22219  
 22220  // Validate inspects the fields of the type to determine if they are valid.
 22221  func (s *GetUserInput) Validate() error {
 22222  	invalidParams := request.ErrInvalidParams{Context: "GetUserInput"}
 22223  	if s.AccessToken == nil {
 22224  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 22225  	}
 22226  
 22227  	if invalidParams.Len() > 0 {
 22228  		return invalidParams
 22229  	}
 22230  	return nil
 22231  }
 22232  
 22233  // SetAccessToken sets the AccessToken field's value.
 22234  func (s *GetUserInput) SetAccessToken(v string) *GetUserInput {
 22235  	s.AccessToken = &v
 22236  	return s
 22237  }
 22238  
 22239  // Represents the response from the server from the request to get information
 22240  // about the user.
 22241  type GetUserOutput struct {
 22242  	_ struct{} `type:"structure"`
 22243  
 22244  	// This response parameter is no longer supported. It provides information only
 22245  	// about SMS MFA configurations. It doesn't provide information about TOTP software
 22246  	// token MFA configurations. To look up information about either type of MFA
 22247  	// configuration, use UserMFASettingList instead.
 22248  	MFAOptions []*MFAOptionType `type:"list"`
 22249  
 22250  	// The user's preferred MFA setting.
 22251  	PreferredMfaSetting *string `type:"string"`
 22252  
 22253  	// An array of name-value pairs representing user attributes.
 22254  	//
 22255  	// For custom attributes, you must prepend the custom: prefix to the attribute
 22256  	// name.
 22257  	//
 22258  	// UserAttributes is a required field
 22259  	UserAttributes []*AttributeType `type:"list" required:"true"`
 22260  
 22261  	// The MFA options that are enabled for the user. The possible values in this
 22262  	// list are SMS_MFA and SOFTWARE_TOKEN_MFA.
 22263  	UserMFASettingList []*string `type:"list"`
 22264  
 22265  	// The user name of the user you wish to retrieve from the get user request.
 22266  	//
 22267  	// Username is a sensitive parameter and its value will be
 22268  	// replaced with "sensitive" in string returned by GetUserOutput's
 22269  	// String and GoString methods.
 22270  	//
 22271  	// Username is a required field
 22272  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 22273  }
 22274  
 22275  // String returns the string representation.
 22276  //
 22277  // API parameter values that are decorated as "sensitive" in the API will not
 22278  // be included in the string output. The member name will be present, but the
 22279  // value will be replaced with "sensitive".
 22280  func (s GetUserOutput) String() string {
 22281  	return awsutil.Prettify(s)
 22282  }
 22283  
 22284  // GoString returns the string representation.
 22285  //
 22286  // API parameter values that are decorated as "sensitive" in the API will not
 22287  // be included in the string output. The member name will be present, but the
 22288  // value will be replaced with "sensitive".
 22289  func (s GetUserOutput) GoString() string {
 22290  	return s.String()
 22291  }
 22292  
 22293  // SetMFAOptions sets the MFAOptions field's value.
 22294  func (s *GetUserOutput) SetMFAOptions(v []*MFAOptionType) *GetUserOutput {
 22295  	s.MFAOptions = v
 22296  	return s
 22297  }
 22298  
 22299  // SetPreferredMfaSetting sets the PreferredMfaSetting field's value.
 22300  func (s *GetUserOutput) SetPreferredMfaSetting(v string) *GetUserOutput {
 22301  	s.PreferredMfaSetting = &v
 22302  	return s
 22303  }
 22304  
 22305  // SetUserAttributes sets the UserAttributes field's value.
 22306  func (s *GetUserOutput) SetUserAttributes(v []*AttributeType) *GetUserOutput {
 22307  	s.UserAttributes = v
 22308  	return s
 22309  }
 22310  
 22311  // SetUserMFASettingList sets the UserMFASettingList field's value.
 22312  func (s *GetUserOutput) SetUserMFASettingList(v []*string) *GetUserOutput {
 22313  	s.UserMFASettingList = v
 22314  	return s
 22315  }
 22316  
 22317  // SetUsername sets the Username field's value.
 22318  func (s *GetUserOutput) SetUsername(v string) *GetUserOutput {
 22319  	s.Username = &v
 22320  	return s
 22321  }
 22322  
 22323  type GetUserPoolMfaConfigInput struct {
 22324  	_ struct{} `type:"structure"`
 22325  
 22326  	// The user pool ID.
 22327  	//
 22328  	// UserPoolId is a required field
 22329  	UserPoolId *string `min:"1" type:"string" required:"true"`
 22330  }
 22331  
 22332  // String returns the string representation.
 22333  //
 22334  // API parameter values that are decorated as "sensitive" in the API will not
 22335  // be included in the string output. The member name will be present, but the
 22336  // value will be replaced with "sensitive".
 22337  func (s GetUserPoolMfaConfigInput) String() string {
 22338  	return awsutil.Prettify(s)
 22339  }
 22340  
 22341  // GoString returns the string representation.
 22342  //
 22343  // API parameter values that are decorated as "sensitive" in the API will not
 22344  // be included in the string output. The member name will be present, but the
 22345  // value will be replaced with "sensitive".
 22346  func (s GetUserPoolMfaConfigInput) GoString() string {
 22347  	return s.String()
 22348  }
 22349  
 22350  // Validate inspects the fields of the type to determine if they are valid.
 22351  func (s *GetUserPoolMfaConfigInput) Validate() error {
 22352  	invalidParams := request.ErrInvalidParams{Context: "GetUserPoolMfaConfigInput"}
 22353  	if s.UserPoolId == nil {
 22354  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 22355  	}
 22356  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 22357  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 22358  	}
 22359  
 22360  	if invalidParams.Len() > 0 {
 22361  		return invalidParams
 22362  	}
 22363  	return nil
 22364  }
 22365  
 22366  // SetUserPoolId sets the UserPoolId field's value.
 22367  func (s *GetUserPoolMfaConfigInput) SetUserPoolId(v string) *GetUserPoolMfaConfigInput {
 22368  	s.UserPoolId = &v
 22369  	return s
 22370  }
 22371  
 22372  type GetUserPoolMfaConfigOutput struct {
 22373  	_ struct{} `type:"structure"`
 22374  
 22375  	// The multi-factor (MFA) configuration. Valid values include:
 22376  	//
 22377  	//    * OFF MFA will not be used for any users.
 22378  	//
 22379  	//    * ON MFA is required for all users to sign in.
 22380  	//
 22381  	//    * OPTIONAL MFA will be required only for individual users who have an
 22382  	//    MFA factor enabled.
 22383  	MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"`
 22384  
 22385  	// The SMS text message multi-factor (MFA) configuration.
 22386  	SmsMfaConfiguration *SmsMfaConfigType `type:"structure"`
 22387  
 22388  	// The software token multi-factor (MFA) configuration.
 22389  	SoftwareTokenMfaConfiguration *SoftwareTokenMfaConfigType `type:"structure"`
 22390  }
 22391  
 22392  // String returns the string representation.
 22393  //
 22394  // API parameter values that are decorated as "sensitive" in the API will not
 22395  // be included in the string output. The member name will be present, but the
 22396  // value will be replaced with "sensitive".
 22397  func (s GetUserPoolMfaConfigOutput) String() string {
 22398  	return awsutil.Prettify(s)
 22399  }
 22400  
 22401  // GoString returns the string representation.
 22402  //
 22403  // API parameter values that are decorated as "sensitive" in the API will not
 22404  // be included in the string output. The member name will be present, but the
 22405  // value will be replaced with "sensitive".
 22406  func (s GetUserPoolMfaConfigOutput) GoString() string {
 22407  	return s.String()
 22408  }
 22409  
 22410  // SetMfaConfiguration sets the MfaConfiguration field's value.
 22411  func (s *GetUserPoolMfaConfigOutput) SetMfaConfiguration(v string) *GetUserPoolMfaConfigOutput {
 22412  	s.MfaConfiguration = &v
 22413  	return s
 22414  }
 22415  
 22416  // SetSmsMfaConfiguration sets the SmsMfaConfiguration field's value.
 22417  func (s *GetUserPoolMfaConfigOutput) SetSmsMfaConfiguration(v *SmsMfaConfigType) *GetUserPoolMfaConfigOutput {
 22418  	s.SmsMfaConfiguration = v
 22419  	return s
 22420  }
 22421  
 22422  // SetSoftwareTokenMfaConfiguration sets the SoftwareTokenMfaConfiguration field's value.
 22423  func (s *GetUserPoolMfaConfigOutput) SetSoftwareTokenMfaConfiguration(v *SoftwareTokenMfaConfigType) *GetUserPoolMfaConfigOutput {
 22424  	s.SoftwareTokenMfaConfiguration = v
 22425  	return s
 22426  }
 22427  
 22428  // Represents the request to sign out all devices.
 22429  type GlobalSignOutInput struct {
 22430  	_ struct{} `type:"structure"`
 22431  
 22432  	// The access token.
 22433  	//
 22434  	// AccessToken is a sensitive parameter and its value will be
 22435  	// replaced with "sensitive" in string returned by GlobalSignOutInput's
 22436  	// String and GoString methods.
 22437  	//
 22438  	// AccessToken is a required field
 22439  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 22440  }
 22441  
 22442  // String returns the string representation.
 22443  //
 22444  // API parameter values that are decorated as "sensitive" in the API will not
 22445  // be included in the string output. The member name will be present, but the
 22446  // value will be replaced with "sensitive".
 22447  func (s GlobalSignOutInput) String() string {
 22448  	return awsutil.Prettify(s)
 22449  }
 22450  
 22451  // GoString returns the string representation.
 22452  //
 22453  // API parameter values that are decorated as "sensitive" in the API will not
 22454  // be included in the string output. The member name will be present, but the
 22455  // value will be replaced with "sensitive".
 22456  func (s GlobalSignOutInput) GoString() string {
 22457  	return s.String()
 22458  }
 22459  
 22460  // Validate inspects the fields of the type to determine if they are valid.
 22461  func (s *GlobalSignOutInput) Validate() error {
 22462  	invalidParams := request.ErrInvalidParams{Context: "GlobalSignOutInput"}
 22463  	if s.AccessToken == nil {
 22464  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 22465  	}
 22466  
 22467  	if invalidParams.Len() > 0 {
 22468  		return invalidParams
 22469  	}
 22470  	return nil
 22471  }
 22472  
 22473  // SetAccessToken sets the AccessToken field's value.
 22474  func (s *GlobalSignOutInput) SetAccessToken(v string) *GlobalSignOutInput {
 22475  	s.AccessToken = &v
 22476  	return s
 22477  }
 22478  
 22479  // The response to the request to sign out all devices.
 22480  type GlobalSignOutOutput struct {
 22481  	_ struct{} `type:"structure"`
 22482  }
 22483  
 22484  // String returns the string representation.
 22485  //
 22486  // API parameter values that are decorated as "sensitive" in the API will not
 22487  // be included in the string output. The member name will be present, but the
 22488  // value will be replaced with "sensitive".
 22489  func (s GlobalSignOutOutput) String() string {
 22490  	return awsutil.Prettify(s)
 22491  }
 22492  
 22493  // GoString returns the string representation.
 22494  //
 22495  // API parameter values that are decorated as "sensitive" in the API will not
 22496  // be included in the string output. The member name will be present, but the
 22497  // value will be replaced with "sensitive".
 22498  func (s GlobalSignOutOutput) GoString() string {
 22499  	return s.String()
 22500  }
 22501  
 22502  // This exception is thrown when Amazon Cognito encounters a group that already
 22503  // exists in the user pool.
 22504  type GroupExistsException struct {
 22505  	_            struct{}                  `type:"structure"`
 22506  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22507  
 22508  	Message_ *string `locationName:"message" type:"string"`
 22509  }
 22510  
 22511  // String returns the string representation.
 22512  //
 22513  // API parameter values that are decorated as "sensitive" in the API will not
 22514  // be included in the string output. The member name will be present, but the
 22515  // value will be replaced with "sensitive".
 22516  func (s GroupExistsException) String() string {
 22517  	return awsutil.Prettify(s)
 22518  }
 22519  
 22520  // GoString returns the string representation.
 22521  //
 22522  // API parameter values that are decorated as "sensitive" in the API will not
 22523  // be included in the string output. The member name will be present, but the
 22524  // value will be replaced with "sensitive".
 22525  func (s GroupExistsException) GoString() string {
 22526  	return s.String()
 22527  }
 22528  
 22529  func newErrorGroupExistsException(v protocol.ResponseMetadata) error {
 22530  	return &GroupExistsException{
 22531  		RespMetadata: v,
 22532  	}
 22533  }
 22534  
 22535  // Code returns the exception type name.
 22536  func (s *GroupExistsException) Code() string {
 22537  	return "GroupExistsException"
 22538  }
 22539  
 22540  // Message returns the exception's message.
 22541  func (s *GroupExistsException) Message() string {
 22542  	if s.Message_ != nil {
 22543  		return *s.Message_
 22544  	}
 22545  	return ""
 22546  }
 22547  
 22548  // OrigErr always returns nil, satisfies awserr.Error interface.
 22549  func (s *GroupExistsException) OrigErr() error {
 22550  	return nil
 22551  }
 22552  
 22553  func (s *GroupExistsException) Error() string {
 22554  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22555  }
 22556  
 22557  // Status code returns the HTTP status code for the request's response error.
 22558  func (s *GroupExistsException) StatusCode() int {
 22559  	return s.RespMetadata.StatusCode
 22560  }
 22561  
 22562  // RequestID returns the service's response RequestID for request.
 22563  func (s *GroupExistsException) RequestID() string {
 22564  	return s.RespMetadata.RequestID
 22565  }
 22566  
 22567  // The group type.
 22568  type GroupType struct {
 22569  	_ struct{} `type:"structure"`
 22570  
 22571  	// The date the group was created.
 22572  	CreationDate *time.Time `type:"timestamp"`
 22573  
 22574  	// A string containing the description of the group.
 22575  	Description *string `type:"string"`
 22576  
 22577  	// The name of the group.
 22578  	GroupName *string `min:"1" type:"string"`
 22579  
 22580  	// The date the group was last modified.
 22581  	LastModifiedDate *time.Time `type:"timestamp"`
 22582  
 22583  	// A nonnegative integer value that specifies the precedence of this group relative
 22584  	// to the other groups that a user can belong to in the user pool. If a user
 22585  	// belongs to two or more groups, it is the group with the highest precedence
 22586  	// whose role ARN will be used in the cognito:roles and cognito:preferred_role
 22587  	// claims in the user's tokens. Groups with higher Precedence values take precedence
 22588  	// over groups with lower Precedence values or with null Precedence values.
 22589  	//
 22590  	// Two groups can have the same Precedence value. If this happens, neither group
 22591  	// takes precedence over the other. If two groups with the same Precedence have
 22592  	// the same role ARN, that role is used in the cognito:preferred_role claim
 22593  	// in tokens for users in each group. If the two groups have different role
 22594  	// ARNs, the cognito:preferred_role claim is not set in users' tokens.
 22595  	//
 22596  	// The default Precedence value is null.
 22597  	Precedence *int64 `type:"integer"`
 22598  
 22599  	// The role ARN for the group.
 22600  	RoleArn *string `min:"20" type:"string"`
 22601  
 22602  	// The user pool ID for the user pool.
 22603  	UserPoolId *string `min:"1" type:"string"`
 22604  }
 22605  
 22606  // String returns the string representation.
 22607  //
 22608  // API parameter values that are decorated as "sensitive" in the API will not
 22609  // be included in the string output. The member name will be present, but the
 22610  // value will be replaced with "sensitive".
 22611  func (s GroupType) String() string {
 22612  	return awsutil.Prettify(s)
 22613  }
 22614  
 22615  // GoString returns the string representation.
 22616  //
 22617  // API parameter values that are decorated as "sensitive" in the API will not
 22618  // be included in the string output. The member name will be present, but the
 22619  // value will be replaced with "sensitive".
 22620  func (s GroupType) GoString() string {
 22621  	return s.String()
 22622  }
 22623  
 22624  // SetCreationDate sets the CreationDate field's value.
 22625  func (s *GroupType) SetCreationDate(v time.Time) *GroupType {
 22626  	s.CreationDate = &v
 22627  	return s
 22628  }
 22629  
 22630  // SetDescription sets the Description field's value.
 22631  func (s *GroupType) SetDescription(v string) *GroupType {
 22632  	s.Description = &v
 22633  	return s
 22634  }
 22635  
 22636  // SetGroupName sets the GroupName field's value.
 22637  func (s *GroupType) SetGroupName(v string) *GroupType {
 22638  	s.GroupName = &v
 22639  	return s
 22640  }
 22641  
 22642  // SetLastModifiedDate sets the LastModifiedDate field's value.
 22643  func (s *GroupType) SetLastModifiedDate(v time.Time) *GroupType {
 22644  	s.LastModifiedDate = &v
 22645  	return s
 22646  }
 22647  
 22648  // SetPrecedence sets the Precedence field's value.
 22649  func (s *GroupType) SetPrecedence(v int64) *GroupType {
 22650  	s.Precedence = &v
 22651  	return s
 22652  }
 22653  
 22654  // SetRoleArn sets the RoleArn field's value.
 22655  func (s *GroupType) SetRoleArn(v string) *GroupType {
 22656  	s.RoleArn = &v
 22657  	return s
 22658  }
 22659  
 22660  // SetUserPoolId sets the UserPoolId field's value.
 22661  func (s *GroupType) SetUserPoolId(v string) *GroupType {
 22662  	s.UserPoolId = &v
 22663  	return s
 22664  }
 22665  
 22666  // The HTTP header.
 22667  type HttpHeader struct {
 22668  	_ struct{} `type:"structure"`
 22669  
 22670  	// The header name
 22671  	HeaderName *string `locationName:"headerName" type:"string"`
 22672  
 22673  	// The header value.
 22674  	HeaderValue *string `locationName:"headerValue" type:"string"`
 22675  }
 22676  
 22677  // String returns the string representation.
 22678  //
 22679  // API parameter values that are decorated as "sensitive" in the API will not
 22680  // be included in the string output. The member name will be present, but the
 22681  // value will be replaced with "sensitive".
 22682  func (s HttpHeader) String() string {
 22683  	return awsutil.Prettify(s)
 22684  }
 22685  
 22686  // GoString returns the string representation.
 22687  //
 22688  // API parameter values that are decorated as "sensitive" in the API will not
 22689  // be included in the string output. The member name will be present, but the
 22690  // value will be replaced with "sensitive".
 22691  func (s HttpHeader) GoString() string {
 22692  	return s.String()
 22693  }
 22694  
 22695  // SetHeaderName sets the HeaderName field's value.
 22696  func (s *HttpHeader) SetHeaderName(v string) *HttpHeader {
 22697  	s.HeaderName = &v
 22698  	return s
 22699  }
 22700  
 22701  // SetHeaderValue sets the HeaderValue field's value.
 22702  func (s *HttpHeader) SetHeaderValue(v string) *HttpHeader {
 22703  	s.HeaderValue = &v
 22704  	return s
 22705  }
 22706  
 22707  // A container for information about an identity provider.
 22708  type IdentityProviderType struct {
 22709  	_ struct{} `type:"structure"`
 22710  
 22711  	// A mapping of identity provider attributes to standard and custom user pool
 22712  	// attributes.
 22713  	AttributeMapping map[string]*string `type:"map"`
 22714  
 22715  	// The date the identity provider was created.
 22716  	CreationDate *time.Time `type:"timestamp"`
 22717  
 22718  	// A list of identity provider identifiers.
 22719  	IdpIdentifiers []*string `type:"list"`
 22720  
 22721  	// The date the identity provider was last modified.
 22722  	LastModifiedDate *time.Time `type:"timestamp"`
 22723  
 22724  	// The identity provider details. The following list describes the provider
 22725  	// detail keys for each identity provider type.
 22726  	//
 22727  	//    * For Google and Login with Amazon: client_id client_secret authorize_scopes
 22728  	//
 22729  	//    * For Facebook: client_id client_secret authorize_scopes api_version
 22730  	//
 22731  	//    * For Sign in with Apple: client_id team_id key_id private_key authorize_scopes
 22732  	//
 22733  	//    * For OIDC providers: client_id client_secret attributes_request_method
 22734  	//    oidc_issuer authorize_scopes authorize_url if not available from discovery
 22735  	//    URL specified by oidc_issuer key token_url if not available from discovery
 22736  	//    URL specified by oidc_issuer key attributes_url if not available from
 22737  	//    discovery URL specified by oidc_issuer key jwks_uri if not available from
 22738  	//    discovery URL specified by oidc_issuer key
 22739  	//
 22740  	//    * For SAML providers: MetadataFile OR MetadataURL IDPSignOut optional
 22741  	ProviderDetails map[string]*string `type:"map"`
 22742  
 22743  	// The identity provider name.
 22744  	ProviderName *string `min:"1" type:"string"`
 22745  
 22746  	// The identity provider type.
 22747  	ProviderType *string `type:"string" enum:"IdentityProviderTypeType"`
 22748  
 22749  	// The user pool ID.
 22750  	UserPoolId *string `min:"1" type:"string"`
 22751  }
 22752  
 22753  // String returns the string representation.
 22754  //
 22755  // API parameter values that are decorated as "sensitive" in the API will not
 22756  // be included in the string output. The member name will be present, but the
 22757  // value will be replaced with "sensitive".
 22758  func (s IdentityProviderType) String() string {
 22759  	return awsutil.Prettify(s)
 22760  }
 22761  
 22762  // GoString returns the string representation.
 22763  //
 22764  // API parameter values that are decorated as "sensitive" in the API will not
 22765  // be included in the string output. The member name will be present, but the
 22766  // value will be replaced with "sensitive".
 22767  func (s IdentityProviderType) GoString() string {
 22768  	return s.String()
 22769  }
 22770  
 22771  // SetAttributeMapping sets the AttributeMapping field's value.
 22772  func (s *IdentityProviderType) SetAttributeMapping(v map[string]*string) *IdentityProviderType {
 22773  	s.AttributeMapping = v
 22774  	return s
 22775  }
 22776  
 22777  // SetCreationDate sets the CreationDate field's value.
 22778  func (s *IdentityProviderType) SetCreationDate(v time.Time) *IdentityProviderType {
 22779  	s.CreationDate = &v
 22780  	return s
 22781  }
 22782  
 22783  // SetIdpIdentifiers sets the IdpIdentifiers field's value.
 22784  func (s *IdentityProviderType) SetIdpIdentifiers(v []*string) *IdentityProviderType {
 22785  	s.IdpIdentifiers = v
 22786  	return s
 22787  }
 22788  
 22789  // SetLastModifiedDate sets the LastModifiedDate field's value.
 22790  func (s *IdentityProviderType) SetLastModifiedDate(v time.Time) *IdentityProviderType {
 22791  	s.LastModifiedDate = &v
 22792  	return s
 22793  }
 22794  
 22795  // SetProviderDetails sets the ProviderDetails field's value.
 22796  func (s *IdentityProviderType) SetProviderDetails(v map[string]*string) *IdentityProviderType {
 22797  	s.ProviderDetails = v
 22798  	return s
 22799  }
 22800  
 22801  // SetProviderName sets the ProviderName field's value.
 22802  func (s *IdentityProviderType) SetProviderName(v string) *IdentityProviderType {
 22803  	s.ProviderName = &v
 22804  	return s
 22805  }
 22806  
 22807  // SetProviderType sets the ProviderType field's value.
 22808  func (s *IdentityProviderType) SetProviderType(v string) *IdentityProviderType {
 22809  	s.ProviderType = &v
 22810  	return s
 22811  }
 22812  
 22813  // SetUserPoolId sets the UserPoolId field's value.
 22814  func (s *IdentityProviderType) SetUserPoolId(v string) *IdentityProviderType {
 22815  	s.UserPoolId = &v
 22816  	return s
 22817  }
 22818  
 22819  // Initiates the authentication request.
 22820  type InitiateAuthInput struct {
 22821  	_ struct{} `type:"structure"`
 22822  
 22823  	// The Amazon Pinpoint analytics metadata for collecting metrics for InitiateAuth
 22824  	// calls.
 22825  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 22826  
 22827  	// The authentication flow for this call to execute. The API action will depend
 22828  	// on this value. For example:
 22829  	//
 22830  	//    * REFRESH_TOKEN_AUTH will take in a valid refresh token and return new
 22831  	//    tokens.
 22832  	//
 22833  	//    * USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables
 22834  	//    to be used for next challenge execution.
 22835  	//
 22836  	//    * USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the
 22837  	//    next challenge or tokens.
 22838  	//
 22839  	// Valid values include:
 22840  	//
 22841  	//    * USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP)
 22842  	//    protocol.
 22843  	//
 22844  	//    * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing
 22845  	//    the access token and ID token by supplying a valid refresh token.
 22846  	//
 22847  	//    * CUSTOM_AUTH: Custom authentication flow.
 22848  	//
 22849  	//    * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD
 22850  	//    are passed directly. If a user migration Lambda trigger is set, this flow
 22851  	//    will invoke the user migration Lambda if the USERNAME is not found in
 22852  	//    the user pool.
 22853  	//
 22854  	//    * ADMIN_USER_PASSWORD_AUTH: Admin-based user password authentication.
 22855  	//    This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this flow,
 22856  	//    Cognito receives the password in the request instead of using the SRP
 22857  	//    process to verify passwords.
 22858  	//
 22859  	// ADMIN_NO_SRP_AUTH is not a valid value.
 22860  	//
 22861  	// AuthFlow is a required field
 22862  	AuthFlow *string `type:"string" required:"true" enum:"AuthFlowType"`
 22863  
 22864  	// The authentication parameters. These are inputs corresponding to the AuthFlow
 22865  	// that you are invoking. The required values depend on the value of AuthFlow:
 22866  	//
 22867  	//    * For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH
 22868  	//    (required if the app client is configured with a client secret), DEVICE_KEY.
 22869  	//
 22870  	//    * For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH
 22871  	//    (required if the app client is configured with a client secret), DEVICE_KEY.
 22872  	//
 22873  	//    * For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is
 22874  	//    configured with client secret), DEVICE_KEY. To start the authentication
 22875  	//    flow with password verification, include ChallengeName: SRP_A and SRP_A:
 22876  	//    (The SRP_A Value).
 22877  	//
 22878  	// AuthParameters is a sensitive parameter and its value will be
 22879  	// replaced with "sensitive" in string returned by InitiateAuthInput's
 22880  	// String and GoString methods.
 22881  	AuthParameters map[string]*string `type:"map" sensitive:"true"`
 22882  
 22883  	// The app client ID.
 22884  	//
 22885  	// ClientId is a sensitive parameter and its value will be
 22886  	// replaced with "sensitive" in string returned by InitiateAuthInput's
 22887  	// String and GoString methods.
 22888  	//
 22889  	// ClientId is a required field
 22890  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 22891  
 22892  	// A map of custom key-value pairs that you can provide as input for certain
 22893  	// custom workflows that this action triggers.
 22894  	//
 22895  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 22896  	// When you use the InitiateAuth API action, Amazon Cognito invokes the Lambda
 22897  	// functions that are specified for various triggers. The ClientMetadata value
 22898  	// is passed as input to the functions for only the following triggers:
 22899  	//
 22900  	//    * Pre signup
 22901  	//
 22902  	//    * Pre authentication
 22903  	//
 22904  	//    * User migration
 22905  	//
 22906  	// When Amazon Cognito invokes the functions for these triggers, it passes a
 22907  	// JSON payload, which the function receives as input. This payload contains
 22908  	// a validationData attribute, which provides the data that you assigned to
 22909  	// the ClientMetadata parameter in your InitiateAuth request. In your function
 22910  	// code in Lambda, you can process the validationData value to enhance your
 22911  	// workflow for your specific needs.
 22912  	//
 22913  	// When you use the InitiateAuth API action, Amazon Cognito also invokes the
 22914  	// functions for the following triggers, but it does not provide the ClientMetadata
 22915  	// value as input:
 22916  	//
 22917  	//    * Post authentication
 22918  	//
 22919  	//    * Custom message
 22920  	//
 22921  	//    * Pre token generation
 22922  	//
 22923  	//    * Create auth challenge
 22924  	//
 22925  	//    * Define auth challenge
 22926  	//
 22927  	//    * Verify auth challenge
 22928  	//
 22929  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 22930  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 22931  	// in the Amazon Cognito Developer Guide.
 22932  	//
 22933  	// Take the following limitations into consideration when you use the ClientMetadata
 22934  	// parameter:
 22935  	//
 22936  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 22937  	//    available only to Lambda triggers that are assigned to a user pool to
 22938  	//    support custom workflows. If your user pool configuration does not include
 22939  	//    triggers, the ClientMetadata parameter serves no purpose.
 22940  	//
 22941  	//    * Amazon Cognito does not validate the ClientMetadata value.
 22942  	//
 22943  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 22944  	//    use it to provide sensitive information.
 22945  	ClientMetadata map[string]*string `type:"map"`
 22946  
 22947  	// Contextual data such as the user's device fingerprint, IP address, or location
 22948  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 22949  	// security.
 22950  	UserContextData *UserContextDataType `type:"structure"`
 22951  }
 22952  
 22953  // String returns the string representation.
 22954  //
 22955  // API parameter values that are decorated as "sensitive" in the API will not
 22956  // be included in the string output. The member name will be present, but the
 22957  // value will be replaced with "sensitive".
 22958  func (s InitiateAuthInput) String() string {
 22959  	return awsutil.Prettify(s)
 22960  }
 22961  
 22962  // GoString returns the string representation.
 22963  //
 22964  // API parameter values that are decorated as "sensitive" in the API will not
 22965  // be included in the string output. The member name will be present, but the
 22966  // value will be replaced with "sensitive".
 22967  func (s InitiateAuthInput) GoString() string {
 22968  	return s.String()
 22969  }
 22970  
 22971  // Validate inspects the fields of the type to determine if they are valid.
 22972  func (s *InitiateAuthInput) Validate() error {
 22973  	invalidParams := request.ErrInvalidParams{Context: "InitiateAuthInput"}
 22974  	if s.AuthFlow == nil {
 22975  		invalidParams.Add(request.NewErrParamRequired("AuthFlow"))
 22976  	}
 22977  	if s.ClientId == nil {
 22978  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 22979  	}
 22980  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 22981  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 22982  	}
 22983  
 22984  	if invalidParams.Len() > 0 {
 22985  		return invalidParams
 22986  	}
 22987  	return nil
 22988  }
 22989  
 22990  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 22991  func (s *InitiateAuthInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *InitiateAuthInput {
 22992  	s.AnalyticsMetadata = v
 22993  	return s
 22994  }
 22995  
 22996  // SetAuthFlow sets the AuthFlow field's value.
 22997  func (s *InitiateAuthInput) SetAuthFlow(v string) *InitiateAuthInput {
 22998  	s.AuthFlow = &v
 22999  	return s
 23000  }
 23001  
 23002  // SetAuthParameters sets the AuthParameters field's value.
 23003  func (s *InitiateAuthInput) SetAuthParameters(v map[string]*string) *InitiateAuthInput {
 23004  	s.AuthParameters = v
 23005  	return s
 23006  }
 23007  
 23008  // SetClientId sets the ClientId field's value.
 23009  func (s *InitiateAuthInput) SetClientId(v string) *InitiateAuthInput {
 23010  	s.ClientId = &v
 23011  	return s
 23012  }
 23013  
 23014  // SetClientMetadata sets the ClientMetadata field's value.
 23015  func (s *InitiateAuthInput) SetClientMetadata(v map[string]*string) *InitiateAuthInput {
 23016  	s.ClientMetadata = v
 23017  	return s
 23018  }
 23019  
 23020  // SetUserContextData sets the UserContextData field's value.
 23021  func (s *InitiateAuthInput) SetUserContextData(v *UserContextDataType) *InitiateAuthInput {
 23022  	s.UserContextData = v
 23023  	return s
 23024  }
 23025  
 23026  // Initiates the authentication response.
 23027  type InitiateAuthOutput struct {
 23028  	_ struct{} `type:"structure"`
 23029  
 23030  	// The result of the authentication response. This is only returned if the caller
 23031  	// does not need to pass another challenge. If the caller does need to pass
 23032  	// another challenge before it gets tokens, ChallengeName, ChallengeParameters,
 23033  	// and Session are returned.
 23034  	AuthenticationResult *AuthenticationResultType `type:"structure"`
 23035  
 23036  	// The name of the challenge which you are responding to with this call. This
 23037  	// is returned to you in the AdminInitiateAuth response if you need to pass
 23038  	// another challenge.
 23039  	//
 23040  	// Valid values include the following. Note that all of these challenges require
 23041  	// USERNAME and SECRET_HASH (if applicable) in the parameters.
 23042  	//
 23043  	//    * SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via
 23044  	//    SMS.
 23045  	//
 23046  	//    * PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE,
 23047  	//    PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.
 23048  	//
 23049  	//    * CUSTOM_CHALLENGE: This is returned if your custom authentication flow
 23050  	//    determines that the user should pass another challenge before tokens are
 23051  	//    issued.
 23052  	//
 23053  	//    * DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and
 23054  	//    the previous challenges were passed, this challenge is returned so that
 23055  	//    Amazon Cognito can start tracking this device.
 23056  	//
 23057  	//    * DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices
 23058  	//    only.
 23059  	//
 23060  	//    * NEW_PASSWORD_REQUIRED: For users who are required to change their passwords
 23061  	//    after successful first login. This challenge should be passed with NEW_PASSWORD
 23062  	//    and any other required attributes.
 23063  	//
 23064  	//    * MFA_SETUP: For users who are required to setup an MFA factor before
 23065  	//    they can sign-in. The MFA types enabled for the user pool will be listed
 23066  	//    in the challenge parameters MFA_CAN_SETUP value. To setup software token
 23067  	//    MFA, use the session returned here from InitiateAuth as an input to AssociateSoftwareToken,
 23068  	//    and use the session returned by VerifySoftwareToken as an input to RespondToAuthChallenge
 23069  	//    with challenge name MFA_SETUP to complete sign-in. To setup SMS MFA, users
 23070  	//    will need help from an administrator to add a phone number to their account
 23071  	//    and then call InitiateAuth again to restart sign-in.
 23072  	ChallengeName *string `type:"string" enum:"ChallengeNameType"`
 23073  
 23074  	// The challenge parameters. These are returned to you in the InitiateAuth response
 23075  	// if you need to pass another challenge. The responses in this parameter should
 23076  	// be used to compute inputs to the next call (RespondToAuthChallenge).
 23077  	//
 23078  	// All challenges require USERNAME and SECRET_HASH (if applicable).
 23079  	ChallengeParameters map[string]*string `type:"map"`
 23080  
 23081  	// The session which should be passed both ways in challenge-response calls
 23082  	// to the service. If the caller needs to go through another challenge, they
 23083  	// return a session with other challenge parameters. This session should be
 23084  	// passed as it is to the next RespondToAuthChallenge API call.
 23085  	Session *string `min:"20" type:"string"`
 23086  }
 23087  
 23088  // String returns the string representation.
 23089  //
 23090  // API parameter values that are decorated as "sensitive" in the API will not
 23091  // be included in the string output. The member name will be present, but the
 23092  // value will be replaced with "sensitive".
 23093  func (s InitiateAuthOutput) String() string {
 23094  	return awsutil.Prettify(s)
 23095  }
 23096  
 23097  // GoString returns the string representation.
 23098  //
 23099  // API parameter values that are decorated as "sensitive" in the API will not
 23100  // be included in the string output. The member name will be present, but the
 23101  // value will be replaced with "sensitive".
 23102  func (s InitiateAuthOutput) GoString() string {
 23103  	return s.String()
 23104  }
 23105  
 23106  // SetAuthenticationResult sets the AuthenticationResult field's value.
 23107  func (s *InitiateAuthOutput) SetAuthenticationResult(v *AuthenticationResultType) *InitiateAuthOutput {
 23108  	s.AuthenticationResult = v
 23109  	return s
 23110  }
 23111  
 23112  // SetChallengeName sets the ChallengeName field's value.
 23113  func (s *InitiateAuthOutput) SetChallengeName(v string) *InitiateAuthOutput {
 23114  	s.ChallengeName = &v
 23115  	return s
 23116  }
 23117  
 23118  // SetChallengeParameters sets the ChallengeParameters field's value.
 23119  func (s *InitiateAuthOutput) SetChallengeParameters(v map[string]*string) *InitiateAuthOutput {
 23120  	s.ChallengeParameters = v
 23121  	return s
 23122  }
 23123  
 23124  // SetSession sets the Session field's value.
 23125  func (s *InitiateAuthOutput) SetSession(v string) *InitiateAuthOutput {
 23126  	s.Session = &v
 23127  	return s
 23128  }
 23129  
 23130  // This exception is thrown when Amazon Cognito encounters an internal error.
 23131  type InternalErrorException struct {
 23132  	_            struct{}                  `type:"structure"`
 23133  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23134  
 23135  	// The message returned when Amazon Cognito throws an internal error exception.
 23136  	Message_ *string `locationName:"message" type:"string"`
 23137  }
 23138  
 23139  // String returns the string representation.
 23140  //
 23141  // API parameter values that are decorated as "sensitive" in the API will not
 23142  // be included in the string output. The member name will be present, but the
 23143  // value will be replaced with "sensitive".
 23144  func (s InternalErrorException) String() string {
 23145  	return awsutil.Prettify(s)
 23146  }
 23147  
 23148  // GoString returns the string representation.
 23149  //
 23150  // API parameter values that are decorated as "sensitive" in the API will not
 23151  // be included in the string output. The member name will be present, but the
 23152  // value will be replaced with "sensitive".
 23153  func (s InternalErrorException) GoString() string {
 23154  	return s.String()
 23155  }
 23156  
 23157  func newErrorInternalErrorException(v protocol.ResponseMetadata) error {
 23158  	return &InternalErrorException{
 23159  		RespMetadata: v,
 23160  	}
 23161  }
 23162  
 23163  // Code returns the exception type name.
 23164  func (s *InternalErrorException) Code() string {
 23165  	return "InternalErrorException"
 23166  }
 23167  
 23168  // Message returns the exception's message.
 23169  func (s *InternalErrorException) Message() string {
 23170  	if s.Message_ != nil {
 23171  		return *s.Message_
 23172  	}
 23173  	return ""
 23174  }
 23175  
 23176  // OrigErr always returns nil, satisfies awserr.Error interface.
 23177  func (s *InternalErrorException) OrigErr() error {
 23178  	return nil
 23179  }
 23180  
 23181  func (s *InternalErrorException) Error() string {
 23182  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23183  }
 23184  
 23185  // Status code returns the HTTP status code for the request's response error.
 23186  func (s *InternalErrorException) StatusCode() int {
 23187  	return s.RespMetadata.StatusCode
 23188  }
 23189  
 23190  // RequestID returns the service's response RequestID for request.
 23191  func (s *InternalErrorException) RequestID() string {
 23192  	return s.RespMetadata.RequestID
 23193  }
 23194  
 23195  // This exception is thrown when Amazon Cognito is not allowed to use your email
 23196  // identity. HTTP status code: 400.
 23197  type InvalidEmailRoleAccessPolicyException struct {
 23198  	_            struct{}                  `type:"structure"`
 23199  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23200  
 23201  	// The message returned when you have an unverified email address or the identity
 23202  	// policy is not set on an email address that Amazon Cognito can access.
 23203  	Message_ *string `locationName:"message" type:"string"`
 23204  }
 23205  
 23206  // String returns the string representation.
 23207  //
 23208  // API parameter values that are decorated as "sensitive" in the API will not
 23209  // be included in the string output. The member name will be present, but the
 23210  // value will be replaced with "sensitive".
 23211  func (s InvalidEmailRoleAccessPolicyException) String() string {
 23212  	return awsutil.Prettify(s)
 23213  }
 23214  
 23215  // GoString returns the string representation.
 23216  //
 23217  // API parameter values that are decorated as "sensitive" in the API will not
 23218  // be included in the string output. The member name will be present, but the
 23219  // value will be replaced with "sensitive".
 23220  func (s InvalidEmailRoleAccessPolicyException) GoString() string {
 23221  	return s.String()
 23222  }
 23223  
 23224  func newErrorInvalidEmailRoleAccessPolicyException(v protocol.ResponseMetadata) error {
 23225  	return &InvalidEmailRoleAccessPolicyException{
 23226  		RespMetadata: v,
 23227  	}
 23228  }
 23229  
 23230  // Code returns the exception type name.
 23231  func (s *InvalidEmailRoleAccessPolicyException) Code() string {
 23232  	return "InvalidEmailRoleAccessPolicyException"
 23233  }
 23234  
 23235  // Message returns the exception's message.
 23236  func (s *InvalidEmailRoleAccessPolicyException) Message() string {
 23237  	if s.Message_ != nil {
 23238  		return *s.Message_
 23239  	}
 23240  	return ""
 23241  }
 23242  
 23243  // OrigErr always returns nil, satisfies awserr.Error interface.
 23244  func (s *InvalidEmailRoleAccessPolicyException) OrigErr() error {
 23245  	return nil
 23246  }
 23247  
 23248  func (s *InvalidEmailRoleAccessPolicyException) Error() string {
 23249  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23250  }
 23251  
 23252  // Status code returns the HTTP status code for the request's response error.
 23253  func (s *InvalidEmailRoleAccessPolicyException) StatusCode() int {
 23254  	return s.RespMetadata.StatusCode
 23255  }
 23256  
 23257  // RequestID returns the service's response RequestID for request.
 23258  func (s *InvalidEmailRoleAccessPolicyException) RequestID() string {
 23259  	return s.RespMetadata.RequestID
 23260  }
 23261  
 23262  // This exception is thrown when the Amazon Cognito service encounters an invalid
 23263  // Lambda response.
 23264  type InvalidLambdaResponseException struct {
 23265  	_            struct{}                  `type:"structure"`
 23266  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23267  
 23268  	// The message returned when the Amazon Cognito service throws an invalid Lambda
 23269  	// response exception.
 23270  	Message_ *string `locationName:"message" type:"string"`
 23271  }
 23272  
 23273  // String returns the string representation.
 23274  //
 23275  // API parameter values that are decorated as "sensitive" in the API will not
 23276  // be included in the string output. The member name will be present, but the
 23277  // value will be replaced with "sensitive".
 23278  func (s InvalidLambdaResponseException) String() string {
 23279  	return awsutil.Prettify(s)
 23280  }
 23281  
 23282  // GoString returns the string representation.
 23283  //
 23284  // API parameter values that are decorated as "sensitive" in the API will not
 23285  // be included in the string output. The member name will be present, but the
 23286  // value will be replaced with "sensitive".
 23287  func (s InvalidLambdaResponseException) GoString() string {
 23288  	return s.String()
 23289  }
 23290  
 23291  func newErrorInvalidLambdaResponseException(v protocol.ResponseMetadata) error {
 23292  	return &InvalidLambdaResponseException{
 23293  		RespMetadata: v,
 23294  	}
 23295  }
 23296  
 23297  // Code returns the exception type name.
 23298  func (s *InvalidLambdaResponseException) Code() string {
 23299  	return "InvalidLambdaResponseException"
 23300  }
 23301  
 23302  // Message returns the exception's message.
 23303  func (s *InvalidLambdaResponseException) Message() string {
 23304  	if s.Message_ != nil {
 23305  		return *s.Message_
 23306  	}
 23307  	return ""
 23308  }
 23309  
 23310  // OrigErr always returns nil, satisfies awserr.Error interface.
 23311  func (s *InvalidLambdaResponseException) OrigErr() error {
 23312  	return nil
 23313  }
 23314  
 23315  func (s *InvalidLambdaResponseException) Error() string {
 23316  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23317  }
 23318  
 23319  // Status code returns the HTTP status code for the request's response error.
 23320  func (s *InvalidLambdaResponseException) StatusCode() int {
 23321  	return s.RespMetadata.StatusCode
 23322  }
 23323  
 23324  // RequestID returns the service's response RequestID for request.
 23325  func (s *InvalidLambdaResponseException) RequestID() string {
 23326  	return s.RespMetadata.RequestID
 23327  }
 23328  
 23329  // This exception is thrown when the specified OAuth flow is invalid.
 23330  type InvalidOAuthFlowException struct {
 23331  	_            struct{}                  `type:"structure"`
 23332  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23333  
 23334  	Message_ *string `locationName:"message" type:"string"`
 23335  }
 23336  
 23337  // String returns the string representation.
 23338  //
 23339  // API parameter values that are decorated as "sensitive" in the API will not
 23340  // be included in the string output. The member name will be present, but the
 23341  // value will be replaced with "sensitive".
 23342  func (s InvalidOAuthFlowException) String() string {
 23343  	return awsutil.Prettify(s)
 23344  }
 23345  
 23346  // GoString returns the string representation.
 23347  //
 23348  // API parameter values that are decorated as "sensitive" in the API will not
 23349  // be included in the string output. The member name will be present, but the
 23350  // value will be replaced with "sensitive".
 23351  func (s InvalidOAuthFlowException) GoString() string {
 23352  	return s.String()
 23353  }
 23354  
 23355  func newErrorInvalidOAuthFlowException(v protocol.ResponseMetadata) error {
 23356  	return &InvalidOAuthFlowException{
 23357  		RespMetadata: v,
 23358  	}
 23359  }
 23360  
 23361  // Code returns the exception type name.
 23362  func (s *InvalidOAuthFlowException) Code() string {
 23363  	return "InvalidOAuthFlowException"
 23364  }
 23365  
 23366  // Message returns the exception's message.
 23367  func (s *InvalidOAuthFlowException) Message() string {
 23368  	if s.Message_ != nil {
 23369  		return *s.Message_
 23370  	}
 23371  	return ""
 23372  }
 23373  
 23374  // OrigErr always returns nil, satisfies awserr.Error interface.
 23375  func (s *InvalidOAuthFlowException) OrigErr() error {
 23376  	return nil
 23377  }
 23378  
 23379  func (s *InvalidOAuthFlowException) Error() string {
 23380  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23381  }
 23382  
 23383  // Status code returns the HTTP status code for the request's response error.
 23384  func (s *InvalidOAuthFlowException) StatusCode() int {
 23385  	return s.RespMetadata.StatusCode
 23386  }
 23387  
 23388  // RequestID returns the service's response RequestID for request.
 23389  func (s *InvalidOAuthFlowException) RequestID() string {
 23390  	return s.RespMetadata.RequestID
 23391  }
 23392  
 23393  // This exception is thrown when the Amazon Cognito service encounters an invalid
 23394  // parameter.
 23395  type InvalidParameterException struct {
 23396  	_            struct{}                  `type:"structure"`
 23397  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23398  
 23399  	// The message returned when the Amazon Cognito service throws an invalid parameter
 23400  	// exception.
 23401  	Message_ *string `locationName:"message" type:"string"`
 23402  }
 23403  
 23404  // String returns the string representation.
 23405  //
 23406  // API parameter values that are decorated as "sensitive" in the API will not
 23407  // be included in the string output. The member name will be present, but the
 23408  // value will be replaced with "sensitive".
 23409  func (s InvalidParameterException) String() string {
 23410  	return awsutil.Prettify(s)
 23411  }
 23412  
 23413  // GoString returns the string representation.
 23414  //
 23415  // API parameter values that are decorated as "sensitive" in the API will not
 23416  // be included in the string output. The member name will be present, but the
 23417  // value will be replaced with "sensitive".
 23418  func (s InvalidParameterException) GoString() string {
 23419  	return s.String()
 23420  }
 23421  
 23422  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
 23423  	return &InvalidParameterException{
 23424  		RespMetadata: v,
 23425  	}
 23426  }
 23427  
 23428  // Code returns the exception type name.
 23429  func (s *InvalidParameterException) Code() string {
 23430  	return "InvalidParameterException"
 23431  }
 23432  
 23433  // Message returns the exception's message.
 23434  func (s *InvalidParameterException) Message() string {
 23435  	if s.Message_ != nil {
 23436  		return *s.Message_
 23437  	}
 23438  	return ""
 23439  }
 23440  
 23441  // OrigErr always returns nil, satisfies awserr.Error interface.
 23442  func (s *InvalidParameterException) OrigErr() error {
 23443  	return nil
 23444  }
 23445  
 23446  func (s *InvalidParameterException) Error() string {
 23447  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23448  }
 23449  
 23450  // Status code returns the HTTP status code for the request's response error.
 23451  func (s *InvalidParameterException) StatusCode() int {
 23452  	return s.RespMetadata.StatusCode
 23453  }
 23454  
 23455  // RequestID returns the service's response RequestID for request.
 23456  func (s *InvalidParameterException) RequestID() string {
 23457  	return s.RespMetadata.RequestID
 23458  }
 23459  
 23460  // This exception is thrown when the Amazon Cognito service encounters an invalid
 23461  // password.
 23462  type InvalidPasswordException struct {
 23463  	_            struct{}                  `type:"structure"`
 23464  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23465  
 23466  	// The message returned when the Amazon Cognito service throws an invalid user
 23467  	// password exception.
 23468  	Message_ *string `locationName:"message" type:"string"`
 23469  }
 23470  
 23471  // String returns the string representation.
 23472  //
 23473  // API parameter values that are decorated as "sensitive" in the API will not
 23474  // be included in the string output. The member name will be present, but the
 23475  // value will be replaced with "sensitive".
 23476  func (s InvalidPasswordException) String() string {
 23477  	return awsutil.Prettify(s)
 23478  }
 23479  
 23480  // GoString returns the string representation.
 23481  //
 23482  // API parameter values that are decorated as "sensitive" in the API will not
 23483  // be included in the string output. The member name will be present, but the
 23484  // value will be replaced with "sensitive".
 23485  func (s InvalidPasswordException) GoString() string {
 23486  	return s.String()
 23487  }
 23488  
 23489  func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
 23490  	return &InvalidPasswordException{
 23491  		RespMetadata: v,
 23492  	}
 23493  }
 23494  
 23495  // Code returns the exception type name.
 23496  func (s *InvalidPasswordException) Code() string {
 23497  	return "InvalidPasswordException"
 23498  }
 23499  
 23500  // Message returns the exception's message.
 23501  func (s *InvalidPasswordException) Message() string {
 23502  	if s.Message_ != nil {
 23503  		return *s.Message_
 23504  	}
 23505  	return ""
 23506  }
 23507  
 23508  // OrigErr always returns nil, satisfies awserr.Error interface.
 23509  func (s *InvalidPasswordException) OrigErr() error {
 23510  	return nil
 23511  }
 23512  
 23513  func (s *InvalidPasswordException) Error() string {
 23514  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23515  }
 23516  
 23517  // Status code returns the HTTP status code for the request's response error.
 23518  func (s *InvalidPasswordException) StatusCode() int {
 23519  	return s.RespMetadata.StatusCode
 23520  }
 23521  
 23522  // RequestID returns the service's response RequestID for request.
 23523  func (s *InvalidPasswordException) RequestID() string {
 23524  	return s.RespMetadata.RequestID
 23525  }
 23526  
 23527  // This exception is returned when the role provided for SMS configuration does
 23528  // not have permission to publish using Amazon SNS.
 23529  type InvalidSmsRoleAccessPolicyException struct {
 23530  	_            struct{}                  `type:"structure"`
 23531  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23532  
 23533  	// The message retuned when the invalid SMS role access policy exception is
 23534  	// thrown.
 23535  	Message_ *string `locationName:"message" type:"string"`
 23536  }
 23537  
 23538  // String returns the string representation.
 23539  //
 23540  // API parameter values that are decorated as "sensitive" in the API will not
 23541  // be included in the string output. The member name will be present, but the
 23542  // value will be replaced with "sensitive".
 23543  func (s InvalidSmsRoleAccessPolicyException) String() string {
 23544  	return awsutil.Prettify(s)
 23545  }
 23546  
 23547  // GoString returns the string representation.
 23548  //
 23549  // API parameter values that are decorated as "sensitive" in the API will not
 23550  // be included in the string output. The member name will be present, but the
 23551  // value will be replaced with "sensitive".
 23552  func (s InvalidSmsRoleAccessPolicyException) GoString() string {
 23553  	return s.String()
 23554  }
 23555  
 23556  func newErrorInvalidSmsRoleAccessPolicyException(v protocol.ResponseMetadata) error {
 23557  	return &InvalidSmsRoleAccessPolicyException{
 23558  		RespMetadata: v,
 23559  	}
 23560  }
 23561  
 23562  // Code returns the exception type name.
 23563  func (s *InvalidSmsRoleAccessPolicyException) Code() string {
 23564  	return "InvalidSmsRoleAccessPolicyException"
 23565  }
 23566  
 23567  // Message returns the exception's message.
 23568  func (s *InvalidSmsRoleAccessPolicyException) Message() string {
 23569  	if s.Message_ != nil {
 23570  		return *s.Message_
 23571  	}
 23572  	return ""
 23573  }
 23574  
 23575  // OrigErr always returns nil, satisfies awserr.Error interface.
 23576  func (s *InvalidSmsRoleAccessPolicyException) OrigErr() error {
 23577  	return nil
 23578  }
 23579  
 23580  func (s *InvalidSmsRoleAccessPolicyException) Error() string {
 23581  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23582  }
 23583  
 23584  // Status code returns the HTTP status code for the request's response error.
 23585  func (s *InvalidSmsRoleAccessPolicyException) StatusCode() int {
 23586  	return s.RespMetadata.StatusCode
 23587  }
 23588  
 23589  // RequestID returns the service's response RequestID for request.
 23590  func (s *InvalidSmsRoleAccessPolicyException) RequestID() string {
 23591  	return s.RespMetadata.RequestID
 23592  }
 23593  
 23594  // This exception is thrown when the trust relationship is invalid for the role
 23595  // provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com
 23596  // or the external ID provided in the role does not match what is provided in
 23597  // the SMS configuration for the user pool.
 23598  type InvalidSmsRoleTrustRelationshipException struct {
 23599  	_            struct{}                  `type:"structure"`
 23600  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23601  
 23602  	// The message returned when the role trust relationship for the SMS message
 23603  	// is invalid.
 23604  	Message_ *string `locationName:"message" type:"string"`
 23605  }
 23606  
 23607  // String returns the string representation.
 23608  //
 23609  // API parameter values that are decorated as "sensitive" in the API will not
 23610  // be included in the string output. The member name will be present, but the
 23611  // value will be replaced with "sensitive".
 23612  func (s InvalidSmsRoleTrustRelationshipException) String() string {
 23613  	return awsutil.Prettify(s)
 23614  }
 23615  
 23616  // GoString returns the string representation.
 23617  //
 23618  // API parameter values that are decorated as "sensitive" in the API will not
 23619  // be included in the string output. The member name will be present, but the
 23620  // value will be replaced with "sensitive".
 23621  func (s InvalidSmsRoleTrustRelationshipException) GoString() string {
 23622  	return s.String()
 23623  }
 23624  
 23625  func newErrorInvalidSmsRoleTrustRelationshipException(v protocol.ResponseMetadata) error {
 23626  	return &InvalidSmsRoleTrustRelationshipException{
 23627  		RespMetadata: v,
 23628  	}
 23629  }
 23630  
 23631  // Code returns the exception type name.
 23632  func (s *InvalidSmsRoleTrustRelationshipException) Code() string {
 23633  	return "InvalidSmsRoleTrustRelationshipException"
 23634  }
 23635  
 23636  // Message returns the exception's message.
 23637  func (s *InvalidSmsRoleTrustRelationshipException) Message() string {
 23638  	if s.Message_ != nil {
 23639  		return *s.Message_
 23640  	}
 23641  	return ""
 23642  }
 23643  
 23644  // OrigErr always returns nil, satisfies awserr.Error interface.
 23645  func (s *InvalidSmsRoleTrustRelationshipException) OrigErr() error {
 23646  	return nil
 23647  }
 23648  
 23649  func (s *InvalidSmsRoleTrustRelationshipException) Error() string {
 23650  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23651  }
 23652  
 23653  // Status code returns the HTTP status code for the request's response error.
 23654  func (s *InvalidSmsRoleTrustRelationshipException) StatusCode() int {
 23655  	return s.RespMetadata.StatusCode
 23656  }
 23657  
 23658  // RequestID returns the service's response RequestID for request.
 23659  func (s *InvalidSmsRoleTrustRelationshipException) RequestID() string {
 23660  	return s.RespMetadata.RequestID
 23661  }
 23662  
 23663  // This exception is thrown when the user pool configuration is invalid.
 23664  type InvalidUserPoolConfigurationException struct {
 23665  	_            struct{}                  `type:"structure"`
 23666  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23667  
 23668  	// The message returned when the user pool configuration is invalid.
 23669  	Message_ *string `locationName:"message" type:"string"`
 23670  }
 23671  
 23672  // String returns the string representation.
 23673  //
 23674  // API parameter values that are decorated as "sensitive" in the API will not
 23675  // be included in the string output. The member name will be present, but the
 23676  // value will be replaced with "sensitive".
 23677  func (s InvalidUserPoolConfigurationException) String() string {
 23678  	return awsutil.Prettify(s)
 23679  }
 23680  
 23681  // GoString returns the string representation.
 23682  //
 23683  // API parameter values that are decorated as "sensitive" in the API will not
 23684  // be included in the string output. The member name will be present, but the
 23685  // value will be replaced with "sensitive".
 23686  func (s InvalidUserPoolConfigurationException) GoString() string {
 23687  	return s.String()
 23688  }
 23689  
 23690  func newErrorInvalidUserPoolConfigurationException(v protocol.ResponseMetadata) error {
 23691  	return &InvalidUserPoolConfigurationException{
 23692  		RespMetadata: v,
 23693  	}
 23694  }
 23695  
 23696  // Code returns the exception type name.
 23697  func (s *InvalidUserPoolConfigurationException) Code() string {
 23698  	return "InvalidUserPoolConfigurationException"
 23699  }
 23700  
 23701  // Message returns the exception's message.
 23702  func (s *InvalidUserPoolConfigurationException) Message() string {
 23703  	if s.Message_ != nil {
 23704  		return *s.Message_
 23705  	}
 23706  	return ""
 23707  }
 23708  
 23709  // OrigErr always returns nil, satisfies awserr.Error interface.
 23710  func (s *InvalidUserPoolConfigurationException) OrigErr() error {
 23711  	return nil
 23712  }
 23713  
 23714  func (s *InvalidUserPoolConfigurationException) Error() string {
 23715  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23716  }
 23717  
 23718  // Status code returns the HTTP status code for the request's response error.
 23719  func (s *InvalidUserPoolConfigurationException) StatusCode() int {
 23720  	return s.RespMetadata.StatusCode
 23721  }
 23722  
 23723  // RequestID returns the service's response RequestID for request.
 23724  func (s *InvalidUserPoolConfigurationException) RequestID() string {
 23725  	return s.RespMetadata.RequestID
 23726  }
 23727  
 23728  // Specifies the configuration for Lambda triggers.
 23729  type LambdaConfigType struct {
 23730  	_ struct{} `type:"structure"`
 23731  
 23732  	// Creates an authentication challenge.
 23733  	CreateAuthChallenge *string `min:"20" type:"string"`
 23734  
 23735  	// A custom email sender Lambda trigger.
 23736  	CustomEmailSender *CustomEmailLambdaVersionConfigType `type:"structure"`
 23737  
 23738  	// A custom Message Lambda trigger.
 23739  	CustomMessage *string `min:"20" type:"string"`
 23740  
 23741  	// A custom SMS sender Lambda trigger.
 23742  	CustomSMSSender *CustomSMSLambdaVersionConfigType `type:"structure"`
 23743  
 23744  	// Defines the authentication challenge.
 23745  	DefineAuthChallenge *string `min:"20" type:"string"`
 23746  
 23747  	// The Amazon Resource Name of Key Management Service Customer master keys (/kms/latest/developerguide/concepts.html#master_keys)
 23748  	// . Amazon Cognito uses the key to encrypt codes and temporary passwords sent
 23749  	// to CustomEmailSender and CustomSMSSender.
 23750  	KMSKeyID *string `min:"20" type:"string"`
 23751  
 23752  	// A post-authentication Lambda trigger.
 23753  	PostAuthentication *string `min:"20" type:"string"`
 23754  
 23755  	// A post-confirmation Lambda trigger.
 23756  	PostConfirmation *string `min:"20" type:"string"`
 23757  
 23758  	// A pre-authentication Lambda trigger.
 23759  	PreAuthentication *string `min:"20" type:"string"`
 23760  
 23761  	// A pre-registration Lambda trigger.
 23762  	PreSignUp *string `min:"20" type:"string"`
 23763  
 23764  	// A Lambda trigger that is invoked before token generation.
 23765  	PreTokenGeneration *string `min:"20" type:"string"`
 23766  
 23767  	// The user migration Lambda config type.
 23768  	UserMigration *string `min:"20" type:"string"`
 23769  
 23770  	// Verifies the authentication challenge response.
 23771  	VerifyAuthChallengeResponse *string `min:"20" type:"string"`
 23772  }
 23773  
 23774  // String returns the string representation.
 23775  //
 23776  // API parameter values that are decorated as "sensitive" in the API will not
 23777  // be included in the string output. The member name will be present, but the
 23778  // value will be replaced with "sensitive".
 23779  func (s LambdaConfigType) String() string {
 23780  	return awsutil.Prettify(s)
 23781  }
 23782  
 23783  // GoString returns the string representation.
 23784  //
 23785  // API parameter values that are decorated as "sensitive" in the API will not
 23786  // be included in the string output. The member name will be present, but the
 23787  // value will be replaced with "sensitive".
 23788  func (s LambdaConfigType) GoString() string {
 23789  	return s.String()
 23790  }
 23791  
 23792  // Validate inspects the fields of the type to determine if they are valid.
 23793  func (s *LambdaConfigType) Validate() error {
 23794  	invalidParams := request.ErrInvalidParams{Context: "LambdaConfigType"}
 23795  	if s.CreateAuthChallenge != nil && len(*s.CreateAuthChallenge) < 20 {
 23796  		invalidParams.Add(request.NewErrParamMinLen("CreateAuthChallenge", 20))
 23797  	}
 23798  	if s.CustomMessage != nil && len(*s.CustomMessage) < 20 {
 23799  		invalidParams.Add(request.NewErrParamMinLen("CustomMessage", 20))
 23800  	}
 23801  	if s.DefineAuthChallenge != nil && len(*s.DefineAuthChallenge) < 20 {
 23802  		invalidParams.Add(request.NewErrParamMinLen("DefineAuthChallenge", 20))
 23803  	}
 23804  	if s.KMSKeyID != nil && len(*s.KMSKeyID) < 20 {
 23805  		invalidParams.Add(request.NewErrParamMinLen("KMSKeyID", 20))
 23806  	}
 23807  	if s.PostAuthentication != nil && len(*s.PostAuthentication) < 20 {
 23808  		invalidParams.Add(request.NewErrParamMinLen("PostAuthentication", 20))
 23809  	}
 23810  	if s.PostConfirmation != nil && len(*s.PostConfirmation) < 20 {
 23811  		invalidParams.Add(request.NewErrParamMinLen("PostConfirmation", 20))
 23812  	}
 23813  	if s.PreAuthentication != nil && len(*s.PreAuthentication) < 20 {
 23814  		invalidParams.Add(request.NewErrParamMinLen("PreAuthentication", 20))
 23815  	}
 23816  	if s.PreSignUp != nil && len(*s.PreSignUp) < 20 {
 23817  		invalidParams.Add(request.NewErrParamMinLen("PreSignUp", 20))
 23818  	}
 23819  	if s.PreTokenGeneration != nil && len(*s.PreTokenGeneration) < 20 {
 23820  		invalidParams.Add(request.NewErrParamMinLen("PreTokenGeneration", 20))
 23821  	}
 23822  	if s.UserMigration != nil && len(*s.UserMigration) < 20 {
 23823  		invalidParams.Add(request.NewErrParamMinLen("UserMigration", 20))
 23824  	}
 23825  	if s.VerifyAuthChallengeResponse != nil && len(*s.VerifyAuthChallengeResponse) < 20 {
 23826  		invalidParams.Add(request.NewErrParamMinLen("VerifyAuthChallengeResponse", 20))
 23827  	}
 23828  	if s.CustomEmailSender != nil {
 23829  		if err := s.CustomEmailSender.Validate(); err != nil {
 23830  			invalidParams.AddNested("CustomEmailSender", err.(request.ErrInvalidParams))
 23831  		}
 23832  	}
 23833  	if s.CustomSMSSender != nil {
 23834  		if err := s.CustomSMSSender.Validate(); err != nil {
 23835  			invalidParams.AddNested("CustomSMSSender", err.(request.ErrInvalidParams))
 23836  		}
 23837  	}
 23838  
 23839  	if invalidParams.Len() > 0 {
 23840  		return invalidParams
 23841  	}
 23842  	return nil
 23843  }
 23844  
 23845  // SetCreateAuthChallenge sets the CreateAuthChallenge field's value.
 23846  func (s *LambdaConfigType) SetCreateAuthChallenge(v string) *LambdaConfigType {
 23847  	s.CreateAuthChallenge = &v
 23848  	return s
 23849  }
 23850  
 23851  // SetCustomEmailSender sets the CustomEmailSender field's value.
 23852  func (s *LambdaConfigType) SetCustomEmailSender(v *CustomEmailLambdaVersionConfigType) *LambdaConfigType {
 23853  	s.CustomEmailSender = v
 23854  	return s
 23855  }
 23856  
 23857  // SetCustomMessage sets the CustomMessage field's value.
 23858  func (s *LambdaConfigType) SetCustomMessage(v string) *LambdaConfigType {
 23859  	s.CustomMessage = &v
 23860  	return s
 23861  }
 23862  
 23863  // SetCustomSMSSender sets the CustomSMSSender field's value.
 23864  func (s *LambdaConfigType) SetCustomSMSSender(v *CustomSMSLambdaVersionConfigType) *LambdaConfigType {
 23865  	s.CustomSMSSender = v
 23866  	return s
 23867  }
 23868  
 23869  // SetDefineAuthChallenge sets the DefineAuthChallenge field's value.
 23870  func (s *LambdaConfigType) SetDefineAuthChallenge(v string) *LambdaConfigType {
 23871  	s.DefineAuthChallenge = &v
 23872  	return s
 23873  }
 23874  
 23875  // SetKMSKeyID sets the KMSKeyID field's value.
 23876  func (s *LambdaConfigType) SetKMSKeyID(v string) *LambdaConfigType {
 23877  	s.KMSKeyID = &v
 23878  	return s
 23879  }
 23880  
 23881  // SetPostAuthentication sets the PostAuthentication field's value.
 23882  func (s *LambdaConfigType) SetPostAuthentication(v string) *LambdaConfigType {
 23883  	s.PostAuthentication = &v
 23884  	return s
 23885  }
 23886  
 23887  // SetPostConfirmation sets the PostConfirmation field's value.
 23888  func (s *LambdaConfigType) SetPostConfirmation(v string) *LambdaConfigType {
 23889  	s.PostConfirmation = &v
 23890  	return s
 23891  }
 23892  
 23893  // SetPreAuthentication sets the PreAuthentication field's value.
 23894  func (s *LambdaConfigType) SetPreAuthentication(v string) *LambdaConfigType {
 23895  	s.PreAuthentication = &v
 23896  	return s
 23897  }
 23898  
 23899  // SetPreSignUp sets the PreSignUp field's value.
 23900  func (s *LambdaConfigType) SetPreSignUp(v string) *LambdaConfigType {
 23901  	s.PreSignUp = &v
 23902  	return s
 23903  }
 23904  
 23905  // SetPreTokenGeneration sets the PreTokenGeneration field's value.
 23906  func (s *LambdaConfigType) SetPreTokenGeneration(v string) *LambdaConfigType {
 23907  	s.PreTokenGeneration = &v
 23908  	return s
 23909  }
 23910  
 23911  // SetUserMigration sets the UserMigration field's value.
 23912  func (s *LambdaConfigType) SetUserMigration(v string) *LambdaConfigType {
 23913  	s.UserMigration = &v
 23914  	return s
 23915  }
 23916  
 23917  // SetVerifyAuthChallengeResponse sets the VerifyAuthChallengeResponse field's value.
 23918  func (s *LambdaConfigType) SetVerifyAuthChallengeResponse(v string) *LambdaConfigType {
 23919  	s.VerifyAuthChallengeResponse = &v
 23920  	return s
 23921  }
 23922  
 23923  // This exception is thrown when a user exceeds the limit for a requested Amazon
 23924  // Web Services resource.
 23925  type LimitExceededException struct {
 23926  	_            struct{}                  `type:"structure"`
 23927  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23928  
 23929  	// The message returned when Amazon Cognito throws a limit exceeded exception.
 23930  	Message_ *string `locationName:"message" type:"string"`
 23931  }
 23932  
 23933  // String returns the string representation.
 23934  //
 23935  // API parameter values that are decorated as "sensitive" in the API will not
 23936  // be included in the string output. The member name will be present, but the
 23937  // value will be replaced with "sensitive".
 23938  func (s LimitExceededException) String() string {
 23939  	return awsutil.Prettify(s)
 23940  }
 23941  
 23942  // GoString returns the string representation.
 23943  //
 23944  // API parameter values that are decorated as "sensitive" in the API will not
 23945  // be included in the string output. The member name will be present, but the
 23946  // value will be replaced with "sensitive".
 23947  func (s LimitExceededException) GoString() string {
 23948  	return s.String()
 23949  }
 23950  
 23951  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 23952  	return &LimitExceededException{
 23953  		RespMetadata: v,
 23954  	}
 23955  }
 23956  
 23957  // Code returns the exception type name.
 23958  func (s *LimitExceededException) Code() string {
 23959  	return "LimitExceededException"
 23960  }
 23961  
 23962  // Message returns the exception's message.
 23963  func (s *LimitExceededException) Message() string {
 23964  	if s.Message_ != nil {
 23965  		return *s.Message_
 23966  	}
 23967  	return ""
 23968  }
 23969  
 23970  // OrigErr always returns nil, satisfies awserr.Error interface.
 23971  func (s *LimitExceededException) OrigErr() error {
 23972  	return nil
 23973  }
 23974  
 23975  func (s *LimitExceededException) Error() string {
 23976  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23977  }
 23978  
 23979  // Status code returns the HTTP status code for the request's response error.
 23980  func (s *LimitExceededException) StatusCode() int {
 23981  	return s.RespMetadata.StatusCode
 23982  }
 23983  
 23984  // RequestID returns the service's response RequestID for request.
 23985  func (s *LimitExceededException) RequestID() string {
 23986  	return s.RespMetadata.RequestID
 23987  }
 23988  
 23989  // Represents the request to list the devices.
 23990  type ListDevicesInput struct {
 23991  	_ struct{} `type:"structure"`
 23992  
 23993  	// The access tokens for the request to list devices.
 23994  	//
 23995  	// AccessToken is a sensitive parameter and its value will be
 23996  	// replaced with "sensitive" in string returned by ListDevicesInput's
 23997  	// String and GoString methods.
 23998  	//
 23999  	// AccessToken is a required field
 24000  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 24001  
 24002  	// The limit of the device request.
 24003  	Limit *int64 `type:"integer"`
 24004  
 24005  	// The pagination token for the list request.
 24006  	PaginationToken *string `min:"1" type:"string"`
 24007  }
 24008  
 24009  // String returns the string representation.
 24010  //
 24011  // API parameter values that are decorated as "sensitive" in the API will not
 24012  // be included in the string output. The member name will be present, but the
 24013  // value will be replaced with "sensitive".
 24014  func (s ListDevicesInput) String() string {
 24015  	return awsutil.Prettify(s)
 24016  }
 24017  
 24018  // GoString returns the string representation.
 24019  //
 24020  // API parameter values that are decorated as "sensitive" in the API will not
 24021  // be included in the string output. The member name will be present, but the
 24022  // value will be replaced with "sensitive".
 24023  func (s ListDevicesInput) GoString() string {
 24024  	return s.String()
 24025  }
 24026  
 24027  // Validate inspects the fields of the type to determine if they are valid.
 24028  func (s *ListDevicesInput) Validate() error {
 24029  	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
 24030  	if s.AccessToken == nil {
 24031  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 24032  	}
 24033  	if s.PaginationToken != nil && len(*s.PaginationToken) < 1 {
 24034  		invalidParams.Add(request.NewErrParamMinLen("PaginationToken", 1))
 24035  	}
 24036  
 24037  	if invalidParams.Len() > 0 {
 24038  		return invalidParams
 24039  	}
 24040  	return nil
 24041  }
 24042  
 24043  // SetAccessToken sets the AccessToken field's value.
 24044  func (s *ListDevicesInput) SetAccessToken(v string) *ListDevicesInput {
 24045  	s.AccessToken = &v
 24046  	return s
 24047  }
 24048  
 24049  // SetLimit sets the Limit field's value.
 24050  func (s *ListDevicesInput) SetLimit(v int64) *ListDevicesInput {
 24051  	s.Limit = &v
 24052  	return s
 24053  }
 24054  
 24055  // SetPaginationToken sets the PaginationToken field's value.
 24056  func (s *ListDevicesInput) SetPaginationToken(v string) *ListDevicesInput {
 24057  	s.PaginationToken = &v
 24058  	return s
 24059  }
 24060  
 24061  // Represents the response to list devices.
 24062  type ListDevicesOutput struct {
 24063  	_ struct{} `type:"structure"`
 24064  
 24065  	// The devices returned in the list devices response.
 24066  	Devices []*DeviceType `type:"list"`
 24067  
 24068  	// The pagination token for the list device response.
 24069  	PaginationToken *string `min:"1" type:"string"`
 24070  }
 24071  
 24072  // String returns the string representation.
 24073  //
 24074  // API parameter values that are decorated as "sensitive" in the API will not
 24075  // be included in the string output. The member name will be present, but the
 24076  // value will be replaced with "sensitive".
 24077  func (s ListDevicesOutput) String() string {
 24078  	return awsutil.Prettify(s)
 24079  }
 24080  
 24081  // GoString returns the string representation.
 24082  //
 24083  // API parameter values that are decorated as "sensitive" in the API will not
 24084  // be included in the string output. The member name will be present, but the
 24085  // value will be replaced with "sensitive".
 24086  func (s ListDevicesOutput) GoString() string {
 24087  	return s.String()
 24088  }
 24089  
 24090  // SetDevices sets the Devices field's value.
 24091  func (s *ListDevicesOutput) SetDevices(v []*DeviceType) *ListDevicesOutput {
 24092  	s.Devices = v
 24093  	return s
 24094  }
 24095  
 24096  // SetPaginationToken sets the PaginationToken field's value.
 24097  func (s *ListDevicesOutput) SetPaginationToken(v string) *ListDevicesOutput {
 24098  	s.PaginationToken = &v
 24099  	return s
 24100  }
 24101  
 24102  type ListGroupsInput struct {
 24103  	_ struct{} `type:"structure"`
 24104  
 24105  	// The limit of the request to list groups.
 24106  	Limit *int64 `type:"integer"`
 24107  
 24108  	// An identifier that was returned from the previous call to this operation,
 24109  	// which can be used to return the next set of items in the list.
 24110  	NextToken *string `min:"1" type:"string"`
 24111  
 24112  	// The user pool ID for the user pool.
 24113  	//
 24114  	// UserPoolId is a required field
 24115  	UserPoolId *string `min:"1" type:"string" required:"true"`
 24116  }
 24117  
 24118  // String returns the string representation.
 24119  //
 24120  // API parameter values that are decorated as "sensitive" in the API will not
 24121  // be included in the string output. The member name will be present, but the
 24122  // value will be replaced with "sensitive".
 24123  func (s ListGroupsInput) String() string {
 24124  	return awsutil.Prettify(s)
 24125  }
 24126  
 24127  // GoString returns the string representation.
 24128  //
 24129  // API parameter values that are decorated as "sensitive" in the API will not
 24130  // be included in the string output. The member name will be present, but the
 24131  // value will be replaced with "sensitive".
 24132  func (s ListGroupsInput) GoString() string {
 24133  	return s.String()
 24134  }
 24135  
 24136  // Validate inspects the fields of the type to determine if they are valid.
 24137  func (s *ListGroupsInput) Validate() error {
 24138  	invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"}
 24139  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24140  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24141  	}
 24142  	if s.UserPoolId == nil {
 24143  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 24144  	}
 24145  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 24146  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 24147  	}
 24148  
 24149  	if invalidParams.Len() > 0 {
 24150  		return invalidParams
 24151  	}
 24152  	return nil
 24153  }
 24154  
 24155  // SetLimit sets the Limit field's value.
 24156  func (s *ListGroupsInput) SetLimit(v int64) *ListGroupsInput {
 24157  	s.Limit = &v
 24158  	return s
 24159  }
 24160  
 24161  // SetNextToken sets the NextToken field's value.
 24162  func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput {
 24163  	s.NextToken = &v
 24164  	return s
 24165  }
 24166  
 24167  // SetUserPoolId sets the UserPoolId field's value.
 24168  func (s *ListGroupsInput) SetUserPoolId(v string) *ListGroupsInput {
 24169  	s.UserPoolId = &v
 24170  	return s
 24171  }
 24172  
 24173  type ListGroupsOutput struct {
 24174  	_ struct{} `type:"structure"`
 24175  
 24176  	// The group objects for the groups.
 24177  	Groups []*GroupType `type:"list"`
 24178  
 24179  	// An identifier that was returned from the previous call to this operation,
 24180  	// which can be used to return the next set of items in the list.
 24181  	NextToken *string `min:"1" type:"string"`
 24182  }
 24183  
 24184  // String returns the string representation.
 24185  //
 24186  // API parameter values that are decorated as "sensitive" in the API will not
 24187  // be included in the string output. The member name will be present, but the
 24188  // value will be replaced with "sensitive".
 24189  func (s ListGroupsOutput) String() string {
 24190  	return awsutil.Prettify(s)
 24191  }
 24192  
 24193  // GoString returns the string representation.
 24194  //
 24195  // API parameter values that are decorated as "sensitive" in the API will not
 24196  // be included in the string output. The member name will be present, but the
 24197  // value will be replaced with "sensitive".
 24198  func (s ListGroupsOutput) GoString() string {
 24199  	return s.String()
 24200  }
 24201  
 24202  // SetGroups sets the Groups field's value.
 24203  func (s *ListGroupsOutput) SetGroups(v []*GroupType) *ListGroupsOutput {
 24204  	s.Groups = v
 24205  	return s
 24206  }
 24207  
 24208  // SetNextToken sets the NextToken field's value.
 24209  func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput {
 24210  	s.NextToken = &v
 24211  	return s
 24212  }
 24213  
 24214  type ListIdentityProvidersInput struct {
 24215  	_ struct{} `type:"structure"`
 24216  
 24217  	// The maximum number of identity providers to return.
 24218  	MaxResults *int64 `type:"integer"`
 24219  
 24220  	// A pagination token.
 24221  	NextToken *string `min:"1" type:"string"`
 24222  
 24223  	// The user pool ID.
 24224  	//
 24225  	// UserPoolId is a required field
 24226  	UserPoolId *string `min:"1" type:"string" required:"true"`
 24227  }
 24228  
 24229  // String returns the string representation.
 24230  //
 24231  // API parameter values that are decorated as "sensitive" in the API will not
 24232  // be included in the string output. The member name will be present, but the
 24233  // value will be replaced with "sensitive".
 24234  func (s ListIdentityProvidersInput) String() string {
 24235  	return awsutil.Prettify(s)
 24236  }
 24237  
 24238  // GoString returns the string representation.
 24239  //
 24240  // API parameter values that are decorated as "sensitive" in the API will not
 24241  // be included in the string output. The member name will be present, but the
 24242  // value will be replaced with "sensitive".
 24243  func (s ListIdentityProvidersInput) GoString() string {
 24244  	return s.String()
 24245  }
 24246  
 24247  // Validate inspects the fields of the type to determine if they are valid.
 24248  func (s *ListIdentityProvidersInput) Validate() error {
 24249  	invalidParams := request.ErrInvalidParams{Context: "ListIdentityProvidersInput"}
 24250  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24251  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24252  	}
 24253  	if s.UserPoolId == nil {
 24254  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 24255  	}
 24256  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 24257  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 24258  	}
 24259  
 24260  	if invalidParams.Len() > 0 {
 24261  		return invalidParams
 24262  	}
 24263  	return nil
 24264  }
 24265  
 24266  // SetMaxResults sets the MaxResults field's value.
 24267  func (s *ListIdentityProvidersInput) SetMaxResults(v int64) *ListIdentityProvidersInput {
 24268  	s.MaxResults = &v
 24269  	return s
 24270  }
 24271  
 24272  // SetNextToken sets the NextToken field's value.
 24273  func (s *ListIdentityProvidersInput) SetNextToken(v string) *ListIdentityProvidersInput {
 24274  	s.NextToken = &v
 24275  	return s
 24276  }
 24277  
 24278  // SetUserPoolId sets the UserPoolId field's value.
 24279  func (s *ListIdentityProvidersInput) SetUserPoolId(v string) *ListIdentityProvidersInput {
 24280  	s.UserPoolId = &v
 24281  	return s
 24282  }
 24283  
 24284  type ListIdentityProvidersOutput struct {
 24285  	_ struct{} `type:"structure"`
 24286  
 24287  	// A pagination token.
 24288  	NextToken *string `min:"1" type:"string"`
 24289  
 24290  	// A list of identity provider objects.
 24291  	//
 24292  	// Providers is a required field
 24293  	Providers []*ProviderDescription `type:"list" required:"true"`
 24294  }
 24295  
 24296  // String returns the string representation.
 24297  //
 24298  // API parameter values that are decorated as "sensitive" in the API will not
 24299  // be included in the string output. The member name will be present, but the
 24300  // value will be replaced with "sensitive".
 24301  func (s ListIdentityProvidersOutput) String() string {
 24302  	return awsutil.Prettify(s)
 24303  }
 24304  
 24305  // GoString returns the string representation.
 24306  //
 24307  // API parameter values that are decorated as "sensitive" in the API will not
 24308  // be included in the string output. The member name will be present, but the
 24309  // value will be replaced with "sensitive".
 24310  func (s ListIdentityProvidersOutput) GoString() string {
 24311  	return s.String()
 24312  }
 24313  
 24314  // SetNextToken sets the NextToken field's value.
 24315  func (s *ListIdentityProvidersOutput) SetNextToken(v string) *ListIdentityProvidersOutput {
 24316  	s.NextToken = &v
 24317  	return s
 24318  }
 24319  
 24320  // SetProviders sets the Providers field's value.
 24321  func (s *ListIdentityProvidersOutput) SetProviders(v []*ProviderDescription) *ListIdentityProvidersOutput {
 24322  	s.Providers = v
 24323  	return s
 24324  }
 24325  
 24326  type ListResourceServersInput struct {
 24327  	_ struct{} `type:"structure"`
 24328  
 24329  	// The maximum number of resource servers to return.
 24330  	MaxResults *int64 `min:"1" type:"integer"`
 24331  
 24332  	// A pagination token.
 24333  	NextToken *string `min:"1" type:"string"`
 24334  
 24335  	// The user pool ID for the user pool.
 24336  	//
 24337  	// UserPoolId is a required field
 24338  	UserPoolId *string `min:"1" type:"string" required:"true"`
 24339  }
 24340  
 24341  // String returns the string representation.
 24342  //
 24343  // API parameter values that are decorated as "sensitive" in the API will not
 24344  // be included in the string output. The member name will be present, but the
 24345  // value will be replaced with "sensitive".
 24346  func (s ListResourceServersInput) String() string {
 24347  	return awsutil.Prettify(s)
 24348  }
 24349  
 24350  // GoString returns the string representation.
 24351  //
 24352  // API parameter values that are decorated as "sensitive" in the API will not
 24353  // be included in the string output. The member name will be present, but the
 24354  // value will be replaced with "sensitive".
 24355  func (s ListResourceServersInput) GoString() string {
 24356  	return s.String()
 24357  }
 24358  
 24359  // Validate inspects the fields of the type to determine if they are valid.
 24360  func (s *ListResourceServersInput) Validate() error {
 24361  	invalidParams := request.ErrInvalidParams{Context: "ListResourceServersInput"}
 24362  	if s.MaxResults != nil && *s.MaxResults < 1 {
 24363  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 24364  	}
 24365  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24366  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24367  	}
 24368  	if s.UserPoolId == nil {
 24369  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 24370  	}
 24371  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 24372  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 24373  	}
 24374  
 24375  	if invalidParams.Len() > 0 {
 24376  		return invalidParams
 24377  	}
 24378  	return nil
 24379  }
 24380  
 24381  // SetMaxResults sets the MaxResults field's value.
 24382  func (s *ListResourceServersInput) SetMaxResults(v int64) *ListResourceServersInput {
 24383  	s.MaxResults = &v
 24384  	return s
 24385  }
 24386  
 24387  // SetNextToken sets the NextToken field's value.
 24388  func (s *ListResourceServersInput) SetNextToken(v string) *ListResourceServersInput {
 24389  	s.NextToken = &v
 24390  	return s
 24391  }
 24392  
 24393  // SetUserPoolId sets the UserPoolId field's value.
 24394  func (s *ListResourceServersInput) SetUserPoolId(v string) *ListResourceServersInput {
 24395  	s.UserPoolId = &v
 24396  	return s
 24397  }
 24398  
 24399  type ListResourceServersOutput struct {
 24400  	_ struct{} `type:"structure"`
 24401  
 24402  	// A pagination token.
 24403  	NextToken *string `min:"1" type:"string"`
 24404  
 24405  	// The resource servers.
 24406  	//
 24407  	// ResourceServers is a required field
 24408  	ResourceServers []*ResourceServerType `type:"list" required:"true"`
 24409  }
 24410  
 24411  // String returns the string representation.
 24412  //
 24413  // API parameter values that are decorated as "sensitive" in the API will not
 24414  // be included in the string output. The member name will be present, but the
 24415  // value will be replaced with "sensitive".
 24416  func (s ListResourceServersOutput) String() string {
 24417  	return awsutil.Prettify(s)
 24418  }
 24419  
 24420  // GoString returns the string representation.
 24421  //
 24422  // API parameter values that are decorated as "sensitive" in the API will not
 24423  // be included in the string output. The member name will be present, but the
 24424  // value will be replaced with "sensitive".
 24425  func (s ListResourceServersOutput) GoString() string {
 24426  	return s.String()
 24427  }
 24428  
 24429  // SetNextToken sets the NextToken field's value.
 24430  func (s *ListResourceServersOutput) SetNextToken(v string) *ListResourceServersOutput {
 24431  	s.NextToken = &v
 24432  	return s
 24433  }
 24434  
 24435  // SetResourceServers sets the ResourceServers field's value.
 24436  func (s *ListResourceServersOutput) SetResourceServers(v []*ResourceServerType) *ListResourceServersOutput {
 24437  	s.ResourceServers = v
 24438  	return s
 24439  }
 24440  
 24441  type ListTagsForResourceInput struct {
 24442  	_ struct{} `type:"structure"`
 24443  
 24444  	// The Amazon Resource Name (ARN) of the user pool that the tags are assigned
 24445  	// to.
 24446  	//
 24447  	// ResourceArn is a required field
 24448  	ResourceArn *string `min:"20" type:"string" required:"true"`
 24449  }
 24450  
 24451  // String returns the string representation.
 24452  //
 24453  // API parameter values that are decorated as "sensitive" in the API will not
 24454  // be included in the string output. The member name will be present, but the
 24455  // value will be replaced with "sensitive".
 24456  func (s ListTagsForResourceInput) String() string {
 24457  	return awsutil.Prettify(s)
 24458  }
 24459  
 24460  // GoString returns the string representation.
 24461  //
 24462  // API parameter values that are decorated as "sensitive" in the API will not
 24463  // be included in the string output. The member name will be present, but the
 24464  // value will be replaced with "sensitive".
 24465  func (s ListTagsForResourceInput) GoString() string {
 24466  	return s.String()
 24467  }
 24468  
 24469  // Validate inspects the fields of the type to determine if they are valid.
 24470  func (s *ListTagsForResourceInput) Validate() error {
 24471  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 24472  	if s.ResourceArn == nil {
 24473  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 24474  	}
 24475  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 24476  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 24477  	}
 24478  
 24479  	if invalidParams.Len() > 0 {
 24480  		return invalidParams
 24481  	}
 24482  	return nil
 24483  }
 24484  
 24485  // SetResourceArn sets the ResourceArn field's value.
 24486  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 24487  	s.ResourceArn = &v
 24488  	return s
 24489  }
 24490  
 24491  type ListTagsForResourceOutput struct {
 24492  	_ struct{} `type:"structure"`
 24493  
 24494  	// The tags that are assigned to the user pool.
 24495  	Tags map[string]*string `type:"map"`
 24496  }
 24497  
 24498  // String returns the string representation.
 24499  //
 24500  // API parameter values that are decorated as "sensitive" in the API will not
 24501  // be included in the string output. The member name will be present, but the
 24502  // value will be replaced with "sensitive".
 24503  func (s ListTagsForResourceOutput) String() string {
 24504  	return awsutil.Prettify(s)
 24505  }
 24506  
 24507  // GoString returns the string representation.
 24508  //
 24509  // API parameter values that are decorated as "sensitive" in the API will not
 24510  // be included in the string output. The member name will be present, but the
 24511  // value will be replaced with "sensitive".
 24512  func (s ListTagsForResourceOutput) GoString() string {
 24513  	return s.String()
 24514  }
 24515  
 24516  // SetTags sets the Tags field's value.
 24517  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 24518  	s.Tags = v
 24519  	return s
 24520  }
 24521  
 24522  // Represents the request to list the user import jobs.
 24523  type ListUserImportJobsInput struct {
 24524  	_ struct{} `type:"structure"`
 24525  
 24526  	// The maximum number of import jobs you want the request to return.
 24527  	//
 24528  	// MaxResults is a required field
 24529  	MaxResults *int64 `min:"1" type:"integer" required:"true"`
 24530  
 24531  	// An identifier that was returned from the previous call to ListUserImportJobs,
 24532  	// which can be used to return the next set of import jobs in the list.
 24533  	PaginationToken *string `min:"1" type:"string"`
 24534  
 24535  	// The user pool ID for the user pool that the users are being imported into.
 24536  	//
 24537  	// UserPoolId is a required field
 24538  	UserPoolId *string `min:"1" type:"string" required:"true"`
 24539  }
 24540  
 24541  // String returns the string representation.
 24542  //
 24543  // API parameter values that are decorated as "sensitive" in the API will not
 24544  // be included in the string output. The member name will be present, but the
 24545  // value will be replaced with "sensitive".
 24546  func (s ListUserImportJobsInput) String() string {
 24547  	return awsutil.Prettify(s)
 24548  }
 24549  
 24550  // GoString returns the string representation.
 24551  //
 24552  // API parameter values that are decorated as "sensitive" in the API will not
 24553  // be included in the string output. The member name will be present, but the
 24554  // value will be replaced with "sensitive".
 24555  func (s ListUserImportJobsInput) GoString() string {
 24556  	return s.String()
 24557  }
 24558  
 24559  // Validate inspects the fields of the type to determine if they are valid.
 24560  func (s *ListUserImportJobsInput) Validate() error {
 24561  	invalidParams := request.ErrInvalidParams{Context: "ListUserImportJobsInput"}
 24562  	if s.MaxResults == nil {
 24563  		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
 24564  	}
 24565  	if s.MaxResults != nil && *s.MaxResults < 1 {
 24566  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 24567  	}
 24568  	if s.PaginationToken != nil && len(*s.PaginationToken) < 1 {
 24569  		invalidParams.Add(request.NewErrParamMinLen("PaginationToken", 1))
 24570  	}
 24571  	if s.UserPoolId == nil {
 24572  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 24573  	}
 24574  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 24575  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 24576  	}
 24577  
 24578  	if invalidParams.Len() > 0 {
 24579  		return invalidParams
 24580  	}
 24581  	return nil
 24582  }
 24583  
 24584  // SetMaxResults sets the MaxResults field's value.
 24585  func (s *ListUserImportJobsInput) SetMaxResults(v int64) *ListUserImportJobsInput {
 24586  	s.MaxResults = &v
 24587  	return s
 24588  }
 24589  
 24590  // SetPaginationToken sets the PaginationToken field's value.
 24591  func (s *ListUserImportJobsInput) SetPaginationToken(v string) *ListUserImportJobsInput {
 24592  	s.PaginationToken = &v
 24593  	return s
 24594  }
 24595  
 24596  // SetUserPoolId sets the UserPoolId field's value.
 24597  func (s *ListUserImportJobsInput) SetUserPoolId(v string) *ListUserImportJobsInput {
 24598  	s.UserPoolId = &v
 24599  	return s
 24600  }
 24601  
 24602  // Represents the response from the server to the request to list the user import
 24603  // jobs.
 24604  type ListUserImportJobsOutput struct {
 24605  	_ struct{} `type:"structure"`
 24606  
 24607  	// An identifier that can be used to return the next set of user import jobs
 24608  	// in the list.
 24609  	PaginationToken *string `min:"1" type:"string"`
 24610  
 24611  	// The user import jobs.
 24612  	UserImportJobs []*UserImportJobType `min:"1" type:"list"`
 24613  }
 24614  
 24615  // String returns the string representation.
 24616  //
 24617  // API parameter values that are decorated as "sensitive" in the API will not
 24618  // be included in the string output. The member name will be present, but the
 24619  // value will be replaced with "sensitive".
 24620  func (s ListUserImportJobsOutput) String() string {
 24621  	return awsutil.Prettify(s)
 24622  }
 24623  
 24624  // GoString returns the string representation.
 24625  //
 24626  // API parameter values that are decorated as "sensitive" in the API will not
 24627  // be included in the string output. The member name will be present, but the
 24628  // value will be replaced with "sensitive".
 24629  func (s ListUserImportJobsOutput) GoString() string {
 24630  	return s.String()
 24631  }
 24632  
 24633  // SetPaginationToken sets the PaginationToken field's value.
 24634  func (s *ListUserImportJobsOutput) SetPaginationToken(v string) *ListUserImportJobsOutput {
 24635  	s.PaginationToken = &v
 24636  	return s
 24637  }
 24638  
 24639  // SetUserImportJobs sets the UserImportJobs field's value.
 24640  func (s *ListUserImportJobsOutput) SetUserImportJobs(v []*UserImportJobType) *ListUserImportJobsOutput {
 24641  	s.UserImportJobs = v
 24642  	return s
 24643  }
 24644  
 24645  // Represents the request to list the user pool clients.
 24646  type ListUserPoolClientsInput struct {
 24647  	_ struct{} `type:"structure"`
 24648  
 24649  	// The maximum number of results you want the request to return when listing
 24650  	// the user pool clients.
 24651  	MaxResults *int64 `min:"1" type:"integer"`
 24652  
 24653  	// An identifier that was returned from the previous call to this operation,
 24654  	// which can be used to return the next set of items in the list.
 24655  	NextToken *string `min:"1" type:"string"`
 24656  
 24657  	// The user pool ID for the user pool where you want to list user pool clients.
 24658  	//
 24659  	// UserPoolId is a required field
 24660  	UserPoolId *string `min:"1" type:"string" required:"true"`
 24661  }
 24662  
 24663  // String returns the string representation.
 24664  //
 24665  // API parameter values that are decorated as "sensitive" in the API will not
 24666  // be included in the string output. The member name will be present, but the
 24667  // value will be replaced with "sensitive".
 24668  func (s ListUserPoolClientsInput) String() string {
 24669  	return awsutil.Prettify(s)
 24670  }
 24671  
 24672  // GoString returns the string representation.
 24673  //
 24674  // API parameter values that are decorated as "sensitive" in the API will not
 24675  // be included in the string output. The member name will be present, but the
 24676  // value will be replaced with "sensitive".
 24677  func (s ListUserPoolClientsInput) GoString() string {
 24678  	return s.String()
 24679  }
 24680  
 24681  // Validate inspects the fields of the type to determine if they are valid.
 24682  func (s *ListUserPoolClientsInput) Validate() error {
 24683  	invalidParams := request.ErrInvalidParams{Context: "ListUserPoolClientsInput"}
 24684  	if s.MaxResults != nil && *s.MaxResults < 1 {
 24685  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 24686  	}
 24687  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24688  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24689  	}
 24690  	if s.UserPoolId == nil {
 24691  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 24692  	}
 24693  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 24694  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 24695  	}
 24696  
 24697  	if invalidParams.Len() > 0 {
 24698  		return invalidParams
 24699  	}
 24700  	return nil
 24701  }
 24702  
 24703  // SetMaxResults sets the MaxResults field's value.
 24704  func (s *ListUserPoolClientsInput) SetMaxResults(v int64) *ListUserPoolClientsInput {
 24705  	s.MaxResults = &v
 24706  	return s
 24707  }
 24708  
 24709  // SetNextToken sets the NextToken field's value.
 24710  func (s *ListUserPoolClientsInput) SetNextToken(v string) *ListUserPoolClientsInput {
 24711  	s.NextToken = &v
 24712  	return s
 24713  }
 24714  
 24715  // SetUserPoolId sets the UserPoolId field's value.
 24716  func (s *ListUserPoolClientsInput) SetUserPoolId(v string) *ListUserPoolClientsInput {
 24717  	s.UserPoolId = &v
 24718  	return s
 24719  }
 24720  
 24721  // Represents the response from the server that lists user pool clients.
 24722  type ListUserPoolClientsOutput struct {
 24723  	_ struct{} `type:"structure"`
 24724  
 24725  	// An identifier that was returned from the previous call to this operation,
 24726  	// which can be used to return the next set of items in the list.
 24727  	NextToken *string `min:"1" type:"string"`
 24728  
 24729  	// The user pool clients in the response that lists user pool clients.
 24730  	UserPoolClients []*UserPoolClientDescription `type:"list"`
 24731  }
 24732  
 24733  // String returns the string representation.
 24734  //
 24735  // API parameter values that are decorated as "sensitive" in the API will not
 24736  // be included in the string output. The member name will be present, but the
 24737  // value will be replaced with "sensitive".
 24738  func (s ListUserPoolClientsOutput) String() string {
 24739  	return awsutil.Prettify(s)
 24740  }
 24741  
 24742  // GoString returns the string representation.
 24743  //
 24744  // API parameter values that are decorated as "sensitive" in the API will not
 24745  // be included in the string output. The member name will be present, but the
 24746  // value will be replaced with "sensitive".
 24747  func (s ListUserPoolClientsOutput) GoString() string {
 24748  	return s.String()
 24749  }
 24750  
 24751  // SetNextToken sets the NextToken field's value.
 24752  func (s *ListUserPoolClientsOutput) SetNextToken(v string) *ListUserPoolClientsOutput {
 24753  	s.NextToken = &v
 24754  	return s
 24755  }
 24756  
 24757  // SetUserPoolClients sets the UserPoolClients field's value.
 24758  func (s *ListUserPoolClientsOutput) SetUserPoolClients(v []*UserPoolClientDescription) *ListUserPoolClientsOutput {
 24759  	s.UserPoolClients = v
 24760  	return s
 24761  }
 24762  
 24763  // Represents the request to list user pools.
 24764  type ListUserPoolsInput struct {
 24765  	_ struct{} `type:"structure"`
 24766  
 24767  	// The maximum number of results you want the request to return when listing
 24768  	// the user pools.
 24769  	//
 24770  	// MaxResults is a required field
 24771  	MaxResults *int64 `min:"1" type:"integer" required:"true"`
 24772  
 24773  	// An identifier that was returned from the previous call to this operation,
 24774  	// which can be used to return the next set of items in the list.
 24775  	NextToken *string `min:"1" type:"string"`
 24776  }
 24777  
 24778  // String returns the string representation.
 24779  //
 24780  // API parameter values that are decorated as "sensitive" in the API will not
 24781  // be included in the string output. The member name will be present, but the
 24782  // value will be replaced with "sensitive".
 24783  func (s ListUserPoolsInput) String() string {
 24784  	return awsutil.Prettify(s)
 24785  }
 24786  
 24787  // GoString returns the string representation.
 24788  //
 24789  // API parameter values that are decorated as "sensitive" in the API will not
 24790  // be included in the string output. The member name will be present, but the
 24791  // value will be replaced with "sensitive".
 24792  func (s ListUserPoolsInput) GoString() string {
 24793  	return s.String()
 24794  }
 24795  
 24796  // Validate inspects the fields of the type to determine if they are valid.
 24797  func (s *ListUserPoolsInput) Validate() error {
 24798  	invalidParams := request.ErrInvalidParams{Context: "ListUserPoolsInput"}
 24799  	if s.MaxResults == nil {
 24800  		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
 24801  	}
 24802  	if s.MaxResults != nil && *s.MaxResults < 1 {
 24803  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 24804  	}
 24805  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24806  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24807  	}
 24808  
 24809  	if invalidParams.Len() > 0 {
 24810  		return invalidParams
 24811  	}
 24812  	return nil
 24813  }
 24814  
 24815  // SetMaxResults sets the MaxResults field's value.
 24816  func (s *ListUserPoolsInput) SetMaxResults(v int64) *ListUserPoolsInput {
 24817  	s.MaxResults = &v
 24818  	return s
 24819  }
 24820  
 24821  // SetNextToken sets the NextToken field's value.
 24822  func (s *ListUserPoolsInput) SetNextToken(v string) *ListUserPoolsInput {
 24823  	s.NextToken = &v
 24824  	return s
 24825  }
 24826  
 24827  // Represents the response to list user pools.
 24828  type ListUserPoolsOutput struct {
 24829  	_ struct{} `type:"structure"`
 24830  
 24831  	// An identifier that was returned from the previous call to this operation,
 24832  	// which can be used to return the next set of items in the list.
 24833  	NextToken *string `min:"1" type:"string"`
 24834  
 24835  	// The user pools from the response to list users.
 24836  	UserPools []*UserPoolDescriptionType `type:"list"`
 24837  }
 24838  
 24839  // String returns the string representation.
 24840  //
 24841  // API parameter values that are decorated as "sensitive" in the API will not
 24842  // be included in the string output. The member name will be present, but the
 24843  // value will be replaced with "sensitive".
 24844  func (s ListUserPoolsOutput) String() string {
 24845  	return awsutil.Prettify(s)
 24846  }
 24847  
 24848  // GoString returns the string representation.
 24849  //
 24850  // API parameter values that are decorated as "sensitive" in the API will not
 24851  // be included in the string output. The member name will be present, but the
 24852  // value will be replaced with "sensitive".
 24853  func (s ListUserPoolsOutput) GoString() string {
 24854  	return s.String()
 24855  }
 24856  
 24857  // SetNextToken sets the NextToken field's value.
 24858  func (s *ListUserPoolsOutput) SetNextToken(v string) *ListUserPoolsOutput {
 24859  	s.NextToken = &v
 24860  	return s
 24861  }
 24862  
 24863  // SetUserPools sets the UserPools field's value.
 24864  func (s *ListUserPoolsOutput) SetUserPools(v []*UserPoolDescriptionType) *ListUserPoolsOutput {
 24865  	s.UserPools = v
 24866  	return s
 24867  }
 24868  
 24869  type ListUsersInGroupInput struct {
 24870  	_ struct{} `type:"structure"`
 24871  
 24872  	// The name of the group.
 24873  	//
 24874  	// GroupName is a required field
 24875  	GroupName *string `min:"1" type:"string" required:"true"`
 24876  
 24877  	// The limit of the request to list users.
 24878  	Limit *int64 `type:"integer"`
 24879  
 24880  	// An identifier that was returned from the previous call to this operation,
 24881  	// which can be used to return the next set of items in the list.
 24882  	NextToken *string `min:"1" type:"string"`
 24883  
 24884  	// The user pool ID for the user pool.
 24885  	//
 24886  	// UserPoolId is a required field
 24887  	UserPoolId *string `min:"1" type:"string" required:"true"`
 24888  }
 24889  
 24890  // String returns the string representation.
 24891  //
 24892  // API parameter values that are decorated as "sensitive" in the API will not
 24893  // be included in the string output. The member name will be present, but the
 24894  // value will be replaced with "sensitive".
 24895  func (s ListUsersInGroupInput) String() string {
 24896  	return awsutil.Prettify(s)
 24897  }
 24898  
 24899  // GoString returns the string representation.
 24900  //
 24901  // API parameter values that are decorated as "sensitive" in the API will not
 24902  // be included in the string output. The member name will be present, but the
 24903  // value will be replaced with "sensitive".
 24904  func (s ListUsersInGroupInput) GoString() string {
 24905  	return s.String()
 24906  }
 24907  
 24908  // Validate inspects the fields of the type to determine if they are valid.
 24909  func (s *ListUsersInGroupInput) Validate() error {
 24910  	invalidParams := request.ErrInvalidParams{Context: "ListUsersInGroupInput"}
 24911  	if s.GroupName == nil {
 24912  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 24913  	}
 24914  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 24915  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 24916  	}
 24917  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24918  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24919  	}
 24920  	if s.UserPoolId == nil {
 24921  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 24922  	}
 24923  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 24924  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 24925  	}
 24926  
 24927  	if invalidParams.Len() > 0 {
 24928  		return invalidParams
 24929  	}
 24930  	return nil
 24931  }
 24932  
 24933  // SetGroupName sets the GroupName field's value.
 24934  func (s *ListUsersInGroupInput) SetGroupName(v string) *ListUsersInGroupInput {
 24935  	s.GroupName = &v
 24936  	return s
 24937  }
 24938  
 24939  // SetLimit sets the Limit field's value.
 24940  func (s *ListUsersInGroupInput) SetLimit(v int64) *ListUsersInGroupInput {
 24941  	s.Limit = &v
 24942  	return s
 24943  }
 24944  
 24945  // SetNextToken sets the NextToken field's value.
 24946  func (s *ListUsersInGroupInput) SetNextToken(v string) *ListUsersInGroupInput {
 24947  	s.NextToken = &v
 24948  	return s
 24949  }
 24950  
 24951  // SetUserPoolId sets the UserPoolId field's value.
 24952  func (s *ListUsersInGroupInput) SetUserPoolId(v string) *ListUsersInGroupInput {
 24953  	s.UserPoolId = &v
 24954  	return s
 24955  }
 24956  
 24957  type ListUsersInGroupOutput struct {
 24958  	_ struct{} `type:"structure"`
 24959  
 24960  	// An identifier that was returned from the previous call to this operation,
 24961  	// which can be used to return the next set of items in the list.
 24962  	NextToken *string `min:"1" type:"string"`
 24963  
 24964  	// The users returned in the request to list users.
 24965  	Users []*UserType `type:"list"`
 24966  }
 24967  
 24968  // String returns the string representation.
 24969  //
 24970  // API parameter values that are decorated as "sensitive" in the API will not
 24971  // be included in the string output. The member name will be present, but the
 24972  // value will be replaced with "sensitive".
 24973  func (s ListUsersInGroupOutput) String() string {
 24974  	return awsutil.Prettify(s)
 24975  }
 24976  
 24977  // GoString returns the string representation.
 24978  //
 24979  // API parameter values that are decorated as "sensitive" in the API will not
 24980  // be included in the string output. The member name will be present, but the
 24981  // value will be replaced with "sensitive".
 24982  func (s ListUsersInGroupOutput) GoString() string {
 24983  	return s.String()
 24984  }
 24985  
 24986  // SetNextToken sets the NextToken field's value.
 24987  func (s *ListUsersInGroupOutput) SetNextToken(v string) *ListUsersInGroupOutput {
 24988  	s.NextToken = &v
 24989  	return s
 24990  }
 24991  
 24992  // SetUsers sets the Users field's value.
 24993  func (s *ListUsersInGroupOutput) SetUsers(v []*UserType) *ListUsersInGroupOutput {
 24994  	s.Users = v
 24995  	return s
 24996  }
 24997  
 24998  // Represents the request to list users.
 24999  type ListUsersInput struct {
 25000  	_ struct{} `type:"structure"`
 25001  
 25002  	// An array of strings, where each string is the name of a user attribute to
 25003  	// be returned for each user in the search results. If the array is null, all
 25004  	// attributes are returned.
 25005  	AttributesToGet []*string `type:"list"`
 25006  
 25007  	// A filter string of the form "AttributeName Filter-Type "AttributeValue"".
 25008  	// Quotation marks within the filter string must be escaped using the backslash
 25009  	// (\) character. For example, "family_name = \"Reddy\"".
 25010  	//
 25011  	//    * AttributeName: The name of the attribute to search for. You can only
 25012  	//    search for one attribute at a time.
 25013  	//
 25014  	//    * Filter-Type: For an exact match, use =, for example, "given_name = \"Jon\"".
 25015  	//    For a prefix ("starts with") match, use ^=, for example, "given_name ^=
 25016  	//    \"Jon\"".
 25017  	//
 25018  	//    * AttributeValue: The attribute value that must be matched for each user.
 25019  	//
 25020  	// If the filter string is empty, ListUsers returns all users in the user pool.
 25021  	//
 25022  	// You can only search for the following standard attributes:
 25023  	//
 25024  	//    * username (case-sensitive)
 25025  	//
 25026  	//    * email
 25027  	//
 25028  	//    * phone_number
 25029  	//
 25030  	//    * name
 25031  	//
 25032  	//    * given_name
 25033  	//
 25034  	//    * family_name
 25035  	//
 25036  	//    * preferred_username
 25037  	//
 25038  	//    * cognito:user_status (called Status in the Console) (case-insensitive)
 25039  	//
 25040  	//    * status (called Enabled in the Console) (case-sensitive)
 25041  	//
 25042  	//    * sub
 25043  	//
 25044  	// Custom attributes are not searchable.
 25045  	//
 25046  	// For more information, see Searching for Users Using the ListUsers API (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-using-listusers-api)
 25047  	// and Examples of Using the ListUsers API (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-listusers-api-examples)
 25048  	// in the Amazon Cognito Developer Guide.
 25049  	Filter *string `type:"string"`
 25050  
 25051  	// Maximum number of users to be returned.
 25052  	Limit *int64 `type:"integer"`
 25053  
 25054  	// An identifier that was returned from the previous call to this operation,
 25055  	// which can be used to return the next set of items in the list.
 25056  	PaginationToken *string `min:"1" type:"string"`
 25057  
 25058  	// The user pool ID for the user pool on which the search should be performed.
 25059  	//
 25060  	// UserPoolId is a required field
 25061  	UserPoolId *string `min:"1" type:"string" required:"true"`
 25062  }
 25063  
 25064  // String returns the string representation.
 25065  //
 25066  // API parameter values that are decorated as "sensitive" in the API will not
 25067  // be included in the string output. The member name will be present, but the
 25068  // value will be replaced with "sensitive".
 25069  func (s ListUsersInput) String() string {
 25070  	return awsutil.Prettify(s)
 25071  }
 25072  
 25073  // GoString returns the string representation.
 25074  //
 25075  // API parameter values that are decorated as "sensitive" in the API will not
 25076  // be included in the string output. The member name will be present, but the
 25077  // value will be replaced with "sensitive".
 25078  func (s ListUsersInput) GoString() string {
 25079  	return s.String()
 25080  }
 25081  
 25082  // Validate inspects the fields of the type to determine if they are valid.
 25083  func (s *ListUsersInput) Validate() error {
 25084  	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
 25085  	if s.PaginationToken != nil && len(*s.PaginationToken) < 1 {
 25086  		invalidParams.Add(request.NewErrParamMinLen("PaginationToken", 1))
 25087  	}
 25088  	if s.UserPoolId == nil {
 25089  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 25090  	}
 25091  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 25092  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 25093  	}
 25094  
 25095  	if invalidParams.Len() > 0 {
 25096  		return invalidParams
 25097  	}
 25098  	return nil
 25099  }
 25100  
 25101  // SetAttributesToGet sets the AttributesToGet field's value.
 25102  func (s *ListUsersInput) SetAttributesToGet(v []*string) *ListUsersInput {
 25103  	s.AttributesToGet = v
 25104  	return s
 25105  }
 25106  
 25107  // SetFilter sets the Filter field's value.
 25108  func (s *ListUsersInput) SetFilter(v string) *ListUsersInput {
 25109  	s.Filter = &v
 25110  	return s
 25111  }
 25112  
 25113  // SetLimit sets the Limit field's value.
 25114  func (s *ListUsersInput) SetLimit(v int64) *ListUsersInput {
 25115  	s.Limit = &v
 25116  	return s
 25117  }
 25118  
 25119  // SetPaginationToken sets the PaginationToken field's value.
 25120  func (s *ListUsersInput) SetPaginationToken(v string) *ListUsersInput {
 25121  	s.PaginationToken = &v
 25122  	return s
 25123  }
 25124  
 25125  // SetUserPoolId sets the UserPoolId field's value.
 25126  func (s *ListUsersInput) SetUserPoolId(v string) *ListUsersInput {
 25127  	s.UserPoolId = &v
 25128  	return s
 25129  }
 25130  
 25131  // The response from the request to list users.
 25132  type ListUsersOutput struct {
 25133  	_ struct{} `type:"structure"`
 25134  
 25135  	// An identifier that was returned from the previous call to this operation,
 25136  	// which can be used to return the next set of items in the list.
 25137  	PaginationToken *string `min:"1" type:"string"`
 25138  
 25139  	// The users returned in the request to list users.
 25140  	Users []*UserType `type:"list"`
 25141  }
 25142  
 25143  // String returns the string representation.
 25144  //
 25145  // API parameter values that are decorated as "sensitive" in the API will not
 25146  // be included in the string output. The member name will be present, but the
 25147  // value will be replaced with "sensitive".
 25148  func (s ListUsersOutput) String() string {
 25149  	return awsutil.Prettify(s)
 25150  }
 25151  
 25152  // GoString returns the string representation.
 25153  //
 25154  // API parameter values that are decorated as "sensitive" in the API will not
 25155  // be included in the string output. The member name will be present, but the
 25156  // value will be replaced with "sensitive".
 25157  func (s ListUsersOutput) GoString() string {
 25158  	return s.String()
 25159  }
 25160  
 25161  // SetPaginationToken sets the PaginationToken field's value.
 25162  func (s *ListUsersOutput) SetPaginationToken(v string) *ListUsersOutput {
 25163  	s.PaginationToken = &v
 25164  	return s
 25165  }
 25166  
 25167  // SetUsers sets the Users field's value.
 25168  func (s *ListUsersOutput) SetUsers(v []*UserType) *ListUsersOutput {
 25169  	s.Users = v
 25170  	return s
 25171  }
 25172  
 25173  // This exception is thrown when Amazon Cognito cannot find a multi-factor authentication
 25174  // (MFA) method.
 25175  type MFAMethodNotFoundException struct {
 25176  	_            struct{}                  `type:"structure"`
 25177  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25178  
 25179  	// The message returned when Amazon Cognito throws an MFA method not found exception.
 25180  	Message_ *string `locationName:"message" type:"string"`
 25181  }
 25182  
 25183  // String returns the string representation.
 25184  //
 25185  // API parameter values that are decorated as "sensitive" in the API will not
 25186  // be included in the string output. The member name will be present, but the
 25187  // value will be replaced with "sensitive".
 25188  func (s MFAMethodNotFoundException) String() string {
 25189  	return awsutil.Prettify(s)
 25190  }
 25191  
 25192  // GoString returns the string representation.
 25193  //
 25194  // API parameter values that are decorated as "sensitive" in the API will not
 25195  // be included in the string output. The member name will be present, but the
 25196  // value will be replaced with "sensitive".
 25197  func (s MFAMethodNotFoundException) GoString() string {
 25198  	return s.String()
 25199  }
 25200  
 25201  func newErrorMFAMethodNotFoundException(v protocol.ResponseMetadata) error {
 25202  	return &MFAMethodNotFoundException{
 25203  		RespMetadata: v,
 25204  	}
 25205  }
 25206  
 25207  // Code returns the exception type name.
 25208  func (s *MFAMethodNotFoundException) Code() string {
 25209  	return "MFAMethodNotFoundException"
 25210  }
 25211  
 25212  // Message returns the exception's message.
 25213  func (s *MFAMethodNotFoundException) Message() string {
 25214  	if s.Message_ != nil {
 25215  		return *s.Message_
 25216  	}
 25217  	return ""
 25218  }
 25219  
 25220  // OrigErr always returns nil, satisfies awserr.Error interface.
 25221  func (s *MFAMethodNotFoundException) OrigErr() error {
 25222  	return nil
 25223  }
 25224  
 25225  func (s *MFAMethodNotFoundException) Error() string {
 25226  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25227  }
 25228  
 25229  // Status code returns the HTTP status code for the request's response error.
 25230  func (s *MFAMethodNotFoundException) StatusCode() int {
 25231  	return s.RespMetadata.StatusCode
 25232  }
 25233  
 25234  // RequestID returns the service's response RequestID for request.
 25235  func (s *MFAMethodNotFoundException) RequestID() string {
 25236  	return s.RespMetadata.RequestID
 25237  }
 25238  
 25239  // This data type is no longer supported. You can use it only for SMS MFA configurations.
 25240  // You can't use it for TOTP software token MFA configurations.
 25241  type MFAOptionType struct {
 25242  	_ struct{} `type:"structure"`
 25243  
 25244  	// The attribute name of the MFA option type. The only valid value is phone_number.
 25245  	AttributeName *string `min:"1" type:"string"`
 25246  
 25247  	// The delivery medium to send the MFA code. You can use this parameter to set
 25248  	// only the SMS delivery medium value.
 25249  	DeliveryMedium *string `type:"string" enum:"DeliveryMediumType"`
 25250  }
 25251  
 25252  // String returns the string representation.
 25253  //
 25254  // API parameter values that are decorated as "sensitive" in the API will not
 25255  // be included in the string output. The member name will be present, but the
 25256  // value will be replaced with "sensitive".
 25257  func (s MFAOptionType) String() string {
 25258  	return awsutil.Prettify(s)
 25259  }
 25260  
 25261  // GoString returns the string representation.
 25262  //
 25263  // API parameter values that are decorated as "sensitive" in the API will not
 25264  // be included in the string output. The member name will be present, but the
 25265  // value will be replaced with "sensitive".
 25266  func (s MFAOptionType) GoString() string {
 25267  	return s.String()
 25268  }
 25269  
 25270  // Validate inspects the fields of the type to determine if they are valid.
 25271  func (s *MFAOptionType) Validate() error {
 25272  	invalidParams := request.ErrInvalidParams{Context: "MFAOptionType"}
 25273  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
 25274  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
 25275  	}
 25276  
 25277  	if invalidParams.Len() > 0 {
 25278  		return invalidParams
 25279  	}
 25280  	return nil
 25281  }
 25282  
 25283  // SetAttributeName sets the AttributeName field's value.
 25284  func (s *MFAOptionType) SetAttributeName(v string) *MFAOptionType {
 25285  	s.AttributeName = &v
 25286  	return s
 25287  }
 25288  
 25289  // SetDeliveryMedium sets the DeliveryMedium field's value.
 25290  func (s *MFAOptionType) SetDeliveryMedium(v string) *MFAOptionType {
 25291  	s.DeliveryMedium = &v
 25292  	return s
 25293  }
 25294  
 25295  // The message template structure.
 25296  type MessageTemplateType struct {
 25297  	_ struct{} `type:"structure"`
 25298  
 25299  	// The message template for email messages. EmailMessage is allowed only if
 25300  	// EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 25301  	// is DEVELOPER.
 25302  	EmailMessage *string `min:"6" type:"string"`
 25303  
 25304  	// The subject line for email messages. EmailSubject is allowed only if EmailSendingAccount
 25305  	// (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 25306  	// is DEVELOPER.
 25307  	EmailSubject *string `min:"1" type:"string"`
 25308  
 25309  	// The message template for SMS messages.
 25310  	SMSMessage *string `min:"6" type:"string"`
 25311  }
 25312  
 25313  // String returns the string representation.
 25314  //
 25315  // API parameter values that are decorated as "sensitive" in the API will not
 25316  // be included in the string output. The member name will be present, but the
 25317  // value will be replaced with "sensitive".
 25318  func (s MessageTemplateType) String() string {
 25319  	return awsutil.Prettify(s)
 25320  }
 25321  
 25322  // GoString returns the string representation.
 25323  //
 25324  // API parameter values that are decorated as "sensitive" in the API will not
 25325  // be included in the string output. The member name will be present, but the
 25326  // value will be replaced with "sensitive".
 25327  func (s MessageTemplateType) GoString() string {
 25328  	return s.String()
 25329  }
 25330  
 25331  // Validate inspects the fields of the type to determine if they are valid.
 25332  func (s *MessageTemplateType) Validate() error {
 25333  	invalidParams := request.ErrInvalidParams{Context: "MessageTemplateType"}
 25334  	if s.EmailMessage != nil && len(*s.EmailMessage) < 6 {
 25335  		invalidParams.Add(request.NewErrParamMinLen("EmailMessage", 6))
 25336  	}
 25337  	if s.EmailSubject != nil && len(*s.EmailSubject) < 1 {
 25338  		invalidParams.Add(request.NewErrParamMinLen("EmailSubject", 1))
 25339  	}
 25340  	if s.SMSMessage != nil && len(*s.SMSMessage) < 6 {
 25341  		invalidParams.Add(request.NewErrParamMinLen("SMSMessage", 6))
 25342  	}
 25343  
 25344  	if invalidParams.Len() > 0 {
 25345  		return invalidParams
 25346  	}
 25347  	return nil
 25348  }
 25349  
 25350  // SetEmailMessage sets the EmailMessage field's value.
 25351  func (s *MessageTemplateType) SetEmailMessage(v string) *MessageTemplateType {
 25352  	s.EmailMessage = &v
 25353  	return s
 25354  }
 25355  
 25356  // SetEmailSubject sets the EmailSubject field's value.
 25357  func (s *MessageTemplateType) SetEmailSubject(v string) *MessageTemplateType {
 25358  	s.EmailSubject = &v
 25359  	return s
 25360  }
 25361  
 25362  // SetSMSMessage sets the SMSMessage field's value.
 25363  func (s *MessageTemplateType) SetSMSMessage(v string) *MessageTemplateType {
 25364  	s.SMSMessage = &v
 25365  	return s
 25366  }
 25367  
 25368  // The new device metadata type.
 25369  type NewDeviceMetadataType struct {
 25370  	_ struct{} `type:"structure"`
 25371  
 25372  	// The device group key.
 25373  	DeviceGroupKey *string `type:"string"`
 25374  
 25375  	// The device key.
 25376  	DeviceKey *string `min:"1" type:"string"`
 25377  }
 25378  
 25379  // String returns the string representation.
 25380  //
 25381  // API parameter values that are decorated as "sensitive" in the API will not
 25382  // be included in the string output. The member name will be present, but the
 25383  // value will be replaced with "sensitive".
 25384  func (s NewDeviceMetadataType) String() string {
 25385  	return awsutil.Prettify(s)
 25386  }
 25387  
 25388  // GoString returns the string representation.
 25389  //
 25390  // API parameter values that are decorated as "sensitive" in the API will not
 25391  // be included in the string output. The member name will be present, but the
 25392  // value will be replaced with "sensitive".
 25393  func (s NewDeviceMetadataType) GoString() string {
 25394  	return s.String()
 25395  }
 25396  
 25397  // SetDeviceGroupKey sets the DeviceGroupKey field's value.
 25398  func (s *NewDeviceMetadataType) SetDeviceGroupKey(v string) *NewDeviceMetadataType {
 25399  	s.DeviceGroupKey = &v
 25400  	return s
 25401  }
 25402  
 25403  // SetDeviceKey sets the DeviceKey field's value.
 25404  func (s *NewDeviceMetadataType) SetDeviceKey(v string) *NewDeviceMetadataType {
 25405  	s.DeviceKey = &v
 25406  	return s
 25407  }
 25408  
 25409  // This exception is thrown when a user is not authorized.
 25410  type NotAuthorizedException struct {
 25411  	_            struct{}                  `type:"structure"`
 25412  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25413  
 25414  	// The message returned when the Amazon Cognito service returns a not authorized
 25415  	// exception.
 25416  	Message_ *string `locationName:"message" type:"string"`
 25417  }
 25418  
 25419  // String returns the string representation.
 25420  //
 25421  // API parameter values that are decorated as "sensitive" in the API will not
 25422  // be included in the string output. The member name will be present, but the
 25423  // value will be replaced with "sensitive".
 25424  func (s NotAuthorizedException) String() string {
 25425  	return awsutil.Prettify(s)
 25426  }
 25427  
 25428  // GoString returns the string representation.
 25429  //
 25430  // API parameter values that are decorated as "sensitive" in the API will not
 25431  // be included in the string output. The member name will be present, but the
 25432  // value will be replaced with "sensitive".
 25433  func (s NotAuthorizedException) GoString() string {
 25434  	return s.String()
 25435  }
 25436  
 25437  func newErrorNotAuthorizedException(v protocol.ResponseMetadata) error {
 25438  	return &NotAuthorizedException{
 25439  		RespMetadata: v,
 25440  	}
 25441  }
 25442  
 25443  // Code returns the exception type name.
 25444  func (s *NotAuthorizedException) Code() string {
 25445  	return "NotAuthorizedException"
 25446  }
 25447  
 25448  // Message returns the exception's message.
 25449  func (s *NotAuthorizedException) Message() string {
 25450  	if s.Message_ != nil {
 25451  		return *s.Message_
 25452  	}
 25453  	return ""
 25454  }
 25455  
 25456  // OrigErr always returns nil, satisfies awserr.Error interface.
 25457  func (s *NotAuthorizedException) OrigErr() error {
 25458  	return nil
 25459  }
 25460  
 25461  func (s *NotAuthorizedException) Error() string {
 25462  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25463  }
 25464  
 25465  // Status code returns the HTTP status code for the request's response error.
 25466  func (s *NotAuthorizedException) StatusCode() int {
 25467  	return s.RespMetadata.StatusCode
 25468  }
 25469  
 25470  // RequestID returns the service's response RequestID for request.
 25471  func (s *NotAuthorizedException) RequestID() string {
 25472  	return s.RespMetadata.RequestID
 25473  }
 25474  
 25475  // The notify configuration type.
 25476  type NotifyConfigurationType struct {
 25477  	_ struct{} `type:"structure"`
 25478  
 25479  	// Email template used when a detected risk event is blocked.
 25480  	BlockEmail *NotifyEmailType `type:"structure"`
 25481  
 25482  	// The email address that is sending the email. It must be either individually
 25483  	// verified with Amazon SES, or from a domain that has been verified with Amazon
 25484  	// SES.
 25485  	From *string `type:"string"`
 25486  
 25487  	// The MFA email template used when MFA is challenged as part of a detected
 25488  	// risk.
 25489  	MfaEmail *NotifyEmailType `type:"structure"`
 25490  
 25491  	// The email template used when a detected risk event is allowed.
 25492  	NoActionEmail *NotifyEmailType `type:"structure"`
 25493  
 25494  	// The destination to which the receiver of an email should reply to.
 25495  	ReplyTo *string `type:"string"`
 25496  
 25497  	// The Amazon Resource Name (ARN) of the identity that is associated with the
 25498  	// sending authorization policy. It permits Amazon Cognito to send for the email
 25499  	// address specified in the From parameter.
 25500  	//
 25501  	// SourceArn is a required field
 25502  	SourceArn *string `min:"20" type:"string" required:"true"`
 25503  }
 25504  
 25505  // String returns the string representation.
 25506  //
 25507  // API parameter values that are decorated as "sensitive" in the API will not
 25508  // be included in the string output. The member name will be present, but the
 25509  // value will be replaced with "sensitive".
 25510  func (s NotifyConfigurationType) String() string {
 25511  	return awsutil.Prettify(s)
 25512  }
 25513  
 25514  // GoString returns the string representation.
 25515  //
 25516  // API parameter values that are decorated as "sensitive" in the API will not
 25517  // be included in the string output. The member name will be present, but the
 25518  // value will be replaced with "sensitive".
 25519  func (s NotifyConfigurationType) GoString() string {
 25520  	return s.String()
 25521  }
 25522  
 25523  // Validate inspects the fields of the type to determine if they are valid.
 25524  func (s *NotifyConfigurationType) Validate() error {
 25525  	invalidParams := request.ErrInvalidParams{Context: "NotifyConfigurationType"}
 25526  	if s.SourceArn == nil {
 25527  		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
 25528  	}
 25529  	if s.SourceArn != nil && len(*s.SourceArn) < 20 {
 25530  		invalidParams.Add(request.NewErrParamMinLen("SourceArn", 20))
 25531  	}
 25532  	if s.BlockEmail != nil {
 25533  		if err := s.BlockEmail.Validate(); err != nil {
 25534  			invalidParams.AddNested("BlockEmail", err.(request.ErrInvalidParams))
 25535  		}
 25536  	}
 25537  	if s.MfaEmail != nil {
 25538  		if err := s.MfaEmail.Validate(); err != nil {
 25539  			invalidParams.AddNested("MfaEmail", err.(request.ErrInvalidParams))
 25540  		}
 25541  	}
 25542  	if s.NoActionEmail != nil {
 25543  		if err := s.NoActionEmail.Validate(); err != nil {
 25544  			invalidParams.AddNested("NoActionEmail", err.(request.ErrInvalidParams))
 25545  		}
 25546  	}
 25547  
 25548  	if invalidParams.Len() > 0 {
 25549  		return invalidParams
 25550  	}
 25551  	return nil
 25552  }
 25553  
 25554  // SetBlockEmail sets the BlockEmail field's value.
 25555  func (s *NotifyConfigurationType) SetBlockEmail(v *NotifyEmailType) *NotifyConfigurationType {
 25556  	s.BlockEmail = v
 25557  	return s
 25558  }
 25559  
 25560  // SetFrom sets the From field's value.
 25561  func (s *NotifyConfigurationType) SetFrom(v string) *NotifyConfigurationType {
 25562  	s.From = &v
 25563  	return s
 25564  }
 25565  
 25566  // SetMfaEmail sets the MfaEmail field's value.
 25567  func (s *NotifyConfigurationType) SetMfaEmail(v *NotifyEmailType) *NotifyConfigurationType {
 25568  	s.MfaEmail = v
 25569  	return s
 25570  }
 25571  
 25572  // SetNoActionEmail sets the NoActionEmail field's value.
 25573  func (s *NotifyConfigurationType) SetNoActionEmail(v *NotifyEmailType) *NotifyConfigurationType {
 25574  	s.NoActionEmail = v
 25575  	return s
 25576  }
 25577  
 25578  // SetReplyTo sets the ReplyTo field's value.
 25579  func (s *NotifyConfigurationType) SetReplyTo(v string) *NotifyConfigurationType {
 25580  	s.ReplyTo = &v
 25581  	return s
 25582  }
 25583  
 25584  // SetSourceArn sets the SourceArn field's value.
 25585  func (s *NotifyConfigurationType) SetSourceArn(v string) *NotifyConfigurationType {
 25586  	s.SourceArn = &v
 25587  	return s
 25588  }
 25589  
 25590  // The notify email type.
 25591  type NotifyEmailType struct {
 25592  	_ struct{} `type:"structure"`
 25593  
 25594  	// The HTML body.
 25595  	HtmlBody *string `min:"6" type:"string"`
 25596  
 25597  	// The subject.
 25598  	//
 25599  	// Subject is a required field
 25600  	Subject *string `min:"1" type:"string" required:"true"`
 25601  
 25602  	// The text body.
 25603  	TextBody *string `min:"6" type:"string"`
 25604  }
 25605  
 25606  // String returns the string representation.
 25607  //
 25608  // API parameter values that are decorated as "sensitive" in the API will not
 25609  // be included in the string output. The member name will be present, but the
 25610  // value will be replaced with "sensitive".
 25611  func (s NotifyEmailType) String() string {
 25612  	return awsutil.Prettify(s)
 25613  }
 25614  
 25615  // GoString returns the string representation.
 25616  //
 25617  // API parameter values that are decorated as "sensitive" in the API will not
 25618  // be included in the string output. The member name will be present, but the
 25619  // value will be replaced with "sensitive".
 25620  func (s NotifyEmailType) GoString() string {
 25621  	return s.String()
 25622  }
 25623  
 25624  // Validate inspects the fields of the type to determine if they are valid.
 25625  func (s *NotifyEmailType) Validate() error {
 25626  	invalidParams := request.ErrInvalidParams{Context: "NotifyEmailType"}
 25627  	if s.HtmlBody != nil && len(*s.HtmlBody) < 6 {
 25628  		invalidParams.Add(request.NewErrParamMinLen("HtmlBody", 6))
 25629  	}
 25630  	if s.Subject == nil {
 25631  		invalidParams.Add(request.NewErrParamRequired("Subject"))
 25632  	}
 25633  	if s.Subject != nil && len(*s.Subject) < 1 {
 25634  		invalidParams.Add(request.NewErrParamMinLen("Subject", 1))
 25635  	}
 25636  	if s.TextBody != nil && len(*s.TextBody) < 6 {
 25637  		invalidParams.Add(request.NewErrParamMinLen("TextBody", 6))
 25638  	}
 25639  
 25640  	if invalidParams.Len() > 0 {
 25641  		return invalidParams
 25642  	}
 25643  	return nil
 25644  }
 25645  
 25646  // SetHtmlBody sets the HtmlBody field's value.
 25647  func (s *NotifyEmailType) SetHtmlBody(v string) *NotifyEmailType {
 25648  	s.HtmlBody = &v
 25649  	return s
 25650  }
 25651  
 25652  // SetSubject sets the Subject field's value.
 25653  func (s *NotifyEmailType) SetSubject(v string) *NotifyEmailType {
 25654  	s.Subject = &v
 25655  	return s
 25656  }
 25657  
 25658  // SetTextBody sets the TextBody field's value.
 25659  func (s *NotifyEmailType) SetTextBody(v string) *NotifyEmailType {
 25660  	s.TextBody = &v
 25661  	return s
 25662  }
 25663  
 25664  // The minimum and maximum value of an attribute that is of the number data
 25665  // type.
 25666  type NumberAttributeConstraintsType struct {
 25667  	_ struct{} `type:"structure"`
 25668  
 25669  	// The maximum value of an attribute that is of the number data type.
 25670  	MaxValue *string `type:"string"`
 25671  
 25672  	// The minimum value of an attribute that is of the number data type.
 25673  	MinValue *string `type:"string"`
 25674  }
 25675  
 25676  // String returns the string representation.
 25677  //
 25678  // API parameter values that are decorated as "sensitive" in the API will not
 25679  // be included in the string output. The member name will be present, but the
 25680  // value will be replaced with "sensitive".
 25681  func (s NumberAttributeConstraintsType) String() string {
 25682  	return awsutil.Prettify(s)
 25683  }
 25684  
 25685  // GoString returns the string representation.
 25686  //
 25687  // API parameter values that are decorated as "sensitive" in the API will not
 25688  // be included in the string output. The member name will be present, but the
 25689  // value will be replaced with "sensitive".
 25690  func (s NumberAttributeConstraintsType) GoString() string {
 25691  	return s.String()
 25692  }
 25693  
 25694  // SetMaxValue sets the MaxValue field's value.
 25695  func (s *NumberAttributeConstraintsType) SetMaxValue(v string) *NumberAttributeConstraintsType {
 25696  	s.MaxValue = &v
 25697  	return s
 25698  }
 25699  
 25700  // SetMinValue sets the MinValue field's value.
 25701  func (s *NumberAttributeConstraintsType) SetMinValue(v string) *NumberAttributeConstraintsType {
 25702  	s.MinValue = &v
 25703  	return s
 25704  }
 25705  
 25706  // The password policy type.
 25707  type PasswordPolicyType struct {
 25708  	_ struct{} `type:"structure"`
 25709  
 25710  	// The minimum length of the password policy that you have set. Cannot be less
 25711  	// than 6.
 25712  	MinimumLength *int64 `min:"6" type:"integer"`
 25713  
 25714  	// In the password policy that you have set, refers to whether you have required
 25715  	// users to use at least one lowercase letter in their password.
 25716  	RequireLowercase *bool `type:"boolean"`
 25717  
 25718  	// In the password policy that you have set, refers to whether you have required
 25719  	// users to use at least one number in their password.
 25720  	RequireNumbers *bool `type:"boolean"`
 25721  
 25722  	// In the password policy that you have set, refers to whether you have required
 25723  	// users to use at least one symbol in their password.
 25724  	RequireSymbols *bool `type:"boolean"`
 25725  
 25726  	// In the password policy that you have set, refers to whether you have required
 25727  	// users to use at least one uppercase letter in their password.
 25728  	RequireUppercase *bool `type:"boolean"`
 25729  
 25730  	// In the password policy you have set, refers to the number of days a temporary
 25731  	// password is valid. If the user does not sign-in during this time, their password
 25732  	// will need to be reset by an administrator.
 25733  	//
 25734  	// When you set TemporaryPasswordValidityDays for a user pool, you will no longer
 25735  	// be able to set the deprecated UnusedAccountValidityDays value for that user
 25736  	// pool.
 25737  	TemporaryPasswordValidityDays *int64 `type:"integer"`
 25738  }
 25739  
 25740  // String returns the string representation.
 25741  //
 25742  // API parameter values that are decorated as "sensitive" in the API will not
 25743  // be included in the string output. The member name will be present, but the
 25744  // value will be replaced with "sensitive".
 25745  func (s PasswordPolicyType) String() string {
 25746  	return awsutil.Prettify(s)
 25747  }
 25748  
 25749  // GoString returns the string representation.
 25750  //
 25751  // API parameter values that are decorated as "sensitive" in the API will not
 25752  // be included in the string output. The member name will be present, but the
 25753  // value will be replaced with "sensitive".
 25754  func (s PasswordPolicyType) GoString() string {
 25755  	return s.String()
 25756  }
 25757  
 25758  // Validate inspects the fields of the type to determine if they are valid.
 25759  func (s *PasswordPolicyType) Validate() error {
 25760  	invalidParams := request.ErrInvalidParams{Context: "PasswordPolicyType"}
 25761  	if s.MinimumLength != nil && *s.MinimumLength < 6 {
 25762  		invalidParams.Add(request.NewErrParamMinValue("MinimumLength", 6))
 25763  	}
 25764  
 25765  	if invalidParams.Len() > 0 {
 25766  		return invalidParams
 25767  	}
 25768  	return nil
 25769  }
 25770  
 25771  // SetMinimumLength sets the MinimumLength field's value.
 25772  func (s *PasswordPolicyType) SetMinimumLength(v int64) *PasswordPolicyType {
 25773  	s.MinimumLength = &v
 25774  	return s
 25775  }
 25776  
 25777  // SetRequireLowercase sets the RequireLowercase field's value.
 25778  func (s *PasswordPolicyType) SetRequireLowercase(v bool) *PasswordPolicyType {
 25779  	s.RequireLowercase = &v
 25780  	return s
 25781  }
 25782  
 25783  // SetRequireNumbers sets the RequireNumbers field's value.
 25784  func (s *PasswordPolicyType) SetRequireNumbers(v bool) *PasswordPolicyType {
 25785  	s.RequireNumbers = &v
 25786  	return s
 25787  }
 25788  
 25789  // SetRequireSymbols sets the RequireSymbols field's value.
 25790  func (s *PasswordPolicyType) SetRequireSymbols(v bool) *PasswordPolicyType {
 25791  	s.RequireSymbols = &v
 25792  	return s
 25793  }
 25794  
 25795  // SetRequireUppercase sets the RequireUppercase field's value.
 25796  func (s *PasswordPolicyType) SetRequireUppercase(v bool) *PasswordPolicyType {
 25797  	s.RequireUppercase = &v
 25798  	return s
 25799  }
 25800  
 25801  // SetTemporaryPasswordValidityDays sets the TemporaryPasswordValidityDays field's value.
 25802  func (s *PasswordPolicyType) SetTemporaryPasswordValidityDays(v int64) *PasswordPolicyType {
 25803  	s.TemporaryPasswordValidityDays = &v
 25804  	return s
 25805  }
 25806  
 25807  // This exception is thrown when a password reset is required.
 25808  type PasswordResetRequiredException struct {
 25809  	_            struct{}                  `type:"structure"`
 25810  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25811  
 25812  	// The message returned when a password reset is required.
 25813  	Message_ *string `locationName:"message" type:"string"`
 25814  }
 25815  
 25816  // String returns the string representation.
 25817  //
 25818  // API parameter values that are decorated as "sensitive" in the API will not
 25819  // be included in the string output. The member name will be present, but the
 25820  // value will be replaced with "sensitive".
 25821  func (s PasswordResetRequiredException) String() string {
 25822  	return awsutil.Prettify(s)
 25823  }
 25824  
 25825  // GoString returns the string representation.
 25826  //
 25827  // API parameter values that are decorated as "sensitive" in the API will not
 25828  // be included in the string output. The member name will be present, but the
 25829  // value will be replaced with "sensitive".
 25830  func (s PasswordResetRequiredException) GoString() string {
 25831  	return s.String()
 25832  }
 25833  
 25834  func newErrorPasswordResetRequiredException(v protocol.ResponseMetadata) error {
 25835  	return &PasswordResetRequiredException{
 25836  		RespMetadata: v,
 25837  	}
 25838  }
 25839  
 25840  // Code returns the exception type name.
 25841  func (s *PasswordResetRequiredException) Code() string {
 25842  	return "PasswordResetRequiredException"
 25843  }
 25844  
 25845  // Message returns the exception's message.
 25846  func (s *PasswordResetRequiredException) Message() string {
 25847  	if s.Message_ != nil {
 25848  		return *s.Message_
 25849  	}
 25850  	return ""
 25851  }
 25852  
 25853  // OrigErr always returns nil, satisfies awserr.Error interface.
 25854  func (s *PasswordResetRequiredException) OrigErr() error {
 25855  	return nil
 25856  }
 25857  
 25858  func (s *PasswordResetRequiredException) Error() string {
 25859  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25860  }
 25861  
 25862  // Status code returns the HTTP status code for the request's response error.
 25863  func (s *PasswordResetRequiredException) StatusCode() int {
 25864  	return s.RespMetadata.StatusCode
 25865  }
 25866  
 25867  // RequestID returns the service's response RequestID for request.
 25868  func (s *PasswordResetRequiredException) RequestID() string {
 25869  	return s.RespMetadata.RequestID
 25870  }
 25871  
 25872  // This exception is thrown when a precondition is not met.
 25873  type PreconditionNotMetException struct {
 25874  	_            struct{}                  `type:"structure"`
 25875  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25876  
 25877  	// The message returned when a precondition is not met.
 25878  	Message_ *string `locationName:"message" type:"string"`
 25879  }
 25880  
 25881  // String returns the string representation.
 25882  //
 25883  // API parameter values that are decorated as "sensitive" in the API will not
 25884  // be included in the string output. The member name will be present, but the
 25885  // value will be replaced with "sensitive".
 25886  func (s PreconditionNotMetException) String() string {
 25887  	return awsutil.Prettify(s)
 25888  }
 25889  
 25890  // GoString returns the string representation.
 25891  //
 25892  // API parameter values that are decorated as "sensitive" in the API will not
 25893  // be included in the string output. The member name will be present, but the
 25894  // value will be replaced with "sensitive".
 25895  func (s PreconditionNotMetException) GoString() string {
 25896  	return s.String()
 25897  }
 25898  
 25899  func newErrorPreconditionNotMetException(v protocol.ResponseMetadata) error {
 25900  	return &PreconditionNotMetException{
 25901  		RespMetadata: v,
 25902  	}
 25903  }
 25904  
 25905  // Code returns the exception type name.
 25906  func (s *PreconditionNotMetException) Code() string {
 25907  	return "PreconditionNotMetException"
 25908  }
 25909  
 25910  // Message returns the exception's message.
 25911  func (s *PreconditionNotMetException) Message() string {
 25912  	if s.Message_ != nil {
 25913  		return *s.Message_
 25914  	}
 25915  	return ""
 25916  }
 25917  
 25918  // OrigErr always returns nil, satisfies awserr.Error interface.
 25919  func (s *PreconditionNotMetException) OrigErr() error {
 25920  	return nil
 25921  }
 25922  
 25923  func (s *PreconditionNotMetException) Error() string {
 25924  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25925  }
 25926  
 25927  // Status code returns the HTTP status code for the request's response error.
 25928  func (s *PreconditionNotMetException) StatusCode() int {
 25929  	return s.RespMetadata.StatusCode
 25930  }
 25931  
 25932  // RequestID returns the service's response RequestID for request.
 25933  func (s *PreconditionNotMetException) RequestID() string {
 25934  	return s.RespMetadata.RequestID
 25935  }
 25936  
 25937  // A container for identity provider details.
 25938  type ProviderDescription struct {
 25939  	_ struct{} `type:"structure"`
 25940  
 25941  	// The date the provider was added to the user pool.
 25942  	CreationDate *time.Time `type:"timestamp"`
 25943  
 25944  	// The date the provider was last modified.
 25945  	LastModifiedDate *time.Time `type:"timestamp"`
 25946  
 25947  	// The identity provider name.
 25948  	ProviderName *string `min:"1" type:"string"`
 25949  
 25950  	// The identity provider type.
 25951  	ProviderType *string `type:"string" enum:"IdentityProviderTypeType"`
 25952  }
 25953  
 25954  // String returns the string representation.
 25955  //
 25956  // API parameter values that are decorated as "sensitive" in the API will not
 25957  // be included in the string output. The member name will be present, but the
 25958  // value will be replaced with "sensitive".
 25959  func (s ProviderDescription) String() string {
 25960  	return awsutil.Prettify(s)
 25961  }
 25962  
 25963  // GoString returns the string representation.
 25964  //
 25965  // API parameter values that are decorated as "sensitive" in the API will not
 25966  // be included in the string output. The member name will be present, but the
 25967  // value will be replaced with "sensitive".
 25968  func (s ProviderDescription) GoString() string {
 25969  	return s.String()
 25970  }
 25971  
 25972  // SetCreationDate sets the CreationDate field's value.
 25973  func (s *ProviderDescription) SetCreationDate(v time.Time) *ProviderDescription {
 25974  	s.CreationDate = &v
 25975  	return s
 25976  }
 25977  
 25978  // SetLastModifiedDate sets the LastModifiedDate field's value.
 25979  func (s *ProviderDescription) SetLastModifiedDate(v time.Time) *ProviderDescription {
 25980  	s.LastModifiedDate = &v
 25981  	return s
 25982  }
 25983  
 25984  // SetProviderName sets the ProviderName field's value.
 25985  func (s *ProviderDescription) SetProviderName(v string) *ProviderDescription {
 25986  	s.ProviderName = &v
 25987  	return s
 25988  }
 25989  
 25990  // SetProviderType sets the ProviderType field's value.
 25991  func (s *ProviderDescription) SetProviderType(v string) *ProviderDescription {
 25992  	s.ProviderType = &v
 25993  	return s
 25994  }
 25995  
 25996  // A container for information about an identity provider for a user pool.
 25997  type ProviderUserIdentifierType struct {
 25998  	_ struct{} `type:"structure"`
 25999  
 26000  	// The name of the provider attribute to link to, for example, NameID.
 26001  	ProviderAttributeName *string `type:"string"`
 26002  
 26003  	// The value of the provider attribute to link to, for example, xxxxx_account.
 26004  	ProviderAttributeValue *string `type:"string"`
 26005  
 26006  	// The name of the provider, for example, Facebook, Google, or Login with Amazon.
 26007  	ProviderName *string `min:"1" type:"string"`
 26008  }
 26009  
 26010  // String returns the string representation.
 26011  //
 26012  // API parameter values that are decorated as "sensitive" in the API will not
 26013  // be included in the string output. The member name will be present, but the
 26014  // value will be replaced with "sensitive".
 26015  func (s ProviderUserIdentifierType) String() string {
 26016  	return awsutil.Prettify(s)
 26017  }
 26018  
 26019  // GoString returns the string representation.
 26020  //
 26021  // API parameter values that are decorated as "sensitive" in the API will not
 26022  // be included in the string output. The member name will be present, but the
 26023  // value will be replaced with "sensitive".
 26024  func (s ProviderUserIdentifierType) GoString() string {
 26025  	return s.String()
 26026  }
 26027  
 26028  // Validate inspects the fields of the type to determine if they are valid.
 26029  func (s *ProviderUserIdentifierType) Validate() error {
 26030  	invalidParams := request.ErrInvalidParams{Context: "ProviderUserIdentifierType"}
 26031  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 26032  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 26033  	}
 26034  
 26035  	if invalidParams.Len() > 0 {
 26036  		return invalidParams
 26037  	}
 26038  	return nil
 26039  }
 26040  
 26041  // SetProviderAttributeName sets the ProviderAttributeName field's value.
 26042  func (s *ProviderUserIdentifierType) SetProviderAttributeName(v string) *ProviderUserIdentifierType {
 26043  	s.ProviderAttributeName = &v
 26044  	return s
 26045  }
 26046  
 26047  // SetProviderAttributeValue sets the ProviderAttributeValue field's value.
 26048  func (s *ProviderUserIdentifierType) SetProviderAttributeValue(v string) *ProviderUserIdentifierType {
 26049  	s.ProviderAttributeValue = &v
 26050  	return s
 26051  }
 26052  
 26053  // SetProviderName sets the ProviderName field's value.
 26054  func (s *ProviderUserIdentifierType) SetProviderName(v string) *ProviderUserIdentifierType {
 26055  	s.ProviderName = &v
 26056  	return s
 26057  }
 26058  
 26059  // A map containing a priority as a key, and recovery method name as a value.
 26060  type RecoveryOptionType struct {
 26061  	_ struct{} `type:"structure"`
 26062  
 26063  	// Specifies the recovery method for a user.
 26064  	//
 26065  	// Name is a required field
 26066  	Name *string `type:"string" required:"true" enum:"RecoveryOptionNameType"`
 26067  
 26068  	// A positive integer specifying priority of a method with 1 being the highest
 26069  	// priority.
 26070  	//
 26071  	// Priority is a required field
 26072  	Priority *int64 `min:"1" type:"integer" required:"true"`
 26073  }
 26074  
 26075  // String returns the string representation.
 26076  //
 26077  // API parameter values that are decorated as "sensitive" in the API will not
 26078  // be included in the string output. The member name will be present, but the
 26079  // value will be replaced with "sensitive".
 26080  func (s RecoveryOptionType) String() string {
 26081  	return awsutil.Prettify(s)
 26082  }
 26083  
 26084  // GoString returns the string representation.
 26085  //
 26086  // API parameter values that are decorated as "sensitive" in the API will not
 26087  // be included in the string output. The member name will be present, but the
 26088  // value will be replaced with "sensitive".
 26089  func (s RecoveryOptionType) GoString() string {
 26090  	return s.String()
 26091  }
 26092  
 26093  // Validate inspects the fields of the type to determine if they are valid.
 26094  func (s *RecoveryOptionType) Validate() error {
 26095  	invalidParams := request.ErrInvalidParams{Context: "RecoveryOptionType"}
 26096  	if s.Name == nil {
 26097  		invalidParams.Add(request.NewErrParamRequired("Name"))
 26098  	}
 26099  	if s.Priority == nil {
 26100  		invalidParams.Add(request.NewErrParamRequired("Priority"))
 26101  	}
 26102  	if s.Priority != nil && *s.Priority < 1 {
 26103  		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
 26104  	}
 26105  
 26106  	if invalidParams.Len() > 0 {
 26107  		return invalidParams
 26108  	}
 26109  	return nil
 26110  }
 26111  
 26112  // SetName sets the Name field's value.
 26113  func (s *RecoveryOptionType) SetName(v string) *RecoveryOptionType {
 26114  	s.Name = &v
 26115  	return s
 26116  }
 26117  
 26118  // SetPriority sets the Priority field's value.
 26119  func (s *RecoveryOptionType) SetPriority(v int64) *RecoveryOptionType {
 26120  	s.Priority = &v
 26121  	return s
 26122  }
 26123  
 26124  // Represents the request to resend the confirmation code.
 26125  type ResendConfirmationCodeInput struct {
 26126  	_ struct{} `type:"structure"`
 26127  
 26128  	// The Amazon Pinpoint analytics metadata for collecting metrics for ResendConfirmationCode
 26129  	// calls.
 26130  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 26131  
 26132  	// The ID of the client associated with the user pool.
 26133  	//
 26134  	// ClientId is a sensitive parameter and its value will be
 26135  	// replaced with "sensitive" in string returned by ResendConfirmationCodeInput's
 26136  	// String and GoString methods.
 26137  	//
 26138  	// ClientId is a required field
 26139  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 26140  
 26141  	// A map of custom key-value pairs that you can provide as input for any custom
 26142  	// workflows that this action triggers.
 26143  	//
 26144  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 26145  	// When you use the ResendConfirmationCode API action, Amazon Cognito invokes
 26146  	// the function that is assigned to the custom message trigger. When Amazon
 26147  	// Cognito invokes this function, it passes a JSON payload, which the function
 26148  	// receives as input. This payload contains a clientMetadata attribute, which
 26149  	// provides the data that you assigned to the ClientMetadata parameter in your
 26150  	// ResendConfirmationCode request. In your function code in Lambda, you can
 26151  	// process the clientMetadata value to enhance your workflow for your specific
 26152  	// needs.
 26153  	//
 26154  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 26155  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 26156  	// in the Amazon Cognito Developer Guide.
 26157  	//
 26158  	// Take the following limitations into consideration when you use the ClientMetadata
 26159  	// parameter:
 26160  	//
 26161  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 26162  	//    available only to Lambda triggers that are assigned to a user pool to
 26163  	//    support custom workflows. If your user pool configuration does not include
 26164  	//    triggers, the ClientMetadata parameter serves no purpose.
 26165  	//
 26166  	//    * Amazon Cognito does not validate the ClientMetadata value.
 26167  	//
 26168  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 26169  	//    use it to provide sensitive information.
 26170  	ClientMetadata map[string]*string `type:"map"`
 26171  
 26172  	// A keyed-hash message authentication code (HMAC) calculated using the secret
 26173  	// key of a user pool client and username plus the client ID in the message.
 26174  	//
 26175  	// SecretHash is a sensitive parameter and its value will be
 26176  	// replaced with "sensitive" in string returned by ResendConfirmationCodeInput's
 26177  	// String and GoString methods.
 26178  	SecretHash *string `min:"1" type:"string" sensitive:"true"`
 26179  
 26180  	// Contextual data such as the user's device fingerprint, IP address, or location
 26181  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 26182  	// security.
 26183  	UserContextData *UserContextDataType `type:"structure"`
 26184  
 26185  	// The user name of the user to whom you wish to resend a confirmation code.
 26186  	//
 26187  	// Username is a sensitive parameter and its value will be
 26188  	// replaced with "sensitive" in string returned by ResendConfirmationCodeInput's
 26189  	// String and GoString methods.
 26190  	//
 26191  	// Username is a required field
 26192  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 26193  }
 26194  
 26195  // String returns the string representation.
 26196  //
 26197  // API parameter values that are decorated as "sensitive" in the API will not
 26198  // be included in the string output. The member name will be present, but the
 26199  // value will be replaced with "sensitive".
 26200  func (s ResendConfirmationCodeInput) String() string {
 26201  	return awsutil.Prettify(s)
 26202  }
 26203  
 26204  // GoString returns the string representation.
 26205  //
 26206  // API parameter values that are decorated as "sensitive" in the API will not
 26207  // be included in the string output. The member name will be present, but the
 26208  // value will be replaced with "sensitive".
 26209  func (s ResendConfirmationCodeInput) GoString() string {
 26210  	return s.String()
 26211  }
 26212  
 26213  // Validate inspects the fields of the type to determine if they are valid.
 26214  func (s *ResendConfirmationCodeInput) Validate() error {
 26215  	invalidParams := request.ErrInvalidParams{Context: "ResendConfirmationCodeInput"}
 26216  	if s.ClientId == nil {
 26217  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 26218  	}
 26219  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 26220  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 26221  	}
 26222  	if s.SecretHash != nil && len(*s.SecretHash) < 1 {
 26223  		invalidParams.Add(request.NewErrParamMinLen("SecretHash", 1))
 26224  	}
 26225  	if s.Username == nil {
 26226  		invalidParams.Add(request.NewErrParamRequired("Username"))
 26227  	}
 26228  	if s.Username != nil && len(*s.Username) < 1 {
 26229  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 26230  	}
 26231  
 26232  	if invalidParams.Len() > 0 {
 26233  		return invalidParams
 26234  	}
 26235  	return nil
 26236  }
 26237  
 26238  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 26239  func (s *ResendConfirmationCodeInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *ResendConfirmationCodeInput {
 26240  	s.AnalyticsMetadata = v
 26241  	return s
 26242  }
 26243  
 26244  // SetClientId sets the ClientId field's value.
 26245  func (s *ResendConfirmationCodeInput) SetClientId(v string) *ResendConfirmationCodeInput {
 26246  	s.ClientId = &v
 26247  	return s
 26248  }
 26249  
 26250  // SetClientMetadata sets the ClientMetadata field's value.
 26251  func (s *ResendConfirmationCodeInput) SetClientMetadata(v map[string]*string) *ResendConfirmationCodeInput {
 26252  	s.ClientMetadata = v
 26253  	return s
 26254  }
 26255  
 26256  // SetSecretHash sets the SecretHash field's value.
 26257  func (s *ResendConfirmationCodeInput) SetSecretHash(v string) *ResendConfirmationCodeInput {
 26258  	s.SecretHash = &v
 26259  	return s
 26260  }
 26261  
 26262  // SetUserContextData sets the UserContextData field's value.
 26263  func (s *ResendConfirmationCodeInput) SetUserContextData(v *UserContextDataType) *ResendConfirmationCodeInput {
 26264  	s.UserContextData = v
 26265  	return s
 26266  }
 26267  
 26268  // SetUsername sets the Username field's value.
 26269  func (s *ResendConfirmationCodeInput) SetUsername(v string) *ResendConfirmationCodeInput {
 26270  	s.Username = &v
 26271  	return s
 26272  }
 26273  
 26274  // The response from the server when the Amazon Cognito Your User Pools service
 26275  // makes the request to resend a confirmation code.
 26276  type ResendConfirmationCodeOutput struct {
 26277  	_ struct{} `type:"structure"`
 26278  
 26279  	// The code delivery details returned by the server in response to the request
 26280  	// to resend the confirmation code.
 26281  	CodeDeliveryDetails *CodeDeliveryDetailsType `type:"structure"`
 26282  }
 26283  
 26284  // String returns the string representation.
 26285  //
 26286  // API parameter values that are decorated as "sensitive" in the API will not
 26287  // be included in the string output. The member name will be present, but the
 26288  // value will be replaced with "sensitive".
 26289  func (s ResendConfirmationCodeOutput) String() string {
 26290  	return awsutil.Prettify(s)
 26291  }
 26292  
 26293  // GoString returns the string representation.
 26294  //
 26295  // API parameter values that are decorated as "sensitive" in the API will not
 26296  // be included in the string output. The member name will be present, but the
 26297  // value will be replaced with "sensitive".
 26298  func (s ResendConfirmationCodeOutput) GoString() string {
 26299  	return s.String()
 26300  }
 26301  
 26302  // SetCodeDeliveryDetails sets the CodeDeliveryDetails field's value.
 26303  func (s *ResendConfirmationCodeOutput) SetCodeDeliveryDetails(v *CodeDeliveryDetailsType) *ResendConfirmationCodeOutput {
 26304  	s.CodeDeliveryDetails = v
 26305  	return s
 26306  }
 26307  
 26308  // This exception is thrown when the Amazon Cognito service cannot find the
 26309  // requested resource.
 26310  type ResourceNotFoundException struct {
 26311  	_            struct{}                  `type:"structure"`
 26312  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 26313  
 26314  	// The message returned when the Amazon Cognito service returns a resource not
 26315  	// found exception.
 26316  	Message_ *string `locationName:"message" type:"string"`
 26317  }
 26318  
 26319  // String returns the string representation.
 26320  //
 26321  // API parameter values that are decorated as "sensitive" in the API will not
 26322  // be included in the string output. The member name will be present, but the
 26323  // value will be replaced with "sensitive".
 26324  func (s ResourceNotFoundException) String() string {
 26325  	return awsutil.Prettify(s)
 26326  }
 26327  
 26328  // GoString returns the string representation.
 26329  //
 26330  // API parameter values that are decorated as "sensitive" in the API will not
 26331  // be included in the string output. The member name will be present, but the
 26332  // value will be replaced with "sensitive".
 26333  func (s ResourceNotFoundException) GoString() string {
 26334  	return s.String()
 26335  }
 26336  
 26337  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 26338  	return &ResourceNotFoundException{
 26339  		RespMetadata: v,
 26340  	}
 26341  }
 26342  
 26343  // Code returns the exception type name.
 26344  func (s *ResourceNotFoundException) Code() string {
 26345  	return "ResourceNotFoundException"
 26346  }
 26347  
 26348  // Message returns the exception's message.
 26349  func (s *ResourceNotFoundException) Message() string {
 26350  	if s.Message_ != nil {
 26351  		return *s.Message_
 26352  	}
 26353  	return ""
 26354  }
 26355  
 26356  // OrigErr always returns nil, satisfies awserr.Error interface.
 26357  func (s *ResourceNotFoundException) OrigErr() error {
 26358  	return nil
 26359  }
 26360  
 26361  func (s *ResourceNotFoundException) Error() string {
 26362  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 26363  }
 26364  
 26365  // Status code returns the HTTP status code for the request's response error.
 26366  func (s *ResourceNotFoundException) StatusCode() int {
 26367  	return s.RespMetadata.StatusCode
 26368  }
 26369  
 26370  // RequestID returns the service's response RequestID for request.
 26371  func (s *ResourceNotFoundException) RequestID() string {
 26372  	return s.RespMetadata.RequestID
 26373  }
 26374  
 26375  // A resource server scope.
 26376  type ResourceServerScopeType struct {
 26377  	_ struct{} `type:"structure"`
 26378  
 26379  	// A description of the scope.
 26380  	//
 26381  	// ScopeDescription is a required field
 26382  	ScopeDescription *string `min:"1" type:"string" required:"true"`
 26383  
 26384  	// The name of the scope.
 26385  	//
 26386  	// ScopeName is a required field
 26387  	ScopeName *string `min:"1" type:"string" required:"true"`
 26388  }
 26389  
 26390  // String returns the string representation.
 26391  //
 26392  // API parameter values that are decorated as "sensitive" in the API will not
 26393  // be included in the string output. The member name will be present, but the
 26394  // value will be replaced with "sensitive".
 26395  func (s ResourceServerScopeType) String() string {
 26396  	return awsutil.Prettify(s)
 26397  }
 26398  
 26399  // GoString returns the string representation.
 26400  //
 26401  // API parameter values that are decorated as "sensitive" in the API will not
 26402  // be included in the string output. The member name will be present, but the
 26403  // value will be replaced with "sensitive".
 26404  func (s ResourceServerScopeType) GoString() string {
 26405  	return s.String()
 26406  }
 26407  
 26408  // Validate inspects the fields of the type to determine if they are valid.
 26409  func (s *ResourceServerScopeType) Validate() error {
 26410  	invalidParams := request.ErrInvalidParams{Context: "ResourceServerScopeType"}
 26411  	if s.ScopeDescription == nil {
 26412  		invalidParams.Add(request.NewErrParamRequired("ScopeDescription"))
 26413  	}
 26414  	if s.ScopeDescription != nil && len(*s.ScopeDescription) < 1 {
 26415  		invalidParams.Add(request.NewErrParamMinLen("ScopeDescription", 1))
 26416  	}
 26417  	if s.ScopeName == nil {
 26418  		invalidParams.Add(request.NewErrParamRequired("ScopeName"))
 26419  	}
 26420  	if s.ScopeName != nil && len(*s.ScopeName) < 1 {
 26421  		invalidParams.Add(request.NewErrParamMinLen("ScopeName", 1))
 26422  	}
 26423  
 26424  	if invalidParams.Len() > 0 {
 26425  		return invalidParams
 26426  	}
 26427  	return nil
 26428  }
 26429  
 26430  // SetScopeDescription sets the ScopeDescription field's value.
 26431  func (s *ResourceServerScopeType) SetScopeDescription(v string) *ResourceServerScopeType {
 26432  	s.ScopeDescription = &v
 26433  	return s
 26434  }
 26435  
 26436  // SetScopeName sets the ScopeName field's value.
 26437  func (s *ResourceServerScopeType) SetScopeName(v string) *ResourceServerScopeType {
 26438  	s.ScopeName = &v
 26439  	return s
 26440  }
 26441  
 26442  // A container for information about a resource server for a user pool.
 26443  type ResourceServerType struct {
 26444  	_ struct{} `type:"structure"`
 26445  
 26446  	// The identifier for the resource server.
 26447  	Identifier *string `min:"1" type:"string"`
 26448  
 26449  	// The name of the resource server.
 26450  	Name *string `min:"1" type:"string"`
 26451  
 26452  	// A list of scopes that are defined for the resource server.
 26453  	Scopes []*ResourceServerScopeType `type:"list"`
 26454  
 26455  	// The user pool ID for the user pool that hosts the resource server.
 26456  	UserPoolId *string `min:"1" type:"string"`
 26457  }
 26458  
 26459  // String returns the string representation.
 26460  //
 26461  // API parameter values that are decorated as "sensitive" in the API will not
 26462  // be included in the string output. The member name will be present, but the
 26463  // value will be replaced with "sensitive".
 26464  func (s ResourceServerType) String() string {
 26465  	return awsutil.Prettify(s)
 26466  }
 26467  
 26468  // GoString returns the string representation.
 26469  //
 26470  // API parameter values that are decorated as "sensitive" in the API will not
 26471  // be included in the string output. The member name will be present, but the
 26472  // value will be replaced with "sensitive".
 26473  func (s ResourceServerType) GoString() string {
 26474  	return s.String()
 26475  }
 26476  
 26477  // SetIdentifier sets the Identifier field's value.
 26478  func (s *ResourceServerType) SetIdentifier(v string) *ResourceServerType {
 26479  	s.Identifier = &v
 26480  	return s
 26481  }
 26482  
 26483  // SetName sets the Name field's value.
 26484  func (s *ResourceServerType) SetName(v string) *ResourceServerType {
 26485  	s.Name = &v
 26486  	return s
 26487  }
 26488  
 26489  // SetScopes sets the Scopes field's value.
 26490  func (s *ResourceServerType) SetScopes(v []*ResourceServerScopeType) *ResourceServerType {
 26491  	s.Scopes = v
 26492  	return s
 26493  }
 26494  
 26495  // SetUserPoolId sets the UserPoolId field's value.
 26496  func (s *ResourceServerType) SetUserPoolId(v string) *ResourceServerType {
 26497  	s.UserPoolId = &v
 26498  	return s
 26499  }
 26500  
 26501  // The request to respond to an authentication challenge.
 26502  type RespondToAuthChallengeInput struct {
 26503  	_ struct{} `type:"structure"`
 26504  
 26505  	// The Amazon Pinpoint analytics metadata for collecting metrics for RespondToAuthChallenge
 26506  	// calls.
 26507  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 26508  
 26509  	// The challenge name. For more information, see InitiateAuth (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html).
 26510  	//
 26511  	// ADMIN_NO_SRP_AUTH is not a valid value.
 26512  	//
 26513  	// ChallengeName is a required field
 26514  	ChallengeName *string `type:"string" required:"true" enum:"ChallengeNameType"`
 26515  
 26516  	// The challenge responses. These are inputs corresponding to the value of ChallengeName,
 26517  	// for example:
 26518  	//
 26519  	// SECRET_HASH (if app client is configured with client secret) applies to all
 26520  	// inputs below (including SOFTWARE_TOKEN_MFA).
 26521  	//
 26522  	//    * SMS_MFA: SMS_MFA_CODE, USERNAME.
 26523  	//
 26524  	//    * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK,
 26525  	//    TIMESTAMP, USERNAME.
 26526  	//
 26527  	//    * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes,
 26528  	//    USERNAME.
 26529  	//
 26530  	//    * SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required
 26531  	//    attributes.
 26532  	//
 26533  	//    * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH).
 26534  	//
 26535  	//    * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER
 26536  	//    requires plus DEVICE_KEY.
 26537  	//
 26538  	//    * MFA_SETUP requires USERNAME, plus you need to use the session value
 26539  	//    returned by VerifySoftwareToken in the Session parameter.
 26540  	ChallengeResponses map[string]*string `type:"map"`
 26541  
 26542  	// The app client ID.
 26543  	//
 26544  	// ClientId is a sensitive parameter and its value will be
 26545  	// replaced with "sensitive" in string returned by RespondToAuthChallengeInput's
 26546  	// String and GoString methods.
 26547  	//
 26548  	// ClientId is a required field
 26549  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 26550  
 26551  	// A map of custom key-value pairs that you can provide as input for any custom
 26552  	// workflows that this action triggers.
 26553  	//
 26554  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 26555  	// When you use the RespondToAuthChallenge API action, Amazon Cognito invokes
 26556  	// any functions that are assigned to the following triggers: post authentication,
 26557  	// pre token generation, define auth challenge, create auth challenge, and verify
 26558  	// auth challenge. When Amazon Cognito invokes any of these functions, it passes
 26559  	// a JSON payload, which the function receives as input. This payload contains
 26560  	// a clientMetadata attribute, which provides the data that you assigned to
 26561  	// the ClientMetadata parameter in your RespondToAuthChallenge request. In your
 26562  	// function code in Lambda, you can process the clientMetadata value to enhance
 26563  	// your workflow for your specific needs.
 26564  	//
 26565  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 26566  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 26567  	// in the Amazon Cognito Developer Guide.
 26568  	//
 26569  	// Take the following limitations into consideration when you use the ClientMetadata
 26570  	// parameter:
 26571  	//
 26572  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 26573  	//    available only to Lambda triggers that are assigned to a user pool to
 26574  	//    support custom workflows. If your user pool configuration does not include
 26575  	//    triggers, the ClientMetadata parameter serves no purpose.
 26576  	//
 26577  	//    * Amazon Cognito does not validate the ClientMetadata value.
 26578  	//
 26579  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 26580  	//    use it to provide sensitive information.
 26581  	ClientMetadata map[string]*string `type:"map"`
 26582  
 26583  	// The session which should be passed both ways in challenge-response calls
 26584  	// to the service. If InitiateAuth or RespondToAuthChallenge API call determines
 26585  	// that the caller needs to go through another challenge, they return a session
 26586  	// with other challenge parameters. This session should be passed as it is to
 26587  	// the next RespondToAuthChallenge API call.
 26588  	Session *string `min:"20" type:"string"`
 26589  
 26590  	// Contextual data such as the user's device fingerprint, IP address, or location
 26591  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 26592  	// security.
 26593  	UserContextData *UserContextDataType `type:"structure"`
 26594  }
 26595  
 26596  // String returns the string representation.
 26597  //
 26598  // API parameter values that are decorated as "sensitive" in the API will not
 26599  // be included in the string output. The member name will be present, but the
 26600  // value will be replaced with "sensitive".
 26601  func (s RespondToAuthChallengeInput) String() string {
 26602  	return awsutil.Prettify(s)
 26603  }
 26604  
 26605  // GoString returns the string representation.
 26606  //
 26607  // API parameter values that are decorated as "sensitive" in the API will not
 26608  // be included in the string output. The member name will be present, but the
 26609  // value will be replaced with "sensitive".
 26610  func (s RespondToAuthChallengeInput) GoString() string {
 26611  	return s.String()
 26612  }
 26613  
 26614  // Validate inspects the fields of the type to determine if they are valid.
 26615  func (s *RespondToAuthChallengeInput) Validate() error {
 26616  	invalidParams := request.ErrInvalidParams{Context: "RespondToAuthChallengeInput"}
 26617  	if s.ChallengeName == nil {
 26618  		invalidParams.Add(request.NewErrParamRequired("ChallengeName"))
 26619  	}
 26620  	if s.ClientId == nil {
 26621  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 26622  	}
 26623  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 26624  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 26625  	}
 26626  	if s.Session != nil && len(*s.Session) < 20 {
 26627  		invalidParams.Add(request.NewErrParamMinLen("Session", 20))
 26628  	}
 26629  
 26630  	if invalidParams.Len() > 0 {
 26631  		return invalidParams
 26632  	}
 26633  	return nil
 26634  }
 26635  
 26636  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 26637  func (s *RespondToAuthChallengeInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *RespondToAuthChallengeInput {
 26638  	s.AnalyticsMetadata = v
 26639  	return s
 26640  }
 26641  
 26642  // SetChallengeName sets the ChallengeName field's value.
 26643  func (s *RespondToAuthChallengeInput) SetChallengeName(v string) *RespondToAuthChallengeInput {
 26644  	s.ChallengeName = &v
 26645  	return s
 26646  }
 26647  
 26648  // SetChallengeResponses sets the ChallengeResponses field's value.
 26649  func (s *RespondToAuthChallengeInput) SetChallengeResponses(v map[string]*string) *RespondToAuthChallengeInput {
 26650  	s.ChallengeResponses = v
 26651  	return s
 26652  }
 26653  
 26654  // SetClientId sets the ClientId field's value.
 26655  func (s *RespondToAuthChallengeInput) SetClientId(v string) *RespondToAuthChallengeInput {
 26656  	s.ClientId = &v
 26657  	return s
 26658  }
 26659  
 26660  // SetClientMetadata sets the ClientMetadata field's value.
 26661  func (s *RespondToAuthChallengeInput) SetClientMetadata(v map[string]*string) *RespondToAuthChallengeInput {
 26662  	s.ClientMetadata = v
 26663  	return s
 26664  }
 26665  
 26666  // SetSession sets the Session field's value.
 26667  func (s *RespondToAuthChallengeInput) SetSession(v string) *RespondToAuthChallengeInput {
 26668  	s.Session = &v
 26669  	return s
 26670  }
 26671  
 26672  // SetUserContextData sets the UserContextData field's value.
 26673  func (s *RespondToAuthChallengeInput) SetUserContextData(v *UserContextDataType) *RespondToAuthChallengeInput {
 26674  	s.UserContextData = v
 26675  	return s
 26676  }
 26677  
 26678  // The response to respond to the authentication challenge.
 26679  type RespondToAuthChallengeOutput struct {
 26680  	_ struct{} `type:"structure"`
 26681  
 26682  	// The result returned by the server in response to the request to respond to
 26683  	// the authentication challenge.
 26684  	AuthenticationResult *AuthenticationResultType `type:"structure"`
 26685  
 26686  	// The challenge name. For more information, see InitiateAuth (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html).
 26687  	ChallengeName *string `type:"string" enum:"ChallengeNameType"`
 26688  
 26689  	// The challenge parameters. For more information, see InitiateAuth (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html).
 26690  	ChallengeParameters map[string]*string `type:"map"`
 26691  
 26692  	// The session which should be passed both ways in challenge-response calls
 26693  	// to the service. If the caller needs to go through another challenge, they
 26694  	// return a session with other challenge parameters. This session should be
 26695  	// passed as it is to the next RespondToAuthChallenge API call.
 26696  	Session *string `min:"20" type:"string"`
 26697  }
 26698  
 26699  // String returns the string representation.
 26700  //
 26701  // API parameter values that are decorated as "sensitive" in the API will not
 26702  // be included in the string output. The member name will be present, but the
 26703  // value will be replaced with "sensitive".
 26704  func (s RespondToAuthChallengeOutput) String() string {
 26705  	return awsutil.Prettify(s)
 26706  }
 26707  
 26708  // GoString returns the string representation.
 26709  //
 26710  // API parameter values that are decorated as "sensitive" in the API will not
 26711  // be included in the string output. The member name will be present, but the
 26712  // value will be replaced with "sensitive".
 26713  func (s RespondToAuthChallengeOutput) GoString() string {
 26714  	return s.String()
 26715  }
 26716  
 26717  // SetAuthenticationResult sets the AuthenticationResult field's value.
 26718  func (s *RespondToAuthChallengeOutput) SetAuthenticationResult(v *AuthenticationResultType) *RespondToAuthChallengeOutput {
 26719  	s.AuthenticationResult = v
 26720  	return s
 26721  }
 26722  
 26723  // SetChallengeName sets the ChallengeName field's value.
 26724  func (s *RespondToAuthChallengeOutput) SetChallengeName(v string) *RespondToAuthChallengeOutput {
 26725  	s.ChallengeName = &v
 26726  	return s
 26727  }
 26728  
 26729  // SetChallengeParameters sets the ChallengeParameters field's value.
 26730  func (s *RespondToAuthChallengeOutput) SetChallengeParameters(v map[string]*string) *RespondToAuthChallengeOutput {
 26731  	s.ChallengeParameters = v
 26732  	return s
 26733  }
 26734  
 26735  // SetSession sets the Session field's value.
 26736  func (s *RespondToAuthChallengeOutput) SetSession(v string) *RespondToAuthChallengeOutput {
 26737  	s.Session = &v
 26738  	return s
 26739  }
 26740  
 26741  type RevokeTokenInput struct {
 26742  	_ struct{} `type:"structure"`
 26743  
 26744  	// The client ID for the token that you want to revoke.
 26745  	//
 26746  	// ClientId is a sensitive parameter and its value will be
 26747  	// replaced with "sensitive" in string returned by RevokeTokenInput's
 26748  	// String and GoString methods.
 26749  	//
 26750  	// ClientId is a required field
 26751  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 26752  
 26753  	// The secret for the client ID. This is required only if the client ID has
 26754  	// a secret.
 26755  	//
 26756  	// ClientSecret is a sensitive parameter and its value will be
 26757  	// replaced with "sensitive" in string returned by RevokeTokenInput's
 26758  	// String and GoString methods.
 26759  	ClientSecret *string `min:"1" type:"string" sensitive:"true"`
 26760  
 26761  	// The token that you want to revoke.
 26762  	//
 26763  	// Token is a sensitive parameter and its value will be
 26764  	// replaced with "sensitive" in string returned by RevokeTokenInput's
 26765  	// String and GoString methods.
 26766  	//
 26767  	// Token is a required field
 26768  	Token *string `type:"string" required:"true" sensitive:"true"`
 26769  }
 26770  
 26771  // String returns the string representation.
 26772  //
 26773  // API parameter values that are decorated as "sensitive" in the API will not
 26774  // be included in the string output. The member name will be present, but the
 26775  // value will be replaced with "sensitive".
 26776  func (s RevokeTokenInput) String() string {
 26777  	return awsutil.Prettify(s)
 26778  }
 26779  
 26780  // GoString returns the string representation.
 26781  //
 26782  // API parameter values that are decorated as "sensitive" in the API will not
 26783  // be included in the string output. The member name will be present, but the
 26784  // value will be replaced with "sensitive".
 26785  func (s RevokeTokenInput) GoString() string {
 26786  	return s.String()
 26787  }
 26788  
 26789  // Validate inspects the fields of the type to determine if they are valid.
 26790  func (s *RevokeTokenInput) Validate() error {
 26791  	invalidParams := request.ErrInvalidParams{Context: "RevokeTokenInput"}
 26792  	if s.ClientId == nil {
 26793  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 26794  	}
 26795  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 26796  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 26797  	}
 26798  	if s.ClientSecret != nil && len(*s.ClientSecret) < 1 {
 26799  		invalidParams.Add(request.NewErrParamMinLen("ClientSecret", 1))
 26800  	}
 26801  	if s.Token == nil {
 26802  		invalidParams.Add(request.NewErrParamRequired("Token"))
 26803  	}
 26804  
 26805  	if invalidParams.Len() > 0 {
 26806  		return invalidParams
 26807  	}
 26808  	return nil
 26809  }
 26810  
 26811  // SetClientId sets the ClientId field's value.
 26812  func (s *RevokeTokenInput) SetClientId(v string) *RevokeTokenInput {
 26813  	s.ClientId = &v
 26814  	return s
 26815  }
 26816  
 26817  // SetClientSecret sets the ClientSecret field's value.
 26818  func (s *RevokeTokenInput) SetClientSecret(v string) *RevokeTokenInput {
 26819  	s.ClientSecret = &v
 26820  	return s
 26821  }
 26822  
 26823  // SetToken sets the Token field's value.
 26824  func (s *RevokeTokenInput) SetToken(v string) *RevokeTokenInput {
 26825  	s.Token = &v
 26826  	return s
 26827  }
 26828  
 26829  type RevokeTokenOutput struct {
 26830  	_ struct{} `type:"structure"`
 26831  }
 26832  
 26833  // String returns the string representation.
 26834  //
 26835  // API parameter values that are decorated as "sensitive" in the API will not
 26836  // be included in the string output. The member name will be present, but the
 26837  // value will be replaced with "sensitive".
 26838  func (s RevokeTokenOutput) String() string {
 26839  	return awsutil.Prettify(s)
 26840  }
 26841  
 26842  // GoString returns the string representation.
 26843  //
 26844  // API parameter values that are decorated as "sensitive" in the API will not
 26845  // be included in the string output. The member name will be present, but the
 26846  // value will be replaced with "sensitive".
 26847  func (s RevokeTokenOutput) GoString() string {
 26848  	return s.String()
 26849  }
 26850  
 26851  // The risk configuration type.
 26852  type RiskConfigurationType struct {
 26853  	_ struct{} `type:"structure"`
 26854  
 26855  	// The account takeover risk configuration object including the NotifyConfiguration
 26856  	// object and Actions to take in the case of an account takeover.
 26857  	AccountTakeoverRiskConfiguration *AccountTakeoverRiskConfigurationType `type:"structure"`
 26858  
 26859  	// The app client ID.
 26860  	//
 26861  	// ClientId is a sensitive parameter and its value will be
 26862  	// replaced with "sensitive" in string returned by RiskConfigurationType's
 26863  	// String and GoString methods.
 26864  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 26865  
 26866  	// The compromised credentials risk configuration object including the EventFilter
 26867  	// and the EventAction
 26868  	CompromisedCredentialsRiskConfiguration *CompromisedCredentialsRiskConfigurationType `type:"structure"`
 26869  
 26870  	// The last modified date.
 26871  	LastModifiedDate *time.Time `type:"timestamp"`
 26872  
 26873  	// The configuration to override the risk decision.
 26874  	RiskExceptionConfiguration *RiskExceptionConfigurationType `type:"structure"`
 26875  
 26876  	// The user pool ID.
 26877  	UserPoolId *string `min:"1" type:"string"`
 26878  }
 26879  
 26880  // String returns the string representation.
 26881  //
 26882  // API parameter values that are decorated as "sensitive" in the API will not
 26883  // be included in the string output. The member name will be present, but the
 26884  // value will be replaced with "sensitive".
 26885  func (s RiskConfigurationType) String() string {
 26886  	return awsutil.Prettify(s)
 26887  }
 26888  
 26889  // GoString returns the string representation.
 26890  //
 26891  // API parameter values that are decorated as "sensitive" in the API will not
 26892  // be included in the string output. The member name will be present, but the
 26893  // value will be replaced with "sensitive".
 26894  func (s RiskConfigurationType) GoString() string {
 26895  	return s.String()
 26896  }
 26897  
 26898  // SetAccountTakeoverRiskConfiguration sets the AccountTakeoverRiskConfiguration field's value.
 26899  func (s *RiskConfigurationType) SetAccountTakeoverRiskConfiguration(v *AccountTakeoverRiskConfigurationType) *RiskConfigurationType {
 26900  	s.AccountTakeoverRiskConfiguration = v
 26901  	return s
 26902  }
 26903  
 26904  // SetClientId sets the ClientId field's value.
 26905  func (s *RiskConfigurationType) SetClientId(v string) *RiskConfigurationType {
 26906  	s.ClientId = &v
 26907  	return s
 26908  }
 26909  
 26910  // SetCompromisedCredentialsRiskConfiguration sets the CompromisedCredentialsRiskConfiguration field's value.
 26911  func (s *RiskConfigurationType) SetCompromisedCredentialsRiskConfiguration(v *CompromisedCredentialsRiskConfigurationType) *RiskConfigurationType {
 26912  	s.CompromisedCredentialsRiskConfiguration = v
 26913  	return s
 26914  }
 26915  
 26916  // SetLastModifiedDate sets the LastModifiedDate field's value.
 26917  func (s *RiskConfigurationType) SetLastModifiedDate(v time.Time) *RiskConfigurationType {
 26918  	s.LastModifiedDate = &v
 26919  	return s
 26920  }
 26921  
 26922  // SetRiskExceptionConfiguration sets the RiskExceptionConfiguration field's value.
 26923  func (s *RiskConfigurationType) SetRiskExceptionConfiguration(v *RiskExceptionConfigurationType) *RiskConfigurationType {
 26924  	s.RiskExceptionConfiguration = v
 26925  	return s
 26926  }
 26927  
 26928  // SetUserPoolId sets the UserPoolId field's value.
 26929  func (s *RiskConfigurationType) SetUserPoolId(v string) *RiskConfigurationType {
 26930  	s.UserPoolId = &v
 26931  	return s
 26932  }
 26933  
 26934  // The type of the configuration to override the risk decision.
 26935  type RiskExceptionConfigurationType struct {
 26936  	_ struct{} `type:"structure"`
 26937  
 26938  	// Overrides the risk decision to always block the pre-authentication requests.
 26939  	// The IP range is in CIDR notation: a compact representation of an IP address
 26940  	// and its associated routing prefix.
 26941  	BlockedIPRangeList []*string `type:"list"`
 26942  
 26943  	// Risk detection is not performed on the IP addresses in the range list. The
 26944  	// IP range is in CIDR notation.
 26945  	SkippedIPRangeList []*string `type:"list"`
 26946  }
 26947  
 26948  // String returns the string representation.
 26949  //
 26950  // API parameter values that are decorated as "sensitive" in the API will not
 26951  // be included in the string output. The member name will be present, but the
 26952  // value will be replaced with "sensitive".
 26953  func (s RiskExceptionConfigurationType) String() string {
 26954  	return awsutil.Prettify(s)
 26955  }
 26956  
 26957  // GoString returns the string representation.
 26958  //
 26959  // API parameter values that are decorated as "sensitive" in the API will not
 26960  // be included in the string output. The member name will be present, but the
 26961  // value will be replaced with "sensitive".
 26962  func (s RiskExceptionConfigurationType) GoString() string {
 26963  	return s.String()
 26964  }
 26965  
 26966  // SetBlockedIPRangeList sets the BlockedIPRangeList field's value.
 26967  func (s *RiskExceptionConfigurationType) SetBlockedIPRangeList(v []*string) *RiskExceptionConfigurationType {
 26968  	s.BlockedIPRangeList = v
 26969  	return s
 26970  }
 26971  
 26972  // SetSkippedIPRangeList sets the SkippedIPRangeList field's value.
 26973  func (s *RiskExceptionConfigurationType) SetSkippedIPRangeList(v []*string) *RiskExceptionConfigurationType {
 26974  	s.SkippedIPRangeList = v
 26975  	return s
 26976  }
 26977  
 26978  // The type used for enabling SMS MFA at the user level. Phone numbers don't
 26979  // need to be verified to be used for SMS MFA. If an MFA type is enabled for
 26980  // a user, the user will be prompted for MFA during all sign in attempts, unless
 26981  // device tracking is turned on and the device has been trusted. If you would
 26982  // like MFA to be applied selectively based on the assessed risk level of sign
 26983  // in attempts, disable MFA for users and turn on Adaptive Authentication for
 26984  // the user pool.
 26985  type SMSMfaSettingsType struct {
 26986  	_ struct{} `type:"structure"`
 26987  
 26988  	// Specifies whether SMS text message MFA is enabled. If an MFA type is enabled
 26989  	// for a user, the user will be prompted for MFA during all sign in attempts,
 26990  	// unless device tracking is turned on and the device has been trusted.
 26991  	Enabled *bool `type:"boolean"`
 26992  
 26993  	// Specifies whether SMS is the preferred MFA method.
 26994  	PreferredMfa *bool `type:"boolean"`
 26995  }
 26996  
 26997  // String returns the string representation.
 26998  //
 26999  // API parameter values that are decorated as "sensitive" in the API will not
 27000  // be included in the string output. The member name will be present, but the
 27001  // value will be replaced with "sensitive".
 27002  func (s SMSMfaSettingsType) String() string {
 27003  	return awsutil.Prettify(s)
 27004  }
 27005  
 27006  // GoString returns the string representation.
 27007  //
 27008  // API parameter values that are decorated as "sensitive" in the API will not
 27009  // be included in the string output. The member name will be present, but the
 27010  // value will be replaced with "sensitive".
 27011  func (s SMSMfaSettingsType) GoString() string {
 27012  	return s.String()
 27013  }
 27014  
 27015  // SetEnabled sets the Enabled field's value.
 27016  func (s *SMSMfaSettingsType) SetEnabled(v bool) *SMSMfaSettingsType {
 27017  	s.Enabled = &v
 27018  	return s
 27019  }
 27020  
 27021  // SetPreferredMfa sets the PreferredMfa field's value.
 27022  func (s *SMSMfaSettingsType) SetPreferredMfa(v bool) *SMSMfaSettingsType {
 27023  	s.PreferredMfa = &v
 27024  	return s
 27025  }
 27026  
 27027  // Contains information about the schema attribute.
 27028  type SchemaAttributeType struct {
 27029  	_ struct{} `type:"structure"`
 27030  
 27031  	// The attribute data type.
 27032  	AttributeDataType *string `type:"string" enum:"AttributeDataType"`
 27033  
 27034  	//
 27035  	// We recommend that you use WriteAttributes (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes)
 27036  	// in the user pool client to control how attributes can be mutated for new
 27037  	// use cases instead of using DeveloperOnlyAttribute.
 27038  	//
 27039  	// Specifies whether the attribute type is developer only. This attribute can
 27040  	// only be modified by an administrator. Users will not be able to modify this
 27041  	// attribute using their access token. For example, DeveloperOnlyAttribute can
 27042  	// be modified using AdminUpdateUserAttributes but cannot be updated using UpdateUserAttributes.
 27043  	DeveloperOnlyAttribute *bool `type:"boolean"`
 27044  
 27045  	// Specifies whether the value of the attribute can be changed.
 27046  	//
 27047  	// For any user pool attribute that's mapped to an identity provider attribute,
 27048  	// you must set this parameter to true. Amazon Cognito updates mapped attributes
 27049  	// when users sign in to your application through an identity provider. If an
 27050  	// attribute is immutable, Amazon Cognito throws an error when it attempts to
 27051  	// update the attribute. For more information, see Specifying Identity Provider
 27052  	// Attribute Mappings for Your User Pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html).
 27053  	Mutable *bool `type:"boolean"`
 27054  
 27055  	// A schema attribute of the name type.
 27056  	Name *string `min:"1" type:"string"`
 27057  
 27058  	// Specifies the constraints for an attribute of the number type.
 27059  	NumberAttributeConstraints *NumberAttributeConstraintsType `type:"structure"`
 27060  
 27061  	// Specifies whether a user pool attribute is required. If the attribute is
 27062  	// required and the user does not provide a value, registration or sign-in will
 27063  	// fail.
 27064  	Required *bool `type:"boolean"`
 27065  
 27066  	// Specifies the constraints for an attribute of the string type.
 27067  	StringAttributeConstraints *StringAttributeConstraintsType `type:"structure"`
 27068  }
 27069  
 27070  // String returns the string representation.
 27071  //
 27072  // API parameter values that are decorated as "sensitive" in the API will not
 27073  // be included in the string output. The member name will be present, but the
 27074  // value will be replaced with "sensitive".
 27075  func (s SchemaAttributeType) String() string {
 27076  	return awsutil.Prettify(s)
 27077  }
 27078  
 27079  // GoString returns the string representation.
 27080  //
 27081  // API parameter values that are decorated as "sensitive" in the API will not
 27082  // be included in the string output. The member name will be present, but the
 27083  // value will be replaced with "sensitive".
 27084  func (s SchemaAttributeType) GoString() string {
 27085  	return s.String()
 27086  }
 27087  
 27088  // Validate inspects the fields of the type to determine if they are valid.
 27089  func (s *SchemaAttributeType) Validate() error {
 27090  	invalidParams := request.ErrInvalidParams{Context: "SchemaAttributeType"}
 27091  	if s.Name != nil && len(*s.Name) < 1 {
 27092  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 27093  	}
 27094  
 27095  	if invalidParams.Len() > 0 {
 27096  		return invalidParams
 27097  	}
 27098  	return nil
 27099  }
 27100  
 27101  // SetAttributeDataType sets the AttributeDataType field's value.
 27102  func (s *SchemaAttributeType) SetAttributeDataType(v string) *SchemaAttributeType {
 27103  	s.AttributeDataType = &v
 27104  	return s
 27105  }
 27106  
 27107  // SetDeveloperOnlyAttribute sets the DeveloperOnlyAttribute field's value.
 27108  func (s *SchemaAttributeType) SetDeveloperOnlyAttribute(v bool) *SchemaAttributeType {
 27109  	s.DeveloperOnlyAttribute = &v
 27110  	return s
 27111  }
 27112  
 27113  // SetMutable sets the Mutable field's value.
 27114  func (s *SchemaAttributeType) SetMutable(v bool) *SchemaAttributeType {
 27115  	s.Mutable = &v
 27116  	return s
 27117  }
 27118  
 27119  // SetName sets the Name field's value.
 27120  func (s *SchemaAttributeType) SetName(v string) *SchemaAttributeType {
 27121  	s.Name = &v
 27122  	return s
 27123  }
 27124  
 27125  // SetNumberAttributeConstraints sets the NumberAttributeConstraints field's value.
 27126  func (s *SchemaAttributeType) SetNumberAttributeConstraints(v *NumberAttributeConstraintsType) *SchemaAttributeType {
 27127  	s.NumberAttributeConstraints = v
 27128  	return s
 27129  }
 27130  
 27131  // SetRequired sets the Required field's value.
 27132  func (s *SchemaAttributeType) SetRequired(v bool) *SchemaAttributeType {
 27133  	s.Required = &v
 27134  	return s
 27135  }
 27136  
 27137  // SetStringAttributeConstraints sets the StringAttributeConstraints field's value.
 27138  func (s *SchemaAttributeType) SetStringAttributeConstraints(v *StringAttributeConstraintsType) *SchemaAttributeType {
 27139  	s.StringAttributeConstraints = v
 27140  	return s
 27141  }
 27142  
 27143  // This exception is thrown when the specified scope does not exist.
 27144  type ScopeDoesNotExistException struct {
 27145  	_            struct{}                  `type:"structure"`
 27146  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 27147  
 27148  	Message_ *string `locationName:"message" type:"string"`
 27149  }
 27150  
 27151  // String returns the string representation.
 27152  //
 27153  // API parameter values that are decorated as "sensitive" in the API will not
 27154  // be included in the string output. The member name will be present, but the
 27155  // value will be replaced with "sensitive".
 27156  func (s ScopeDoesNotExistException) String() string {
 27157  	return awsutil.Prettify(s)
 27158  }
 27159  
 27160  // GoString returns the string representation.
 27161  //
 27162  // API parameter values that are decorated as "sensitive" in the API will not
 27163  // be included in the string output. The member name will be present, but the
 27164  // value will be replaced with "sensitive".
 27165  func (s ScopeDoesNotExistException) GoString() string {
 27166  	return s.String()
 27167  }
 27168  
 27169  func newErrorScopeDoesNotExistException(v protocol.ResponseMetadata) error {
 27170  	return &ScopeDoesNotExistException{
 27171  		RespMetadata: v,
 27172  	}
 27173  }
 27174  
 27175  // Code returns the exception type name.
 27176  func (s *ScopeDoesNotExistException) Code() string {
 27177  	return "ScopeDoesNotExistException"
 27178  }
 27179  
 27180  // Message returns the exception's message.
 27181  func (s *ScopeDoesNotExistException) Message() string {
 27182  	if s.Message_ != nil {
 27183  		return *s.Message_
 27184  	}
 27185  	return ""
 27186  }
 27187  
 27188  // OrigErr always returns nil, satisfies awserr.Error interface.
 27189  func (s *ScopeDoesNotExistException) OrigErr() error {
 27190  	return nil
 27191  }
 27192  
 27193  func (s *ScopeDoesNotExistException) Error() string {
 27194  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 27195  }
 27196  
 27197  // Status code returns the HTTP status code for the request's response error.
 27198  func (s *ScopeDoesNotExistException) StatusCode() int {
 27199  	return s.RespMetadata.StatusCode
 27200  }
 27201  
 27202  // RequestID returns the service's response RequestID for request.
 27203  func (s *ScopeDoesNotExistException) RequestID() string {
 27204  	return s.RespMetadata.RequestID
 27205  }
 27206  
 27207  type SetRiskConfigurationInput struct {
 27208  	_ struct{} `type:"structure"`
 27209  
 27210  	// The account takeover risk configuration.
 27211  	AccountTakeoverRiskConfiguration *AccountTakeoverRiskConfigurationType `type:"structure"`
 27212  
 27213  	// The app client ID. If ClientId is null, then the risk configuration is mapped
 27214  	// to userPoolId. When the client ID is null, the same risk configuration is
 27215  	// applied to all the clients in the userPool.
 27216  	//
 27217  	// Otherwise, ClientId is mapped to the client. When the client ID is not null,
 27218  	// the user pool configuration is overridden and the risk configuration for
 27219  	// the client is used instead.
 27220  	//
 27221  	// ClientId is a sensitive parameter and its value will be
 27222  	// replaced with "sensitive" in string returned by SetRiskConfigurationInput's
 27223  	// String and GoString methods.
 27224  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 27225  
 27226  	// The compromised credentials risk configuration.
 27227  	CompromisedCredentialsRiskConfiguration *CompromisedCredentialsRiskConfigurationType `type:"structure"`
 27228  
 27229  	// The configuration to override the risk decision.
 27230  	RiskExceptionConfiguration *RiskExceptionConfigurationType `type:"structure"`
 27231  
 27232  	// The user pool ID.
 27233  	//
 27234  	// UserPoolId is a required field
 27235  	UserPoolId *string `min:"1" type:"string" required:"true"`
 27236  }
 27237  
 27238  // String returns the string representation.
 27239  //
 27240  // API parameter values that are decorated as "sensitive" in the API will not
 27241  // be included in the string output. The member name will be present, but the
 27242  // value will be replaced with "sensitive".
 27243  func (s SetRiskConfigurationInput) String() string {
 27244  	return awsutil.Prettify(s)
 27245  }
 27246  
 27247  // GoString returns the string representation.
 27248  //
 27249  // API parameter values that are decorated as "sensitive" in the API will not
 27250  // be included in the string output. The member name will be present, but the
 27251  // value will be replaced with "sensitive".
 27252  func (s SetRiskConfigurationInput) GoString() string {
 27253  	return s.String()
 27254  }
 27255  
 27256  // Validate inspects the fields of the type to determine if they are valid.
 27257  func (s *SetRiskConfigurationInput) Validate() error {
 27258  	invalidParams := request.ErrInvalidParams{Context: "SetRiskConfigurationInput"}
 27259  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 27260  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 27261  	}
 27262  	if s.UserPoolId == nil {
 27263  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 27264  	}
 27265  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 27266  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 27267  	}
 27268  	if s.AccountTakeoverRiskConfiguration != nil {
 27269  		if err := s.AccountTakeoverRiskConfiguration.Validate(); err != nil {
 27270  			invalidParams.AddNested("AccountTakeoverRiskConfiguration", err.(request.ErrInvalidParams))
 27271  		}
 27272  	}
 27273  	if s.CompromisedCredentialsRiskConfiguration != nil {
 27274  		if err := s.CompromisedCredentialsRiskConfiguration.Validate(); err != nil {
 27275  			invalidParams.AddNested("CompromisedCredentialsRiskConfiguration", err.(request.ErrInvalidParams))
 27276  		}
 27277  	}
 27278  
 27279  	if invalidParams.Len() > 0 {
 27280  		return invalidParams
 27281  	}
 27282  	return nil
 27283  }
 27284  
 27285  // SetAccountTakeoverRiskConfiguration sets the AccountTakeoverRiskConfiguration field's value.
 27286  func (s *SetRiskConfigurationInput) SetAccountTakeoverRiskConfiguration(v *AccountTakeoverRiskConfigurationType) *SetRiskConfigurationInput {
 27287  	s.AccountTakeoverRiskConfiguration = v
 27288  	return s
 27289  }
 27290  
 27291  // SetClientId sets the ClientId field's value.
 27292  func (s *SetRiskConfigurationInput) SetClientId(v string) *SetRiskConfigurationInput {
 27293  	s.ClientId = &v
 27294  	return s
 27295  }
 27296  
 27297  // SetCompromisedCredentialsRiskConfiguration sets the CompromisedCredentialsRiskConfiguration field's value.
 27298  func (s *SetRiskConfigurationInput) SetCompromisedCredentialsRiskConfiguration(v *CompromisedCredentialsRiskConfigurationType) *SetRiskConfigurationInput {
 27299  	s.CompromisedCredentialsRiskConfiguration = v
 27300  	return s
 27301  }
 27302  
 27303  // SetRiskExceptionConfiguration sets the RiskExceptionConfiguration field's value.
 27304  func (s *SetRiskConfigurationInput) SetRiskExceptionConfiguration(v *RiskExceptionConfigurationType) *SetRiskConfigurationInput {
 27305  	s.RiskExceptionConfiguration = v
 27306  	return s
 27307  }
 27308  
 27309  // SetUserPoolId sets the UserPoolId field's value.
 27310  func (s *SetRiskConfigurationInput) SetUserPoolId(v string) *SetRiskConfigurationInput {
 27311  	s.UserPoolId = &v
 27312  	return s
 27313  }
 27314  
 27315  type SetRiskConfigurationOutput struct {
 27316  	_ struct{} `type:"structure"`
 27317  
 27318  	// The risk configuration.
 27319  	//
 27320  	// RiskConfiguration is a required field
 27321  	RiskConfiguration *RiskConfigurationType `type:"structure" required:"true"`
 27322  }
 27323  
 27324  // String returns the string representation.
 27325  //
 27326  // API parameter values that are decorated as "sensitive" in the API will not
 27327  // be included in the string output. The member name will be present, but the
 27328  // value will be replaced with "sensitive".
 27329  func (s SetRiskConfigurationOutput) String() string {
 27330  	return awsutil.Prettify(s)
 27331  }
 27332  
 27333  // GoString returns the string representation.
 27334  //
 27335  // API parameter values that are decorated as "sensitive" in the API will not
 27336  // be included in the string output. The member name will be present, but the
 27337  // value will be replaced with "sensitive".
 27338  func (s SetRiskConfigurationOutput) GoString() string {
 27339  	return s.String()
 27340  }
 27341  
 27342  // SetRiskConfiguration sets the RiskConfiguration field's value.
 27343  func (s *SetRiskConfigurationOutput) SetRiskConfiguration(v *RiskConfigurationType) *SetRiskConfigurationOutput {
 27344  	s.RiskConfiguration = v
 27345  	return s
 27346  }
 27347  
 27348  type SetUICustomizationInput struct {
 27349  	_ struct{} `type:"structure"`
 27350  
 27351  	// The CSS values in the UI customization.
 27352  	CSS *string `type:"string"`
 27353  
 27354  	// The client ID for the client app.
 27355  	//
 27356  	// ClientId is a sensitive parameter and its value will be
 27357  	// replaced with "sensitive" in string returned by SetUICustomizationInput's
 27358  	// String and GoString methods.
 27359  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 27360  
 27361  	// The uploaded logo image for the UI customization.
 27362  	// ImageFile is automatically base64 encoded/decoded by the SDK.
 27363  	ImageFile []byte `type:"blob"`
 27364  
 27365  	// The user pool ID for the user pool.
 27366  	//
 27367  	// UserPoolId is a required field
 27368  	UserPoolId *string `min:"1" type:"string" required:"true"`
 27369  }
 27370  
 27371  // String returns the string representation.
 27372  //
 27373  // API parameter values that are decorated as "sensitive" in the API will not
 27374  // be included in the string output. The member name will be present, but the
 27375  // value will be replaced with "sensitive".
 27376  func (s SetUICustomizationInput) String() string {
 27377  	return awsutil.Prettify(s)
 27378  }
 27379  
 27380  // GoString returns the string representation.
 27381  //
 27382  // API parameter values that are decorated as "sensitive" in the API will not
 27383  // be included in the string output. The member name will be present, but the
 27384  // value will be replaced with "sensitive".
 27385  func (s SetUICustomizationInput) GoString() string {
 27386  	return s.String()
 27387  }
 27388  
 27389  // Validate inspects the fields of the type to determine if they are valid.
 27390  func (s *SetUICustomizationInput) Validate() error {
 27391  	invalidParams := request.ErrInvalidParams{Context: "SetUICustomizationInput"}
 27392  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 27393  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 27394  	}
 27395  	if s.UserPoolId == nil {
 27396  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 27397  	}
 27398  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 27399  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 27400  	}
 27401  
 27402  	if invalidParams.Len() > 0 {
 27403  		return invalidParams
 27404  	}
 27405  	return nil
 27406  }
 27407  
 27408  // SetCSS sets the CSS field's value.
 27409  func (s *SetUICustomizationInput) SetCSS(v string) *SetUICustomizationInput {
 27410  	s.CSS = &v
 27411  	return s
 27412  }
 27413  
 27414  // SetClientId sets the ClientId field's value.
 27415  func (s *SetUICustomizationInput) SetClientId(v string) *SetUICustomizationInput {
 27416  	s.ClientId = &v
 27417  	return s
 27418  }
 27419  
 27420  // SetImageFile sets the ImageFile field's value.
 27421  func (s *SetUICustomizationInput) SetImageFile(v []byte) *SetUICustomizationInput {
 27422  	s.ImageFile = v
 27423  	return s
 27424  }
 27425  
 27426  // SetUserPoolId sets the UserPoolId field's value.
 27427  func (s *SetUICustomizationInput) SetUserPoolId(v string) *SetUICustomizationInput {
 27428  	s.UserPoolId = &v
 27429  	return s
 27430  }
 27431  
 27432  type SetUICustomizationOutput struct {
 27433  	_ struct{} `type:"structure"`
 27434  
 27435  	// The UI customization information.
 27436  	//
 27437  	// UICustomization is a required field
 27438  	UICustomization *UICustomizationType `type:"structure" required:"true"`
 27439  }
 27440  
 27441  // String returns the string representation.
 27442  //
 27443  // API parameter values that are decorated as "sensitive" in the API will not
 27444  // be included in the string output. The member name will be present, but the
 27445  // value will be replaced with "sensitive".
 27446  func (s SetUICustomizationOutput) String() string {
 27447  	return awsutil.Prettify(s)
 27448  }
 27449  
 27450  // GoString returns the string representation.
 27451  //
 27452  // API parameter values that are decorated as "sensitive" in the API will not
 27453  // be included in the string output. The member name will be present, but the
 27454  // value will be replaced with "sensitive".
 27455  func (s SetUICustomizationOutput) GoString() string {
 27456  	return s.String()
 27457  }
 27458  
 27459  // SetUICustomization sets the UICustomization field's value.
 27460  func (s *SetUICustomizationOutput) SetUICustomization(v *UICustomizationType) *SetUICustomizationOutput {
 27461  	s.UICustomization = v
 27462  	return s
 27463  }
 27464  
 27465  type SetUserMFAPreferenceInput struct {
 27466  	_ struct{} `type:"structure"`
 27467  
 27468  	// The access token for the user.
 27469  	//
 27470  	// AccessToken is a sensitive parameter and its value will be
 27471  	// replaced with "sensitive" in string returned by SetUserMFAPreferenceInput's
 27472  	// String and GoString methods.
 27473  	//
 27474  	// AccessToken is a required field
 27475  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 27476  
 27477  	// The SMS text message multi-factor authentication (MFA) settings.
 27478  	SMSMfaSettings *SMSMfaSettingsType `type:"structure"`
 27479  
 27480  	// The time-based one-time password software token MFA settings.
 27481  	SoftwareTokenMfaSettings *SoftwareTokenMfaSettingsType `type:"structure"`
 27482  }
 27483  
 27484  // String returns the string representation.
 27485  //
 27486  // API parameter values that are decorated as "sensitive" in the API will not
 27487  // be included in the string output. The member name will be present, but the
 27488  // value will be replaced with "sensitive".
 27489  func (s SetUserMFAPreferenceInput) String() string {
 27490  	return awsutil.Prettify(s)
 27491  }
 27492  
 27493  // GoString returns the string representation.
 27494  //
 27495  // API parameter values that are decorated as "sensitive" in the API will not
 27496  // be included in the string output. The member name will be present, but the
 27497  // value will be replaced with "sensitive".
 27498  func (s SetUserMFAPreferenceInput) GoString() string {
 27499  	return s.String()
 27500  }
 27501  
 27502  // Validate inspects the fields of the type to determine if they are valid.
 27503  func (s *SetUserMFAPreferenceInput) Validate() error {
 27504  	invalidParams := request.ErrInvalidParams{Context: "SetUserMFAPreferenceInput"}
 27505  	if s.AccessToken == nil {
 27506  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 27507  	}
 27508  
 27509  	if invalidParams.Len() > 0 {
 27510  		return invalidParams
 27511  	}
 27512  	return nil
 27513  }
 27514  
 27515  // SetAccessToken sets the AccessToken field's value.
 27516  func (s *SetUserMFAPreferenceInput) SetAccessToken(v string) *SetUserMFAPreferenceInput {
 27517  	s.AccessToken = &v
 27518  	return s
 27519  }
 27520  
 27521  // SetSMSMfaSettings sets the SMSMfaSettings field's value.
 27522  func (s *SetUserMFAPreferenceInput) SetSMSMfaSettings(v *SMSMfaSettingsType) *SetUserMFAPreferenceInput {
 27523  	s.SMSMfaSettings = v
 27524  	return s
 27525  }
 27526  
 27527  // SetSoftwareTokenMfaSettings sets the SoftwareTokenMfaSettings field's value.
 27528  func (s *SetUserMFAPreferenceInput) SetSoftwareTokenMfaSettings(v *SoftwareTokenMfaSettingsType) *SetUserMFAPreferenceInput {
 27529  	s.SoftwareTokenMfaSettings = v
 27530  	return s
 27531  }
 27532  
 27533  type SetUserMFAPreferenceOutput struct {
 27534  	_ struct{} `type:"structure"`
 27535  }
 27536  
 27537  // String returns the string representation.
 27538  //
 27539  // API parameter values that are decorated as "sensitive" in the API will not
 27540  // be included in the string output. The member name will be present, but the
 27541  // value will be replaced with "sensitive".
 27542  func (s SetUserMFAPreferenceOutput) String() string {
 27543  	return awsutil.Prettify(s)
 27544  }
 27545  
 27546  // GoString returns the string representation.
 27547  //
 27548  // API parameter values that are decorated as "sensitive" in the API will not
 27549  // be included in the string output. The member name will be present, but the
 27550  // value will be replaced with "sensitive".
 27551  func (s SetUserMFAPreferenceOutput) GoString() string {
 27552  	return s.String()
 27553  }
 27554  
 27555  type SetUserPoolMfaConfigInput struct {
 27556  	_ struct{} `type:"structure"`
 27557  
 27558  	// The MFA configuration. Users who don't have an MFA factor set up won't be
 27559  	// able to sign-in if you set the MfaConfiguration value to ‘ON’. See Adding
 27560  	// Multi-Factor Authentication (MFA) to a User Pool (cognito/latest/developerguide/user-pool-settings-mfa.html)
 27561  	// to learn more. Valid values include:
 27562  	//
 27563  	//    * OFF MFA will not be used for any users.
 27564  	//
 27565  	//    * ON MFA is required for all users to sign in.
 27566  	//
 27567  	//    * OPTIONAL MFA will be required only for individual users who have an
 27568  	//    MFA factor enabled.
 27569  	MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"`
 27570  
 27571  	// The SMS text message MFA configuration.
 27572  	SmsMfaConfiguration *SmsMfaConfigType `type:"structure"`
 27573  
 27574  	// The software token MFA configuration.
 27575  	SoftwareTokenMfaConfiguration *SoftwareTokenMfaConfigType `type:"structure"`
 27576  
 27577  	// The user pool ID.
 27578  	//
 27579  	// UserPoolId is a required field
 27580  	UserPoolId *string `min:"1" type:"string" required:"true"`
 27581  }
 27582  
 27583  // String returns the string representation.
 27584  //
 27585  // API parameter values that are decorated as "sensitive" in the API will not
 27586  // be included in the string output. The member name will be present, but the
 27587  // value will be replaced with "sensitive".
 27588  func (s SetUserPoolMfaConfigInput) String() string {
 27589  	return awsutil.Prettify(s)
 27590  }
 27591  
 27592  // GoString returns the string representation.
 27593  //
 27594  // API parameter values that are decorated as "sensitive" in the API will not
 27595  // be included in the string output. The member name will be present, but the
 27596  // value will be replaced with "sensitive".
 27597  func (s SetUserPoolMfaConfigInput) GoString() string {
 27598  	return s.String()
 27599  }
 27600  
 27601  // Validate inspects the fields of the type to determine if they are valid.
 27602  func (s *SetUserPoolMfaConfigInput) Validate() error {
 27603  	invalidParams := request.ErrInvalidParams{Context: "SetUserPoolMfaConfigInput"}
 27604  	if s.UserPoolId == nil {
 27605  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 27606  	}
 27607  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 27608  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 27609  	}
 27610  	if s.SmsMfaConfiguration != nil {
 27611  		if err := s.SmsMfaConfiguration.Validate(); err != nil {
 27612  			invalidParams.AddNested("SmsMfaConfiguration", err.(request.ErrInvalidParams))
 27613  		}
 27614  	}
 27615  
 27616  	if invalidParams.Len() > 0 {
 27617  		return invalidParams
 27618  	}
 27619  	return nil
 27620  }
 27621  
 27622  // SetMfaConfiguration sets the MfaConfiguration field's value.
 27623  func (s *SetUserPoolMfaConfigInput) SetMfaConfiguration(v string) *SetUserPoolMfaConfigInput {
 27624  	s.MfaConfiguration = &v
 27625  	return s
 27626  }
 27627  
 27628  // SetSmsMfaConfiguration sets the SmsMfaConfiguration field's value.
 27629  func (s *SetUserPoolMfaConfigInput) SetSmsMfaConfiguration(v *SmsMfaConfigType) *SetUserPoolMfaConfigInput {
 27630  	s.SmsMfaConfiguration = v
 27631  	return s
 27632  }
 27633  
 27634  // SetSoftwareTokenMfaConfiguration sets the SoftwareTokenMfaConfiguration field's value.
 27635  func (s *SetUserPoolMfaConfigInput) SetSoftwareTokenMfaConfiguration(v *SoftwareTokenMfaConfigType) *SetUserPoolMfaConfigInput {
 27636  	s.SoftwareTokenMfaConfiguration = v
 27637  	return s
 27638  }
 27639  
 27640  // SetUserPoolId sets the UserPoolId field's value.
 27641  func (s *SetUserPoolMfaConfigInput) SetUserPoolId(v string) *SetUserPoolMfaConfigInput {
 27642  	s.UserPoolId = &v
 27643  	return s
 27644  }
 27645  
 27646  type SetUserPoolMfaConfigOutput struct {
 27647  	_ struct{} `type:"structure"`
 27648  
 27649  	// The MFA configuration. Valid values include:
 27650  	//
 27651  	//    * OFF MFA will not be used for any users.
 27652  	//
 27653  	//    * ON MFA is required for all users to sign in.
 27654  	//
 27655  	//    * OPTIONAL MFA will be required only for individual users who have an
 27656  	//    MFA factor enabled.
 27657  	MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"`
 27658  
 27659  	// The SMS text message MFA configuration.
 27660  	SmsMfaConfiguration *SmsMfaConfigType `type:"structure"`
 27661  
 27662  	// The software token MFA configuration.
 27663  	SoftwareTokenMfaConfiguration *SoftwareTokenMfaConfigType `type:"structure"`
 27664  }
 27665  
 27666  // String returns the string representation.
 27667  //
 27668  // API parameter values that are decorated as "sensitive" in the API will not
 27669  // be included in the string output. The member name will be present, but the
 27670  // value will be replaced with "sensitive".
 27671  func (s SetUserPoolMfaConfigOutput) String() string {
 27672  	return awsutil.Prettify(s)
 27673  }
 27674  
 27675  // GoString returns the string representation.
 27676  //
 27677  // API parameter values that are decorated as "sensitive" in the API will not
 27678  // be included in the string output. The member name will be present, but the
 27679  // value will be replaced with "sensitive".
 27680  func (s SetUserPoolMfaConfigOutput) GoString() string {
 27681  	return s.String()
 27682  }
 27683  
 27684  // SetMfaConfiguration sets the MfaConfiguration field's value.
 27685  func (s *SetUserPoolMfaConfigOutput) SetMfaConfiguration(v string) *SetUserPoolMfaConfigOutput {
 27686  	s.MfaConfiguration = &v
 27687  	return s
 27688  }
 27689  
 27690  // SetSmsMfaConfiguration sets the SmsMfaConfiguration field's value.
 27691  func (s *SetUserPoolMfaConfigOutput) SetSmsMfaConfiguration(v *SmsMfaConfigType) *SetUserPoolMfaConfigOutput {
 27692  	s.SmsMfaConfiguration = v
 27693  	return s
 27694  }
 27695  
 27696  // SetSoftwareTokenMfaConfiguration sets the SoftwareTokenMfaConfiguration field's value.
 27697  func (s *SetUserPoolMfaConfigOutput) SetSoftwareTokenMfaConfiguration(v *SoftwareTokenMfaConfigType) *SetUserPoolMfaConfigOutput {
 27698  	s.SoftwareTokenMfaConfiguration = v
 27699  	return s
 27700  }
 27701  
 27702  // Represents the request to set user settings.
 27703  type SetUserSettingsInput struct {
 27704  	_ struct{} `type:"structure"`
 27705  
 27706  	// The access token for the set user settings request.
 27707  	//
 27708  	// AccessToken is a sensitive parameter and its value will be
 27709  	// replaced with "sensitive" in string returned by SetUserSettingsInput's
 27710  	// String and GoString methods.
 27711  	//
 27712  	// AccessToken is a required field
 27713  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 27714  
 27715  	// You can use this parameter only to set an SMS configuration that uses SMS
 27716  	// for delivery.
 27717  	//
 27718  	// MFAOptions is a required field
 27719  	MFAOptions []*MFAOptionType `type:"list" required:"true"`
 27720  }
 27721  
 27722  // String returns the string representation.
 27723  //
 27724  // API parameter values that are decorated as "sensitive" in the API will not
 27725  // be included in the string output. The member name will be present, but the
 27726  // value will be replaced with "sensitive".
 27727  func (s SetUserSettingsInput) String() string {
 27728  	return awsutil.Prettify(s)
 27729  }
 27730  
 27731  // GoString returns the string representation.
 27732  //
 27733  // API parameter values that are decorated as "sensitive" in the API will not
 27734  // be included in the string output. The member name will be present, but the
 27735  // value will be replaced with "sensitive".
 27736  func (s SetUserSettingsInput) GoString() string {
 27737  	return s.String()
 27738  }
 27739  
 27740  // Validate inspects the fields of the type to determine if they are valid.
 27741  func (s *SetUserSettingsInput) Validate() error {
 27742  	invalidParams := request.ErrInvalidParams{Context: "SetUserSettingsInput"}
 27743  	if s.AccessToken == nil {
 27744  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 27745  	}
 27746  	if s.MFAOptions == nil {
 27747  		invalidParams.Add(request.NewErrParamRequired("MFAOptions"))
 27748  	}
 27749  	if s.MFAOptions != nil {
 27750  		for i, v := range s.MFAOptions {
 27751  			if v == nil {
 27752  				continue
 27753  			}
 27754  			if err := v.Validate(); err != nil {
 27755  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MFAOptions", i), err.(request.ErrInvalidParams))
 27756  			}
 27757  		}
 27758  	}
 27759  
 27760  	if invalidParams.Len() > 0 {
 27761  		return invalidParams
 27762  	}
 27763  	return nil
 27764  }
 27765  
 27766  // SetAccessToken sets the AccessToken field's value.
 27767  func (s *SetUserSettingsInput) SetAccessToken(v string) *SetUserSettingsInput {
 27768  	s.AccessToken = &v
 27769  	return s
 27770  }
 27771  
 27772  // SetMFAOptions sets the MFAOptions field's value.
 27773  func (s *SetUserSettingsInput) SetMFAOptions(v []*MFAOptionType) *SetUserSettingsInput {
 27774  	s.MFAOptions = v
 27775  	return s
 27776  }
 27777  
 27778  // The response from the server for a set user settings request.
 27779  type SetUserSettingsOutput struct {
 27780  	_ struct{} `type:"structure"`
 27781  }
 27782  
 27783  // String returns the string representation.
 27784  //
 27785  // API parameter values that are decorated as "sensitive" in the API will not
 27786  // be included in the string output. The member name will be present, but the
 27787  // value will be replaced with "sensitive".
 27788  func (s SetUserSettingsOutput) String() string {
 27789  	return awsutil.Prettify(s)
 27790  }
 27791  
 27792  // GoString returns the string representation.
 27793  //
 27794  // API parameter values that are decorated as "sensitive" in the API will not
 27795  // be included in the string output. The member name will be present, but the
 27796  // value will be replaced with "sensitive".
 27797  func (s SetUserSettingsOutput) GoString() string {
 27798  	return s.String()
 27799  }
 27800  
 27801  // Represents the request to register a user.
 27802  type SignUpInput struct {
 27803  	_ struct{} `type:"structure"`
 27804  
 27805  	// The Amazon Pinpoint analytics metadata for collecting metrics for SignUp
 27806  	// calls.
 27807  	AnalyticsMetadata *AnalyticsMetadataType `type:"structure"`
 27808  
 27809  	// The ID of the client associated with the user pool.
 27810  	//
 27811  	// ClientId is a sensitive parameter and its value will be
 27812  	// replaced with "sensitive" in string returned by SignUpInput's
 27813  	// String and GoString methods.
 27814  	//
 27815  	// ClientId is a required field
 27816  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 27817  
 27818  	// A map of custom key-value pairs that you can provide as input for any custom
 27819  	// workflows that this action triggers.
 27820  	//
 27821  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 27822  	// When you use the SignUp API action, Amazon Cognito invokes any functions
 27823  	// that are assigned to the following triggers: pre sign-up, custom message,
 27824  	// and post confirmation. When Amazon Cognito invokes any of these functions,
 27825  	// it passes a JSON payload, which the function receives as input. This payload
 27826  	// contains a clientMetadata attribute, which provides the data that you assigned
 27827  	// to the ClientMetadata parameter in your SignUp request. In your function
 27828  	// code in Lambda, you can process the clientMetadata value to enhance your
 27829  	// workflow for your specific needs.
 27830  	//
 27831  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 27832  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 27833  	// in the Amazon Cognito Developer Guide.
 27834  	//
 27835  	// Take the following limitations into consideration when you use the ClientMetadata
 27836  	// parameter:
 27837  	//
 27838  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 27839  	//    available only to Lambda triggers that are assigned to a user pool to
 27840  	//    support custom workflows. If your user pool configuration does not include
 27841  	//    triggers, the ClientMetadata parameter serves no purpose.
 27842  	//
 27843  	//    * Amazon Cognito does not validate the ClientMetadata value.
 27844  	//
 27845  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 27846  	//    use it to provide sensitive information.
 27847  	ClientMetadata map[string]*string `type:"map"`
 27848  
 27849  	// The password of the user you wish to register.
 27850  	//
 27851  	// Password is a sensitive parameter and its value will be
 27852  	// replaced with "sensitive" in string returned by SignUpInput's
 27853  	// String and GoString methods.
 27854  	//
 27855  	// Password is a required field
 27856  	Password *string `min:"6" type:"string" required:"true" sensitive:"true"`
 27857  
 27858  	// A keyed-hash message authentication code (HMAC) calculated using the secret
 27859  	// key of a user pool client and username plus the client ID in the message.
 27860  	//
 27861  	// SecretHash is a sensitive parameter and its value will be
 27862  	// replaced with "sensitive" in string returned by SignUpInput's
 27863  	// String and GoString methods.
 27864  	SecretHash *string `min:"1" type:"string" sensitive:"true"`
 27865  
 27866  	// An array of name-value pairs representing user attributes.
 27867  	//
 27868  	// For custom attributes, you must prepend the custom: prefix to the attribute
 27869  	// name.
 27870  	UserAttributes []*AttributeType `type:"list"`
 27871  
 27872  	// Contextual data such as the user's device fingerprint, IP address, or location
 27873  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 27874  	// security.
 27875  	UserContextData *UserContextDataType `type:"structure"`
 27876  
 27877  	// The user name of the user you wish to register.
 27878  	//
 27879  	// Username is a sensitive parameter and its value will be
 27880  	// replaced with "sensitive" in string returned by SignUpInput's
 27881  	// String and GoString methods.
 27882  	//
 27883  	// Username is a required field
 27884  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 27885  
 27886  	// The validation data in the request to register a user.
 27887  	ValidationData []*AttributeType `type:"list"`
 27888  }
 27889  
 27890  // String returns the string representation.
 27891  //
 27892  // API parameter values that are decorated as "sensitive" in the API will not
 27893  // be included in the string output. The member name will be present, but the
 27894  // value will be replaced with "sensitive".
 27895  func (s SignUpInput) String() string {
 27896  	return awsutil.Prettify(s)
 27897  }
 27898  
 27899  // GoString returns the string representation.
 27900  //
 27901  // API parameter values that are decorated as "sensitive" in the API will not
 27902  // be included in the string output. The member name will be present, but the
 27903  // value will be replaced with "sensitive".
 27904  func (s SignUpInput) GoString() string {
 27905  	return s.String()
 27906  }
 27907  
 27908  // Validate inspects the fields of the type to determine if they are valid.
 27909  func (s *SignUpInput) Validate() error {
 27910  	invalidParams := request.ErrInvalidParams{Context: "SignUpInput"}
 27911  	if s.ClientId == nil {
 27912  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 27913  	}
 27914  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 27915  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 27916  	}
 27917  	if s.Password == nil {
 27918  		invalidParams.Add(request.NewErrParamRequired("Password"))
 27919  	}
 27920  	if s.Password != nil && len(*s.Password) < 6 {
 27921  		invalidParams.Add(request.NewErrParamMinLen("Password", 6))
 27922  	}
 27923  	if s.SecretHash != nil && len(*s.SecretHash) < 1 {
 27924  		invalidParams.Add(request.NewErrParamMinLen("SecretHash", 1))
 27925  	}
 27926  	if s.Username == nil {
 27927  		invalidParams.Add(request.NewErrParamRequired("Username"))
 27928  	}
 27929  	if s.Username != nil && len(*s.Username) < 1 {
 27930  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 27931  	}
 27932  	if s.UserAttributes != nil {
 27933  		for i, v := range s.UserAttributes {
 27934  			if v == nil {
 27935  				continue
 27936  			}
 27937  			if err := v.Validate(); err != nil {
 27938  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
 27939  			}
 27940  		}
 27941  	}
 27942  	if s.ValidationData != nil {
 27943  		for i, v := range s.ValidationData {
 27944  			if v == nil {
 27945  				continue
 27946  			}
 27947  			if err := v.Validate(); err != nil {
 27948  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ValidationData", i), err.(request.ErrInvalidParams))
 27949  			}
 27950  		}
 27951  	}
 27952  
 27953  	if invalidParams.Len() > 0 {
 27954  		return invalidParams
 27955  	}
 27956  	return nil
 27957  }
 27958  
 27959  // SetAnalyticsMetadata sets the AnalyticsMetadata field's value.
 27960  func (s *SignUpInput) SetAnalyticsMetadata(v *AnalyticsMetadataType) *SignUpInput {
 27961  	s.AnalyticsMetadata = v
 27962  	return s
 27963  }
 27964  
 27965  // SetClientId sets the ClientId field's value.
 27966  func (s *SignUpInput) SetClientId(v string) *SignUpInput {
 27967  	s.ClientId = &v
 27968  	return s
 27969  }
 27970  
 27971  // SetClientMetadata sets the ClientMetadata field's value.
 27972  func (s *SignUpInput) SetClientMetadata(v map[string]*string) *SignUpInput {
 27973  	s.ClientMetadata = v
 27974  	return s
 27975  }
 27976  
 27977  // SetPassword sets the Password field's value.
 27978  func (s *SignUpInput) SetPassword(v string) *SignUpInput {
 27979  	s.Password = &v
 27980  	return s
 27981  }
 27982  
 27983  // SetSecretHash sets the SecretHash field's value.
 27984  func (s *SignUpInput) SetSecretHash(v string) *SignUpInput {
 27985  	s.SecretHash = &v
 27986  	return s
 27987  }
 27988  
 27989  // SetUserAttributes sets the UserAttributes field's value.
 27990  func (s *SignUpInput) SetUserAttributes(v []*AttributeType) *SignUpInput {
 27991  	s.UserAttributes = v
 27992  	return s
 27993  }
 27994  
 27995  // SetUserContextData sets the UserContextData field's value.
 27996  func (s *SignUpInput) SetUserContextData(v *UserContextDataType) *SignUpInput {
 27997  	s.UserContextData = v
 27998  	return s
 27999  }
 28000  
 28001  // SetUsername sets the Username field's value.
 28002  func (s *SignUpInput) SetUsername(v string) *SignUpInput {
 28003  	s.Username = &v
 28004  	return s
 28005  }
 28006  
 28007  // SetValidationData sets the ValidationData field's value.
 28008  func (s *SignUpInput) SetValidationData(v []*AttributeType) *SignUpInput {
 28009  	s.ValidationData = v
 28010  	return s
 28011  }
 28012  
 28013  // The response from the server for a registration request.
 28014  type SignUpOutput struct {
 28015  	_ struct{} `type:"structure"`
 28016  
 28017  	// The code delivery details returned by the server response to the user registration
 28018  	// request.
 28019  	CodeDeliveryDetails *CodeDeliveryDetailsType `type:"structure"`
 28020  
 28021  	// A response from the server indicating that a user registration has been confirmed.
 28022  	//
 28023  	// UserConfirmed is a required field
 28024  	UserConfirmed *bool `type:"boolean" required:"true"`
 28025  
 28026  	// The UUID of the authenticated user. This is not the same as username.
 28027  	//
 28028  	// UserSub is a required field
 28029  	UserSub *string `type:"string" required:"true"`
 28030  }
 28031  
 28032  // String returns the string representation.
 28033  //
 28034  // API parameter values that are decorated as "sensitive" in the API will not
 28035  // be included in the string output. The member name will be present, but the
 28036  // value will be replaced with "sensitive".
 28037  func (s SignUpOutput) String() string {
 28038  	return awsutil.Prettify(s)
 28039  }
 28040  
 28041  // GoString returns the string representation.
 28042  //
 28043  // API parameter values that are decorated as "sensitive" in the API will not
 28044  // be included in the string output. The member name will be present, but the
 28045  // value will be replaced with "sensitive".
 28046  func (s SignUpOutput) GoString() string {
 28047  	return s.String()
 28048  }
 28049  
 28050  // SetCodeDeliveryDetails sets the CodeDeliveryDetails field's value.
 28051  func (s *SignUpOutput) SetCodeDeliveryDetails(v *CodeDeliveryDetailsType) *SignUpOutput {
 28052  	s.CodeDeliveryDetails = v
 28053  	return s
 28054  }
 28055  
 28056  // SetUserConfirmed sets the UserConfirmed field's value.
 28057  func (s *SignUpOutput) SetUserConfirmed(v bool) *SignUpOutput {
 28058  	s.UserConfirmed = &v
 28059  	return s
 28060  }
 28061  
 28062  // SetUserSub sets the UserSub field's value.
 28063  func (s *SignUpOutput) SetUserSub(v string) *SignUpOutput {
 28064  	s.UserSub = &v
 28065  	return s
 28066  }
 28067  
 28068  // The SMS configuration type that includes the settings the Cognito User Pool
 28069  // needs to call for the Amazon SNS service to send an SMS message from your
 28070  // account. The Cognito User Pool makes the request to the Amazon SNS Service
 28071  // by using an IAM role that you provide for your account.
 28072  type SmsConfigurationType struct {
 28073  	_ struct{} `type:"structure"`
 28074  
 28075  	// The external ID is a value that we recommend you use to add security to your
 28076  	// IAM role which is used to call Amazon SNS to send SMS messages for your user
 28077  	// pool. If you provide an ExternalId, the Cognito User Pool will include it
 28078  	// when attempting to assume your IAM role, so that you can set your roles trust
 28079  	// policy to require the ExternalID. If you use the Cognito Management Console
 28080  	// to create a role for SMS MFA, Cognito will create a role with the required
 28081  	// permissions and a trust policy that demonstrates use of the ExternalId.
 28082  	//
 28083  	// For more information about the ExternalId of a role, see How to use an external
 28084  	// ID when granting access to your Amazon Web Services resources to a third
 28085  	// party (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)
 28086  	ExternalId *string `type:"string"`
 28087  
 28088  	// The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
 28089  	// (SNS) caller. This is the ARN of the IAM role in your account which Cognito
 28090  	// will use to send SMS messages. SMS messages are subject to a spending limit
 28091  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html).
 28092  	//
 28093  	// SnsCallerArn is a required field
 28094  	SnsCallerArn *string `min:"20" type:"string" required:"true"`
 28095  }
 28096  
 28097  // String returns the string representation.
 28098  //
 28099  // API parameter values that are decorated as "sensitive" in the API will not
 28100  // be included in the string output. The member name will be present, but the
 28101  // value will be replaced with "sensitive".
 28102  func (s SmsConfigurationType) String() string {
 28103  	return awsutil.Prettify(s)
 28104  }
 28105  
 28106  // GoString returns the string representation.
 28107  //
 28108  // API parameter values that are decorated as "sensitive" in the API will not
 28109  // be included in the string output. The member name will be present, but the
 28110  // value will be replaced with "sensitive".
 28111  func (s SmsConfigurationType) GoString() string {
 28112  	return s.String()
 28113  }
 28114  
 28115  // Validate inspects the fields of the type to determine if they are valid.
 28116  func (s *SmsConfigurationType) Validate() error {
 28117  	invalidParams := request.ErrInvalidParams{Context: "SmsConfigurationType"}
 28118  	if s.SnsCallerArn == nil {
 28119  		invalidParams.Add(request.NewErrParamRequired("SnsCallerArn"))
 28120  	}
 28121  	if s.SnsCallerArn != nil && len(*s.SnsCallerArn) < 20 {
 28122  		invalidParams.Add(request.NewErrParamMinLen("SnsCallerArn", 20))
 28123  	}
 28124  
 28125  	if invalidParams.Len() > 0 {
 28126  		return invalidParams
 28127  	}
 28128  	return nil
 28129  }
 28130  
 28131  // SetExternalId sets the ExternalId field's value.
 28132  func (s *SmsConfigurationType) SetExternalId(v string) *SmsConfigurationType {
 28133  	s.ExternalId = &v
 28134  	return s
 28135  }
 28136  
 28137  // SetSnsCallerArn sets the SnsCallerArn field's value.
 28138  func (s *SmsConfigurationType) SetSnsCallerArn(v string) *SmsConfigurationType {
 28139  	s.SnsCallerArn = &v
 28140  	return s
 28141  }
 28142  
 28143  // The SMS text message multi-factor authentication (MFA) configuration type.
 28144  type SmsMfaConfigType struct {
 28145  	_ struct{} `type:"structure"`
 28146  
 28147  	// The SMS authentication message that will be sent to users with the code they
 28148  	// need to sign in. The message must contain the ‘{####}’ placeholder, which
 28149  	// will be replaced with the code. If the message is not included, and default
 28150  	// message will be used.
 28151  	SmsAuthenticationMessage *string `min:"6" type:"string"`
 28152  
 28153  	// The SMS configuration.
 28154  	SmsConfiguration *SmsConfigurationType `type:"structure"`
 28155  }
 28156  
 28157  // String returns the string representation.
 28158  //
 28159  // API parameter values that are decorated as "sensitive" in the API will not
 28160  // be included in the string output. The member name will be present, but the
 28161  // value will be replaced with "sensitive".
 28162  func (s SmsMfaConfigType) String() string {
 28163  	return awsutil.Prettify(s)
 28164  }
 28165  
 28166  // GoString returns the string representation.
 28167  //
 28168  // API parameter values that are decorated as "sensitive" in the API will not
 28169  // be included in the string output. The member name will be present, but the
 28170  // value will be replaced with "sensitive".
 28171  func (s SmsMfaConfigType) GoString() string {
 28172  	return s.String()
 28173  }
 28174  
 28175  // Validate inspects the fields of the type to determine if they are valid.
 28176  func (s *SmsMfaConfigType) Validate() error {
 28177  	invalidParams := request.ErrInvalidParams{Context: "SmsMfaConfigType"}
 28178  	if s.SmsAuthenticationMessage != nil && len(*s.SmsAuthenticationMessage) < 6 {
 28179  		invalidParams.Add(request.NewErrParamMinLen("SmsAuthenticationMessage", 6))
 28180  	}
 28181  	if s.SmsConfiguration != nil {
 28182  		if err := s.SmsConfiguration.Validate(); err != nil {
 28183  			invalidParams.AddNested("SmsConfiguration", err.(request.ErrInvalidParams))
 28184  		}
 28185  	}
 28186  
 28187  	if invalidParams.Len() > 0 {
 28188  		return invalidParams
 28189  	}
 28190  	return nil
 28191  }
 28192  
 28193  // SetSmsAuthenticationMessage sets the SmsAuthenticationMessage field's value.
 28194  func (s *SmsMfaConfigType) SetSmsAuthenticationMessage(v string) *SmsMfaConfigType {
 28195  	s.SmsAuthenticationMessage = &v
 28196  	return s
 28197  }
 28198  
 28199  // SetSmsConfiguration sets the SmsConfiguration field's value.
 28200  func (s *SmsMfaConfigType) SetSmsConfiguration(v *SmsConfigurationType) *SmsMfaConfigType {
 28201  	s.SmsConfiguration = v
 28202  	return s
 28203  }
 28204  
 28205  // This exception is thrown when the software token TOTP multi-factor authentication
 28206  // (MFA) is not enabled for the user pool.
 28207  type SoftwareTokenMFANotFoundException struct {
 28208  	_            struct{}                  `type:"structure"`
 28209  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28210  
 28211  	Message_ *string `locationName:"message" type:"string"`
 28212  }
 28213  
 28214  // String returns the string representation.
 28215  //
 28216  // API parameter values that are decorated as "sensitive" in the API will not
 28217  // be included in the string output. The member name will be present, but the
 28218  // value will be replaced with "sensitive".
 28219  func (s SoftwareTokenMFANotFoundException) String() string {
 28220  	return awsutil.Prettify(s)
 28221  }
 28222  
 28223  // GoString returns the string representation.
 28224  //
 28225  // API parameter values that are decorated as "sensitive" in the API will not
 28226  // be included in the string output. The member name will be present, but the
 28227  // value will be replaced with "sensitive".
 28228  func (s SoftwareTokenMFANotFoundException) GoString() string {
 28229  	return s.String()
 28230  }
 28231  
 28232  func newErrorSoftwareTokenMFANotFoundException(v protocol.ResponseMetadata) error {
 28233  	return &SoftwareTokenMFANotFoundException{
 28234  		RespMetadata: v,
 28235  	}
 28236  }
 28237  
 28238  // Code returns the exception type name.
 28239  func (s *SoftwareTokenMFANotFoundException) Code() string {
 28240  	return "SoftwareTokenMFANotFoundException"
 28241  }
 28242  
 28243  // Message returns the exception's message.
 28244  func (s *SoftwareTokenMFANotFoundException) Message() string {
 28245  	if s.Message_ != nil {
 28246  		return *s.Message_
 28247  	}
 28248  	return ""
 28249  }
 28250  
 28251  // OrigErr always returns nil, satisfies awserr.Error interface.
 28252  func (s *SoftwareTokenMFANotFoundException) OrigErr() error {
 28253  	return nil
 28254  }
 28255  
 28256  func (s *SoftwareTokenMFANotFoundException) Error() string {
 28257  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28258  }
 28259  
 28260  // Status code returns the HTTP status code for the request's response error.
 28261  func (s *SoftwareTokenMFANotFoundException) StatusCode() int {
 28262  	return s.RespMetadata.StatusCode
 28263  }
 28264  
 28265  // RequestID returns the service's response RequestID for request.
 28266  func (s *SoftwareTokenMFANotFoundException) RequestID() string {
 28267  	return s.RespMetadata.RequestID
 28268  }
 28269  
 28270  // The type used for enabling software token MFA at the user pool level.
 28271  type SoftwareTokenMfaConfigType struct {
 28272  	_ struct{} `type:"structure"`
 28273  
 28274  	// Specifies whether software token MFA is enabled.
 28275  	Enabled *bool `type:"boolean"`
 28276  }
 28277  
 28278  // String returns the string representation.
 28279  //
 28280  // API parameter values that are decorated as "sensitive" in the API will not
 28281  // be included in the string output. The member name will be present, but the
 28282  // value will be replaced with "sensitive".
 28283  func (s SoftwareTokenMfaConfigType) String() string {
 28284  	return awsutil.Prettify(s)
 28285  }
 28286  
 28287  // GoString returns the string representation.
 28288  //
 28289  // API parameter values that are decorated as "sensitive" in the API will not
 28290  // be included in the string output. The member name will be present, but the
 28291  // value will be replaced with "sensitive".
 28292  func (s SoftwareTokenMfaConfigType) GoString() string {
 28293  	return s.String()
 28294  }
 28295  
 28296  // SetEnabled sets the Enabled field's value.
 28297  func (s *SoftwareTokenMfaConfigType) SetEnabled(v bool) *SoftwareTokenMfaConfigType {
 28298  	s.Enabled = &v
 28299  	return s
 28300  }
 28301  
 28302  // The type used for enabling software token MFA at the user level. If an MFA
 28303  // type is enabled for a user, the user will be prompted for MFA during all
 28304  // sign in attempts, unless device tracking is turned on and the device has
 28305  // been trusted. If you would like MFA to be applied selectively based on the
 28306  // assessed risk level of sign in attempts, disable MFA for users and turn on
 28307  // Adaptive Authentication for the user pool.
 28308  type SoftwareTokenMfaSettingsType struct {
 28309  	_ struct{} `type:"structure"`
 28310  
 28311  	// Specifies whether software token MFA is enabled. If an MFA type is enabled
 28312  	// for a user, the user will be prompted for MFA during all sign in attempts,
 28313  	// unless device tracking is turned on and the device has been trusted.
 28314  	Enabled *bool `type:"boolean"`
 28315  
 28316  	// Specifies whether software token MFA is the preferred MFA method.
 28317  	PreferredMfa *bool `type:"boolean"`
 28318  }
 28319  
 28320  // String returns the string representation.
 28321  //
 28322  // API parameter values that are decorated as "sensitive" in the API will not
 28323  // be included in the string output. The member name will be present, but the
 28324  // value will be replaced with "sensitive".
 28325  func (s SoftwareTokenMfaSettingsType) String() string {
 28326  	return awsutil.Prettify(s)
 28327  }
 28328  
 28329  // GoString returns the string representation.
 28330  //
 28331  // API parameter values that are decorated as "sensitive" in the API will not
 28332  // be included in the string output. The member name will be present, but the
 28333  // value will be replaced with "sensitive".
 28334  func (s SoftwareTokenMfaSettingsType) GoString() string {
 28335  	return s.String()
 28336  }
 28337  
 28338  // SetEnabled sets the Enabled field's value.
 28339  func (s *SoftwareTokenMfaSettingsType) SetEnabled(v bool) *SoftwareTokenMfaSettingsType {
 28340  	s.Enabled = &v
 28341  	return s
 28342  }
 28343  
 28344  // SetPreferredMfa sets the PreferredMfa field's value.
 28345  func (s *SoftwareTokenMfaSettingsType) SetPreferredMfa(v bool) *SoftwareTokenMfaSettingsType {
 28346  	s.PreferredMfa = &v
 28347  	return s
 28348  }
 28349  
 28350  // Represents the request to start the user import job.
 28351  type StartUserImportJobInput struct {
 28352  	_ struct{} `type:"structure"`
 28353  
 28354  	// The job ID for the user import job.
 28355  	//
 28356  	// JobId is a required field
 28357  	JobId *string `min:"1" type:"string" required:"true"`
 28358  
 28359  	// The user pool ID for the user pool that the users are being imported into.
 28360  	//
 28361  	// UserPoolId is a required field
 28362  	UserPoolId *string `min:"1" type:"string" required:"true"`
 28363  }
 28364  
 28365  // String returns the string representation.
 28366  //
 28367  // API parameter values that are decorated as "sensitive" in the API will not
 28368  // be included in the string output. The member name will be present, but the
 28369  // value will be replaced with "sensitive".
 28370  func (s StartUserImportJobInput) String() string {
 28371  	return awsutil.Prettify(s)
 28372  }
 28373  
 28374  // GoString returns the string representation.
 28375  //
 28376  // API parameter values that are decorated as "sensitive" in the API will not
 28377  // be included in the string output. The member name will be present, but the
 28378  // value will be replaced with "sensitive".
 28379  func (s StartUserImportJobInput) GoString() string {
 28380  	return s.String()
 28381  }
 28382  
 28383  // Validate inspects the fields of the type to determine if they are valid.
 28384  func (s *StartUserImportJobInput) Validate() error {
 28385  	invalidParams := request.ErrInvalidParams{Context: "StartUserImportJobInput"}
 28386  	if s.JobId == nil {
 28387  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 28388  	}
 28389  	if s.JobId != nil && len(*s.JobId) < 1 {
 28390  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 28391  	}
 28392  	if s.UserPoolId == nil {
 28393  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 28394  	}
 28395  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 28396  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 28397  	}
 28398  
 28399  	if invalidParams.Len() > 0 {
 28400  		return invalidParams
 28401  	}
 28402  	return nil
 28403  }
 28404  
 28405  // SetJobId sets the JobId field's value.
 28406  func (s *StartUserImportJobInput) SetJobId(v string) *StartUserImportJobInput {
 28407  	s.JobId = &v
 28408  	return s
 28409  }
 28410  
 28411  // SetUserPoolId sets the UserPoolId field's value.
 28412  func (s *StartUserImportJobInput) SetUserPoolId(v string) *StartUserImportJobInput {
 28413  	s.UserPoolId = &v
 28414  	return s
 28415  }
 28416  
 28417  // Represents the response from the server to the request to start the user
 28418  // import job.
 28419  type StartUserImportJobOutput struct {
 28420  	_ struct{} `type:"structure"`
 28421  
 28422  	// The job object that represents the user import job.
 28423  	UserImportJob *UserImportJobType `type:"structure"`
 28424  }
 28425  
 28426  // String returns the string representation.
 28427  //
 28428  // API parameter values that are decorated as "sensitive" in the API will not
 28429  // be included in the string output. The member name will be present, but the
 28430  // value will be replaced with "sensitive".
 28431  func (s StartUserImportJobOutput) String() string {
 28432  	return awsutil.Prettify(s)
 28433  }
 28434  
 28435  // GoString returns the string representation.
 28436  //
 28437  // API parameter values that are decorated as "sensitive" in the API will not
 28438  // be included in the string output. The member name will be present, but the
 28439  // value will be replaced with "sensitive".
 28440  func (s StartUserImportJobOutput) GoString() string {
 28441  	return s.String()
 28442  }
 28443  
 28444  // SetUserImportJob sets the UserImportJob field's value.
 28445  func (s *StartUserImportJobOutput) SetUserImportJob(v *UserImportJobType) *StartUserImportJobOutput {
 28446  	s.UserImportJob = v
 28447  	return s
 28448  }
 28449  
 28450  // Represents the request to stop the user import job.
 28451  type StopUserImportJobInput struct {
 28452  	_ struct{} `type:"structure"`
 28453  
 28454  	// The job ID for the user import job.
 28455  	//
 28456  	// JobId is a required field
 28457  	JobId *string `min:"1" type:"string" required:"true"`
 28458  
 28459  	// The user pool ID for the user pool that the users are being imported into.
 28460  	//
 28461  	// UserPoolId is a required field
 28462  	UserPoolId *string `min:"1" type:"string" required:"true"`
 28463  }
 28464  
 28465  // String returns the string representation.
 28466  //
 28467  // API parameter values that are decorated as "sensitive" in the API will not
 28468  // be included in the string output. The member name will be present, but the
 28469  // value will be replaced with "sensitive".
 28470  func (s StopUserImportJobInput) String() string {
 28471  	return awsutil.Prettify(s)
 28472  }
 28473  
 28474  // GoString returns the string representation.
 28475  //
 28476  // API parameter values that are decorated as "sensitive" in the API will not
 28477  // be included in the string output. The member name will be present, but the
 28478  // value will be replaced with "sensitive".
 28479  func (s StopUserImportJobInput) GoString() string {
 28480  	return s.String()
 28481  }
 28482  
 28483  // Validate inspects the fields of the type to determine if they are valid.
 28484  func (s *StopUserImportJobInput) Validate() error {
 28485  	invalidParams := request.ErrInvalidParams{Context: "StopUserImportJobInput"}
 28486  	if s.JobId == nil {
 28487  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 28488  	}
 28489  	if s.JobId != nil && len(*s.JobId) < 1 {
 28490  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 28491  	}
 28492  	if s.UserPoolId == nil {
 28493  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 28494  	}
 28495  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 28496  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 28497  	}
 28498  
 28499  	if invalidParams.Len() > 0 {
 28500  		return invalidParams
 28501  	}
 28502  	return nil
 28503  }
 28504  
 28505  // SetJobId sets the JobId field's value.
 28506  func (s *StopUserImportJobInput) SetJobId(v string) *StopUserImportJobInput {
 28507  	s.JobId = &v
 28508  	return s
 28509  }
 28510  
 28511  // SetUserPoolId sets the UserPoolId field's value.
 28512  func (s *StopUserImportJobInput) SetUserPoolId(v string) *StopUserImportJobInput {
 28513  	s.UserPoolId = &v
 28514  	return s
 28515  }
 28516  
 28517  // Represents the response from the server to the request to stop the user import
 28518  // job.
 28519  type StopUserImportJobOutput struct {
 28520  	_ struct{} `type:"structure"`
 28521  
 28522  	// The job object that represents the user import job.
 28523  	UserImportJob *UserImportJobType `type:"structure"`
 28524  }
 28525  
 28526  // String returns the string representation.
 28527  //
 28528  // API parameter values that are decorated as "sensitive" in the API will not
 28529  // be included in the string output. The member name will be present, but the
 28530  // value will be replaced with "sensitive".
 28531  func (s StopUserImportJobOutput) String() string {
 28532  	return awsutil.Prettify(s)
 28533  }
 28534  
 28535  // GoString returns the string representation.
 28536  //
 28537  // API parameter values that are decorated as "sensitive" in the API will not
 28538  // be included in the string output. The member name will be present, but the
 28539  // value will be replaced with "sensitive".
 28540  func (s StopUserImportJobOutput) GoString() string {
 28541  	return s.String()
 28542  }
 28543  
 28544  // SetUserImportJob sets the UserImportJob field's value.
 28545  func (s *StopUserImportJobOutput) SetUserImportJob(v *UserImportJobType) *StopUserImportJobOutput {
 28546  	s.UserImportJob = v
 28547  	return s
 28548  }
 28549  
 28550  // The constraints associated with a string attribute.
 28551  type StringAttributeConstraintsType struct {
 28552  	_ struct{} `type:"structure"`
 28553  
 28554  	// The maximum length.
 28555  	MaxLength *string `type:"string"`
 28556  
 28557  	// The minimum length.
 28558  	MinLength *string `type:"string"`
 28559  }
 28560  
 28561  // String returns the string representation.
 28562  //
 28563  // API parameter values that are decorated as "sensitive" in the API will not
 28564  // be included in the string output. The member name will be present, but the
 28565  // value will be replaced with "sensitive".
 28566  func (s StringAttributeConstraintsType) String() string {
 28567  	return awsutil.Prettify(s)
 28568  }
 28569  
 28570  // GoString returns the string representation.
 28571  //
 28572  // API parameter values that are decorated as "sensitive" in the API will not
 28573  // be included in the string output. The member name will be present, but the
 28574  // value will be replaced with "sensitive".
 28575  func (s StringAttributeConstraintsType) GoString() string {
 28576  	return s.String()
 28577  }
 28578  
 28579  // SetMaxLength sets the MaxLength field's value.
 28580  func (s *StringAttributeConstraintsType) SetMaxLength(v string) *StringAttributeConstraintsType {
 28581  	s.MaxLength = &v
 28582  	return s
 28583  }
 28584  
 28585  // SetMinLength sets the MinLength field's value.
 28586  func (s *StringAttributeConstraintsType) SetMinLength(v string) *StringAttributeConstraintsType {
 28587  	s.MinLength = &v
 28588  	return s
 28589  }
 28590  
 28591  type TagResourceInput struct {
 28592  	_ struct{} `type:"structure"`
 28593  
 28594  	// The Amazon Resource Name (ARN) of the user pool to assign the tags to.
 28595  	//
 28596  	// ResourceArn is a required field
 28597  	ResourceArn *string `min:"20" type:"string" required:"true"`
 28598  
 28599  	// The tags to assign to the user pool.
 28600  	//
 28601  	// Tags is a required field
 28602  	Tags map[string]*string `type:"map" required:"true"`
 28603  }
 28604  
 28605  // String returns the string representation.
 28606  //
 28607  // API parameter values that are decorated as "sensitive" in the API will not
 28608  // be included in the string output. The member name will be present, but the
 28609  // value will be replaced with "sensitive".
 28610  func (s TagResourceInput) String() string {
 28611  	return awsutil.Prettify(s)
 28612  }
 28613  
 28614  // GoString returns the string representation.
 28615  //
 28616  // API parameter values that are decorated as "sensitive" in the API will not
 28617  // be included in the string output. The member name will be present, but the
 28618  // value will be replaced with "sensitive".
 28619  func (s TagResourceInput) GoString() string {
 28620  	return s.String()
 28621  }
 28622  
 28623  // Validate inspects the fields of the type to determine if they are valid.
 28624  func (s *TagResourceInput) Validate() error {
 28625  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 28626  	if s.ResourceArn == nil {
 28627  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 28628  	}
 28629  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 28630  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 28631  	}
 28632  	if s.Tags == nil {
 28633  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 28634  	}
 28635  
 28636  	if invalidParams.Len() > 0 {
 28637  		return invalidParams
 28638  	}
 28639  	return nil
 28640  }
 28641  
 28642  // SetResourceArn sets the ResourceArn field's value.
 28643  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 28644  	s.ResourceArn = &v
 28645  	return s
 28646  }
 28647  
 28648  // SetTags sets the Tags field's value.
 28649  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 28650  	s.Tags = v
 28651  	return s
 28652  }
 28653  
 28654  type TagResourceOutput struct {
 28655  	_ struct{} `type:"structure"`
 28656  }
 28657  
 28658  // String returns the string representation.
 28659  //
 28660  // API parameter values that are decorated as "sensitive" in the API will not
 28661  // be included in the string output. The member name will be present, but the
 28662  // value will be replaced with "sensitive".
 28663  func (s TagResourceOutput) String() string {
 28664  	return awsutil.Prettify(s)
 28665  }
 28666  
 28667  // GoString returns the string representation.
 28668  //
 28669  // API parameter values that are decorated as "sensitive" in the API will not
 28670  // be included in the string output. The member name will be present, but the
 28671  // value will be replaced with "sensitive".
 28672  func (s TagResourceOutput) GoString() string {
 28673  	return s.String()
 28674  }
 28675  
 28676  // The data type for TokenValidityUnits that specifics the time measurements
 28677  // for token validity.
 28678  type TokenValidityUnitsType struct {
 28679  	_ struct{} `type:"structure"`
 28680  
 28681  	// A time unit in “seconds”, “minutes”, “hours” or “days” for
 28682  	// the value in AccessTokenValidity, defaults to hours.
 28683  	AccessToken *string `type:"string" enum:"TimeUnitsType"`
 28684  
 28685  	// A time unit in “seconds”, “minutes”, “hours” or “days” for
 28686  	// the value in IdTokenValidity, defaults to hours.
 28687  	IdToken *string `type:"string" enum:"TimeUnitsType"`
 28688  
 28689  	// A time unit in “seconds”, “minutes”, “hours” or “days” for
 28690  	// the value in RefreshTokenValidity, defaults to days.
 28691  	RefreshToken *string `type:"string" enum:"TimeUnitsType"`
 28692  }
 28693  
 28694  // String returns the string representation.
 28695  //
 28696  // API parameter values that are decorated as "sensitive" in the API will not
 28697  // be included in the string output. The member name will be present, but the
 28698  // value will be replaced with "sensitive".
 28699  func (s TokenValidityUnitsType) String() string {
 28700  	return awsutil.Prettify(s)
 28701  }
 28702  
 28703  // GoString returns the string representation.
 28704  //
 28705  // API parameter values that are decorated as "sensitive" in the API will not
 28706  // be included in the string output. The member name will be present, but the
 28707  // value will be replaced with "sensitive".
 28708  func (s TokenValidityUnitsType) GoString() string {
 28709  	return s.String()
 28710  }
 28711  
 28712  // SetAccessToken sets the AccessToken field's value.
 28713  func (s *TokenValidityUnitsType) SetAccessToken(v string) *TokenValidityUnitsType {
 28714  	s.AccessToken = &v
 28715  	return s
 28716  }
 28717  
 28718  // SetIdToken sets the IdToken field's value.
 28719  func (s *TokenValidityUnitsType) SetIdToken(v string) *TokenValidityUnitsType {
 28720  	s.IdToken = &v
 28721  	return s
 28722  }
 28723  
 28724  // SetRefreshToken sets the RefreshToken field's value.
 28725  func (s *TokenValidityUnitsType) SetRefreshToken(v string) *TokenValidityUnitsType {
 28726  	s.RefreshToken = &v
 28727  	return s
 28728  }
 28729  
 28730  // This exception is thrown when the user has made too many failed attempts
 28731  // for a given action (e.g., sign in).
 28732  type TooManyFailedAttemptsException struct {
 28733  	_            struct{}                  `type:"structure"`
 28734  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28735  
 28736  	// The message returned when the Amazon Cognito service returns a too many failed
 28737  	// attempts exception.
 28738  	Message_ *string `locationName:"message" type:"string"`
 28739  }
 28740  
 28741  // String returns the string representation.
 28742  //
 28743  // API parameter values that are decorated as "sensitive" in the API will not
 28744  // be included in the string output. The member name will be present, but the
 28745  // value will be replaced with "sensitive".
 28746  func (s TooManyFailedAttemptsException) String() string {
 28747  	return awsutil.Prettify(s)
 28748  }
 28749  
 28750  // GoString returns the string representation.
 28751  //
 28752  // API parameter values that are decorated as "sensitive" in the API will not
 28753  // be included in the string output. The member name will be present, but the
 28754  // value will be replaced with "sensitive".
 28755  func (s TooManyFailedAttemptsException) GoString() string {
 28756  	return s.String()
 28757  }
 28758  
 28759  func newErrorTooManyFailedAttemptsException(v protocol.ResponseMetadata) error {
 28760  	return &TooManyFailedAttemptsException{
 28761  		RespMetadata: v,
 28762  	}
 28763  }
 28764  
 28765  // Code returns the exception type name.
 28766  func (s *TooManyFailedAttemptsException) Code() string {
 28767  	return "TooManyFailedAttemptsException"
 28768  }
 28769  
 28770  // Message returns the exception's message.
 28771  func (s *TooManyFailedAttemptsException) Message() string {
 28772  	if s.Message_ != nil {
 28773  		return *s.Message_
 28774  	}
 28775  	return ""
 28776  }
 28777  
 28778  // OrigErr always returns nil, satisfies awserr.Error interface.
 28779  func (s *TooManyFailedAttemptsException) OrigErr() error {
 28780  	return nil
 28781  }
 28782  
 28783  func (s *TooManyFailedAttemptsException) Error() string {
 28784  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28785  }
 28786  
 28787  // Status code returns the HTTP status code for the request's response error.
 28788  func (s *TooManyFailedAttemptsException) StatusCode() int {
 28789  	return s.RespMetadata.StatusCode
 28790  }
 28791  
 28792  // RequestID returns the service's response RequestID for request.
 28793  func (s *TooManyFailedAttemptsException) RequestID() string {
 28794  	return s.RespMetadata.RequestID
 28795  }
 28796  
 28797  // This exception is thrown when the user has made too many requests for a given
 28798  // operation.
 28799  type TooManyRequestsException struct {
 28800  	_            struct{}                  `type:"structure"`
 28801  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28802  
 28803  	// The message returned when the Amazon Cognito service returns a too many requests
 28804  	// exception.
 28805  	Message_ *string `locationName:"message" type:"string"`
 28806  }
 28807  
 28808  // String returns the string representation.
 28809  //
 28810  // API parameter values that are decorated as "sensitive" in the API will not
 28811  // be included in the string output. The member name will be present, but the
 28812  // value will be replaced with "sensitive".
 28813  func (s TooManyRequestsException) String() string {
 28814  	return awsutil.Prettify(s)
 28815  }
 28816  
 28817  // GoString returns the string representation.
 28818  //
 28819  // API parameter values that are decorated as "sensitive" in the API will not
 28820  // be included in the string output. The member name will be present, but the
 28821  // value will be replaced with "sensitive".
 28822  func (s TooManyRequestsException) GoString() string {
 28823  	return s.String()
 28824  }
 28825  
 28826  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
 28827  	return &TooManyRequestsException{
 28828  		RespMetadata: v,
 28829  	}
 28830  }
 28831  
 28832  // Code returns the exception type name.
 28833  func (s *TooManyRequestsException) Code() string {
 28834  	return "TooManyRequestsException"
 28835  }
 28836  
 28837  // Message returns the exception's message.
 28838  func (s *TooManyRequestsException) Message() string {
 28839  	if s.Message_ != nil {
 28840  		return *s.Message_
 28841  	}
 28842  	return ""
 28843  }
 28844  
 28845  // OrigErr always returns nil, satisfies awserr.Error interface.
 28846  func (s *TooManyRequestsException) OrigErr() error {
 28847  	return nil
 28848  }
 28849  
 28850  func (s *TooManyRequestsException) Error() string {
 28851  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28852  }
 28853  
 28854  // Status code returns the HTTP status code for the request's response error.
 28855  func (s *TooManyRequestsException) StatusCode() int {
 28856  	return s.RespMetadata.StatusCode
 28857  }
 28858  
 28859  // RequestID returns the service's response RequestID for request.
 28860  func (s *TooManyRequestsException) RequestID() string {
 28861  	return s.RespMetadata.RequestID
 28862  }
 28863  
 28864  // A container for the UI customization information for a user pool's built-in
 28865  // app UI.
 28866  type UICustomizationType struct {
 28867  	_ struct{} `type:"structure"`
 28868  
 28869  	// The CSS values in the UI customization.
 28870  	CSS *string `type:"string"`
 28871  
 28872  	// The CSS version number.
 28873  	CSSVersion *string `type:"string"`
 28874  
 28875  	// The client ID for the client app.
 28876  	//
 28877  	// ClientId is a sensitive parameter and its value will be
 28878  	// replaced with "sensitive" in string returned by UICustomizationType's
 28879  	// String and GoString methods.
 28880  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 28881  
 28882  	// The creation date for the UI customization.
 28883  	CreationDate *time.Time `type:"timestamp"`
 28884  
 28885  	// The logo image for the UI customization.
 28886  	ImageUrl *string `type:"string"`
 28887  
 28888  	// The last-modified date for the UI customization.
 28889  	LastModifiedDate *time.Time `type:"timestamp"`
 28890  
 28891  	// The user pool ID for the user pool.
 28892  	UserPoolId *string `min:"1" type:"string"`
 28893  }
 28894  
 28895  // String returns the string representation.
 28896  //
 28897  // API parameter values that are decorated as "sensitive" in the API will not
 28898  // be included in the string output. The member name will be present, but the
 28899  // value will be replaced with "sensitive".
 28900  func (s UICustomizationType) String() string {
 28901  	return awsutil.Prettify(s)
 28902  }
 28903  
 28904  // GoString returns the string representation.
 28905  //
 28906  // API parameter values that are decorated as "sensitive" in the API will not
 28907  // be included in the string output. The member name will be present, but the
 28908  // value will be replaced with "sensitive".
 28909  func (s UICustomizationType) GoString() string {
 28910  	return s.String()
 28911  }
 28912  
 28913  // SetCSS sets the CSS field's value.
 28914  func (s *UICustomizationType) SetCSS(v string) *UICustomizationType {
 28915  	s.CSS = &v
 28916  	return s
 28917  }
 28918  
 28919  // SetCSSVersion sets the CSSVersion field's value.
 28920  func (s *UICustomizationType) SetCSSVersion(v string) *UICustomizationType {
 28921  	s.CSSVersion = &v
 28922  	return s
 28923  }
 28924  
 28925  // SetClientId sets the ClientId field's value.
 28926  func (s *UICustomizationType) SetClientId(v string) *UICustomizationType {
 28927  	s.ClientId = &v
 28928  	return s
 28929  }
 28930  
 28931  // SetCreationDate sets the CreationDate field's value.
 28932  func (s *UICustomizationType) SetCreationDate(v time.Time) *UICustomizationType {
 28933  	s.CreationDate = &v
 28934  	return s
 28935  }
 28936  
 28937  // SetImageUrl sets the ImageUrl field's value.
 28938  func (s *UICustomizationType) SetImageUrl(v string) *UICustomizationType {
 28939  	s.ImageUrl = &v
 28940  	return s
 28941  }
 28942  
 28943  // SetLastModifiedDate sets the LastModifiedDate field's value.
 28944  func (s *UICustomizationType) SetLastModifiedDate(v time.Time) *UICustomizationType {
 28945  	s.LastModifiedDate = &v
 28946  	return s
 28947  }
 28948  
 28949  // SetUserPoolId sets the UserPoolId field's value.
 28950  func (s *UICustomizationType) SetUserPoolId(v string) *UICustomizationType {
 28951  	s.UserPoolId = &v
 28952  	return s
 28953  }
 28954  
 28955  // This exception is thrown when the request is not authorized. This can happen
 28956  // due to an invalid access token in the request.
 28957  type UnauthorizedException struct {
 28958  	_            struct{}                  `type:"structure"`
 28959  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28960  
 28961  	Message_ *string `locationName:"message" type:"string"`
 28962  }
 28963  
 28964  // String returns the string representation.
 28965  //
 28966  // API parameter values that are decorated as "sensitive" in the API will not
 28967  // be included in the string output. The member name will be present, but the
 28968  // value will be replaced with "sensitive".
 28969  func (s UnauthorizedException) String() string {
 28970  	return awsutil.Prettify(s)
 28971  }
 28972  
 28973  // GoString returns the string representation.
 28974  //
 28975  // API parameter values that are decorated as "sensitive" in the API will not
 28976  // be included in the string output. The member name will be present, but the
 28977  // value will be replaced with "sensitive".
 28978  func (s UnauthorizedException) GoString() string {
 28979  	return s.String()
 28980  }
 28981  
 28982  func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
 28983  	return &UnauthorizedException{
 28984  		RespMetadata: v,
 28985  	}
 28986  }
 28987  
 28988  // Code returns the exception type name.
 28989  func (s *UnauthorizedException) Code() string {
 28990  	return "UnauthorizedException"
 28991  }
 28992  
 28993  // Message returns the exception's message.
 28994  func (s *UnauthorizedException) Message() string {
 28995  	if s.Message_ != nil {
 28996  		return *s.Message_
 28997  	}
 28998  	return ""
 28999  }
 29000  
 29001  // OrigErr always returns nil, satisfies awserr.Error interface.
 29002  func (s *UnauthorizedException) OrigErr() error {
 29003  	return nil
 29004  }
 29005  
 29006  func (s *UnauthorizedException) Error() string {
 29007  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29008  }
 29009  
 29010  // Status code returns the HTTP status code for the request's response error.
 29011  func (s *UnauthorizedException) StatusCode() int {
 29012  	return s.RespMetadata.StatusCode
 29013  }
 29014  
 29015  // RequestID returns the service's response RequestID for request.
 29016  func (s *UnauthorizedException) RequestID() string {
 29017  	return s.RespMetadata.RequestID
 29018  }
 29019  
 29020  // This exception is thrown when the Amazon Cognito service encounters an unexpected
 29021  // exception with the Lambda service.
 29022  type UnexpectedLambdaException struct {
 29023  	_            struct{}                  `type:"structure"`
 29024  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29025  
 29026  	// The message returned when the Amazon Cognito service returns an unexpected
 29027  	// Lambda exception.
 29028  	Message_ *string `locationName:"message" type:"string"`
 29029  }
 29030  
 29031  // String returns the string representation.
 29032  //
 29033  // API parameter values that are decorated as "sensitive" in the API will not
 29034  // be included in the string output. The member name will be present, but the
 29035  // value will be replaced with "sensitive".
 29036  func (s UnexpectedLambdaException) String() string {
 29037  	return awsutil.Prettify(s)
 29038  }
 29039  
 29040  // GoString returns the string representation.
 29041  //
 29042  // API parameter values that are decorated as "sensitive" in the API will not
 29043  // be included in the string output. The member name will be present, but the
 29044  // value will be replaced with "sensitive".
 29045  func (s UnexpectedLambdaException) GoString() string {
 29046  	return s.String()
 29047  }
 29048  
 29049  func newErrorUnexpectedLambdaException(v protocol.ResponseMetadata) error {
 29050  	return &UnexpectedLambdaException{
 29051  		RespMetadata: v,
 29052  	}
 29053  }
 29054  
 29055  // Code returns the exception type name.
 29056  func (s *UnexpectedLambdaException) Code() string {
 29057  	return "UnexpectedLambdaException"
 29058  }
 29059  
 29060  // Message returns the exception's message.
 29061  func (s *UnexpectedLambdaException) Message() string {
 29062  	if s.Message_ != nil {
 29063  		return *s.Message_
 29064  	}
 29065  	return ""
 29066  }
 29067  
 29068  // OrigErr always returns nil, satisfies awserr.Error interface.
 29069  func (s *UnexpectedLambdaException) OrigErr() error {
 29070  	return nil
 29071  }
 29072  
 29073  func (s *UnexpectedLambdaException) Error() string {
 29074  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29075  }
 29076  
 29077  // Status code returns the HTTP status code for the request's response error.
 29078  func (s *UnexpectedLambdaException) StatusCode() int {
 29079  	return s.RespMetadata.StatusCode
 29080  }
 29081  
 29082  // RequestID returns the service's response RequestID for request.
 29083  func (s *UnexpectedLambdaException) RequestID() string {
 29084  	return s.RespMetadata.RequestID
 29085  }
 29086  
 29087  // This exception is thrown when the specified identifier is not supported.
 29088  type UnsupportedIdentityProviderException struct {
 29089  	_            struct{}                  `type:"structure"`
 29090  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29091  
 29092  	Message_ *string `locationName:"message" type:"string"`
 29093  }
 29094  
 29095  // String returns the string representation.
 29096  //
 29097  // API parameter values that are decorated as "sensitive" in the API will not
 29098  // be included in the string output. The member name will be present, but the
 29099  // value will be replaced with "sensitive".
 29100  func (s UnsupportedIdentityProviderException) String() string {
 29101  	return awsutil.Prettify(s)
 29102  }
 29103  
 29104  // GoString returns the string representation.
 29105  //
 29106  // API parameter values that are decorated as "sensitive" in the API will not
 29107  // be included in the string output. The member name will be present, but the
 29108  // value will be replaced with "sensitive".
 29109  func (s UnsupportedIdentityProviderException) GoString() string {
 29110  	return s.String()
 29111  }
 29112  
 29113  func newErrorUnsupportedIdentityProviderException(v protocol.ResponseMetadata) error {
 29114  	return &UnsupportedIdentityProviderException{
 29115  		RespMetadata: v,
 29116  	}
 29117  }
 29118  
 29119  // Code returns the exception type name.
 29120  func (s *UnsupportedIdentityProviderException) Code() string {
 29121  	return "UnsupportedIdentityProviderException"
 29122  }
 29123  
 29124  // Message returns the exception's message.
 29125  func (s *UnsupportedIdentityProviderException) Message() string {
 29126  	if s.Message_ != nil {
 29127  		return *s.Message_
 29128  	}
 29129  	return ""
 29130  }
 29131  
 29132  // OrigErr always returns nil, satisfies awserr.Error interface.
 29133  func (s *UnsupportedIdentityProviderException) OrigErr() error {
 29134  	return nil
 29135  }
 29136  
 29137  func (s *UnsupportedIdentityProviderException) Error() string {
 29138  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29139  }
 29140  
 29141  // Status code returns the HTTP status code for the request's response error.
 29142  func (s *UnsupportedIdentityProviderException) StatusCode() int {
 29143  	return s.RespMetadata.StatusCode
 29144  }
 29145  
 29146  // RequestID returns the service's response RequestID for request.
 29147  func (s *UnsupportedIdentityProviderException) RequestID() string {
 29148  	return s.RespMetadata.RequestID
 29149  }
 29150  
 29151  // This exception is thrown when you attempt to perform an operation that is
 29152  // not enabled for the user pool client.
 29153  type UnsupportedOperationException struct {
 29154  	_            struct{}                  `type:"structure"`
 29155  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29156  
 29157  	Message_ *string `locationName:"message" type:"string"`
 29158  }
 29159  
 29160  // String returns the string representation.
 29161  //
 29162  // API parameter values that are decorated as "sensitive" in the API will not
 29163  // be included in the string output. The member name will be present, but the
 29164  // value will be replaced with "sensitive".
 29165  func (s UnsupportedOperationException) String() string {
 29166  	return awsutil.Prettify(s)
 29167  }
 29168  
 29169  // GoString returns the string representation.
 29170  //
 29171  // API parameter values that are decorated as "sensitive" in the API will not
 29172  // be included in the string output. The member name will be present, but the
 29173  // value will be replaced with "sensitive".
 29174  func (s UnsupportedOperationException) GoString() string {
 29175  	return s.String()
 29176  }
 29177  
 29178  func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
 29179  	return &UnsupportedOperationException{
 29180  		RespMetadata: v,
 29181  	}
 29182  }
 29183  
 29184  // Code returns the exception type name.
 29185  func (s *UnsupportedOperationException) Code() string {
 29186  	return "UnsupportedOperationException"
 29187  }
 29188  
 29189  // Message returns the exception's message.
 29190  func (s *UnsupportedOperationException) Message() string {
 29191  	if s.Message_ != nil {
 29192  		return *s.Message_
 29193  	}
 29194  	return ""
 29195  }
 29196  
 29197  // OrigErr always returns nil, satisfies awserr.Error interface.
 29198  func (s *UnsupportedOperationException) OrigErr() error {
 29199  	return nil
 29200  }
 29201  
 29202  func (s *UnsupportedOperationException) Error() string {
 29203  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29204  }
 29205  
 29206  // Status code returns the HTTP status code for the request's response error.
 29207  func (s *UnsupportedOperationException) StatusCode() int {
 29208  	return s.RespMetadata.StatusCode
 29209  }
 29210  
 29211  // RequestID returns the service's response RequestID for request.
 29212  func (s *UnsupportedOperationException) RequestID() string {
 29213  	return s.RespMetadata.RequestID
 29214  }
 29215  
 29216  // This exception is thrown when an unsupported token is passed to an operation.
 29217  type UnsupportedTokenTypeException struct {
 29218  	_            struct{}                  `type:"structure"`
 29219  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29220  
 29221  	Message_ *string `locationName:"message" type:"string"`
 29222  }
 29223  
 29224  // String returns the string representation.
 29225  //
 29226  // API parameter values that are decorated as "sensitive" in the API will not
 29227  // be included in the string output. The member name will be present, but the
 29228  // value will be replaced with "sensitive".
 29229  func (s UnsupportedTokenTypeException) String() string {
 29230  	return awsutil.Prettify(s)
 29231  }
 29232  
 29233  // GoString returns the string representation.
 29234  //
 29235  // API parameter values that are decorated as "sensitive" in the API will not
 29236  // be included in the string output. The member name will be present, but the
 29237  // value will be replaced with "sensitive".
 29238  func (s UnsupportedTokenTypeException) GoString() string {
 29239  	return s.String()
 29240  }
 29241  
 29242  func newErrorUnsupportedTokenTypeException(v protocol.ResponseMetadata) error {
 29243  	return &UnsupportedTokenTypeException{
 29244  		RespMetadata: v,
 29245  	}
 29246  }
 29247  
 29248  // Code returns the exception type name.
 29249  func (s *UnsupportedTokenTypeException) Code() string {
 29250  	return "UnsupportedTokenTypeException"
 29251  }
 29252  
 29253  // Message returns the exception's message.
 29254  func (s *UnsupportedTokenTypeException) Message() string {
 29255  	if s.Message_ != nil {
 29256  		return *s.Message_
 29257  	}
 29258  	return ""
 29259  }
 29260  
 29261  // OrigErr always returns nil, satisfies awserr.Error interface.
 29262  func (s *UnsupportedTokenTypeException) OrigErr() error {
 29263  	return nil
 29264  }
 29265  
 29266  func (s *UnsupportedTokenTypeException) Error() string {
 29267  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29268  }
 29269  
 29270  // Status code returns the HTTP status code for the request's response error.
 29271  func (s *UnsupportedTokenTypeException) StatusCode() int {
 29272  	return s.RespMetadata.StatusCode
 29273  }
 29274  
 29275  // RequestID returns the service's response RequestID for request.
 29276  func (s *UnsupportedTokenTypeException) RequestID() string {
 29277  	return s.RespMetadata.RequestID
 29278  }
 29279  
 29280  // The request failed because the user is in an unsupported state.
 29281  type UnsupportedUserStateException struct {
 29282  	_            struct{}                  `type:"structure"`
 29283  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29284  
 29285  	// The message returned when the user is in an unsupported state.
 29286  	Message_ *string `locationName:"message" type:"string"`
 29287  }
 29288  
 29289  // String returns the string representation.
 29290  //
 29291  // API parameter values that are decorated as "sensitive" in the API will not
 29292  // be included in the string output. The member name will be present, but the
 29293  // value will be replaced with "sensitive".
 29294  func (s UnsupportedUserStateException) String() string {
 29295  	return awsutil.Prettify(s)
 29296  }
 29297  
 29298  // GoString returns the string representation.
 29299  //
 29300  // API parameter values that are decorated as "sensitive" in the API will not
 29301  // be included in the string output. The member name will be present, but the
 29302  // value will be replaced with "sensitive".
 29303  func (s UnsupportedUserStateException) GoString() string {
 29304  	return s.String()
 29305  }
 29306  
 29307  func newErrorUnsupportedUserStateException(v protocol.ResponseMetadata) error {
 29308  	return &UnsupportedUserStateException{
 29309  		RespMetadata: v,
 29310  	}
 29311  }
 29312  
 29313  // Code returns the exception type name.
 29314  func (s *UnsupportedUserStateException) Code() string {
 29315  	return "UnsupportedUserStateException"
 29316  }
 29317  
 29318  // Message returns the exception's message.
 29319  func (s *UnsupportedUserStateException) Message() string {
 29320  	if s.Message_ != nil {
 29321  		return *s.Message_
 29322  	}
 29323  	return ""
 29324  }
 29325  
 29326  // OrigErr always returns nil, satisfies awserr.Error interface.
 29327  func (s *UnsupportedUserStateException) OrigErr() error {
 29328  	return nil
 29329  }
 29330  
 29331  func (s *UnsupportedUserStateException) Error() string {
 29332  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29333  }
 29334  
 29335  // Status code returns the HTTP status code for the request's response error.
 29336  func (s *UnsupportedUserStateException) StatusCode() int {
 29337  	return s.RespMetadata.StatusCode
 29338  }
 29339  
 29340  // RequestID returns the service's response RequestID for request.
 29341  func (s *UnsupportedUserStateException) RequestID() string {
 29342  	return s.RespMetadata.RequestID
 29343  }
 29344  
 29345  type UntagResourceInput struct {
 29346  	_ struct{} `type:"structure"`
 29347  
 29348  	// The Amazon Resource Name (ARN) of the user pool that the tags are assigned
 29349  	// to.
 29350  	//
 29351  	// ResourceArn is a required field
 29352  	ResourceArn *string `min:"20" type:"string" required:"true"`
 29353  
 29354  	// The keys of the tags to remove from the user pool.
 29355  	//
 29356  	// TagKeys is a required field
 29357  	TagKeys []*string `type:"list" required:"true"`
 29358  }
 29359  
 29360  // String returns the string representation.
 29361  //
 29362  // API parameter values that are decorated as "sensitive" in the API will not
 29363  // be included in the string output. The member name will be present, but the
 29364  // value will be replaced with "sensitive".
 29365  func (s UntagResourceInput) String() string {
 29366  	return awsutil.Prettify(s)
 29367  }
 29368  
 29369  // GoString returns the string representation.
 29370  //
 29371  // API parameter values that are decorated as "sensitive" in the API will not
 29372  // be included in the string output. The member name will be present, but the
 29373  // value will be replaced with "sensitive".
 29374  func (s UntagResourceInput) GoString() string {
 29375  	return s.String()
 29376  }
 29377  
 29378  // Validate inspects the fields of the type to determine if they are valid.
 29379  func (s *UntagResourceInput) Validate() error {
 29380  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 29381  	if s.ResourceArn == nil {
 29382  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 29383  	}
 29384  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 29385  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 29386  	}
 29387  	if s.TagKeys == nil {
 29388  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 29389  	}
 29390  
 29391  	if invalidParams.Len() > 0 {
 29392  		return invalidParams
 29393  	}
 29394  	return nil
 29395  }
 29396  
 29397  // SetResourceArn sets the ResourceArn field's value.
 29398  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 29399  	s.ResourceArn = &v
 29400  	return s
 29401  }
 29402  
 29403  // SetTagKeys sets the TagKeys field's value.
 29404  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 29405  	s.TagKeys = v
 29406  	return s
 29407  }
 29408  
 29409  type UntagResourceOutput struct {
 29410  	_ struct{} `type:"structure"`
 29411  }
 29412  
 29413  // String returns the string representation.
 29414  //
 29415  // API parameter values that are decorated as "sensitive" in the API will not
 29416  // be included in the string output. The member name will be present, but the
 29417  // value will be replaced with "sensitive".
 29418  func (s UntagResourceOutput) String() string {
 29419  	return awsutil.Prettify(s)
 29420  }
 29421  
 29422  // GoString returns the string representation.
 29423  //
 29424  // API parameter values that are decorated as "sensitive" in the API will not
 29425  // be included in the string output. The member name will be present, but the
 29426  // value will be replaced with "sensitive".
 29427  func (s UntagResourceOutput) GoString() string {
 29428  	return s.String()
 29429  }
 29430  
 29431  type UpdateAuthEventFeedbackInput struct {
 29432  	_ struct{} `type:"structure"`
 29433  
 29434  	// The event ID.
 29435  	//
 29436  	// EventId is a required field
 29437  	EventId *string `min:"1" type:"string" required:"true"`
 29438  
 29439  	// The feedback token.
 29440  	//
 29441  	// FeedbackToken is a sensitive parameter and its value will be
 29442  	// replaced with "sensitive" in string returned by UpdateAuthEventFeedbackInput's
 29443  	// String and GoString methods.
 29444  	//
 29445  	// FeedbackToken is a required field
 29446  	FeedbackToken *string `type:"string" required:"true" sensitive:"true"`
 29447  
 29448  	// The authentication event feedback value.
 29449  	//
 29450  	// FeedbackValue is a required field
 29451  	FeedbackValue *string `type:"string" required:"true" enum:"FeedbackValueType"`
 29452  
 29453  	// The user pool ID.
 29454  	//
 29455  	// UserPoolId is a required field
 29456  	UserPoolId *string `min:"1" type:"string" required:"true"`
 29457  
 29458  	// The user pool username.
 29459  	//
 29460  	// Username is a sensitive parameter and its value will be
 29461  	// replaced with "sensitive" in string returned by UpdateAuthEventFeedbackInput's
 29462  	// String and GoString methods.
 29463  	//
 29464  	// Username is a required field
 29465  	Username *string `min:"1" type:"string" required:"true" sensitive:"true"`
 29466  }
 29467  
 29468  // String returns the string representation.
 29469  //
 29470  // API parameter values that are decorated as "sensitive" in the API will not
 29471  // be included in the string output. The member name will be present, but the
 29472  // value will be replaced with "sensitive".
 29473  func (s UpdateAuthEventFeedbackInput) String() string {
 29474  	return awsutil.Prettify(s)
 29475  }
 29476  
 29477  // GoString returns the string representation.
 29478  //
 29479  // API parameter values that are decorated as "sensitive" in the API will not
 29480  // be included in the string output. The member name will be present, but the
 29481  // value will be replaced with "sensitive".
 29482  func (s UpdateAuthEventFeedbackInput) GoString() string {
 29483  	return s.String()
 29484  }
 29485  
 29486  // Validate inspects the fields of the type to determine if they are valid.
 29487  func (s *UpdateAuthEventFeedbackInput) Validate() error {
 29488  	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthEventFeedbackInput"}
 29489  	if s.EventId == nil {
 29490  		invalidParams.Add(request.NewErrParamRequired("EventId"))
 29491  	}
 29492  	if s.EventId != nil && len(*s.EventId) < 1 {
 29493  		invalidParams.Add(request.NewErrParamMinLen("EventId", 1))
 29494  	}
 29495  	if s.FeedbackToken == nil {
 29496  		invalidParams.Add(request.NewErrParamRequired("FeedbackToken"))
 29497  	}
 29498  	if s.FeedbackValue == nil {
 29499  		invalidParams.Add(request.NewErrParamRequired("FeedbackValue"))
 29500  	}
 29501  	if s.UserPoolId == nil {
 29502  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 29503  	}
 29504  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 29505  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 29506  	}
 29507  	if s.Username == nil {
 29508  		invalidParams.Add(request.NewErrParamRequired("Username"))
 29509  	}
 29510  	if s.Username != nil && len(*s.Username) < 1 {
 29511  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 29512  	}
 29513  
 29514  	if invalidParams.Len() > 0 {
 29515  		return invalidParams
 29516  	}
 29517  	return nil
 29518  }
 29519  
 29520  // SetEventId sets the EventId field's value.
 29521  func (s *UpdateAuthEventFeedbackInput) SetEventId(v string) *UpdateAuthEventFeedbackInput {
 29522  	s.EventId = &v
 29523  	return s
 29524  }
 29525  
 29526  // SetFeedbackToken sets the FeedbackToken field's value.
 29527  func (s *UpdateAuthEventFeedbackInput) SetFeedbackToken(v string) *UpdateAuthEventFeedbackInput {
 29528  	s.FeedbackToken = &v
 29529  	return s
 29530  }
 29531  
 29532  // SetFeedbackValue sets the FeedbackValue field's value.
 29533  func (s *UpdateAuthEventFeedbackInput) SetFeedbackValue(v string) *UpdateAuthEventFeedbackInput {
 29534  	s.FeedbackValue = &v
 29535  	return s
 29536  }
 29537  
 29538  // SetUserPoolId sets the UserPoolId field's value.
 29539  func (s *UpdateAuthEventFeedbackInput) SetUserPoolId(v string) *UpdateAuthEventFeedbackInput {
 29540  	s.UserPoolId = &v
 29541  	return s
 29542  }
 29543  
 29544  // SetUsername sets the Username field's value.
 29545  func (s *UpdateAuthEventFeedbackInput) SetUsername(v string) *UpdateAuthEventFeedbackInput {
 29546  	s.Username = &v
 29547  	return s
 29548  }
 29549  
 29550  type UpdateAuthEventFeedbackOutput struct {
 29551  	_ struct{} `type:"structure"`
 29552  }
 29553  
 29554  // String returns the string representation.
 29555  //
 29556  // API parameter values that are decorated as "sensitive" in the API will not
 29557  // be included in the string output. The member name will be present, but the
 29558  // value will be replaced with "sensitive".
 29559  func (s UpdateAuthEventFeedbackOutput) String() string {
 29560  	return awsutil.Prettify(s)
 29561  }
 29562  
 29563  // GoString returns the string representation.
 29564  //
 29565  // API parameter values that are decorated as "sensitive" in the API will not
 29566  // be included in the string output. The member name will be present, but the
 29567  // value will be replaced with "sensitive".
 29568  func (s UpdateAuthEventFeedbackOutput) GoString() string {
 29569  	return s.String()
 29570  }
 29571  
 29572  // Represents the request to update the device status.
 29573  type UpdateDeviceStatusInput struct {
 29574  	_ struct{} `type:"structure"`
 29575  
 29576  	// The access token.
 29577  	//
 29578  	// AccessToken is a sensitive parameter and its value will be
 29579  	// replaced with "sensitive" in string returned by UpdateDeviceStatusInput's
 29580  	// String and GoString methods.
 29581  	//
 29582  	// AccessToken is a required field
 29583  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 29584  
 29585  	// The device key.
 29586  	//
 29587  	// DeviceKey is a required field
 29588  	DeviceKey *string `min:"1" type:"string" required:"true"`
 29589  
 29590  	// The status of whether a device is remembered.
 29591  	DeviceRememberedStatus *string `type:"string" enum:"DeviceRememberedStatusType"`
 29592  }
 29593  
 29594  // String returns the string representation.
 29595  //
 29596  // API parameter values that are decorated as "sensitive" in the API will not
 29597  // be included in the string output. The member name will be present, but the
 29598  // value will be replaced with "sensitive".
 29599  func (s UpdateDeviceStatusInput) String() string {
 29600  	return awsutil.Prettify(s)
 29601  }
 29602  
 29603  // GoString returns the string representation.
 29604  //
 29605  // API parameter values that are decorated as "sensitive" in the API will not
 29606  // be included in the string output. The member name will be present, but the
 29607  // value will be replaced with "sensitive".
 29608  func (s UpdateDeviceStatusInput) GoString() string {
 29609  	return s.String()
 29610  }
 29611  
 29612  // Validate inspects the fields of the type to determine if they are valid.
 29613  func (s *UpdateDeviceStatusInput) Validate() error {
 29614  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceStatusInput"}
 29615  	if s.AccessToken == nil {
 29616  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 29617  	}
 29618  	if s.DeviceKey == nil {
 29619  		invalidParams.Add(request.NewErrParamRequired("DeviceKey"))
 29620  	}
 29621  	if s.DeviceKey != nil && len(*s.DeviceKey) < 1 {
 29622  		invalidParams.Add(request.NewErrParamMinLen("DeviceKey", 1))
 29623  	}
 29624  
 29625  	if invalidParams.Len() > 0 {
 29626  		return invalidParams
 29627  	}
 29628  	return nil
 29629  }
 29630  
 29631  // SetAccessToken sets the AccessToken field's value.
 29632  func (s *UpdateDeviceStatusInput) SetAccessToken(v string) *UpdateDeviceStatusInput {
 29633  	s.AccessToken = &v
 29634  	return s
 29635  }
 29636  
 29637  // SetDeviceKey sets the DeviceKey field's value.
 29638  func (s *UpdateDeviceStatusInput) SetDeviceKey(v string) *UpdateDeviceStatusInput {
 29639  	s.DeviceKey = &v
 29640  	return s
 29641  }
 29642  
 29643  // SetDeviceRememberedStatus sets the DeviceRememberedStatus field's value.
 29644  func (s *UpdateDeviceStatusInput) SetDeviceRememberedStatus(v string) *UpdateDeviceStatusInput {
 29645  	s.DeviceRememberedStatus = &v
 29646  	return s
 29647  }
 29648  
 29649  // The response to the request to update the device status.
 29650  type UpdateDeviceStatusOutput struct {
 29651  	_ struct{} `type:"structure"`
 29652  }
 29653  
 29654  // String returns the string representation.
 29655  //
 29656  // API parameter values that are decorated as "sensitive" in the API will not
 29657  // be included in the string output. The member name will be present, but the
 29658  // value will be replaced with "sensitive".
 29659  func (s UpdateDeviceStatusOutput) String() string {
 29660  	return awsutil.Prettify(s)
 29661  }
 29662  
 29663  // GoString returns the string representation.
 29664  //
 29665  // API parameter values that are decorated as "sensitive" in the API will not
 29666  // be included in the string output. The member name will be present, but the
 29667  // value will be replaced with "sensitive".
 29668  func (s UpdateDeviceStatusOutput) GoString() string {
 29669  	return s.String()
 29670  }
 29671  
 29672  type UpdateGroupInput struct {
 29673  	_ struct{} `type:"structure"`
 29674  
 29675  	// A string containing the new description of the group.
 29676  	Description *string `type:"string"`
 29677  
 29678  	// The name of the group.
 29679  	//
 29680  	// GroupName is a required field
 29681  	GroupName *string `min:"1" type:"string" required:"true"`
 29682  
 29683  	// The new precedence value for the group. For more information about this parameter,
 29684  	// see CreateGroup (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateGroup.html).
 29685  	Precedence *int64 `type:"integer"`
 29686  
 29687  	// The new role ARN for the group. This is used for setting the cognito:roles
 29688  	// and cognito:preferred_role claims in the token.
 29689  	RoleArn *string `min:"20" type:"string"`
 29690  
 29691  	// The user pool ID for the user pool.
 29692  	//
 29693  	// UserPoolId is a required field
 29694  	UserPoolId *string `min:"1" type:"string" required:"true"`
 29695  }
 29696  
 29697  // String returns the string representation.
 29698  //
 29699  // API parameter values that are decorated as "sensitive" in the API will not
 29700  // be included in the string output. The member name will be present, but the
 29701  // value will be replaced with "sensitive".
 29702  func (s UpdateGroupInput) String() string {
 29703  	return awsutil.Prettify(s)
 29704  }
 29705  
 29706  // GoString returns the string representation.
 29707  //
 29708  // API parameter values that are decorated as "sensitive" in the API will not
 29709  // be included in the string output. The member name will be present, but the
 29710  // value will be replaced with "sensitive".
 29711  func (s UpdateGroupInput) GoString() string {
 29712  	return s.String()
 29713  }
 29714  
 29715  // Validate inspects the fields of the type to determine if they are valid.
 29716  func (s *UpdateGroupInput) Validate() error {
 29717  	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
 29718  	if s.GroupName == nil {
 29719  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
 29720  	}
 29721  	if s.GroupName != nil && len(*s.GroupName) < 1 {
 29722  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
 29723  	}
 29724  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 29725  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 29726  	}
 29727  	if s.UserPoolId == nil {
 29728  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 29729  	}
 29730  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 29731  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 29732  	}
 29733  
 29734  	if invalidParams.Len() > 0 {
 29735  		return invalidParams
 29736  	}
 29737  	return nil
 29738  }
 29739  
 29740  // SetDescription sets the Description field's value.
 29741  func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput {
 29742  	s.Description = &v
 29743  	return s
 29744  }
 29745  
 29746  // SetGroupName sets the GroupName field's value.
 29747  func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput {
 29748  	s.GroupName = &v
 29749  	return s
 29750  }
 29751  
 29752  // SetPrecedence sets the Precedence field's value.
 29753  func (s *UpdateGroupInput) SetPrecedence(v int64) *UpdateGroupInput {
 29754  	s.Precedence = &v
 29755  	return s
 29756  }
 29757  
 29758  // SetRoleArn sets the RoleArn field's value.
 29759  func (s *UpdateGroupInput) SetRoleArn(v string) *UpdateGroupInput {
 29760  	s.RoleArn = &v
 29761  	return s
 29762  }
 29763  
 29764  // SetUserPoolId sets the UserPoolId field's value.
 29765  func (s *UpdateGroupInput) SetUserPoolId(v string) *UpdateGroupInput {
 29766  	s.UserPoolId = &v
 29767  	return s
 29768  }
 29769  
 29770  type UpdateGroupOutput struct {
 29771  	_ struct{} `type:"structure"`
 29772  
 29773  	// The group object for the group.
 29774  	Group *GroupType `type:"structure"`
 29775  }
 29776  
 29777  // String returns the string representation.
 29778  //
 29779  // API parameter values that are decorated as "sensitive" in the API will not
 29780  // be included in the string output. The member name will be present, but the
 29781  // value will be replaced with "sensitive".
 29782  func (s UpdateGroupOutput) String() string {
 29783  	return awsutil.Prettify(s)
 29784  }
 29785  
 29786  // GoString returns the string representation.
 29787  //
 29788  // API parameter values that are decorated as "sensitive" in the API will not
 29789  // be included in the string output. The member name will be present, but the
 29790  // value will be replaced with "sensitive".
 29791  func (s UpdateGroupOutput) GoString() string {
 29792  	return s.String()
 29793  }
 29794  
 29795  // SetGroup sets the Group field's value.
 29796  func (s *UpdateGroupOutput) SetGroup(v *GroupType) *UpdateGroupOutput {
 29797  	s.Group = v
 29798  	return s
 29799  }
 29800  
 29801  type UpdateIdentityProviderInput struct {
 29802  	_ struct{} `type:"structure"`
 29803  
 29804  	// The identity provider attribute mapping to be changed.
 29805  	AttributeMapping map[string]*string `type:"map"`
 29806  
 29807  	// A list of identity provider identifiers.
 29808  	IdpIdentifiers []*string `type:"list"`
 29809  
 29810  	// The identity provider details to be updated, such as MetadataURL and MetadataFile.
 29811  	ProviderDetails map[string]*string `type:"map"`
 29812  
 29813  	// The identity provider name.
 29814  	//
 29815  	// ProviderName is a required field
 29816  	ProviderName *string `min:"1" type:"string" required:"true"`
 29817  
 29818  	// The user pool ID.
 29819  	//
 29820  	// UserPoolId is a required field
 29821  	UserPoolId *string `min:"1" type:"string" required:"true"`
 29822  }
 29823  
 29824  // String returns the string representation.
 29825  //
 29826  // API parameter values that are decorated as "sensitive" in the API will not
 29827  // be included in the string output. The member name will be present, but the
 29828  // value will be replaced with "sensitive".
 29829  func (s UpdateIdentityProviderInput) String() string {
 29830  	return awsutil.Prettify(s)
 29831  }
 29832  
 29833  // GoString returns the string representation.
 29834  //
 29835  // API parameter values that are decorated as "sensitive" in the API will not
 29836  // be included in the string output. The member name will be present, but the
 29837  // value will be replaced with "sensitive".
 29838  func (s UpdateIdentityProviderInput) GoString() string {
 29839  	return s.String()
 29840  }
 29841  
 29842  // Validate inspects the fields of the type to determine if they are valid.
 29843  func (s *UpdateIdentityProviderInput) Validate() error {
 29844  	invalidParams := request.ErrInvalidParams{Context: "UpdateIdentityProviderInput"}
 29845  	if s.ProviderName == nil {
 29846  		invalidParams.Add(request.NewErrParamRequired("ProviderName"))
 29847  	}
 29848  	if s.ProviderName != nil && len(*s.ProviderName) < 1 {
 29849  		invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1))
 29850  	}
 29851  	if s.UserPoolId == nil {
 29852  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 29853  	}
 29854  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 29855  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 29856  	}
 29857  
 29858  	if invalidParams.Len() > 0 {
 29859  		return invalidParams
 29860  	}
 29861  	return nil
 29862  }
 29863  
 29864  // SetAttributeMapping sets the AttributeMapping field's value.
 29865  func (s *UpdateIdentityProviderInput) SetAttributeMapping(v map[string]*string) *UpdateIdentityProviderInput {
 29866  	s.AttributeMapping = v
 29867  	return s
 29868  }
 29869  
 29870  // SetIdpIdentifiers sets the IdpIdentifiers field's value.
 29871  func (s *UpdateIdentityProviderInput) SetIdpIdentifiers(v []*string) *UpdateIdentityProviderInput {
 29872  	s.IdpIdentifiers = v
 29873  	return s
 29874  }
 29875  
 29876  // SetProviderDetails sets the ProviderDetails field's value.
 29877  func (s *UpdateIdentityProviderInput) SetProviderDetails(v map[string]*string) *UpdateIdentityProviderInput {
 29878  	s.ProviderDetails = v
 29879  	return s
 29880  }
 29881  
 29882  // SetProviderName sets the ProviderName field's value.
 29883  func (s *UpdateIdentityProviderInput) SetProviderName(v string) *UpdateIdentityProviderInput {
 29884  	s.ProviderName = &v
 29885  	return s
 29886  }
 29887  
 29888  // SetUserPoolId sets the UserPoolId field's value.
 29889  func (s *UpdateIdentityProviderInput) SetUserPoolId(v string) *UpdateIdentityProviderInput {
 29890  	s.UserPoolId = &v
 29891  	return s
 29892  }
 29893  
 29894  type UpdateIdentityProviderOutput struct {
 29895  	_ struct{} `type:"structure"`
 29896  
 29897  	// The identity provider object.
 29898  	//
 29899  	// IdentityProvider is a required field
 29900  	IdentityProvider *IdentityProviderType `type:"structure" required:"true"`
 29901  }
 29902  
 29903  // String returns the string representation.
 29904  //
 29905  // API parameter values that are decorated as "sensitive" in the API will not
 29906  // be included in the string output. The member name will be present, but the
 29907  // value will be replaced with "sensitive".
 29908  func (s UpdateIdentityProviderOutput) String() string {
 29909  	return awsutil.Prettify(s)
 29910  }
 29911  
 29912  // GoString returns the string representation.
 29913  //
 29914  // API parameter values that are decorated as "sensitive" in the API will not
 29915  // be included in the string output. The member name will be present, but the
 29916  // value will be replaced with "sensitive".
 29917  func (s UpdateIdentityProviderOutput) GoString() string {
 29918  	return s.String()
 29919  }
 29920  
 29921  // SetIdentityProvider sets the IdentityProvider field's value.
 29922  func (s *UpdateIdentityProviderOutput) SetIdentityProvider(v *IdentityProviderType) *UpdateIdentityProviderOutput {
 29923  	s.IdentityProvider = v
 29924  	return s
 29925  }
 29926  
 29927  type UpdateResourceServerInput struct {
 29928  	_ struct{} `type:"structure"`
 29929  
 29930  	// The identifier for the resource server.
 29931  	//
 29932  	// Identifier is a required field
 29933  	Identifier *string `min:"1" type:"string" required:"true"`
 29934  
 29935  	// The name of the resource server.
 29936  	//
 29937  	// Name is a required field
 29938  	Name *string `min:"1" type:"string" required:"true"`
 29939  
 29940  	// The scope values to be set for the resource server.
 29941  	Scopes []*ResourceServerScopeType `type:"list"`
 29942  
 29943  	// The user pool ID for the user pool.
 29944  	//
 29945  	// UserPoolId is a required field
 29946  	UserPoolId *string `min:"1" type:"string" required:"true"`
 29947  }
 29948  
 29949  // String returns the string representation.
 29950  //
 29951  // API parameter values that are decorated as "sensitive" in the API will not
 29952  // be included in the string output. The member name will be present, but the
 29953  // value will be replaced with "sensitive".
 29954  func (s UpdateResourceServerInput) String() string {
 29955  	return awsutil.Prettify(s)
 29956  }
 29957  
 29958  // GoString returns the string representation.
 29959  //
 29960  // API parameter values that are decorated as "sensitive" in the API will not
 29961  // be included in the string output. The member name will be present, but the
 29962  // value will be replaced with "sensitive".
 29963  func (s UpdateResourceServerInput) GoString() string {
 29964  	return s.String()
 29965  }
 29966  
 29967  // Validate inspects the fields of the type to determine if they are valid.
 29968  func (s *UpdateResourceServerInput) Validate() error {
 29969  	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceServerInput"}
 29970  	if s.Identifier == nil {
 29971  		invalidParams.Add(request.NewErrParamRequired("Identifier"))
 29972  	}
 29973  	if s.Identifier != nil && len(*s.Identifier) < 1 {
 29974  		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
 29975  	}
 29976  	if s.Name == nil {
 29977  		invalidParams.Add(request.NewErrParamRequired("Name"))
 29978  	}
 29979  	if s.Name != nil && len(*s.Name) < 1 {
 29980  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 29981  	}
 29982  	if s.UserPoolId == nil {
 29983  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 29984  	}
 29985  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 29986  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 29987  	}
 29988  	if s.Scopes != nil {
 29989  		for i, v := range s.Scopes {
 29990  			if v == nil {
 29991  				continue
 29992  			}
 29993  			if err := v.Validate(); err != nil {
 29994  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scopes", i), err.(request.ErrInvalidParams))
 29995  			}
 29996  		}
 29997  	}
 29998  
 29999  	if invalidParams.Len() > 0 {
 30000  		return invalidParams
 30001  	}
 30002  	return nil
 30003  }
 30004  
 30005  // SetIdentifier sets the Identifier field's value.
 30006  func (s *UpdateResourceServerInput) SetIdentifier(v string) *UpdateResourceServerInput {
 30007  	s.Identifier = &v
 30008  	return s
 30009  }
 30010  
 30011  // SetName sets the Name field's value.
 30012  func (s *UpdateResourceServerInput) SetName(v string) *UpdateResourceServerInput {
 30013  	s.Name = &v
 30014  	return s
 30015  }
 30016  
 30017  // SetScopes sets the Scopes field's value.
 30018  func (s *UpdateResourceServerInput) SetScopes(v []*ResourceServerScopeType) *UpdateResourceServerInput {
 30019  	s.Scopes = v
 30020  	return s
 30021  }
 30022  
 30023  // SetUserPoolId sets the UserPoolId field's value.
 30024  func (s *UpdateResourceServerInput) SetUserPoolId(v string) *UpdateResourceServerInput {
 30025  	s.UserPoolId = &v
 30026  	return s
 30027  }
 30028  
 30029  type UpdateResourceServerOutput struct {
 30030  	_ struct{} `type:"structure"`
 30031  
 30032  	// The resource server.
 30033  	//
 30034  	// ResourceServer is a required field
 30035  	ResourceServer *ResourceServerType `type:"structure" required:"true"`
 30036  }
 30037  
 30038  // String returns the string representation.
 30039  //
 30040  // API parameter values that are decorated as "sensitive" in the API will not
 30041  // be included in the string output. The member name will be present, but the
 30042  // value will be replaced with "sensitive".
 30043  func (s UpdateResourceServerOutput) String() string {
 30044  	return awsutil.Prettify(s)
 30045  }
 30046  
 30047  // GoString returns the string representation.
 30048  //
 30049  // API parameter values that are decorated as "sensitive" in the API will not
 30050  // be included in the string output. The member name will be present, but the
 30051  // value will be replaced with "sensitive".
 30052  func (s UpdateResourceServerOutput) GoString() string {
 30053  	return s.String()
 30054  }
 30055  
 30056  // SetResourceServer sets the ResourceServer field's value.
 30057  func (s *UpdateResourceServerOutput) SetResourceServer(v *ResourceServerType) *UpdateResourceServerOutput {
 30058  	s.ResourceServer = v
 30059  	return s
 30060  }
 30061  
 30062  // Represents the request to update user attributes.
 30063  type UpdateUserAttributesInput struct {
 30064  	_ struct{} `type:"structure"`
 30065  
 30066  	// The access token for the request to update user attributes.
 30067  	//
 30068  	// AccessToken is a sensitive parameter and its value will be
 30069  	// replaced with "sensitive" in string returned by UpdateUserAttributesInput's
 30070  	// String and GoString methods.
 30071  	//
 30072  	// AccessToken is a required field
 30073  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 30074  
 30075  	// A map of custom key-value pairs that you can provide as input for any custom
 30076  	// workflows that this action triggers.
 30077  	//
 30078  	// You create custom workflows by assigning Lambda functions to user pool triggers.
 30079  	// When you use the UpdateUserAttributes API action, Amazon Cognito invokes
 30080  	// the function that is assigned to the custom message trigger. When Amazon
 30081  	// Cognito invokes this function, it passes a JSON payload, which the function
 30082  	// receives as input. This payload contains a clientMetadata attribute, which
 30083  	// provides the data that you assigned to the ClientMetadata parameter in your
 30084  	// UpdateUserAttributes request. In your function code in Lambda, you can process
 30085  	// the clientMetadata value to enhance your workflow for your specific needs.
 30086  	//
 30087  	// For more information, see Customizing User Pool Workflows with Lambda Triggers
 30088  	// (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)
 30089  	// in the Amazon Cognito Developer Guide.
 30090  	//
 30091  	// Take the following limitations into consideration when you use the ClientMetadata
 30092  	// parameter:
 30093  	//
 30094  	//    * Amazon Cognito does not store the ClientMetadata value. This data is
 30095  	//    available only to Lambda triggers that are assigned to a user pool to
 30096  	//    support custom workflows. If your user pool configuration does not include
 30097  	//    triggers, the ClientMetadata parameter serves no purpose.
 30098  	//
 30099  	//    * Amazon Cognito does not validate the ClientMetadata value.
 30100  	//
 30101  	//    * Amazon Cognito does not encrypt the the ClientMetadata value, so don't
 30102  	//    use it to provide sensitive information.
 30103  	ClientMetadata map[string]*string `type:"map"`
 30104  
 30105  	// An array of name-value pairs representing user attributes.
 30106  	//
 30107  	// For custom attributes, you must prepend the custom: prefix to the attribute
 30108  	// name.
 30109  	//
 30110  	// UserAttributes is a required field
 30111  	UserAttributes []*AttributeType `type:"list" required:"true"`
 30112  }
 30113  
 30114  // String returns the string representation.
 30115  //
 30116  // API parameter values that are decorated as "sensitive" in the API will not
 30117  // be included in the string output. The member name will be present, but the
 30118  // value will be replaced with "sensitive".
 30119  func (s UpdateUserAttributesInput) String() string {
 30120  	return awsutil.Prettify(s)
 30121  }
 30122  
 30123  // GoString returns the string representation.
 30124  //
 30125  // API parameter values that are decorated as "sensitive" in the API will not
 30126  // be included in the string output. The member name will be present, but the
 30127  // value will be replaced with "sensitive".
 30128  func (s UpdateUserAttributesInput) GoString() string {
 30129  	return s.String()
 30130  }
 30131  
 30132  // Validate inspects the fields of the type to determine if they are valid.
 30133  func (s *UpdateUserAttributesInput) Validate() error {
 30134  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserAttributesInput"}
 30135  	if s.AccessToken == nil {
 30136  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 30137  	}
 30138  	if s.UserAttributes == nil {
 30139  		invalidParams.Add(request.NewErrParamRequired("UserAttributes"))
 30140  	}
 30141  	if s.UserAttributes != nil {
 30142  		for i, v := range s.UserAttributes {
 30143  			if v == nil {
 30144  				continue
 30145  			}
 30146  			if err := v.Validate(); err != nil {
 30147  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
 30148  			}
 30149  		}
 30150  	}
 30151  
 30152  	if invalidParams.Len() > 0 {
 30153  		return invalidParams
 30154  	}
 30155  	return nil
 30156  }
 30157  
 30158  // SetAccessToken sets the AccessToken field's value.
 30159  func (s *UpdateUserAttributesInput) SetAccessToken(v string) *UpdateUserAttributesInput {
 30160  	s.AccessToken = &v
 30161  	return s
 30162  }
 30163  
 30164  // SetClientMetadata sets the ClientMetadata field's value.
 30165  func (s *UpdateUserAttributesInput) SetClientMetadata(v map[string]*string) *UpdateUserAttributesInput {
 30166  	s.ClientMetadata = v
 30167  	return s
 30168  }
 30169  
 30170  // SetUserAttributes sets the UserAttributes field's value.
 30171  func (s *UpdateUserAttributesInput) SetUserAttributes(v []*AttributeType) *UpdateUserAttributesInput {
 30172  	s.UserAttributes = v
 30173  	return s
 30174  }
 30175  
 30176  // Represents the response from the server for the request to update user attributes.
 30177  type UpdateUserAttributesOutput struct {
 30178  	_ struct{} `type:"structure"`
 30179  
 30180  	// The code delivery details list from the server for the request to update
 30181  	// user attributes.
 30182  	CodeDeliveryDetailsList []*CodeDeliveryDetailsType `type:"list"`
 30183  }
 30184  
 30185  // String returns the string representation.
 30186  //
 30187  // API parameter values that are decorated as "sensitive" in the API will not
 30188  // be included in the string output. The member name will be present, but the
 30189  // value will be replaced with "sensitive".
 30190  func (s UpdateUserAttributesOutput) String() string {
 30191  	return awsutil.Prettify(s)
 30192  }
 30193  
 30194  // GoString returns the string representation.
 30195  //
 30196  // API parameter values that are decorated as "sensitive" in the API will not
 30197  // be included in the string output. The member name will be present, but the
 30198  // value will be replaced with "sensitive".
 30199  func (s UpdateUserAttributesOutput) GoString() string {
 30200  	return s.String()
 30201  }
 30202  
 30203  // SetCodeDeliveryDetailsList sets the CodeDeliveryDetailsList field's value.
 30204  func (s *UpdateUserAttributesOutput) SetCodeDeliveryDetailsList(v []*CodeDeliveryDetailsType) *UpdateUserAttributesOutput {
 30205  	s.CodeDeliveryDetailsList = v
 30206  	return s
 30207  }
 30208  
 30209  // Represents the request to update the user pool client.
 30210  type UpdateUserPoolClientInput struct {
 30211  	_ struct{} `type:"structure"`
 30212  
 30213  	// The time limit, after which the access token is no longer valid and cannot
 30214  	// be used.
 30215  	AccessTokenValidity *int64 `min:"1" type:"integer"`
 30216  
 30217  	// The allowed OAuth flows.
 30218  	//
 30219  	// Set to code to initiate a code grant flow, which provides an authorization
 30220  	// code as the response. This code can be exchanged for access tokens with the
 30221  	// token endpoint.
 30222  	//
 30223  	// Set to implicit to specify that the client should get the access token (and,
 30224  	// optionally, ID token, based on scopes) directly.
 30225  	//
 30226  	// Set to client_credentials to specify that the client should get the access
 30227  	// token (and, optionally, ID token, based on scopes) from the token endpoint
 30228  	// using a combination of client and client_secret.
 30229  	AllowedOAuthFlows []*string `type:"list"`
 30230  
 30231  	// Set to true if the client is allowed to follow the OAuth protocol when interacting
 30232  	// with Cognito user pools.
 30233  	AllowedOAuthFlowsUserPoolClient *bool `type:"boolean"`
 30234  
 30235  	// The allowed OAuth scopes. Possible values provided by OAuth are: phone, email,
 30236  	// openid, and profile. Possible values provided by Amazon Web Services are:
 30237  	// aws.cognito.signin.user.admin. Custom scopes created in Resource Servers
 30238  	// are also supported.
 30239  	AllowedOAuthScopes []*string `type:"list"`
 30240  
 30241  	// The Amazon Pinpoint analytics configuration for collecting metrics for this
 30242  	// user pool.
 30243  	//
 30244  	// In regions where Pinpoint is not available, Cognito User Pools only supports
 30245  	// sending events to Amazon Pinpoint projects in us-east-1. In regions where
 30246  	// Pinpoint is available, Cognito User Pools will support sending events to
 30247  	// Amazon Pinpoint projects within that same region.
 30248  	AnalyticsConfiguration *AnalyticsConfigurationType `type:"structure"`
 30249  
 30250  	// A list of allowed redirect (callback) URLs for the identity providers.
 30251  	//
 30252  	// A redirect URI must:
 30253  	//
 30254  	//    * Be an absolute URI.
 30255  	//
 30256  	//    * Be registered with the authorization server.
 30257  	//
 30258  	//    * Not include a fragment component.
 30259  	//
 30260  	// See OAuth 2.0 - Redirection Endpoint (https://tools.ietf.org/html/rfc6749#section-3.1.2).
 30261  	//
 30262  	// Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing
 30263  	// purposes only.
 30264  	//
 30265  	// App callback URLs such as myapp://example are also supported.
 30266  	CallbackURLs []*string `type:"list"`
 30267  
 30268  	// The ID of the client associated with the user pool.
 30269  	//
 30270  	// ClientId is a sensitive parameter and its value will be
 30271  	// replaced with "sensitive" in string returned by UpdateUserPoolClientInput's
 30272  	// String and GoString methods.
 30273  	//
 30274  	// ClientId is a required field
 30275  	ClientId *string `min:"1" type:"string" required:"true" sensitive:"true"`
 30276  
 30277  	// The client name from the update user pool client request.
 30278  	ClientName *string `min:"1" type:"string"`
 30279  
 30280  	// The default redirect URI. Must be in the CallbackURLs list.
 30281  	//
 30282  	// A redirect URI must:
 30283  	//
 30284  	//    * Be an absolute URI.
 30285  	//
 30286  	//    * Be registered with the authorization server.
 30287  	//
 30288  	//    * Not include a fragment component.
 30289  	//
 30290  	// See OAuth 2.0 - Redirection Endpoint (https://tools.ietf.org/html/rfc6749#section-3.1.2).
 30291  	//
 30292  	// Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing
 30293  	// purposes only.
 30294  	//
 30295  	// App callback URLs such as myapp://example are also supported.
 30296  	DefaultRedirectURI *string `min:"1" type:"string"`
 30297  
 30298  	// Enables or disables token revocation. For more information about revoking
 30299  	// tokens, see RevokeToken (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html).
 30300  	EnableTokenRevocation *bool `type:"boolean"`
 30301  
 30302  	// The authentication flows that are supported by the user pool clients. Flow
 30303  	// names without the ALLOW_ prefix are deprecated in favor of new names with
 30304  	// the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along
 30305  	// with values without ALLOW_ prefix.
 30306  	//
 30307  	// Valid values include:
 30308  	//
 30309  	//    * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication
 30310  	//    flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH
 30311  	//    setting. With this authentication flow, Cognito receives the password
 30312  	//    in the request instead of using the SRP (Secure Remote Password protocol)
 30313  	//    protocol to verify passwords.
 30314  	//
 30315  	//    * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.
 30316  	//
 30317  	//    * ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication.
 30318  	//    In this flow, Cognito receives the password in the request instead of
 30319  	//    using the SRP protocol to verify passwords.
 30320  	//
 30321  	//    * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.
 30322  	//
 30323  	//    * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.
 30324  	ExplicitAuthFlows []*string `type:"list"`
 30325  
 30326  	// The time limit, after which the ID token is no longer valid and cannot be
 30327  	// used.
 30328  	IdTokenValidity *int64 `min:"1" type:"integer"`
 30329  
 30330  	// A list of allowed logout URLs for the identity providers.
 30331  	LogoutURLs []*string `type:"list"`
 30332  
 30333  	// Use this setting to choose which errors and responses are returned by Cognito
 30334  	// APIs during authentication, account confirmation, and password recovery when
 30335  	// the user does not exist in the user pool. When set to ENABLED and the user
 30336  	// does not exist, authentication returns an error indicating either the username
 30337  	// or password was incorrect, and account confirmation and password recovery
 30338  	// return a response indicating a code was sent to a simulated destination.
 30339  	// When set to LEGACY, those APIs will return a UserNotFoundException exception
 30340  	// if the user does not exist in the user pool.
 30341  	//
 30342  	// Valid values include:
 30343  	//
 30344  	//    * ENABLED - This prevents user existence-related errors.
 30345  	//
 30346  	//    * LEGACY - This represents the old behavior of Cognito where user existence
 30347  	//    related errors are not prevented.
 30348  	//
 30349  	// After February 15th 2020, the value of PreventUserExistenceErrors will default
 30350  	// to ENABLED for newly created user pool clients if no value is provided.
 30351  	PreventUserExistenceErrors *string `type:"string" enum:"PreventUserExistenceErrorTypes"`
 30352  
 30353  	// The read-only attributes of the user pool.
 30354  	ReadAttributes []*string `type:"list"`
 30355  
 30356  	// The time limit, in days, after which the refresh token is no longer valid
 30357  	// and cannot be used.
 30358  	RefreshTokenValidity *int64 `type:"integer"`
 30359  
 30360  	// A list of provider names for the identity providers that are supported on
 30361  	// this client.
 30362  	SupportedIdentityProviders []*string `type:"list"`
 30363  
 30364  	// The units in which the validity times are represented in. Default for RefreshToken
 30365  	// is days, and default for ID and access tokens are hours.
 30366  	TokenValidityUnits *TokenValidityUnitsType `type:"structure"`
 30367  
 30368  	// The user pool ID for the user pool where you want to update the user pool
 30369  	// client.
 30370  	//
 30371  	// UserPoolId is a required field
 30372  	UserPoolId *string `min:"1" type:"string" required:"true"`
 30373  
 30374  	// The writeable attributes of the user pool.
 30375  	WriteAttributes []*string `type:"list"`
 30376  }
 30377  
 30378  // String returns the string representation.
 30379  //
 30380  // API parameter values that are decorated as "sensitive" in the API will not
 30381  // be included in the string output. The member name will be present, but the
 30382  // value will be replaced with "sensitive".
 30383  func (s UpdateUserPoolClientInput) String() string {
 30384  	return awsutil.Prettify(s)
 30385  }
 30386  
 30387  // GoString returns the string representation.
 30388  //
 30389  // API parameter values that are decorated as "sensitive" in the API will not
 30390  // be included in the string output. The member name will be present, but the
 30391  // value will be replaced with "sensitive".
 30392  func (s UpdateUserPoolClientInput) GoString() string {
 30393  	return s.String()
 30394  }
 30395  
 30396  // Validate inspects the fields of the type to determine if they are valid.
 30397  func (s *UpdateUserPoolClientInput) Validate() error {
 30398  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserPoolClientInput"}
 30399  	if s.AccessTokenValidity != nil && *s.AccessTokenValidity < 1 {
 30400  		invalidParams.Add(request.NewErrParamMinValue("AccessTokenValidity", 1))
 30401  	}
 30402  	if s.ClientId == nil {
 30403  		invalidParams.Add(request.NewErrParamRequired("ClientId"))
 30404  	}
 30405  	if s.ClientId != nil && len(*s.ClientId) < 1 {
 30406  		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
 30407  	}
 30408  	if s.ClientName != nil && len(*s.ClientName) < 1 {
 30409  		invalidParams.Add(request.NewErrParamMinLen("ClientName", 1))
 30410  	}
 30411  	if s.DefaultRedirectURI != nil && len(*s.DefaultRedirectURI) < 1 {
 30412  		invalidParams.Add(request.NewErrParamMinLen("DefaultRedirectURI", 1))
 30413  	}
 30414  	if s.IdTokenValidity != nil && *s.IdTokenValidity < 1 {
 30415  		invalidParams.Add(request.NewErrParamMinValue("IdTokenValidity", 1))
 30416  	}
 30417  	if s.UserPoolId == nil {
 30418  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 30419  	}
 30420  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 30421  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 30422  	}
 30423  	if s.AnalyticsConfiguration != nil {
 30424  		if err := s.AnalyticsConfiguration.Validate(); err != nil {
 30425  			invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams))
 30426  		}
 30427  	}
 30428  
 30429  	if invalidParams.Len() > 0 {
 30430  		return invalidParams
 30431  	}
 30432  	return nil
 30433  }
 30434  
 30435  // SetAccessTokenValidity sets the AccessTokenValidity field's value.
 30436  func (s *UpdateUserPoolClientInput) SetAccessTokenValidity(v int64) *UpdateUserPoolClientInput {
 30437  	s.AccessTokenValidity = &v
 30438  	return s
 30439  }
 30440  
 30441  // SetAllowedOAuthFlows sets the AllowedOAuthFlows field's value.
 30442  func (s *UpdateUserPoolClientInput) SetAllowedOAuthFlows(v []*string) *UpdateUserPoolClientInput {
 30443  	s.AllowedOAuthFlows = v
 30444  	return s
 30445  }
 30446  
 30447  // SetAllowedOAuthFlowsUserPoolClient sets the AllowedOAuthFlowsUserPoolClient field's value.
 30448  func (s *UpdateUserPoolClientInput) SetAllowedOAuthFlowsUserPoolClient(v bool) *UpdateUserPoolClientInput {
 30449  	s.AllowedOAuthFlowsUserPoolClient = &v
 30450  	return s
 30451  }
 30452  
 30453  // SetAllowedOAuthScopes sets the AllowedOAuthScopes field's value.
 30454  func (s *UpdateUserPoolClientInput) SetAllowedOAuthScopes(v []*string) *UpdateUserPoolClientInput {
 30455  	s.AllowedOAuthScopes = v
 30456  	return s
 30457  }
 30458  
 30459  // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
 30460  func (s *UpdateUserPoolClientInput) SetAnalyticsConfiguration(v *AnalyticsConfigurationType) *UpdateUserPoolClientInput {
 30461  	s.AnalyticsConfiguration = v
 30462  	return s
 30463  }
 30464  
 30465  // SetCallbackURLs sets the CallbackURLs field's value.
 30466  func (s *UpdateUserPoolClientInput) SetCallbackURLs(v []*string) *UpdateUserPoolClientInput {
 30467  	s.CallbackURLs = v
 30468  	return s
 30469  }
 30470  
 30471  // SetClientId sets the ClientId field's value.
 30472  func (s *UpdateUserPoolClientInput) SetClientId(v string) *UpdateUserPoolClientInput {
 30473  	s.ClientId = &v
 30474  	return s
 30475  }
 30476  
 30477  // SetClientName sets the ClientName field's value.
 30478  func (s *UpdateUserPoolClientInput) SetClientName(v string) *UpdateUserPoolClientInput {
 30479  	s.ClientName = &v
 30480  	return s
 30481  }
 30482  
 30483  // SetDefaultRedirectURI sets the DefaultRedirectURI field's value.
 30484  func (s *UpdateUserPoolClientInput) SetDefaultRedirectURI(v string) *UpdateUserPoolClientInput {
 30485  	s.DefaultRedirectURI = &v
 30486  	return s
 30487  }
 30488  
 30489  // SetEnableTokenRevocation sets the EnableTokenRevocation field's value.
 30490  func (s *UpdateUserPoolClientInput) SetEnableTokenRevocation(v bool) *UpdateUserPoolClientInput {
 30491  	s.EnableTokenRevocation = &v
 30492  	return s
 30493  }
 30494  
 30495  // SetExplicitAuthFlows sets the ExplicitAuthFlows field's value.
 30496  func (s *UpdateUserPoolClientInput) SetExplicitAuthFlows(v []*string) *UpdateUserPoolClientInput {
 30497  	s.ExplicitAuthFlows = v
 30498  	return s
 30499  }
 30500  
 30501  // SetIdTokenValidity sets the IdTokenValidity field's value.
 30502  func (s *UpdateUserPoolClientInput) SetIdTokenValidity(v int64) *UpdateUserPoolClientInput {
 30503  	s.IdTokenValidity = &v
 30504  	return s
 30505  }
 30506  
 30507  // SetLogoutURLs sets the LogoutURLs field's value.
 30508  func (s *UpdateUserPoolClientInput) SetLogoutURLs(v []*string) *UpdateUserPoolClientInput {
 30509  	s.LogoutURLs = v
 30510  	return s
 30511  }
 30512  
 30513  // SetPreventUserExistenceErrors sets the PreventUserExistenceErrors field's value.
 30514  func (s *UpdateUserPoolClientInput) SetPreventUserExistenceErrors(v string) *UpdateUserPoolClientInput {
 30515  	s.PreventUserExistenceErrors = &v
 30516  	return s
 30517  }
 30518  
 30519  // SetReadAttributes sets the ReadAttributes field's value.
 30520  func (s *UpdateUserPoolClientInput) SetReadAttributes(v []*string) *UpdateUserPoolClientInput {
 30521  	s.ReadAttributes = v
 30522  	return s
 30523  }
 30524  
 30525  // SetRefreshTokenValidity sets the RefreshTokenValidity field's value.
 30526  func (s *UpdateUserPoolClientInput) SetRefreshTokenValidity(v int64) *UpdateUserPoolClientInput {
 30527  	s.RefreshTokenValidity = &v
 30528  	return s
 30529  }
 30530  
 30531  // SetSupportedIdentityProviders sets the SupportedIdentityProviders field's value.
 30532  func (s *UpdateUserPoolClientInput) SetSupportedIdentityProviders(v []*string) *UpdateUserPoolClientInput {
 30533  	s.SupportedIdentityProviders = v
 30534  	return s
 30535  }
 30536  
 30537  // SetTokenValidityUnits sets the TokenValidityUnits field's value.
 30538  func (s *UpdateUserPoolClientInput) SetTokenValidityUnits(v *TokenValidityUnitsType) *UpdateUserPoolClientInput {
 30539  	s.TokenValidityUnits = v
 30540  	return s
 30541  }
 30542  
 30543  // SetUserPoolId sets the UserPoolId field's value.
 30544  func (s *UpdateUserPoolClientInput) SetUserPoolId(v string) *UpdateUserPoolClientInput {
 30545  	s.UserPoolId = &v
 30546  	return s
 30547  }
 30548  
 30549  // SetWriteAttributes sets the WriteAttributes field's value.
 30550  func (s *UpdateUserPoolClientInput) SetWriteAttributes(v []*string) *UpdateUserPoolClientInput {
 30551  	s.WriteAttributes = v
 30552  	return s
 30553  }
 30554  
 30555  // Represents the response from the server to the request to update the user
 30556  // pool client.
 30557  type UpdateUserPoolClientOutput struct {
 30558  	_ struct{} `type:"structure"`
 30559  
 30560  	// The user pool client value from the response from the server when an update
 30561  	// user pool client request is made.
 30562  	UserPoolClient *UserPoolClientType `type:"structure"`
 30563  }
 30564  
 30565  // String returns the string representation.
 30566  //
 30567  // API parameter values that are decorated as "sensitive" in the API will not
 30568  // be included in the string output. The member name will be present, but the
 30569  // value will be replaced with "sensitive".
 30570  func (s UpdateUserPoolClientOutput) String() string {
 30571  	return awsutil.Prettify(s)
 30572  }
 30573  
 30574  // GoString returns the string representation.
 30575  //
 30576  // API parameter values that are decorated as "sensitive" in the API will not
 30577  // be included in the string output. The member name will be present, but the
 30578  // value will be replaced with "sensitive".
 30579  func (s UpdateUserPoolClientOutput) GoString() string {
 30580  	return s.String()
 30581  }
 30582  
 30583  // SetUserPoolClient sets the UserPoolClient field's value.
 30584  func (s *UpdateUserPoolClientOutput) SetUserPoolClient(v *UserPoolClientType) *UpdateUserPoolClientOutput {
 30585  	s.UserPoolClient = v
 30586  	return s
 30587  }
 30588  
 30589  // The UpdateUserPoolDomain request input.
 30590  type UpdateUserPoolDomainInput struct {
 30591  	_ struct{} `type:"structure"`
 30592  
 30593  	// The configuration for a custom domain that hosts the sign-up and sign-in
 30594  	// pages for your application. Use this object to specify an SSL certificate
 30595  	// that is managed by ACM.
 30596  	//
 30597  	// CustomDomainConfig is a required field
 30598  	CustomDomainConfig *CustomDomainConfigType `type:"structure" required:"true"`
 30599  
 30600  	// The domain name for the custom domain that hosts the sign-up and sign-in
 30601  	// pages for your application. For example: auth.example.com.
 30602  	//
 30603  	// This string can include only lowercase letters, numbers, and hyphens. Do
 30604  	// not use a hyphen for the first or last character. Use periods to separate
 30605  	// subdomain names.
 30606  	//
 30607  	// Domain is a required field
 30608  	Domain *string `min:"1" type:"string" required:"true"`
 30609  
 30610  	// The ID of the user pool that is associated with the custom domain that you
 30611  	// are updating the certificate for.
 30612  	//
 30613  	// UserPoolId is a required field
 30614  	UserPoolId *string `min:"1" type:"string" required:"true"`
 30615  }
 30616  
 30617  // String returns the string representation.
 30618  //
 30619  // API parameter values that are decorated as "sensitive" in the API will not
 30620  // be included in the string output. The member name will be present, but the
 30621  // value will be replaced with "sensitive".
 30622  func (s UpdateUserPoolDomainInput) String() string {
 30623  	return awsutil.Prettify(s)
 30624  }
 30625  
 30626  // GoString returns the string representation.
 30627  //
 30628  // API parameter values that are decorated as "sensitive" in the API will not
 30629  // be included in the string output. The member name will be present, but the
 30630  // value will be replaced with "sensitive".
 30631  func (s UpdateUserPoolDomainInput) GoString() string {
 30632  	return s.String()
 30633  }
 30634  
 30635  // Validate inspects the fields of the type to determine if they are valid.
 30636  func (s *UpdateUserPoolDomainInput) Validate() error {
 30637  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserPoolDomainInput"}
 30638  	if s.CustomDomainConfig == nil {
 30639  		invalidParams.Add(request.NewErrParamRequired("CustomDomainConfig"))
 30640  	}
 30641  	if s.Domain == nil {
 30642  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 30643  	}
 30644  	if s.Domain != nil && len(*s.Domain) < 1 {
 30645  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 30646  	}
 30647  	if s.UserPoolId == nil {
 30648  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 30649  	}
 30650  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 30651  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 30652  	}
 30653  	if s.CustomDomainConfig != nil {
 30654  		if err := s.CustomDomainConfig.Validate(); err != nil {
 30655  			invalidParams.AddNested("CustomDomainConfig", err.(request.ErrInvalidParams))
 30656  		}
 30657  	}
 30658  
 30659  	if invalidParams.Len() > 0 {
 30660  		return invalidParams
 30661  	}
 30662  	return nil
 30663  }
 30664  
 30665  // SetCustomDomainConfig sets the CustomDomainConfig field's value.
 30666  func (s *UpdateUserPoolDomainInput) SetCustomDomainConfig(v *CustomDomainConfigType) *UpdateUserPoolDomainInput {
 30667  	s.CustomDomainConfig = v
 30668  	return s
 30669  }
 30670  
 30671  // SetDomain sets the Domain field's value.
 30672  func (s *UpdateUserPoolDomainInput) SetDomain(v string) *UpdateUserPoolDomainInput {
 30673  	s.Domain = &v
 30674  	return s
 30675  }
 30676  
 30677  // SetUserPoolId sets the UserPoolId field's value.
 30678  func (s *UpdateUserPoolDomainInput) SetUserPoolId(v string) *UpdateUserPoolDomainInput {
 30679  	s.UserPoolId = &v
 30680  	return s
 30681  }
 30682  
 30683  // The UpdateUserPoolDomain response output.
 30684  type UpdateUserPoolDomainOutput struct {
 30685  	_ struct{} `type:"structure"`
 30686  
 30687  	// The Amazon CloudFront endpoint that Amazon Cognito set up when you added
 30688  	// the custom domain to your user pool.
 30689  	CloudFrontDomain *string `min:"1" type:"string"`
 30690  }
 30691  
 30692  // String returns the string representation.
 30693  //
 30694  // API parameter values that are decorated as "sensitive" in the API will not
 30695  // be included in the string output. The member name will be present, but the
 30696  // value will be replaced with "sensitive".
 30697  func (s UpdateUserPoolDomainOutput) String() string {
 30698  	return awsutil.Prettify(s)
 30699  }
 30700  
 30701  // GoString returns the string representation.
 30702  //
 30703  // API parameter values that are decorated as "sensitive" in the API will not
 30704  // be included in the string output. The member name will be present, but the
 30705  // value will be replaced with "sensitive".
 30706  func (s UpdateUserPoolDomainOutput) GoString() string {
 30707  	return s.String()
 30708  }
 30709  
 30710  // SetCloudFrontDomain sets the CloudFrontDomain field's value.
 30711  func (s *UpdateUserPoolDomainOutput) SetCloudFrontDomain(v string) *UpdateUserPoolDomainOutput {
 30712  	s.CloudFrontDomain = &v
 30713  	return s
 30714  }
 30715  
 30716  // Represents the request to update the user pool.
 30717  type UpdateUserPoolInput struct {
 30718  	_ struct{} `type:"structure"`
 30719  
 30720  	// Use this setting to define which verified available method a user can use
 30721  	// to recover their password when they call ForgotPassword. It allows you to
 30722  	// define a preferred method when a user has more than one method available.
 30723  	// With this setting, SMS does not qualify for a valid password recovery mechanism
 30724  	// if the user also has SMS MFA enabled. In the absence of this setting, Cognito
 30725  	// uses the legacy behavior to determine the recovery method where SMS is preferred
 30726  	// over email.
 30727  	AccountRecoverySetting *AccountRecoverySettingType `type:"structure"`
 30728  
 30729  	// The configuration for AdminCreateUser requests.
 30730  	AdminCreateUserConfig *AdminCreateUserConfigType `type:"structure"`
 30731  
 30732  	// The attributes that are automatically verified when the Amazon Cognito service
 30733  	// makes a request to update user pools.
 30734  	AutoVerifiedAttributes []*string `type:"list"`
 30735  
 30736  	// Device configuration.
 30737  	DeviceConfiguration *DeviceConfigurationType `type:"structure"`
 30738  
 30739  	// Email configuration.
 30740  	EmailConfiguration *EmailConfigurationType `type:"structure"`
 30741  
 30742  	// The contents of the email verification message.
 30743  	EmailVerificationMessage *string `min:"6" type:"string"`
 30744  
 30745  	// The subject of the email verification message.
 30746  	EmailVerificationSubject *string `min:"1" type:"string"`
 30747  
 30748  	// The Lambda configuration information from the request to update the user
 30749  	// pool.
 30750  	LambdaConfig *LambdaConfigType `type:"structure"`
 30751  
 30752  	// Can be one of the following values:
 30753  	//
 30754  	//    * OFF - MFA tokens are not required and cannot be specified during user
 30755  	//    registration.
 30756  	//
 30757  	//    * ON - MFA tokens are required for all user registrations. You can only
 30758  	//    specify ON when you are initially creating a user pool. You can use the
 30759  	//    SetUserPoolMfaConfig (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html)
 30760  	//    API operation to turn MFA "ON" for existing user pools.
 30761  	//
 30762  	//    * OPTIONAL - Users have the option when registering to create an MFA token.
 30763  	MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"`
 30764  
 30765  	// A container with the policies you wish to update in a user pool.
 30766  	Policies *UserPoolPolicyType `type:"structure"`
 30767  
 30768  	// The contents of the SMS authentication message.
 30769  	SmsAuthenticationMessage *string `min:"6" type:"string"`
 30770  
 30771  	// SMS configuration.
 30772  	SmsConfiguration *SmsConfigurationType `type:"structure"`
 30773  
 30774  	// A container with information about the SMS verification message.
 30775  	SmsVerificationMessage *string `min:"6" type:"string"`
 30776  
 30777  	// Used to enable advanced security risk detection. Set the key AdvancedSecurityMode
 30778  	// to the value "AUDIT".
 30779  	UserPoolAddOns *UserPoolAddOnsType `type:"structure"`
 30780  
 30781  	// The user pool ID for the user pool you want to update.
 30782  	//
 30783  	// UserPoolId is a required field
 30784  	UserPoolId *string `min:"1" type:"string" required:"true"`
 30785  
 30786  	// The tag keys and values to assign to the user pool. A tag is a label that
 30787  	// you can use to categorize and manage user pools in different ways, such as
 30788  	// by purpose, owner, environment, or other criteria.
 30789  	UserPoolTags map[string]*string `type:"map"`
 30790  
 30791  	// The template for verification messages.
 30792  	VerificationMessageTemplate *VerificationMessageTemplateType `type:"structure"`
 30793  }
 30794  
 30795  // String returns the string representation.
 30796  //
 30797  // API parameter values that are decorated as "sensitive" in the API will not
 30798  // be included in the string output. The member name will be present, but the
 30799  // value will be replaced with "sensitive".
 30800  func (s UpdateUserPoolInput) String() string {
 30801  	return awsutil.Prettify(s)
 30802  }
 30803  
 30804  // GoString returns the string representation.
 30805  //
 30806  // API parameter values that are decorated as "sensitive" in the API will not
 30807  // be included in the string output. The member name will be present, but the
 30808  // value will be replaced with "sensitive".
 30809  func (s UpdateUserPoolInput) GoString() string {
 30810  	return s.String()
 30811  }
 30812  
 30813  // Validate inspects the fields of the type to determine if they are valid.
 30814  func (s *UpdateUserPoolInput) Validate() error {
 30815  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserPoolInput"}
 30816  	if s.EmailVerificationMessage != nil && len(*s.EmailVerificationMessage) < 6 {
 30817  		invalidParams.Add(request.NewErrParamMinLen("EmailVerificationMessage", 6))
 30818  	}
 30819  	if s.EmailVerificationSubject != nil && len(*s.EmailVerificationSubject) < 1 {
 30820  		invalidParams.Add(request.NewErrParamMinLen("EmailVerificationSubject", 1))
 30821  	}
 30822  	if s.SmsAuthenticationMessage != nil && len(*s.SmsAuthenticationMessage) < 6 {
 30823  		invalidParams.Add(request.NewErrParamMinLen("SmsAuthenticationMessage", 6))
 30824  	}
 30825  	if s.SmsVerificationMessage != nil && len(*s.SmsVerificationMessage) < 6 {
 30826  		invalidParams.Add(request.NewErrParamMinLen("SmsVerificationMessage", 6))
 30827  	}
 30828  	if s.UserPoolId == nil {
 30829  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 30830  	}
 30831  	if s.UserPoolId != nil && len(*s.UserPoolId) < 1 {
 30832  		invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1))
 30833  	}
 30834  	if s.AccountRecoverySetting != nil {
 30835  		if err := s.AccountRecoverySetting.Validate(); err != nil {
 30836  			invalidParams.AddNested("AccountRecoverySetting", err.(request.ErrInvalidParams))
 30837  		}
 30838  	}
 30839  	if s.AdminCreateUserConfig != nil {
 30840  		if err := s.AdminCreateUserConfig.Validate(); err != nil {
 30841  			invalidParams.AddNested("AdminCreateUserConfig", err.(request.ErrInvalidParams))
 30842  		}
 30843  	}
 30844  	if s.EmailConfiguration != nil {
 30845  		if err := s.EmailConfiguration.Validate(); err != nil {
 30846  			invalidParams.AddNested("EmailConfiguration", err.(request.ErrInvalidParams))
 30847  		}
 30848  	}
 30849  	if s.LambdaConfig != nil {
 30850  		if err := s.LambdaConfig.Validate(); err != nil {
 30851  			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
 30852  		}
 30853  	}
 30854  	if s.Policies != nil {
 30855  		if err := s.Policies.Validate(); err != nil {
 30856  			invalidParams.AddNested("Policies", err.(request.ErrInvalidParams))
 30857  		}
 30858  	}
 30859  	if s.SmsConfiguration != nil {
 30860  		if err := s.SmsConfiguration.Validate(); err != nil {
 30861  			invalidParams.AddNested("SmsConfiguration", err.(request.ErrInvalidParams))
 30862  		}
 30863  	}
 30864  	if s.UserPoolAddOns != nil {
 30865  		if err := s.UserPoolAddOns.Validate(); err != nil {
 30866  			invalidParams.AddNested("UserPoolAddOns", err.(request.ErrInvalidParams))
 30867  		}
 30868  	}
 30869  	if s.VerificationMessageTemplate != nil {
 30870  		if err := s.VerificationMessageTemplate.Validate(); err != nil {
 30871  			invalidParams.AddNested("VerificationMessageTemplate", err.(request.ErrInvalidParams))
 30872  		}
 30873  	}
 30874  
 30875  	if invalidParams.Len() > 0 {
 30876  		return invalidParams
 30877  	}
 30878  	return nil
 30879  }
 30880  
 30881  // SetAccountRecoverySetting sets the AccountRecoverySetting field's value.
 30882  func (s *UpdateUserPoolInput) SetAccountRecoverySetting(v *AccountRecoverySettingType) *UpdateUserPoolInput {
 30883  	s.AccountRecoverySetting = v
 30884  	return s
 30885  }
 30886  
 30887  // SetAdminCreateUserConfig sets the AdminCreateUserConfig field's value.
 30888  func (s *UpdateUserPoolInput) SetAdminCreateUserConfig(v *AdminCreateUserConfigType) *UpdateUserPoolInput {
 30889  	s.AdminCreateUserConfig = v
 30890  	return s
 30891  }
 30892  
 30893  // SetAutoVerifiedAttributes sets the AutoVerifiedAttributes field's value.
 30894  func (s *UpdateUserPoolInput) SetAutoVerifiedAttributes(v []*string) *UpdateUserPoolInput {
 30895  	s.AutoVerifiedAttributes = v
 30896  	return s
 30897  }
 30898  
 30899  // SetDeviceConfiguration sets the DeviceConfiguration field's value.
 30900  func (s *UpdateUserPoolInput) SetDeviceConfiguration(v *DeviceConfigurationType) *UpdateUserPoolInput {
 30901  	s.DeviceConfiguration = v
 30902  	return s
 30903  }
 30904  
 30905  // SetEmailConfiguration sets the EmailConfiguration field's value.
 30906  func (s *UpdateUserPoolInput) SetEmailConfiguration(v *EmailConfigurationType) *UpdateUserPoolInput {
 30907  	s.EmailConfiguration = v
 30908  	return s
 30909  }
 30910  
 30911  // SetEmailVerificationMessage sets the EmailVerificationMessage field's value.
 30912  func (s *UpdateUserPoolInput) SetEmailVerificationMessage(v string) *UpdateUserPoolInput {
 30913  	s.EmailVerificationMessage = &v
 30914  	return s
 30915  }
 30916  
 30917  // SetEmailVerificationSubject sets the EmailVerificationSubject field's value.
 30918  func (s *UpdateUserPoolInput) SetEmailVerificationSubject(v string) *UpdateUserPoolInput {
 30919  	s.EmailVerificationSubject = &v
 30920  	return s
 30921  }
 30922  
 30923  // SetLambdaConfig sets the LambdaConfig field's value.
 30924  func (s *UpdateUserPoolInput) SetLambdaConfig(v *LambdaConfigType) *UpdateUserPoolInput {
 30925  	s.LambdaConfig = v
 30926  	return s
 30927  }
 30928  
 30929  // SetMfaConfiguration sets the MfaConfiguration field's value.
 30930  func (s *UpdateUserPoolInput) SetMfaConfiguration(v string) *UpdateUserPoolInput {
 30931  	s.MfaConfiguration = &v
 30932  	return s
 30933  }
 30934  
 30935  // SetPolicies sets the Policies field's value.
 30936  func (s *UpdateUserPoolInput) SetPolicies(v *UserPoolPolicyType) *UpdateUserPoolInput {
 30937  	s.Policies = v
 30938  	return s
 30939  }
 30940  
 30941  // SetSmsAuthenticationMessage sets the SmsAuthenticationMessage field's value.
 30942  func (s *UpdateUserPoolInput) SetSmsAuthenticationMessage(v string) *UpdateUserPoolInput {
 30943  	s.SmsAuthenticationMessage = &v
 30944  	return s
 30945  }
 30946  
 30947  // SetSmsConfiguration sets the SmsConfiguration field's value.
 30948  func (s *UpdateUserPoolInput) SetSmsConfiguration(v *SmsConfigurationType) *UpdateUserPoolInput {
 30949  	s.SmsConfiguration = v
 30950  	return s
 30951  }
 30952  
 30953  // SetSmsVerificationMessage sets the SmsVerificationMessage field's value.
 30954  func (s *UpdateUserPoolInput) SetSmsVerificationMessage(v string) *UpdateUserPoolInput {
 30955  	s.SmsVerificationMessage = &v
 30956  	return s
 30957  }
 30958  
 30959  // SetUserPoolAddOns sets the UserPoolAddOns field's value.
 30960  func (s *UpdateUserPoolInput) SetUserPoolAddOns(v *UserPoolAddOnsType) *UpdateUserPoolInput {
 30961  	s.UserPoolAddOns = v
 30962  	return s
 30963  }
 30964  
 30965  // SetUserPoolId sets the UserPoolId field's value.
 30966  func (s *UpdateUserPoolInput) SetUserPoolId(v string) *UpdateUserPoolInput {
 30967  	s.UserPoolId = &v
 30968  	return s
 30969  }
 30970  
 30971  // SetUserPoolTags sets the UserPoolTags field's value.
 30972  func (s *UpdateUserPoolInput) SetUserPoolTags(v map[string]*string) *UpdateUserPoolInput {
 30973  	s.UserPoolTags = v
 30974  	return s
 30975  }
 30976  
 30977  // SetVerificationMessageTemplate sets the VerificationMessageTemplate field's value.
 30978  func (s *UpdateUserPoolInput) SetVerificationMessageTemplate(v *VerificationMessageTemplateType) *UpdateUserPoolInput {
 30979  	s.VerificationMessageTemplate = v
 30980  	return s
 30981  }
 30982  
 30983  // Represents the response from the server when you make a request to update
 30984  // the user pool.
 30985  type UpdateUserPoolOutput struct {
 30986  	_ struct{} `type:"structure"`
 30987  }
 30988  
 30989  // String returns the string representation.
 30990  //
 30991  // API parameter values that are decorated as "sensitive" in the API will not
 30992  // be included in the string output. The member name will be present, but the
 30993  // value will be replaced with "sensitive".
 30994  func (s UpdateUserPoolOutput) String() string {
 30995  	return awsutil.Prettify(s)
 30996  }
 30997  
 30998  // GoString returns the string representation.
 30999  //
 31000  // API parameter values that are decorated as "sensitive" in the API will not
 31001  // be included in the string output. The member name will be present, but the
 31002  // value will be replaced with "sensitive".
 31003  func (s UpdateUserPoolOutput) GoString() string {
 31004  	return s.String()
 31005  }
 31006  
 31007  // Contextual data such as the user's device fingerprint, IP address, or location
 31008  // used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 31009  // security.
 31010  type UserContextDataType struct {
 31011  	_ struct{} `type:"structure"`
 31012  
 31013  	// Contextual data such as the user's device fingerprint, IP address, or location
 31014  	// used for evaluating the risk of an unexpected event by Amazon Cognito advanced
 31015  	// security.
 31016  	EncodedData *string `type:"string"`
 31017  }
 31018  
 31019  // String returns the string representation.
 31020  //
 31021  // API parameter values that are decorated as "sensitive" in the API will not
 31022  // be included in the string output. The member name will be present, but the
 31023  // value will be replaced with "sensitive".
 31024  func (s UserContextDataType) String() string {
 31025  	return awsutil.Prettify(s)
 31026  }
 31027  
 31028  // GoString returns the string representation.
 31029  //
 31030  // API parameter values that are decorated as "sensitive" in the API will not
 31031  // be included in the string output. The member name will be present, but the
 31032  // value will be replaced with "sensitive".
 31033  func (s UserContextDataType) GoString() string {
 31034  	return s.String()
 31035  }
 31036  
 31037  // SetEncodedData sets the EncodedData field's value.
 31038  func (s *UserContextDataType) SetEncodedData(v string) *UserContextDataType {
 31039  	s.EncodedData = &v
 31040  	return s
 31041  }
 31042  
 31043  // This exception is thrown when you are trying to modify a user pool while
 31044  // a user import job is in progress for that pool.
 31045  type UserImportInProgressException struct {
 31046  	_            struct{}                  `type:"structure"`
 31047  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31048  
 31049  	// The message returned when the user pool has an import job running.
 31050  	Message_ *string `locationName:"message" type:"string"`
 31051  }
 31052  
 31053  // String returns the string representation.
 31054  //
 31055  // API parameter values that are decorated as "sensitive" in the API will not
 31056  // be included in the string output. The member name will be present, but the
 31057  // value will be replaced with "sensitive".
 31058  func (s UserImportInProgressException) String() string {
 31059  	return awsutil.Prettify(s)
 31060  }
 31061  
 31062  // GoString returns the string representation.
 31063  //
 31064  // API parameter values that are decorated as "sensitive" in the API will not
 31065  // be included in the string output. The member name will be present, but the
 31066  // value will be replaced with "sensitive".
 31067  func (s UserImportInProgressException) GoString() string {
 31068  	return s.String()
 31069  }
 31070  
 31071  func newErrorUserImportInProgressException(v protocol.ResponseMetadata) error {
 31072  	return &UserImportInProgressException{
 31073  		RespMetadata: v,
 31074  	}
 31075  }
 31076  
 31077  // Code returns the exception type name.
 31078  func (s *UserImportInProgressException) Code() string {
 31079  	return "UserImportInProgressException"
 31080  }
 31081  
 31082  // Message returns the exception's message.
 31083  func (s *UserImportInProgressException) Message() string {
 31084  	if s.Message_ != nil {
 31085  		return *s.Message_
 31086  	}
 31087  	return ""
 31088  }
 31089  
 31090  // OrigErr always returns nil, satisfies awserr.Error interface.
 31091  func (s *UserImportInProgressException) OrigErr() error {
 31092  	return nil
 31093  }
 31094  
 31095  func (s *UserImportInProgressException) Error() string {
 31096  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 31097  }
 31098  
 31099  // Status code returns the HTTP status code for the request's response error.
 31100  func (s *UserImportInProgressException) StatusCode() int {
 31101  	return s.RespMetadata.StatusCode
 31102  }
 31103  
 31104  // RequestID returns the service's response RequestID for request.
 31105  func (s *UserImportInProgressException) RequestID() string {
 31106  	return s.RespMetadata.RequestID
 31107  }
 31108  
 31109  // The user import job type.
 31110  type UserImportJobType struct {
 31111  	_ struct{} `type:"structure"`
 31112  
 31113  	// The role ARN for the Amazon CloudWatch Logging role for the user import job.
 31114  	// For more information, see "Creating the CloudWatch Logs IAM Role" in the
 31115  	// Amazon Cognito Developer Guide.
 31116  	CloudWatchLogsRoleArn *string `min:"20" type:"string"`
 31117  
 31118  	// The date when the user import job was completed.
 31119  	CompletionDate *time.Time `type:"timestamp"`
 31120  
 31121  	// The message returned when the user import job is completed.
 31122  	CompletionMessage *string `min:"1" type:"string"`
 31123  
 31124  	// The date the user import job was created.
 31125  	CreationDate *time.Time `type:"timestamp"`
 31126  
 31127  	// The number of users that could not be imported.
 31128  	FailedUsers *int64 `type:"long"`
 31129  
 31130  	// The number of users that were successfully imported.
 31131  	ImportedUsers *int64 `type:"long"`
 31132  
 31133  	// The job ID for the user import job.
 31134  	JobId *string `min:"1" type:"string"`
 31135  
 31136  	// The job name for the user import job.
 31137  	JobName *string `min:"1" type:"string"`
 31138  
 31139  	// The pre-signed URL to be used to upload the .csv file.
 31140  	PreSignedUrl *string `type:"string"`
 31141  
 31142  	// The number of users that were skipped.
 31143  	SkippedUsers *int64 `type:"long"`
 31144  
 31145  	// The date when the user import job was started.
 31146  	StartDate *time.Time `type:"timestamp"`
 31147  
 31148  	// The status of the user import job. One of the following:
 31149  	//
 31150  	//    * Created - The job was created but not started.
 31151  	//
 31152  	//    * Pending - A transition state. You have started the job, but it has not
 31153  	//    begun importing users yet.
 31154  	//
 31155  	//    * InProgress - The job has started, and users are being imported.
 31156  	//
 31157  	//    * Stopping - You have stopped the job, but the job has not stopped importing
 31158  	//    users yet.
 31159  	//
 31160  	//    * Stopped - You have stopped the job, and the job has stopped importing
 31161  	//    users.
 31162  	//
 31163  	//    * Succeeded - The job has completed successfully.
 31164  	//
 31165  	//    * Failed - The job has stopped due to an error.
 31166  	//
 31167  	//    * Expired - You created a job, but did not start the job within 24-48
 31168  	//    hours. All data associated with the job was deleted, and the job cannot
 31169  	//    be started.
 31170  	Status *string `type:"string" enum:"UserImportJobStatusType"`
 31171  
 31172  	// The user pool ID for the user pool that the users are being imported into.
 31173  	UserPoolId *string `min:"1" type:"string"`
 31174  }
 31175  
 31176  // String returns the string representation.
 31177  //
 31178  // API parameter values that are decorated as "sensitive" in the API will not
 31179  // be included in the string output. The member name will be present, but the
 31180  // value will be replaced with "sensitive".
 31181  func (s UserImportJobType) String() string {
 31182  	return awsutil.Prettify(s)
 31183  }
 31184  
 31185  // GoString returns the string representation.
 31186  //
 31187  // API parameter values that are decorated as "sensitive" in the API will not
 31188  // be included in the string output. The member name will be present, but the
 31189  // value will be replaced with "sensitive".
 31190  func (s UserImportJobType) GoString() string {
 31191  	return s.String()
 31192  }
 31193  
 31194  // SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
 31195  func (s *UserImportJobType) SetCloudWatchLogsRoleArn(v string) *UserImportJobType {
 31196  	s.CloudWatchLogsRoleArn = &v
 31197  	return s
 31198  }
 31199  
 31200  // SetCompletionDate sets the CompletionDate field's value.
 31201  func (s *UserImportJobType) SetCompletionDate(v time.Time) *UserImportJobType {
 31202  	s.CompletionDate = &v
 31203  	return s
 31204  }
 31205  
 31206  // SetCompletionMessage sets the CompletionMessage field's value.
 31207  func (s *UserImportJobType) SetCompletionMessage(v string) *UserImportJobType {
 31208  	s.CompletionMessage = &v
 31209  	return s
 31210  }
 31211  
 31212  // SetCreationDate sets the CreationDate field's value.
 31213  func (s *UserImportJobType) SetCreationDate(v time.Time) *UserImportJobType {
 31214  	s.CreationDate = &v
 31215  	return s
 31216  }
 31217  
 31218  // SetFailedUsers sets the FailedUsers field's value.
 31219  func (s *UserImportJobType) SetFailedUsers(v int64) *UserImportJobType {
 31220  	s.FailedUsers = &v
 31221  	return s
 31222  }
 31223  
 31224  // SetImportedUsers sets the ImportedUsers field's value.
 31225  func (s *UserImportJobType) SetImportedUsers(v int64) *UserImportJobType {
 31226  	s.ImportedUsers = &v
 31227  	return s
 31228  }
 31229  
 31230  // SetJobId sets the JobId field's value.
 31231  func (s *UserImportJobType) SetJobId(v string) *UserImportJobType {
 31232  	s.JobId = &v
 31233  	return s
 31234  }
 31235  
 31236  // SetJobName sets the JobName field's value.
 31237  func (s *UserImportJobType) SetJobName(v string) *UserImportJobType {
 31238  	s.JobName = &v
 31239  	return s
 31240  }
 31241  
 31242  // SetPreSignedUrl sets the PreSignedUrl field's value.
 31243  func (s *UserImportJobType) SetPreSignedUrl(v string) *UserImportJobType {
 31244  	s.PreSignedUrl = &v
 31245  	return s
 31246  }
 31247  
 31248  // SetSkippedUsers sets the SkippedUsers field's value.
 31249  func (s *UserImportJobType) SetSkippedUsers(v int64) *UserImportJobType {
 31250  	s.SkippedUsers = &v
 31251  	return s
 31252  }
 31253  
 31254  // SetStartDate sets the StartDate field's value.
 31255  func (s *UserImportJobType) SetStartDate(v time.Time) *UserImportJobType {
 31256  	s.StartDate = &v
 31257  	return s
 31258  }
 31259  
 31260  // SetStatus sets the Status field's value.
 31261  func (s *UserImportJobType) SetStatus(v string) *UserImportJobType {
 31262  	s.Status = &v
 31263  	return s
 31264  }
 31265  
 31266  // SetUserPoolId sets the UserPoolId field's value.
 31267  func (s *UserImportJobType) SetUserPoolId(v string) *UserImportJobType {
 31268  	s.UserPoolId = &v
 31269  	return s
 31270  }
 31271  
 31272  // This exception is thrown when the Amazon Cognito service encounters a user
 31273  // validation exception with the Lambda service.
 31274  type UserLambdaValidationException struct {
 31275  	_            struct{}                  `type:"structure"`
 31276  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31277  
 31278  	// The message returned when the Amazon Cognito service returns a user validation
 31279  	// exception with the Lambda service.
 31280  	Message_ *string `locationName:"message" type:"string"`
 31281  }
 31282  
 31283  // String returns the string representation.
 31284  //
 31285  // API parameter values that are decorated as "sensitive" in the API will not
 31286  // be included in the string output. The member name will be present, but the
 31287  // value will be replaced with "sensitive".
 31288  func (s UserLambdaValidationException) String() string {
 31289  	return awsutil.Prettify(s)
 31290  }
 31291  
 31292  // GoString returns the string representation.
 31293  //
 31294  // API parameter values that are decorated as "sensitive" in the API will not
 31295  // be included in the string output. The member name will be present, but the
 31296  // value will be replaced with "sensitive".
 31297  func (s UserLambdaValidationException) GoString() string {
 31298  	return s.String()
 31299  }
 31300  
 31301  func newErrorUserLambdaValidationException(v protocol.ResponseMetadata) error {
 31302  	return &UserLambdaValidationException{
 31303  		RespMetadata: v,
 31304  	}
 31305  }
 31306  
 31307  // Code returns the exception type name.
 31308  func (s *UserLambdaValidationException) Code() string {
 31309  	return "UserLambdaValidationException"
 31310  }
 31311  
 31312  // Message returns the exception's message.
 31313  func (s *UserLambdaValidationException) Message() string {
 31314  	if s.Message_ != nil {
 31315  		return *s.Message_
 31316  	}
 31317  	return ""
 31318  }
 31319  
 31320  // OrigErr always returns nil, satisfies awserr.Error interface.
 31321  func (s *UserLambdaValidationException) OrigErr() error {
 31322  	return nil
 31323  }
 31324  
 31325  func (s *UserLambdaValidationException) Error() string {
 31326  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 31327  }
 31328  
 31329  // Status code returns the HTTP status code for the request's response error.
 31330  func (s *UserLambdaValidationException) StatusCode() int {
 31331  	return s.RespMetadata.StatusCode
 31332  }
 31333  
 31334  // RequestID returns the service's response RequestID for request.
 31335  func (s *UserLambdaValidationException) RequestID() string {
 31336  	return s.RespMetadata.RequestID
 31337  }
 31338  
 31339  // This exception is thrown when a user is not confirmed successfully.
 31340  type UserNotConfirmedException struct {
 31341  	_            struct{}                  `type:"structure"`
 31342  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31343  
 31344  	// The message returned when a user is not confirmed successfully.
 31345  	Message_ *string `locationName:"message" type:"string"`
 31346  }
 31347  
 31348  // String returns the string representation.
 31349  //
 31350  // API parameter values that are decorated as "sensitive" in the API will not
 31351  // be included in the string output. The member name will be present, but the
 31352  // value will be replaced with "sensitive".
 31353  func (s UserNotConfirmedException) String() string {
 31354  	return awsutil.Prettify(s)
 31355  }
 31356  
 31357  // GoString returns the string representation.
 31358  //
 31359  // API parameter values that are decorated as "sensitive" in the API will not
 31360  // be included in the string output. The member name will be present, but the
 31361  // value will be replaced with "sensitive".
 31362  func (s UserNotConfirmedException) GoString() string {
 31363  	return s.String()
 31364  }
 31365  
 31366  func newErrorUserNotConfirmedException(v protocol.ResponseMetadata) error {
 31367  	return &UserNotConfirmedException{
 31368  		RespMetadata: v,
 31369  	}
 31370  }
 31371  
 31372  // Code returns the exception type name.
 31373  func (s *UserNotConfirmedException) Code() string {
 31374  	return "UserNotConfirmedException"
 31375  }
 31376  
 31377  // Message returns the exception's message.
 31378  func (s *UserNotConfirmedException) Message() string {
 31379  	if s.Message_ != nil {
 31380  		return *s.Message_
 31381  	}
 31382  	return ""
 31383  }
 31384  
 31385  // OrigErr always returns nil, satisfies awserr.Error interface.
 31386  func (s *UserNotConfirmedException) OrigErr() error {
 31387  	return nil
 31388  }
 31389  
 31390  func (s *UserNotConfirmedException) Error() string {
 31391  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 31392  }
 31393  
 31394  // Status code returns the HTTP status code for the request's response error.
 31395  func (s *UserNotConfirmedException) StatusCode() int {
 31396  	return s.RespMetadata.StatusCode
 31397  }
 31398  
 31399  // RequestID returns the service's response RequestID for request.
 31400  func (s *UserNotConfirmedException) RequestID() string {
 31401  	return s.RespMetadata.RequestID
 31402  }
 31403  
 31404  // This exception is thrown when a user is not found.
 31405  type UserNotFoundException struct {
 31406  	_            struct{}                  `type:"structure"`
 31407  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31408  
 31409  	// The message returned when a user is not found.
 31410  	Message_ *string `locationName:"message" type:"string"`
 31411  }
 31412  
 31413  // String returns the string representation.
 31414  //
 31415  // API parameter values that are decorated as "sensitive" in the API will not
 31416  // be included in the string output. The member name will be present, but the
 31417  // value will be replaced with "sensitive".
 31418  func (s UserNotFoundException) String() string {
 31419  	return awsutil.Prettify(s)
 31420  }
 31421  
 31422  // GoString returns the string representation.
 31423  //
 31424  // API parameter values that are decorated as "sensitive" in the API will not
 31425  // be included in the string output. The member name will be present, but the
 31426  // value will be replaced with "sensitive".
 31427  func (s UserNotFoundException) GoString() string {
 31428  	return s.String()
 31429  }
 31430  
 31431  func newErrorUserNotFoundException(v protocol.ResponseMetadata) error {
 31432  	return &UserNotFoundException{
 31433  		RespMetadata: v,
 31434  	}
 31435  }
 31436  
 31437  // Code returns the exception type name.
 31438  func (s *UserNotFoundException) Code() string {
 31439  	return "UserNotFoundException"
 31440  }
 31441  
 31442  // Message returns the exception's message.
 31443  func (s *UserNotFoundException) Message() string {
 31444  	if s.Message_ != nil {
 31445  		return *s.Message_
 31446  	}
 31447  	return ""
 31448  }
 31449  
 31450  // OrigErr always returns nil, satisfies awserr.Error interface.
 31451  func (s *UserNotFoundException) OrigErr() error {
 31452  	return nil
 31453  }
 31454  
 31455  func (s *UserNotFoundException) Error() string {
 31456  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 31457  }
 31458  
 31459  // Status code returns the HTTP status code for the request's response error.
 31460  func (s *UserNotFoundException) StatusCode() int {
 31461  	return s.RespMetadata.StatusCode
 31462  }
 31463  
 31464  // RequestID returns the service's response RequestID for request.
 31465  func (s *UserNotFoundException) RequestID() string {
 31466  	return s.RespMetadata.RequestID
 31467  }
 31468  
 31469  // This exception is thrown when user pool add-ons are not enabled.
 31470  type UserPoolAddOnNotEnabledException struct {
 31471  	_            struct{}                  `type:"structure"`
 31472  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 31473  
 31474  	Message_ *string `locationName:"message" type:"string"`
 31475  }
 31476  
 31477  // String returns the string representation.
 31478  //
 31479  // API parameter values that are decorated as "sensitive" in the API will not
 31480  // be included in the string output. The member name will be present, but the
 31481  // value will be replaced with "sensitive".
 31482  func (s UserPoolAddOnNotEnabledException) String() string {
 31483  	return awsutil.Prettify(s)
 31484  }
 31485  
 31486  // GoString returns the string representation.
 31487  //
 31488  // API parameter values that are decorated as "sensitive" in the API will not
 31489  // be included in the string output. The member name will be present, but the
 31490  // value will be replaced with "sensitive".
 31491  func (s UserPoolAddOnNotEnabledException) GoString() string {
 31492  	return s.String()
 31493  }
 31494  
 31495  func newErrorUserPoolAddOnNotEnabledException(v protocol.ResponseMetadata) error {
 31496  	return &UserPoolAddOnNotEnabledException{
 31497  		RespMetadata: v,
 31498  	}
 31499  }
 31500  
 31501  // Code returns the exception type name.
 31502  func (s *UserPoolAddOnNotEnabledException) Code() string {
 31503  	return "UserPoolAddOnNotEnabledException"
 31504  }
 31505  
 31506  // Message returns the exception's message.
 31507  func (s *UserPoolAddOnNotEnabledException) Message() string {
 31508  	if s.Message_ != nil {
 31509  		return *s.Message_
 31510  	}
 31511  	return ""
 31512  }
 31513  
 31514  // OrigErr always returns nil, satisfies awserr.Error interface.
 31515  func (s *UserPoolAddOnNotEnabledException) OrigErr() error {
 31516  	return nil
 31517  }
 31518  
 31519  func (s *UserPoolAddOnNotEnabledException) Error() string {
 31520  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 31521  }
 31522  
 31523  // Status code returns the HTTP status code for the request's response error.
 31524  func (s *UserPoolAddOnNotEnabledException) StatusCode() int {
 31525  	return s.RespMetadata.StatusCode
 31526  }
 31527  
 31528  // RequestID returns the service's response RequestID for request.
 31529  func (s *UserPoolAddOnNotEnabledException) RequestID() string {
 31530  	return s.RespMetadata.RequestID
 31531  }
 31532  
 31533  // The user pool add-ons type.
 31534  type UserPoolAddOnsType struct {
 31535  	_ struct{} `type:"structure"`
 31536  
 31537  	// The advanced security mode.
 31538  	//
 31539  	// AdvancedSecurityMode is a required field
 31540  	AdvancedSecurityMode *string `type:"string" required:"true" enum:"AdvancedSecurityModeType"`
 31541  }
 31542  
 31543  // String returns the string representation.
 31544  //
 31545  // API parameter values that are decorated as "sensitive" in the API will not
 31546  // be included in the string output. The member name will be present, but the
 31547  // value will be replaced with "sensitive".
 31548  func (s UserPoolAddOnsType) String() string {
 31549  	return awsutil.Prettify(s)
 31550  }
 31551  
 31552  // GoString returns the string representation.
 31553  //
 31554  // API parameter values that are decorated as "sensitive" in the API will not
 31555  // be included in the string output. The member name will be present, but the
 31556  // value will be replaced with "sensitive".
 31557  func (s UserPoolAddOnsType) GoString() string {
 31558  	return s.String()
 31559  }
 31560  
 31561  // Validate inspects the fields of the type to determine if they are valid.
 31562  func (s *UserPoolAddOnsType) Validate() error {
 31563  	invalidParams := request.ErrInvalidParams{Context: "UserPoolAddOnsType"}
 31564  	if s.AdvancedSecurityMode == nil {
 31565  		invalidParams.Add(request.NewErrParamRequired("AdvancedSecurityMode"))
 31566  	}
 31567  
 31568  	if invalidParams.Len() > 0 {
 31569  		return invalidParams
 31570  	}
 31571  	return nil
 31572  }
 31573  
 31574  // SetAdvancedSecurityMode sets the AdvancedSecurityMode field's value.
 31575  func (s *UserPoolAddOnsType) SetAdvancedSecurityMode(v string) *UserPoolAddOnsType {
 31576  	s.AdvancedSecurityMode = &v
 31577  	return s
 31578  }
 31579  
 31580  // The description of the user pool client.
 31581  type UserPoolClientDescription struct {
 31582  	_ struct{} `type:"structure"`
 31583  
 31584  	// The ID of the client associated with the user pool.
 31585  	//
 31586  	// ClientId is a sensitive parameter and its value will be
 31587  	// replaced with "sensitive" in string returned by UserPoolClientDescription's
 31588  	// String and GoString methods.
 31589  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 31590  
 31591  	// The client name from the user pool client description.
 31592  	ClientName *string `min:"1" type:"string"`
 31593  
 31594  	// The user pool ID for the user pool where you want to describe the user pool
 31595  	// client.
 31596  	UserPoolId *string `min:"1" type:"string"`
 31597  }
 31598  
 31599  // String returns the string representation.
 31600  //
 31601  // API parameter values that are decorated as "sensitive" in the API will not
 31602  // be included in the string output. The member name will be present, but the
 31603  // value will be replaced with "sensitive".
 31604  func (s UserPoolClientDescription) String() string {
 31605  	return awsutil.Prettify(s)
 31606  }
 31607  
 31608  // GoString returns the string representation.
 31609  //
 31610  // API parameter values that are decorated as "sensitive" in the API will not
 31611  // be included in the string output. The member name will be present, but the
 31612  // value will be replaced with "sensitive".
 31613  func (s UserPoolClientDescription) GoString() string {
 31614  	return s.String()
 31615  }
 31616  
 31617  // SetClientId sets the ClientId field's value.
 31618  func (s *UserPoolClientDescription) SetClientId(v string) *UserPoolClientDescription {
 31619  	s.ClientId = &v
 31620  	return s
 31621  }
 31622  
 31623  // SetClientName sets the ClientName field's value.
 31624  func (s *UserPoolClientDescription) SetClientName(v string) *UserPoolClientDescription {
 31625  	s.ClientName = &v
 31626  	return s
 31627  }
 31628  
 31629  // SetUserPoolId sets the UserPoolId field's value.
 31630  func (s *UserPoolClientDescription) SetUserPoolId(v string) *UserPoolClientDescription {
 31631  	s.UserPoolId = &v
 31632  	return s
 31633  }
 31634  
 31635  // Contains information about a user pool client.
 31636  type UserPoolClientType struct {
 31637  	_ struct{} `type:"structure"`
 31638  
 31639  	// The time limit, specified by tokenValidityUnits, defaulting to hours, after
 31640  	// which the access token is no longer valid and cannot be used.
 31641  	AccessTokenValidity *int64 `min:"1" type:"integer"`
 31642  
 31643  	// The allowed OAuth flows.
 31644  	//
 31645  	// Set to code to initiate a code grant flow, which provides an authorization
 31646  	// code as the response. This code can be exchanged for access tokens with the
 31647  	// token endpoint.
 31648  	//
 31649  	// Set to implicit to specify that the client should get the access token (and,
 31650  	// optionally, ID token, based on scopes) directly.
 31651  	//
 31652  	// Set to client_credentials to specify that the client should get the access
 31653  	// token (and, optionally, ID token, based on scopes) from the token endpoint
 31654  	// using a combination of client and client_secret.
 31655  	AllowedOAuthFlows []*string `type:"list"`
 31656  
 31657  	// Set to true if the client is allowed to follow the OAuth protocol when interacting
 31658  	// with Cognito user pools.
 31659  	AllowedOAuthFlowsUserPoolClient *bool `type:"boolean"`
 31660  
 31661  	// The allowed OAuth scopes. Possible values provided by OAuth are: phone, email,
 31662  	// openid, and profile. Possible values provided by Amazon Web Services are:
 31663  	// aws.cognito.signin.user.admin. Custom scopes created in Resource Servers
 31664  	// are also supported.
 31665  	AllowedOAuthScopes []*string `type:"list"`
 31666  
 31667  	// The Amazon Pinpoint analytics configuration for the user pool client.
 31668  	//
 31669  	// Cognito User Pools only supports sending events to Amazon Pinpoint projects
 31670  	// in the US East (N. Virginia) us-east-1 Region, regardless of the region in
 31671  	// which the user pool resides.
 31672  	AnalyticsConfiguration *AnalyticsConfigurationType `type:"structure"`
 31673  
 31674  	// A list of allowed redirect (callback) URLs for the identity providers.
 31675  	//
 31676  	// A redirect URI must:
 31677  	//
 31678  	//    * Be an absolute URI.
 31679  	//
 31680  	//    * Be registered with the authorization server.
 31681  	//
 31682  	//    * Not include a fragment component.
 31683  	//
 31684  	// See OAuth 2.0 - Redirection Endpoint (https://tools.ietf.org/html/rfc6749#section-3.1.2).
 31685  	//
 31686  	// Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing
 31687  	// purposes only.
 31688  	//
 31689  	// App callback URLs such as myapp://example are also supported.
 31690  	CallbackURLs []*string `type:"list"`
 31691  
 31692  	// The ID of the client associated with the user pool.
 31693  	//
 31694  	// ClientId is a sensitive parameter and its value will be
 31695  	// replaced with "sensitive" in string returned by UserPoolClientType's
 31696  	// String and GoString methods.
 31697  	ClientId *string `min:"1" type:"string" sensitive:"true"`
 31698  
 31699  	// The client name from the user pool request of the client type.
 31700  	ClientName *string `min:"1" type:"string"`
 31701  
 31702  	// The client secret from the user pool request of the client type.
 31703  	//
 31704  	// ClientSecret is a sensitive parameter and its value will be
 31705  	// replaced with "sensitive" in string returned by UserPoolClientType's
 31706  	// String and GoString methods.
 31707  	ClientSecret *string `min:"1" type:"string" sensitive:"true"`
 31708  
 31709  	// The date the user pool client was created.
 31710  	CreationDate *time.Time `type:"timestamp"`
 31711  
 31712  	// The default redirect URI. Must be in the CallbackURLs list.
 31713  	//
 31714  	// A redirect URI must:
 31715  	//
 31716  	//    * Be an absolute URI.
 31717  	//
 31718  	//    * Be registered with the authorization server.
 31719  	//
 31720  	//    * Not include a fragment component.
 31721  	//
 31722  	// See OAuth 2.0 - Redirection Endpoint (https://tools.ietf.org/html/rfc6749#section-3.1.2).
 31723  	//
 31724  	// Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing
 31725  	// purposes only.
 31726  	//
 31727  	// App callback URLs such as myapp://example are also supported.
 31728  	DefaultRedirectURI *string `min:"1" type:"string"`
 31729  
 31730  	// Indicates whether token revocation is enabled for the user pool client. When
 31731  	// you create a new user pool client, token revocation is enabled by default.
 31732  	// For more information about revoking tokens, see RevokeToken (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html).
 31733  	EnableTokenRevocation *bool `type:"boolean"`
 31734  
 31735  	// The authentication flows that are supported by the user pool clients. Flow
 31736  	// names without the ALLOW_ prefix are deprecated in favor of new names with
 31737  	// the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along
 31738  	// with values without ALLOW_ prefix.
 31739  	//
 31740  	// Valid values include:
 31741  	//
 31742  	//    * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication
 31743  	//    flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH
 31744  	//    setting. With this authentication flow, Cognito receives the password
 31745  	//    in the request instead of using the SRP (Secure Remote Password protocol)
 31746  	//    protocol to verify passwords.
 31747  	//
 31748  	//    * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.
 31749  	//
 31750  	//    * ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication.
 31751  	//    In this flow, Cognito receives the password in the request instead of
 31752  	//    using the SRP protocol to verify passwords.
 31753  	//
 31754  	//    * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.
 31755  	//
 31756  	//    * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.
 31757  	ExplicitAuthFlows []*string `type:"list"`
 31758  
 31759  	// The time limit, specified by tokenValidityUnits, defaulting to hours, after
 31760  	// which the refresh token is no longer valid and cannot be used.
 31761  	IdTokenValidity *int64 `min:"1" type:"integer"`
 31762  
 31763  	// The date the user pool client was last modified.
 31764  	LastModifiedDate *time.Time `type:"timestamp"`
 31765  
 31766  	// A list of allowed logout URLs for the identity providers.
 31767  	LogoutURLs []*string `type:"list"`
 31768  
 31769  	// Use this setting to choose which errors and responses are returned by Cognito
 31770  	// APIs during authentication, account confirmation, and password recovery when
 31771  	// the user does not exist in the user pool. When set to ENABLED and the user
 31772  	// does not exist, authentication returns an error indicating either the username
 31773  	// or password was incorrect, and account confirmation and password recovery
 31774  	// return a response indicating a code was sent to a simulated destination.
 31775  	// When set to LEGACY, those APIs will return a UserNotFoundException exception
 31776  	// if the user does not exist in the user pool.
 31777  	//
 31778  	// Valid values include:
 31779  	//
 31780  	//    * ENABLED - This prevents user existence-related errors.
 31781  	//
 31782  	//    * LEGACY - This represents the old behavior of Cognito where user existence
 31783  	//    related errors are not prevented.
 31784  	//
 31785  	// After February 15th 2020, the value of PreventUserExistenceErrors will default
 31786  	// to ENABLED for newly created user pool clients if no value is provided.
 31787  	PreventUserExistenceErrors *string `type:"string" enum:"PreventUserExistenceErrorTypes"`
 31788  
 31789  	// The Read-only attributes.
 31790  	ReadAttributes []*string `type:"list"`
 31791  
 31792  	// The time limit, in days, after which the refresh token is no longer valid
 31793  	// and cannot be used.
 31794  	RefreshTokenValidity *int64 `type:"integer"`
 31795  
 31796  	// A list of provider names for the identity providers that are supported on
 31797  	// this client.
 31798  	SupportedIdentityProviders []*string `type:"list"`
 31799  
 31800  	// The time units used to specify the token validity times of their respective
 31801  	// token.
 31802  	TokenValidityUnits *TokenValidityUnitsType `type:"structure"`
 31803  
 31804  	// The user pool ID for the user pool client.
 31805  	UserPoolId *string `min:"1" type:"string"`
 31806  
 31807  	// The writeable attributes.
 31808  	WriteAttributes []*string `type:"list"`
 31809  }
 31810  
 31811  // String returns the string representation.
 31812  //
 31813  // API parameter values that are decorated as "sensitive" in the API will not
 31814  // be included in the string output. The member name will be present, but the
 31815  // value will be replaced with "sensitive".
 31816  func (s UserPoolClientType) String() string {
 31817  	return awsutil.Prettify(s)
 31818  }
 31819  
 31820  // GoString returns the string representation.
 31821  //
 31822  // API parameter values that are decorated as "sensitive" in the API will not
 31823  // be included in the string output. The member name will be present, but the
 31824  // value will be replaced with "sensitive".
 31825  func (s UserPoolClientType) GoString() string {
 31826  	return s.String()
 31827  }
 31828  
 31829  // SetAccessTokenValidity sets the AccessTokenValidity field's value.
 31830  func (s *UserPoolClientType) SetAccessTokenValidity(v int64) *UserPoolClientType {
 31831  	s.AccessTokenValidity = &v
 31832  	return s
 31833  }
 31834  
 31835  // SetAllowedOAuthFlows sets the AllowedOAuthFlows field's value.
 31836  func (s *UserPoolClientType) SetAllowedOAuthFlows(v []*string) *UserPoolClientType {
 31837  	s.AllowedOAuthFlows = v
 31838  	return s
 31839  }
 31840  
 31841  // SetAllowedOAuthFlowsUserPoolClient sets the AllowedOAuthFlowsUserPoolClient field's value.
 31842  func (s *UserPoolClientType) SetAllowedOAuthFlowsUserPoolClient(v bool) *UserPoolClientType {
 31843  	s.AllowedOAuthFlowsUserPoolClient = &v
 31844  	return s
 31845  }
 31846  
 31847  // SetAllowedOAuthScopes sets the AllowedOAuthScopes field's value.
 31848  func (s *UserPoolClientType) SetAllowedOAuthScopes(v []*string) *UserPoolClientType {
 31849  	s.AllowedOAuthScopes = v
 31850  	return s
 31851  }
 31852  
 31853  // SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value.
 31854  func (s *UserPoolClientType) SetAnalyticsConfiguration(v *AnalyticsConfigurationType) *UserPoolClientType {
 31855  	s.AnalyticsConfiguration = v
 31856  	return s
 31857  }
 31858  
 31859  // SetCallbackURLs sets the CallbackURLs field's value.
 31860  func (s *UserPoolClientType) SetCallbackURLs(v []*string) *UserPoolClientType {
 31861  	s.CallbackURLs = v
 31862  	return s
 31863  }
 31864  
 31865  // SetClientId sets the ClientId field's value.
 31866  func (s *UserPoolClientType) SetClientId(v string) *UserPoolClientType {
 31867  	s.ClientId = &v
 31868  	return s
 31869  }
 31870  
 31871  // SetClientName sets the ClientName field's value.
 31872  func (s *UserPoolClientType) SetClientName(v string) *UserPoolClientType {
 31873  	s.ClientName = &v
 31874  	return s
 31875  }
 31876  
 31877  // SetClientSecret sets the ClientSecret field's value.
 31878  func (s *UserPoolClientType) SetClientSecret(v string) *UserPoolClientType {
 31879  	s.ClientSecret = &v
 31880  	return s
 31881  }
 31882  
 31883  // SetCreationDate sets the CreationDate field's value.
 31884  func (s *UserPoolClientType) SetCreationDate(v time.Time) *UserPoolClientType {
 31885  	s.CreationDate = &v
 31886  	return s
 31887  }
 31888  
 31889  // SetDefaultRedirectURI sets the DefaultRedirectURI field's value.
 31890  func (s *UserPoolClientType) SetDefaultRedirectURI(v string) *UserPoolClientType {
 31891  	s.DefaultRedirectURI = &v
 31892  	return s
 31893  }
 31894  
 31895  // SetEnableTokenRevocation sets the EnableTokenRevocation field's value.
 31896  func (s *UserPoolClientType) SetEnableTokenRevocation(v bool) *UserPoolClientType {
 31897  	s.EnableTokenRevocation = &v
 31898  	return s
 31899  }
 31900  
 31901  // SetExplicitAuthFlows sets the ExplicitAuthFlows field's value.
 31902  func (s *UserPoolClientType) SetExplicitAuthFlows(v []*string) *UserPoolClientType {
 31903  	s.ExplicitAuthFlows = v
 31904  	return s
 31905  }
 31906  
 31907  // SetIdTokenValidity sets the IdTokenValidity field's value.
 31908  func (s *UserPoolClientType) SetIdTokenValidity(v int64) *UserPoolClientType {
 31909  	s.IdTokenValidity = &v
 31910  	return s
 31911  }
 31912  
 31913  // SetLastModifiedDate sets the LastModifiedDate field's value.
 31914  func (s *UserPoolClientType) SetLastModifiedDate(v time.Time) *UserPoolClientType {
 31915  	s.LastModifiedDate = &v
 31916  	return s
 31917  }
 31918  
 31919  // SetLogoutURLs sets the LogoutURLs field's value.
 31920  func (s *UserPoolClientType) SetLogoutURLs(v []*string) *UserPoolClientType {
 31921  	s.LogoutURLs = v
 31922  	return s
 31923  }
 31924  
 31925  // SetPreventUserExistenceErrors sets the PreventUserExistenceErrors field's value.
 31926  func (s *UserPoolClientType) SetPreventUserExistenceErrors(v string) *UserPoolClientType {
 31927  	s.PreventUserExistenceErrors = &v
 31928  	return s
 31929  }
 31930  
 31931  // SetReadAttributes sets the ReadAttributes field's value.
 31932  func (s *UserPoolClientType) SetReadAttributes(v []*string) *UserPoolClientType {
 31933  	s.ReadAttributes = v
 31934  	return s
 31935  }
 31936  
 31937  // SetRefreshTokenValidity sets the RefreshTokenValidity field's value.
 31938  func (s *UserPoolClientType) SetRefreshTokenValidity(v int64) *UserPoolClientType {
 31939  	s.RefreshTokenValidity = &v
 31940  	return s
 31941  }
 31942  
 31943  // SetSupportedIdentityProviders sets the SupportedIdentityProviders field's value.
 31944  func (s *UserPoolClientType) SetSupportedIdentityProviders(v []*string) *UserPoolClientType {
 31945  	s.SupportedIdentityProviders = v
 31946  	return s
 31947  }
 31948  
 31949  // SetTokenValidityUnits sets the TokenValidityUnits field's value.
 31950  func (s *UserPoolClientType) SetTokenValidityUnits(v *TokenValidityUnitsType) *UserPoolClientType {
 31951  	s.TokenValidityUnits = v
 31952  	return s
 31953  }
 31954  
 31955  // SetUserPoolId sets the UserPoolId field's value.
 31956  func (s *UserPoolClientType) SetUserPoolId(v string) *UserPoolClientType {
 31957  	s.UserPoolId = &v
 31958  	return s
 31959  }
 31960  
 31961  // SetWriteAttributes sets the WriteAttributes field's value.
 31962  func (s *UserPoolClientType) SetWriteAttributes(v []*string) *UserPoolClientType {
 31963  	s.WriteAttributes = v
 31964  	return s
 31965  }
 31966  
 31967  // A user pool description.
 31968  type UserPoolDescriptionType struct {
 31969  	_ struct{} `type:"structure"`
 31970  
 31971  	// The date the user pool description was created.
 31972  	CreationDate *time.Time `type:"timestamp"`
 31973  
 31974  	// The ID in a user pool description.
 31975  	Id *string `min:"1" type:"string"`
 31976  
 31977  	// The Lambda configuration information in a user pool description.
 31978  	LambdaConfig *LambdaConfigType `type:"structure"`
 31979  
 31980  	// The date the user pool description was last modified.
 31981  	LastModifiedDate *time.Time `type:"timestamp"`
 31982  
 31983  	// The name in a user pool description.
 31984  	Name *string `min:"1" type:"string"`
 31985  
 31986  	// The user pool status in a user pool description.
 31987  	Status *string `type:"string" enum:"StatusType"`
 31988  }
 31989  
 31990  // String returns the string representation.
 31991  //
 31992  // API parameter values that are decorated as "sensitive" in the API will not
 31993  // be included in the string output. The member name will be present, but the
 31994  // value will be replaced with "sensitive".
 31995  func (s UserPoolDescriptionType) String() string {
 31996  	return awsutil.Prettify(s)
 31997  }
 31998  
 31999  // GoString returns the string representation.
 32000  //
 32001  // API parameter values that are decorated as "sensitive" in the API will not
 32002  // be included in the string output. The member name will be present, but the
 32003  // value will be replaced with "sensitive".
 32004  func (s UserPoolDescriptionType) GoString() string {
 32005  	return s.String()
 32006  }
 32007  
 32008  // SetCreationDate sets the CreationDate field's value.
 32009  func (s *UserPoolDescriptionType) SetCreationDate(v time.Time) *UserPoolDescriptionType {
 32010  	s.CreationDate = &v
 32011  	return s
 32012  }
 32013  
 32014  // SetId sets the Id field's value.
 32015  func (s *UserPoolDescriptionType) SetId(v string) *UserPoolDescriptionType {
 32016  	s.Id = &v
 32017  	return s
 32018  }
 32019  
 32020  // SetLambdaConfig sets the LambdaConfig field's value.
 32021  func (s *UserPoolDescriptionType) SetLambdaConfig(v *LambdaConfigType) *UserPoolDescriptionType {
 32022  	s.LambdaConfig = v
 32023  	return s
 32024  }
 32025  
 32026  // SetLastModifiedDate sets the LastModifiedDate field's value.
 32027  func (s *UserPoolDescriptionType) SetLastModifiedDate(v time.Time) *UserPoolDescriptionType {
 32028  	s.LastModifiedDate = &v
 32029  	return s
 32030  }
 32031  
 32032  // SetName sets the Name field's value.
 32033  func (s *UserPoolDescriptionType) SetName(v string) *UserPoolDescriptionType {
 32034  	s.Name = &v
 32035  	return s
 32036  }
 32037  
 32038  // SetStatus sets the Status field's value.
 32039  func (s *UserPoolDescriptionType) SetStatus(v string) *UserPoolDescriptionType {
 32040  	s.Status = &v
 32041  	return s
 32042  }
 32043  
 32044  // The policy associated with a user pool.
 32045  type UserPoolPolicyType struct {
 32046  	_ struct{} `type:"structure"`
 32047  
 32048  	// The password policy.
 32049  	PasswordPolicy *PasswordPolicyType `type:"structure"`
 32050  }
 32051  
 32052  // String returns the string representation.
 32053  //
 32054  // API parameter values that are decorated as "sensitive" in the API will not
 32055  // be included in the string output. The member name will be present, but the
 32056  // value will be replaced with "sensitive".
 32057  func (s UserPoolPolicyType) String() string {
 32058  	return awsutil.Prettify(s)
 32059  }
 32060  
 32061  // GoString returns the string representation.
 32062  //
 32063  // API parameter values that are decorated as "sensitive" in the API will not
 32064  // be included in the string output. The member name will be present, but the
 32065  // value will be replaced with "sensitive".
 32066  func (s UserPoolPolicyType) GoString() string {
 32067  	return s.String()
 32068  }
 32069  
 32070  // Validate inspects the fields of the type to determine if they are valid.
 32071  func (s *UserPoolPolicyType) Validate() error {
 32072  	invalidParams := request.ErrInvalidParams{Context: "UserPoolPolicyType"}
 32073  	if s.PasswordPolicy != nil {
 32074  		if err := s.PasswordPolicy.Validate(); err != nil {
 32075  			invalidParams.AddNested("PasswordPolicy", err.(request.ErrInvalidParams))
 32076  		}
 32077  	}
 32078  
 32079  	if invalidParams.Len() > 0 {
 32080  		return invalidParams
 32081  	}
 32082  	return nil
 32083  }
 32084  
 32085  // SetPasswordPolicy sets the PasswordPolicy field's value.
 32086  func (s *UserPoolPolicyType) SetPasswordPolicy(v *PasswordPolicyType) *UserPoolPolicyType {
 32087  	s.PasswordPolicy = v
 32088  	return s
 32089  }
 32090  
 32091  // This exception is thrown when a user pool tag cannot be set or updated.
 32092  type UserPoolTaggingException struct {
 32093  	_            struct{}                  `type:"structure"`
 32094  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 32095  
 32096  	Message_ *string `locationName:"message" type:"string"`
 32097  }
 32098  
 32099  // String returns the string representation.
 32100  //
 32101  // API parameter values that are decorated as "sensitive" in the API will not
 32102  // be included in the string output. The member name will be present, but the
 32103  // value will be replaced with "sensitive".
 32104  func (s UserPoolTaggingException) String() string {
 32105  	return awsutil.Prettify(s)
 32106  }
 32107  
 32108  // GoString returns the string representation.
 32109  //
 32110  // API parameter values that are decorated as "sensitive" in the API will not
 32111  // be included in the string output. The member name will be present, but the
 32112  // value will be replaced with "sensitive".
 32113  func (s UserPoolTaggingException) GoString() string {
 32114  	return s.String()
 32115  }
 32116  
 32117  func newErrorUserPoolTaggingException(v protocol.ResponseMetadata) error {
 32118  	return &UserPoolTaggingException{
 32119  		RespMetadata: v,
 32120  	}
 32121  }
 32122  
 32123  // Code returns the exception type name.
 32124  func (s *UserPoolTaggingException) Code() string {
 32125  	return "UserPoolTaggingException"
 32126  }
 32127  
 32128  // Message returns the exception's message.
 32129  func (s *UserPoolTaggingException) Message() string {
 32130  	if s.Message_ != nil {
 32131  		return *s.Message_
 32132  	}
 32133  	return ""
 32134  }
 32135  
 32136  // OrigErr always returns nil, satisfies awserr.Error interface.
 32137  func (s *UserPoolTaggingException) OrigErr() error {
 32138  	return nil
 32139  }
 32140  
 32141  func (s *UserPoolTaggingException) Error() string {
 32142  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 32143  }
 32144  
 32145  // Status code returns the HTTP status code for the request's response error.
 32146  func (s *UserPoolTaggingException) StatusCode() int {
 32147  	return s.RespMetadata.StatusCode
 32148  }
 32149  
 32150  // RequestID returns the service's response RequestID for request.
 32151  func (s *UserPoolTaggingException) RequestID() string {
 32152  	return s.RespMetadata.RequestID
 32153  }
 32154  
 32155  // A container for information about the user pool.
 32156  type UserPoolType struct {
 32157  	_ struct{} `type:"structure"`
 32158  
 32159  	// Use this setting to define which verified available method a user can use
 32160  	// to recover their password when they call ForgotPassword. It allows you to
 32161  	// define a preferred method when a user has more than one method available.
 32162  	// With this setting, SMS does not qualify for a valid password recovery mechanism
 32163  	// if the user also has SMS MFA enabled. In the absence of this setting, Cognito
 32164  	// uses the legacy behavior to determine the recovery method where SMS is preferred
 32165  	// over email.
 32166  	AccountRecoverySetting *AccountRecoverySettingType `type:"structure"`
 32167  
 32168  	// The configuration for AdminCreateUser requests.
 32169  	AdminCreateUserConfig *AdminCreateUserConfigType `type:"structure"`
 32170  
 32171  	// Specifies the attributes that are aliased in a user pool.
 32172  	AliasAttributes []*string `type:"list"`
 32173  
 32174  	// The Amazon Resource Name (ARN) for the user pool.
 32175  	Arn *string `min:"20" type:"string"`
 32176  
 32177  	// Specifies the attributes that are auto-verified in a user pool.
 32178  	AutoVerifiedAttributes []*string `type:"list"`
 32179  
 32180  	// The date the user pool was created.
 32181  	CreationDate *time.Time `type:"timestamp"`
 32182  
 32183  	// A custom domain name that you provide to Amazon Cognito. This parameter applies
 32184  	// only if you use a custom domain to host the sign-up and sign-in pages for
 32185  	// your application. For example: auth.example.com.
 32186  	//
 32187  	// For more information about adding a custom domain to your user pool, see
 32188  	// Using Your Own Domain for the Hosted UI (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html).
 32189  	CustomDomain *string `min:"1" type:"string"`
 32190  
 32191  	// The device configuration.
 32192  	DeviceConfiguration *DeviceConfigurationType `type:"structure"`
 32193  
 32194  	// Holds the domain prefix if the user pool has a domain associated with it.
 32195  	Domain *string `min:"1" type:"string"`
 32196  
 32197  	// The email configuration.
 32198  	EmailConfiguration *EmailConfigurationType `type:"structure"`
 32199  
 32200  	// The reason why the email configuration cannot send the messages to your users.
 32201  	EmailConfigurationFailure *string `type:"string"`
 32202  
 32203  	// The contents of the email verification message.
 32204  	EmailVerificationMessage *string `min:"6" type:"string"`
 32205  
 32206  	// The subject of the email verification message.
 32207  	EmailVerificationSubject *string `min:"1" type:"string"`
 32208  
 32209  	// A number estimating the size of the user pool.
 32210  	EstimatedNumberOfUsers *int64 `type:"integer"`
 32211  
 32212  	// The ID of the user pool.
 32213  	Id *string `min:"1" type:"string"`
 32214  
 32215  	// The Lambda triggers associated with the user pool.
 32216  	LambdaConfig *LambdaConfigType `type:"structure"`
 32217  
 32218  	// The date the user pool was last modified.
 32219  	LastModifiedDate *time.Time `type:"timestamp"`
 32220  
 32221  	// Can be one of the following values:
 32222  	//
 32223  	//    * OFF - MFA tokens are not required and cannot be specified during user
 32224  	//    registration.
 32225  	//
 32226  	//    * ON - MFA tokens are required for all user registrations. You can only
 32227  	//    specify required when you are initially creating a user pool.
 32228  	//
 32229  	//    * OPTIONAL - Users have the option when registering to create an MFA token.
 32230  	MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"`
 32231  
 32232  	// The name of the user pool.
 32233  	Name *string `min:"1" type:"string"`
 32234  
 32235  	// The policies associated with the user pool.
 32236  	Policies *UserPoolPolicyType `type:"structure"`
 32237  
 32238  	// A container with the schema attributes of a user pool.
 32239  	SchemaAttributes []*SchemaAttributeType `min:"1" type:"list"`
 32240  
 32241  	// The contents of the SMS authentication message.
 32242  	SmsAuthenticationMessage *string `min:"6" type:"string"`
 32243  
 32244  	// The SMS configuration.
 32245  	SmsConfiguration *SmsConfigurationType `type:"structure"`
 32246  
 32247  	// The reason why the SMS configuration cannot send the messages to your users.
 32248  	//
 32249  	// This message might include comma-separated values to describe why your SMS
 32250  	// configuration can't send messages to user pool end users.
 32251  	//
 32252  	//    * InvalidSmsRoleAccessPolicyException - The IAM role which Cognito uses
 32253  	//    to send SMS messages is not properly configured. For more information,
 32254  	//    see SmsConfigurationType (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SmsConfigurationType.html).
 32255  	//
 32256  	//    * SNSSandbox - The account is in SNS Sandbox and messages won’t reach
 32257  	//    unverified end users. This parameter won’t get populated with SNSSandbox
 32258  	//    if the IAM user creating the user pool doesn’t have SNS permissions.
 32259  	//    To learn how to move your account out of the sandbox, see Moving out of
 32260  	//    the SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox-moving-to-production.html).
 32261  	SmsConfigurationFailure *string `type:"string"`
 32262  
 32263  	// The contents of the SMS verification message.
 32264  	SmsVerificationMessage *string `min:"6" type:"string"`
 32265  
 32266  	// The status of a user pool.
 32267  	Status *string `type:"string" enum:"StatusType"`
 32268  
 32269  	// The user pool add-ons.
 32270  	UserPoolAddOns *UserPoolAddOnsType `type:"structure"`
 32271  
 32272  	// The tags that are assigned to the user pool. A tag is a label that you can
 32273  	// apply to user pools to categorize and manage them in different ways, such
 32274  	// as by purpose, owner, environment, or other criteria.
 32275  	UserPoolTags map[string]*string `type:"map"`
 32276  
 32277  	// Specifies whether email addresses or phone numbers can be specified as usernames
 32278  	// when a user signs up.
 32279  	UsernameAttributes []*string `type:"list"`
 32280  
 32281  	// You can choose to enable case sensitivity on the username input for the selected
 32282  	// sign-in option. For example, when this is set to False, users will be able
 32283  	// to sign in using either "username" or "Username". This configuration is immutable
 32284  	// once it has been set. For more information, see UsernameConfigurationType
 32285  	// (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html).
 32286  	UsernameConfiguration *UsernameConfigurationType `type:"structure"`
 32287  
 32288  	// The template for verification messages.
 32289  	VerificationMessageTemplate *VerificationMessageTemplateType `type:"structure"`
 32290  }
 32291  
 32292  // String returns the string representation.
 32293  //
 32294  // API parameter values that are decorated as "sensitive" in the API will not
 32295  // be included in the string output. The member name will be present, but the
 32296  // value will be replaced with "sensitive".
 32297  func (s UserPoolType) String() string {
 32298  	return awsutil.Prettify(s)
 32299  }
 32300  
 32301  // GoString returns the string representation.
 32302  //
 32303  // API parameter values that are decorated as "sensitive" in the API will not
 32304  // be included in the string output. The member name will be present, but the
 32305  // value will be replaced with "sensitive".
 32306  func (s UserPoolType) GoString() string {
 32307  	return s.String()
 32308  }
 32309  
 32310  // SetAccountRecoverySetting sets the AccountRecoverySetting field's value.
 32311  func (s *UserPoolType) SetAccountRecoverySetting(v *AccountRecoverySettingType) *UserPoolType {
 32312  	s.AccountRecoverySetting = v
 32313  	return s
 32314  }
 32315  
 32316  // SetAdminCreateUserConfig sets the AdminCreateUserConfig field's value.
 32317  func (s *UserPoolType) SetAdminCreateUserConfig(v *AdminCreateUserConfigType) *UserPoolType {
 32318  	s.AdminCreateUserConfig = v
 32319  	return s
 32320  }
 32321  
 32322  // SetAliasAttributes sets the AliasAttributes field's value.
 32323  func (s *UserPoolType) SetAliasAttributes(v []*string) *UserPoolType {
 32324  	s.AliasAttributes = v
 32325  	return s
 32326  }
 32327  
 32328  // SetArn sets the Arn field's value.
 32329  func (s *UserPoolType) SetArn(v string) *UserPoolType {
 32330  	s.Arn = &v
 32331  	return s
 32332  }
 32333  
 32334  // SetAutoVerifiedAttributes sets the AutoVerifiedAttributes field's value.
 32335  func (s *UserPoolType) SetAutoVerifiedAttributes(v []*string) *UserPoolType {
 32336  	s.AutoVerifiedAttributes = v
 32337  	return s
 32338  }
 32339  
 32340  // SetCreationDate sets the CreationDate field's value.
 32341  func (s *UserPoolType) SetCreationDate(v time.Time) *UserPoolType {
 32342  	s.CreationDate = &v
 32343  	return s
 32344  }
 32345  
 32346  // SetCustomDomain sets the CustomDomain field's value.
 32347  func (s *UserPoolType) SetCustomDomain(v string) *UserPoolType {
 32348  	s.CustomDomain = &v
 32349  	return s
 32350  }
 32351  
 32352  // SetDeviceConfiguration sets the DeviceConfiguration field's value.
 32353  func (s *UserPoolType) SetDeviceConfiguration(v *DeviceConfigurationType) *UserPoolType {
 32354  	s.DeviceConfiguration = v
 32355  	return s
 32356  }
 32357  
 32358  // SetDomain sets the Domain field's value.
 32359  func (s *UserPoolType) SetDomain(v string) *UserPoolType {
 32360  	s.Domain = &v
 32361  	return s
 32362  }
 32363  
 32364  // SetEmailConfiguration sets the EmailConfiguration field's value.
 32365  func (s *UserPoolType) SetEmailConfiguration(v *EmailConfigurationType) *UserPoolType {
 32366  	s.EmailConfiguration = v
 32367  	return s
 32368  }
 32369  
 32370  // SetEmailConfigurationFailure sets the EmailConfigurationFailure field's value.
 32371  func (s *UserPoolType) SetEmailConfigurationFailure(v string) *UserPoolType {
 32372  	s.EmailConfigurationFailure = &v
 32373  	return s
 32374  }
 32375  
 32376  // SetEmailVerificationMessage sets the EmailVerificationMessage field's value.
 32377  func (s *UserPoolType) SetEmailVerificationMessage(v string) *UserPoolType {
 32378  	s.EmailVerificationMessage = &v
 32379  	return s
 32380  }
 32381  
 32382  // SetEmailVerificationSubject sets the EmailVerificationSubject field's value.
 32383  func (s *UserPoolType) SetEmailVerificationSubject(v string) *UserPoolType {
 32384  	s.EmailVerificationSubject = &v
 32385  	return s
 32386  }
 32387  
 32388  // SetEstimatedNumberOfUsers sets the EstimatedNumberOfUsers field's value.
 32389  func (s *UserPoolType) SetEstimatedNumberOfUsers(v int64) *UserPoolType {
 32390  	s.EstimatedNumberOfUsers = &v
 32391  	return s
 32392  }
 32393  
 32394  // SetId sets the Id field's value.
 32395  func (s *UserPoolType) SetId(v string) *UserPoolType {
 32396  	s.Id = &v
 32397  	return s
 32398  }
 32399  
 32400  // SetLambdaConfig sets the LambdaConfig field's value.
 32401  func (s *UserPoolType) SetLambdaConfig(v *LambdaConfigType) *UserPoolType {
 32402  	s.LambdaConfig = v
 32403  	return s
 32404  }
 32405  
 32406  // SetLastModifiedDate sets the LastModifiedDate field's value.
 32407  func (s *UserPoolType) SetLastModifiedDate(v time.Time) *UserPoolType {
 32408  	s.LastModifiedDate = &v
 32409  	return s
 32410  }
 32411  
 32412  // SetMfaConfiguration sets the MfaConfiguration field's value.
 32413  func (s *UserPoolType) SetMfaConfiguration(v string) *UserPoolType {
 32414  	s.MfaConfiguration = &v
 32415  	return s
 32416  }
 32417  
 32418  // SetName sets the Name field's value.
 32419  func (s *UserPoolType) SetName(v string) *UserPoolType {
 32420  	s.Name = &v
 32421  	return s
 32422  }
 32423  
 32424  // SetPolicies sets the Policies field's value.
 32425  func (s *UserPoolType) SetPolicies(v *UserPoolPolicyType) *UserPoolType {
 32426  	s.Policies = v
 32427  	return s
 32428  }
 32429  
 32430  // SetSchemaAttributes sets the SchemaAttributes field's value.
 32431  func (s *UserPoolType) SetSchemaAttributes(v []*SchemaAttributeType) *UserPoolType {
 32432  	s.SchemaAttributes = v
 32433  	return s
 32434  }
 32435  
 32436  // SetSmsAuthenticationMessage sets the SmsAuthenticationMessage field's value.
 32437  func (s *UserPoolType) SetSmsAuthenticationMessage(v string) *UserPoolType {
 32438  	s.SmsAuthenticationMessage = &v
 32439  	return s
 32440  }
 32441  
 32442  // SetSmsConfiguration sets the SmsConfiguration field's value.
 32443  func (s *UserPoolType) SetSmsConfiguration(v *SmsConfigurationType) *UserPoolType {
 32444  	s.SmsConfiguration = v
 32445  	return s
 32446  }
 32447  
 32448  // SetSmsConfigurationFailure sets the SmsConfigurationFailure field's value.
 32449  func (s *UserPoolType) SetSmsConfigurationFailure(v string) *UserPoolType {
 32450  	s.SmsConfigurationFailure = &v
 32451  	return s
 32452  }
 32453  
 32454  // SetSmsVerificationMessage sets the SmsVerificationMessage field's value.
 32455  func (s *UserPoolType) SetSmsVerificationMessage(v string) *UserPoolType {
 32456  	s.SmsVerificationMessage = &v
 32457  	return s
 32458  }
 32459  
 32460  // SetStatus sets the Status field's value.
 32461  func (s *UserPoolType) SetStatus(v string) *UserPoolType {
 32462  	s.Status = &v
 32463  	return s
 32464  }
 32465  
 32466  // SetUserPoolAddOns sets the UserPoolAddOns field's value.
 32467  func (s *UserPoolType) SetUserPoolAddOns(v *UserPoolAddOnsType) *UserPoolType {
 32468  	s.UserPoolAddOns = v
 32469  	return s
 32470  }
 32471  
 32472  // SetUserPoolTags sets the UserPoolTags field's value.
 32473  func (s *UserPoolType) SetUserPoolTags(v map[string]*string) *UserPoolType {
 32474  	s.UserPoolTags = v
 32475  	return s
 32476  }
 32477  
 32478  // SetUsernameAttributes sets the UsernameAttributes field's value.
 32479  func (s *UserPoolType) SetUsernameAttributes(v []*string) *UserPoolType {
 32480  	s.UsernameAttributes = v
 32481  	return s
 32482  }
 32483  
 32484  // SetUsernameConfiguration sets the UsernameConfiguration field's value.
 32485  func (s *UserPoolType) SetUsernameConfiguration(v *UsernameConfigurationType) *UserPoolType {
 32486  	s.UsernameConfiguration = v
 32487  	return s
 32488  }
 32489  
 32490  // SetVerificationMessageTemplate sets the VerificationMessageTemplate field's value.
 32491  func (s *UserPoolType) SetVerificationMessageTemplate(v *VerificationMessageTemplateType) *UserPoolType {
 32492  	s.VerificationMessageTemplate = v
 32493  	return s
 32494  }
 32495  
 32496  // The user type.
 32497  type UserType struct {
 32498  	_ struct{} `type:"structure"`
 32499  
 32500  	// A container with information about the user type attributes.
 32501  	Attributes []*AttributeType `type:"list"`
 32502  
 32503  	// Specifies whether the user is enabled.
 32504  	Enabled *bool `type:"boolean"`
 32505  
 32506  	// The MFA options for the user.
 32507  	MFAOptions []*MFAOptionType `type:"list"`
 32508  
 32509  	// The creation date of the user.
 32510  	UserCreateDate *time.Time `type:"timestamp"`
 32511  
 32512  	// The last modified date of the user.
 32513  	UserLastModifiedDate *time.Time `type:"timestamp"`
 32514  
 32515  	// The user status. Can be one of the following:
 32516  	//
 32517  	//    * UNCONFIRMED - User has been created but not confirmed.
 32518  	//
 32519  	//    * CONFIRMED - User has been confirmed.
 32520  	//
 32521  	//    * ARCHIVED - User is no longer active.
 32522  	//
 32523  	//    * COMPROMISED - User is disabled due to a potential security threat.
 32524  	//
 32525  	//    * UNKNOWN - User status is not known.
 32526  	//
 32527  	//    * RESET_REQUIRED - User is confirmed, but the user must request a code
 32528  	//    and reset his or her password before he or she can sign in.
 32529  	//
 32530  	//    * FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign
 32531  	//    in using a temporary password, but on first sign-in, the user must change
 32532  	//    his or her password to a new value before doing anything else.
 32533  	UserStatus *string `type:"string" enum:"UserStatusType"`
 32534  
 32535  	// The user name of the user you wish to describe.
 32536  	//
 32537  	// Username is a sensitive parameter and its value will be
 32538  	// replaced with "sensitive" in string returned by UserType's
 32539  	// String and GoString methods.
 32540  	Username *string `min:"1" type:"string" sensitive:"true"`
 32541  }
 32542  
 32543  // String returns the string representation.
 32544  //
 32545  // API parameter values that are decorated as "sensitive" in the API will not
 32546  // be included in the string output. The member name will be present, but the
 32547  // value will be replaced with "sensitive".
 32548  func (s UserType) String() string {
 32549  	return awsutil.Prettify(s)
 32550  }
 32551  
 32552  // GoString returns the string representation.
 32553  //
 32554  // API parameter values that are decorated as "sensitive" in the API will not
 32555  // be included in the string output. The member name will be present, but the
 32556  // value will be replaced with "sensitive".
 32557  func (s UserType) GoString() string {
 32558  	return s.String()
 32559  }
 32560  
 32561  // SetAttributes sets the Attributes field's value.
 32562  func (s *UserType) SetAttributes(v []*AttributeType) *UserType {
 32563  	s.Attributes = v
 32564  	return s
 32565  }
 32566  
 32567  // SetEnabled sets the Enabled field's value.
 32568  func (s *UserType) SetEnabled(v bool) *UserType {
 32569  	s.Enabled = &v
 32570  	return s
 32571  }
 32572  
 32573  // SetMFAOptions sets the MFAOptions field's value.
 32574  func (s *UserType) SetMFAOptions(v []*MFAOptionType) *UserType {
 32575  	s.MFAOptions = v
 32576  	return s
 32577  }
 32578  
 32579  // SetUserCreateDate sets the UserCreateDate field's value.
 32580  func (s *UserType) SetUserCreateDate(v time.Time) *UserType {
 32581  	s.UserCreateDate = &v
 32582  	return s
 32583  }
 32584  
 32585  // SetUserLastModifiedDate sets the UserLastModifiedDate field's value.
 32586  func (s *UserType) SetUserLastModifiedDate(v time.Time) *UserType {
 32587  	s.UserLastModifiedDate = &v
 32588  	return s
 32589  }
 32590  
 32591  // SetUserStatus sets the UserStatus field's value.
 32592  func (s *UserType) SetUserStatus(v string) *UserType {
 32593  	s.UserStatus = &v
 32594  	return s
 32595  }
 32596  
 32597  // SetUsername sets the Username field's value.
 32598  func (s *UserType) SetUsername(v string) *UserType {
 32599  	s.Username = &v
 32600  	return s
 32601  }
 32602  
 32603  // The username configuration type.
 32604  type UsernameConfigurationType struct {
 32605  	_ struct{} `type:"structure"`
 32606  
 32607  	// Specifies whether username case sensitivity will be applied for all users
 32608  	// in the user pool through Cognito APIs.
 32609  	//
 32610  	// Valid values include:
 32611  	//
 32612  	//    * True : Enables case sensitivity for all username input. When this option
 32613  	//    is set to True, users must sign in using the exact capitalization of their
 32614  	//    given username. For example, “UserName”. This is the default value.
 32615  	//
 32616  	//    * False : Enables case insensitivity for all username input. For example,
 32617  	//    when this option is set to False, users will be able to sign in using
 32618  	//    either "username" or "Username". This option also enables both preferred_username
 32619  	//    and email alias to be case insensitive, in addition to the username attribute.
 32620  	//
 32621  	// CaseSensitive is a required field
 32622  	CaseSensitive *bool `type:"boolean" required:"true"`
 32623  }
 32624  
 32625  // String returns the string representation.
 32626  //
 32627  // API parameter values that are decorated as "sensitive" in the API will not
 32628  // be included in the string output. The member name will be present, but the
 32629  // value will be replaced with "sensitive".
 32630  func (s UsernameConfigurationType) String() string {
 32631  	return awsutil.Prettify(s)
 32632  }
 32633  
 32634  // GoString returns the string representation.
 32635  //
 32636  // API parameter values that are decorated as "sensitive" in the API will not
 32637  // be included in the string output. The member name will be present, but the
 32638  // value will be replaced with "sensitive".
 32639  func (s UsernameConfigurationType) GoString() string {
 32640  	return s.String()
 32641  }
 32642  
 32643  // Validate inspects the fields of the type to determine if they are valid.
 32644  func (s *UsernameConfigurationType) Validate() error {
 32645  	invalidParams := request.ErrInvalidParams{Context: "UsernameConfigurationType"}
 32646  	if s.CaseSensitive == nil {
 32647  		invalidParams.Add(request.NewErrParamRequired("CaseSensitive"))
 32648  	}
 32649  
 32650  	if invalidParams.Len() > 0 {
 32651  		return invalidParams
 32652  	}
 32653  	return nil
 32654  }
 32655  
 32656  // SetCaseSensitive sets the CaseSensitive field's value.
 32657  func (s *UsernameConfigurationType) SetCaseSensitive(v bool) *UsernameConfigurationType {
 32658  	s.CaseSensitive = &v
 32659  	return s
 32660  }
 32661  
 32662  // This exception is thrown when Amazon Cognito encounters a user name that
 32663  // already exists in the user pool.
 32664  type UsernameExistsException struct {
 32665  	_            struct{}                  `type:"structure"`
 32666  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 32667  
 32668  	// The message returned when Amazon Cognito throws a user name exists exception.
 32669  	Message_ *string `locationName:"message" type:"string"`
 32670  }
 32671  
 32672  // String returns the string representation.
 32673  //
 32674  // API parameter values that are decorated as "sensitive" in the API will not
 32675  // be included in the string output. The member name will be present, but the
 32676  // value will be replaced with "sensitive".
 32677  func (s UsernameExistsException) String() string {
 32678  	return awsutil.Prettify(s)
 32679  }
 32680  
 32681  // GoString returns the string representation.
 32682  //
 32683  // API parameter values that are decorated as "sensitive" in the API will not
 32684  // be included in the string output. The member name will be present, but the
 32685  // value will be replaced with "sensitive".
 32686  func (s UsernameExistsException) GoString() string {
 32687  	return s.String()
 32688  }
 32689  
 32690  func newErrorUsernameExistsException(v protocol.ResponseMetadata) error {
 32691  	return &UsernameExistsException{
 32692  		RespMetadata: v,
 32693  	}
 32694  }
 32695  
 32696  // Code returns the exception type name.
 32697  func (s *UsernameExistsException) Code() string {
 32698  	return "UsernameExistsException"
 32699  }
 32700  
 32701  // Message returns the exception's message.
 32702  func (s *UsernameExistsException) Message() string {
 32703  	if s.Message_ != nil {
 32704  		return *s.Message_
 32705  	}
 32706  	return ""
 32707  }
 32708  
 32709  // OrigErr always returns nil, satisfies awserr.Error interface.
 32710  func (s *UsernameExistsException) OrigErr() error {
 32711  	return nil
 32712  }
 32713  
 32714  func (s *UsernameExistsException) Error() string {
 32715  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 32716  }
 32717  
 32718  // Status code returns the HTTP status code for the request's response error.
 32719  func (s *UsernameExistsException) StatusCode() int {
 32720  	return s.RespMetadata.StatusCode
 32721  }
 32722  
 32723  // RequestID returns the service's response RequestID for request.
 32724  func (s *UsernameExistsException) RequestID() string {
 32725  	return s.RespMetadata.RequestID
 32726  }
 32727  
 32728  // The template for verification messages.
 32729  type VerificationMessageTemplateType struct {
 32730  	_ struct{} `type:"structure"`
 32731  
 32732  	// The default email option.
 32733  	DefaultEmailOption *string `type:"string" enum:"DefaultEmailOptionType"`
 32734  
 32735  	// The email message template. EmailMessage is allowed only if EmailSendingAccount
 32736  	// (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 32737  	// is DEVELOPER.
 32738  	EmailMessage *string `min:"6" type:"string"`
 32739  
 32740  	// The email message template for sending a confirmation link to the user. EmailMessageByLink
 32741  	// is allowed only if EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 32742  	// is DEVELOPER.
 32743  	EmailMessageByLink *string `min:"6" type:"string"`
 32744  
 32745  	// The subject line for the email message template. EmailSubject is allowed
 32746  	// only if EmailSendingAccount (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 32747  	// is DEVELOPER.
 32748  	EmailSubject *string `min:"1" type:"string"`
 32749  
 32750  	// The subject line for the email message template for sending a confirmation
 32751  	// link to the user. EmailSubjectByLink is allowed only EmailSendingAccount
 32752  	// (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount)
 32753  	// is DEVELOPER.
 32754  	EmailSubjectByLink *string `min:"1" type:"string"`
 32755  
 32756  	// The SMS message template.
 32757  	SmsMessage *string `min:"6" type:"string"`
 32758  }
 32759  
 32760  // String returns the string representation.
 32761  //
 32762  // API parameter values that are decorated as "sensitive" in the API will not
 32763  // be included in the string output. The member name will be present, but the
 32764  // value will be replaced with "sensitive".
 32765  func (s VerificationMessageTemplateType) String() string {
 32766  	return awsutil.Prettify(s)
 32767  }
 32768  
 32769  // GoString returns the string representation.
 32770  //
 32771  // API parameter values that are decorated as "sensitive" in the API will not
 32772  // be included in the string output. The member name will be present, but the
 32773  // value will be replaced with "sensitive".
 32774  func (s VerificationMessageTemplateType) GoString() string {
 32775  	return s.String()
 32776  }
 32777  
 32778  // Validate inspects the fields of the type to determine if they are valid.
 32779  func (s *VerificationMessageTemplateType) Validate() error {
 32780  	invalidParams := request.ErrInvalidParams{Context: "VerificationMessageTemplateType"}
 32781  	if s.EmailMessage != nil && len(*s.EmailMessage) < 6 {
 32782  		invalidParams.Add(request.NewErrParamMinLen("EmailMessage", 6))
 32783  	}
 32784  	if s.EmailMessageByLink != nil && len(*s.EmailMessageByLink) < 6 {
 32785  		invalidParams.Add(request.NewErrParamMinLen("EmailMessageByLink", 6))
 32786  	}
 32787  	if s.EmailSubject != nil && len(*s.EmailSubject) < 1 {
 32788  		invalidParams.Add(request.NewErrParamMinLen("EmailSubject", 1))
 32789  	}
 32790  	if s.EmailSubjectByLink != nil && len(*s.EmailSubjectByLink) < 1 {
 32791  		invalidParams.Add(request.NewErrParamMinLen("EmailSubjectByLink", 1))
 32792  	}
 32793  	if s.SmsMessage != nil && len(*s.SmsMessage) < 6 {
 32794  		invalidParams.Add(request.NewErrParamMinLen("SmsMessage", 6))
 32795  	}
 32796  
 32797  	if invalidParams.Len() > 0 {
 32798  		return invalidParams
 32799  	}
 32800  	return nil
 32801  }
 32802  
 32803  // SetDefaultEmailOption sets the DefaultEmailOption field's value.
 32804  func (s *VerificationMessageTemplateType) SetDefaultEmailOption(v string) *VerificationMessageTemplateType {
 32805  	s.DefaultEmailOption = &v
 32806  	return s
 32807  }
 32808  
 32809  // SetEmailMessage sets the EmailMessage field's value.
 32810  func (s *VerificationMessageTemplateType) SetEmailMessage(v string) *VerificationMessageTemplateType {
 32811  	s.EmailMessage = &v
 32812  	return s
 32813  }
 32814  
 32815  // SetEmailMessageByLink sets the EmailMessageByLink field's value.
 32816  func (s *VerificationMessageTemplateType) SetEmailMessageByLink(v string) *VerificationMessageTemplateType {
 32817  	s.EmailMessageByLink = &v
 32818  	return s
 32819  }
 32820  
 32821  // SetEmailSubject sets the EmailSubject field's value.
 32822  func (s *VerificationMessageTemplateType) SetEmailSubject(v string) *VerificationMessageTemplateType {
 32823  	s.EmailSubject = &v
 32824  	return s
 32825  }
 32826  
 32827  // SetEmailSubjectByLink sets the EmailSubjectByLink field's value.
 32828  func (s *VerificationMessageTemplateType) SetEmailSubjectByLink(v string) *VerificationMessageTemplateType {
 32829  	s.EmailSubjectByLink = &v
 32830  	return s
 32831  }
 32832  
 32833  // SetSmsMessage sets the SmsMessage field's value.
 32834  func (s *VerificationMessageTemplateType) SetSmsMessage(v string) *VerificationMessageTemplateType {
 32835  	s.SmsMessage = &v
 32836  	return s
 32837  }
 32838  
 32839  type VerifySoftwareTokenInput struct {
 32840  	_ struct{} `type:"structure"`
 32841  
 32842  	// The access token.
 32843  	//
 32844  	// AccessToken is a sensitive parameter and its value will be
 32845  	// replaced with "sensitive" in string returned by VerifySoftwareTokenInput's
 32846  	// String and GoString methods.
 32847  	AccessToken *string `type:"string" sensitive:"true"`
 32848  
 32849  	// The friendly device name.
 32850  	FriendlyDeviceName *string `type:"string"`
 32851  
 32852  	// The session which should be passed both ways in challenge-response calls
 32853  	// to the service.
 32854  	Session *string `min:"20" type:"string"`
 32855  
 32856  	// The one time password computed using the secret code returned by AssociateSoftwareToken"
 32857  	// (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html).
 32858  	//
 32859  	// UserCode is a required field
 32860  	UserCode *string `min:"6" type:"string" required:"true"`
 32861  }
 32862  
 32863  // String returns the string representation.
 32864  //
 32865  // API parameter values that are decorated as "sensitive" in the API will not
 32866  // be included in the string output. The member name will be present, but the
 32867  // value will be replaced with "sensitive".
 32868  func (s VerifySoftwareTokenInput) String() string {
 32869  	return awsutil.Prettify(s)
 32870  }
 32871  
 32872  // GoString returns the string representation.
 32873  //
 32874  // API parameter values that are decorated as "sensitive" in the API will not
 32875  // be included in the string output. The member name will be present, but the
 32876  // value will be replaced with "sensitive".
 32877  func (s VerifySoftwareTokenInput) GoString() string {
 32878  	return s.String()
 32879  }
 32880  
 32881  // Validate inspects the fields of the type to determine if they are valid.
 32882  func (s *VerifySoftwareTokenInput) Validate() error {
 32883  	invalidParams := request.ErrInvalidParams{Context: "VerifySoftwareTokenInput"}
 32884  	if s.Session != nil && len(*s.Session) < 20 {
 32885  		invalidParams.Add(request.NewErrParamMinLen("Session", 20))
 32886  	}
 32887  	if s.UserCode == nil {
 32888  		invalidParams.Add(request.NewErrParamRequired("UserCode"))
 32889  	}
 32890  	if s.UserCode != nil && len(*s.UserCode) < 6 {
 32891  		invalidParams.Add(request.NewErrParamMinLen("UserCode", 6))
 32892  	}
 32893  
 32894  	if invalidParams.Len() > 0 {
 32895  		return invalidParams
 32896  	}
 32897  	return nil
 32898  }
 32899  
 32900  // SetAccessToken sets the AccessToken field's value.
 32901  func (s *VerifySoftwareTokenInput) SetAccessToken(v string) *VerifySoftwareTokenInput {
 32902  	s.AccessToken = &v
 32903  	return s
 32904  }
 32905  
 32906  // SetFriendlyDeviceName sets the FriendlyDeviceName field's value.
 32907  func (s *VerifySoftwareTokenInput) SetFriendlyDeviceName(v string) *VerifySoftwareTokenInput {
 32908  	s.FriendlyDeviceName = &v
 32909  	return s
 32910  }
 32911  
 32912  // SetSession sets the Session field's value.
 32913  func (s *VerifySoftwareTokenInput) SetSession(v string) *VerifySoftwareTokenInput {
 32914  	s.Session = &v
 32915  	return s
 32916  }
 32917  
 32918  // SetUserCode sets the UserCode field's value.
 32919  func (s *VerifySoftwareTokenInput) SetUserCode(v string) *VerifySoftwareTokenInput {
 32920  	s.UserCode = &v
 32921  	return s
 32922  }
 32923  
 32924  type VerifySoftwareTokenOutput struct {
 32925  	_ struct{} `type:"structure"`
 32926  
 32927  	// The session which should be passed both ways in challenge-response calls
 32928  	// to the service.
 32929  	Session *string `min:"20" type:"string"`
 32930  
 32931  	// The status of the verify software token.
 32932  	Status *string `type:"string" enum:"VerifySoftwareTokenResponseType"`
 32933  }
 32934  
 32935  // String returns the string representation.
 32936  //
 32937  // API parameter values that are decorated as "sensitive" in the API will not
 32938  // be included in the string output. The member name will be present, but the
 32939  // value will be replaced with "sensitive".
 32940  func (s VerifySoftwareTokenOutput) String() string {
 32941  	return awsutil.Prettify(s)
 32942  }
 32943  
 32944  // GoString returns the string representation.
 32945  //
 32946  // API parameter values that are decorated as "sensitive" in the API will not
 32947  // be included in the string output. The member name will be present, but the
 32948  // value will be replaced with "sensitive".
 32949  func (s VerifySoftwareTokenOutput) GoString() string {
 32950  	return s.String()
 32951  }
 32952  
 32953  // SetSession sets the Session field's value.
 32954  func (s *VerifySoftwareTokenOutput) SetSession(v string) *VerifySoftwareTokenOutput {
 32955  	s.Session = &v
 32956  	return s
 32957  }
 32958  
 32959  // SetStatus sets the Status field's value.
 32960  func (s *VerifySoftwareTokenOutput) SetStatus(v string) *VerifySoftwareTokenOutput {
 32961  	s.Status = &v
 32962  	return s
 32963  }
 32964  
 32965  // Represents the request to verify user attributes.
 32966  type VerifyUserAttributeInput struct {
 32967  	_ struct{} `type:"structure"`
 32968  
 32969  	// Represents the access token of the request to verify user attributes.
 32970  	//
 32971  	// AccessToken is a sensitive parameter and its value will be
 32972  	// replaced with "sensitive" in string returned by VerifyUserAttributeInput's
 32973  	// String and GoString methods.
 32974  	//
 32975  	// AccessToken is a required field
 32976  	AccessToken *string `type:"string" required:"true" sensitive:"true"`
 32977  
 32978  	// The attribute name in the request to verify user attributes.
 32979  	//
 32980  	// AttributeName is a required field
 32981  	AttributeName *string `min:"1" type:"string" required:"true"`
 32982  
 32983  	// The verification code in the request to verify user attributes.
 32984  	//
 32985  	// Code is a required field
 32986  	Code *string `min:"1" type:"string" required:"true"`
 32987  }
 32988  
 32989  // String returns the string representation.
 32990  //
 32991  // API parameter values that are decorated as "sensitive" in the API will not
 32992  // be included in the string output. The member name will be present, but the
 32993  // value will be replaced with "sensitive".
 32994  func (s VerifyUserAttributeInput) String() string {
 32995  	return awsutil.Prettify(s)
 32996  }
 32997  
 32998  // GoString returns the string representation.
 32999  //
 33000  // API parameter values that are decorated as "sensitive" in the API will not
 33001  // be included in the string output. The member name will be present, but the
 33002  // value will be replaced with "sensitive".
 33003  func (s VerifyUserAttributeInput) GoString() string {
 33004  	return s.String()
 33005  }
 33006  
 33007  // Validate inspects the fields of the type to determine if they are valid.
 33008  func (s *VerifyUserAttributeInput) Validate() error {
 33009  	invalidParams := request.ErrInvalidParams{Context: "VerifyUserAttributeInput"}
 33010  	if s.AccessToken == nil {
 33011  		invalidParams.Add(request.NewErrParamRequired("AccessToken"))
 33012  	}
 33013  	if s.AttributeName == nil {
 33014  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 33015  	}
 33016  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
 33017  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
 33018  	}
 33019  	if s.Code == nil {
 33020  		invalidParams.Add(request.NewErrParamRequired("Code"))
 33021  	}
 33022  	if s.Code != nil && len(*s.Code) < 1 {
 33023  		invalidParams.Add(request.NewErrParamMinLen("Code", 1))
 33024  	}
 33025  
 33026  	if invalidParams.Len() > 0 {
 33027  		return invalidParams
 33028  	}
 33029  	return nil
 33030  }
 33031  
 33032  // SetAccessToken sets the AccessToken field's value.
 33033  func (s *VerifyUserAttributeInput) SetAccessToken(v string) *VerifyUserAttributeInput {
 33034  	s.AccessToken = &v
 33035  	return s
 33036  }
 33037  
 33038  // SetAttributeName sets the AttributeName field's value.
 33039  func (s *VerifyUserAttributeInput) SetAttributeName(v string) *VerifyUserAttributeInput {
 33040  	s.AttributeName = &v
 33041  	return s
 33042  }
 33043  
 33044  // SetCode sets the Code field's value.
 33045  func (s *VerifyUserAttributeInput) SetCode(v string) *VerifyUserAttributeInput {
 33046  	s.Code = &v
 33047  	return s
 33048  }
 33049  
 33050  // A container representing the response from the server from the request to
 33051  // verify user attributes.
 33052  type VerifyUserAttributeOutput struct {
 33053  	_ struct{} `type:"structure"`
 33054  }
 33055  
 33056  // String returns the string representation.
 33057  //
 33058  // API parameter values that are decorated as "sensitive" in the API will not
 33059  // be included in the string output. The member name will be present, but the
 33060  // value will be replaced with "sensitive".
 33061  func (s VerifyUserAttributeOutput) String() string {
 33062  	return awsutil.Prettify(s)
 33063  }
 33064  
 33065  // GoString returns the string representation.
 33066  //
 33067  // API parameter values that are decorated as "sensitive" in the API will not
 33068  // be included in the string output. The member name will be present, but the
 33069  // value will be replaced with "sensitive".
 33070  func (s VerifyUserAttributeOutput) GoString() string {
 33071  	return s.String()
 33072  }
 33073  
 33074  const (
 33075  	// AccountTakeoverEventActionTypeBlock is a AccountTakeoverEventActionType enum value
 33076  	AccountTakeoverEventActionTypeBlock = "BLOCK"
 33077  
 33078  	// AccountTakeoverEventActionTypeMfaIfConfigured is a AccountTakeoverEventActionType enum value
 33079  	AccountTakeoverEventActionTypeMfaIfConfigured = "MFA_IF_CONFIGURED"
 33080  
 33081  	// AccountTakeoverEventActionTypeMfaRequired is a AccountTakeoverEventActionType enum value
 33082  	AccountTakeoverEventActionTypeMfaRequired = "MFA_REQUIRED"
 33083  
 33084  	// AccountTakeoverEventActionTypeNoAction is a AccountTakeoverEventActionType enum value
 33085  	AccountTakeoverEventActionTypeNoAction = "NO_ACTION"
 33086  )
 33087  
 33088  // AccountTakeoverEventActionType_Values returns all elements of the AccountTakeoverEventActionType enum
 33089  func AccountTakeoverEventActionType_Values() []string {
 33090  	return []string{
 33091  		AccountTakeoverEventActionTypeBlock,
 33092  		AccountTakeoverEventActionTypeMfaIfConfigured,
 33093  		AccountTakeoverEventActionTypeMfaRequired,
 33094  		AccountTakeoverEventActionTypeNoAction,
 33095  	}
 33096  }
 33097  
 33098  const (
 33099  	// AdvancedSecurityModeTypeOff is a AdvancedSecurityModeType enum value
 33100  	AdvancedSecurityModeTypeOff = "OFF"
 33101  
 33102  	// AdvancedSecurityModeTypeAudit is a AdvancedSecurityModeType enum value
 33103  	AdvancedSecurityModeTypeAudit = "AUDIT"
 33104  
 33105  	// AdvancedSecurityModeTypeEnforced is a AdvancedSecurityModeType enum value
 33106  	AdvancedSecurityModeTypeEnforced = "ENFORCED"
 33107  )
 33108  
 33109  // AdvancedSecurityModeType_Values returns all elements of the AdvancedSecurityModeType enum
 33110  func AdvancedSecurityModeType_Values() []string {
 33111  	return []string{
 33112  		AdvancedSecurityModeTypeOff,
 33113  		AdvancedSecurityModeTypeAudit,
 33114  		AdvancedSecurityModeTypeEnforced,
 33115  	}
 33116  }
 33117  
 33118  const (
 33119  	// AliasAttributeTypePhoneNumber is a AliasAttributeType enum value
 33120  	AliasAttributeTypePhoneNumber = "phone_number"
 33121  
 33122  	// AliasAttributeTypeEmail is a AliasAttributeType enum value
 33123  	AliasAttributeTypeEmail = "email"
 33124  
 33125  	// AliasAttributeTypePreferredUsername is a AliasAttributeType enum value
 33126  	AliasAttributeTypePreferredUsername = "preferred_username"
 33127  )
 33128  
 33129  // AliasAttributeType_Values returns all elements of the AliasAttributeType enum
 33130  func AliasAttributeType_Values() []string {
 33131  	return []string{
 33132  		AliasAttributeTypePhoneNumber,
 33133  		AliasAttributeTypeEmail,
 33134  		AliasAttributeTypePreferredUsername,
 33135  	}
 33136  }
 33137  
 33138  const (
 33139  	// AttributeDataTypeString is a AttributeDataType enum value
 33140  	AttributeDataTypeString = "String"
 33141  
 33142  	// AttributeDataTypeNumber is a AttributeDataType enum value
 33143  	AttributeDataTypeNumber = "Number"
 33144  
 33145  	// AttributeDataTypeDateTime is a AttributeDataType enum value
 33146  	AttributeDataTypeDateTime = "DateTime"
 33147  
 33148  	// AttributeDataTypeBoolean is a AttributeDataType enum value
 33149  	AttributeDataTypeBoolean = "Boolean"
 33150  )
 33151  
 33152  // AttributeDataType_Values returns all elements of the AttributeDataType enum
 33153  func AttributeDataType_Values() []string {
 33154  	return []string{
 33155  		AttributeDataTypeString,
 33156  		AttributeDataTypeNumber,
 33157  		AttributeDataTypeDateTime,
 33158  		AttributeDataTypeBoolean,
 33159  	}
 33160  }
 33161  
 33162  const (
 33163  	// AuthFlowTypeUserSrpAuth is a AuthFlowType enum value
 33164  	AuthFlowTypeUserSrpAuth = "USER_SRP_AUTH"
 33165  
 33166  	// AuthFlowTypeRefreshTokenAuth is a AuthFlowType enum value
 33167  	AuthFlowTypeRefreshTokenAuth = "REFRESH_TOKEN_AUTH"
 33168  
 33169  	// AuthFlowTypeRefreshToken is a AuthFlowType enum value
 33170  	AuthFlowTypeRefreshToken = "REFRESH_TOKEN"
 33171  
 33172  	// AuthFlowTypeCustomAuth is a AuthFlowType enum value
 33173  	AuthFlowTypeCustomAuth = "CUSTOM_AUTH"
 33174  
 33175  	// AuthFlowTypeAdminNoSrpAuth is a AuthFlowType enum value
 33176  	AuthFlowTypeAdminNoSrpAuth = "ADMIN_NO_SRP_AUTH"
 33177  
 33178  	// AuthFlowTypeUserPasswordAuth is a AuthFlowType enum value
 33179  	AuthFlowTypeUserPasswordAuth = "USER_PASSWORD_AUTH"
 33180  
 33181  	// AuthFlowTypeAdminUserPasswordAuth is a AuthFlowType enum value
 33182  	AuthFlowTypeAdminUserPasswordAuth = "ADMIN_USER_PASSWORD_AUTH"
 33183  )
 33184  
 33185  // AuthFlowType_Values returns all elements of the AuthFlowType enum
 33186  func AuthFlowType_Values() []string {
 33187  	return []string{
 33188  		AuthFlowTypeUserSrpAuth,
 33189  		AuthFlowTypeRefreshTokenAuth,
 33190  		AuthFlowTypeRefreshToken,
 33191  		AuthFlowTypeCustomAuth,
 33192  		AuthFlowTypeAdminNoSrpAuth,
 33193  		AuthFlowTypeUserPasswordAuth,
 33194  		AuthFlowTypeAdminUserPasswordAuth,
 33195  	}
 33196  }
 33197  
 33198  const (
 33199  	// ChallengeNamePassword is a ChallengeName enum value
 33200  	ChallengeNamePassword = "Password"
 33201  
 33202  	// ChallengeNameMfa is a ChallengeName enum value
 33203  	ChallengeNameMfa = "Mfa"
 33204  )
 33205  
 33206  // ChallengeName_Values returns all elements of the ChallengeName enum
 33207  func ChallengeName_Values() []string {
 33208  	return []string{
 33209  		ChallengeNamePassword,
 33210  		ChallengeNameMfa,
 33211  	}
 33212  }
 33213  
 33214  const (
 33215  	// ChallengeNameTypeSmsMfa is a ChallengeNameType enum value
 33216  	ChallengeNameTypeSmsMfa = "SMS_MFA"
 33217  
 33218  	// ChallengeNameTypeSoftwareTokenMfa is a ChallengeNameType enum value
 33219  	ChallengeNameTypeSoftwareTokenMfa = "SOFTWARE_TOKEN_MFA"
 33220  
 33221  	// ChallengeNameTypeSelectMfaType is a ChallengeNameType enum value
 33222  	ChallengeNameTypeSelectMfaType = "SELECT_MFA_TYPE"
 33223  
 33224  	// ChallengeNameTypeMfaSetup is a ChallengeNameType enum value
 33225  	ChallengeNameTypeMfaSetup = "MFA_SETUP"
 33226  
 33227  	// ChallengeNameTypePasswordVerifier is a ChallengeNameType enum value
 33228  	ChallengeNameTypePasswordVerifier = "PASSWORD_VERIFIER"
 33229  
 33230  	// ChallengeNameTypeCustomChallenge is a ChallengeNameType enum value
 33231  	ChallengeNameTypeCustomChallenge = "CUSTOM_CHALLENGE"
 33232  
 33233  	// ChallengeNameTypeDeviceSrpAuth is a ChallengeNameType enum value
 33234  	ChallengeNameTypeDeviceSrpAuth = "DEVICE_SRP_AUTH"
 33235  
 33236  	// ChallengeNameTypeDevicePasswordVerifier is a ChallengeNameType enum value
 33237  	ChallengeNameTypeDevicePasswordVerifier = "DEVICE_PASSWORD_VERIFIER"
 33238  
 33239  	// ChallengeNameTypeAdminNoSrpAuth is a ChallengeNameType enum value
 33240  	ChallengeNameTypeAdminNoSrpAuth = "ADMIN_NO_SRP_AUTH"
 33241  
 33242  	// ChallengeNameTypeNewPasswordRequired is a ChallengeNameType enum value
 33243  	ChallengeNameTypeNewPasswordRequired = "NEW_PASSWORD_REQUIRED"
 33244  )
 33245  
 33246  // ChallengeNameType_Values returns all elements of the ChallengeNameType enum
 33247  func ChallengeNameType_Values() []string {
 33248  	return []string{
 33249  		ChallengeNameTypeSmsMfa,
 33250  		ChallengeNameTypeSoftwareTokenMfa,
 33251  		ChallengeNameTypeSelectMfaType,
 33252  		ChallengeNameTypeMfaSetup,
 33253  		ChallengeNameTypePasswordVerifier,
 33254  		ChallengeNameTypeCustomChallenge,
 33255  		ChallengeNameTypeDeviceSrpAuth,
 33256  		ChallengeNameTypeDevicePasswordVerifier,
 33257  		ChallengeNameTypeAdminNoSrpAuth,
 33258  		ChallengeNameTypeNewPasswordRequired,
 33259  	}
 33260  }
 33261  
 33262  const (
 33263  	// ChallengeResponseSuccess is a ChallengeResponse enum value
 33264  	ChallengeResponseSuccess = "Success"
 33265  
 33266  	// ChallengeResponseFailure is a ChallengeResponse enum value
 33267  	ChallengeResponseFailure = "Failure"
 33268  )
 33269  
 33270  // ChallengeResponse_Values returns all elements of the ChallengeResponse enum
 33271  func ChallengeResponse_Values() []string {
 33272  	return []string{
 33273  		ChallengeResponseSuccess,
 33274  		ChallengeResponseFailure,
 33275  	}
 33276  }
 33277  
 33278  const (
 33279  	// CompromisedCredentialsEventActionTypeBlock is a CompromisedCredentialsEventActionType enum value
 33280  	CompromisedCredentialsEventActionTypeBlock = "BLOCK"
 33281  
 33282  	// CompromisedCredentialsEventActionTypeNoAction is a CompromisedCredentialsEventActionType enum value
 33283  	CompromisedCredentialsEventActionTypeNoAction = "NO_ACTION"
 33284  )
 33285  
 33286  // CompromisedCredentialsEventActionType_Values returns all elements of the CompromisedCredentialsEventActionType enum
 33287  func CompromisedCredentialsEventActionType_Values() []string {
 33288  	return []string{
 33289  		CompromisedCredentialsEventActionTypeBlock,
 33290  		CompromisedCredentialsEventActionTypeNoAction,
 33291  	}
 33292  }
 33293  
 33294  const (
 33295  	// CustomEmailSenderLambdaVersionTypeV10 is a CustomEmailSenderLambdaVersionType enum value
 33296  	CustomEmailSenderLambdaVersionTypeV10 = "V1_0"
 33297  )
 33298  
 33299  // CustomEmailSenderLambdaVersionType_Values returns all elements of the CustomEmailSenderLambdaVersionType enum
 33300  func CustomEmailSenderLambdaVersionType_Values() []string {
 33301  	return []string{
 33302  		CustomEmailSenderLambdaVersionTypeV10,
 33303  	}
 33304  }
 33305  
 33306  const (
 33307  	// CustomSMSSenderLambdaVersionTypeV10 is a CustomSMSSenderLambdaVersionType enum value
 33308  	CustomSMSSenderLambdaVersionTypeV10 = "V1_0"
 33309  )
 33310  
 33311  // CustomSMSSenderLambdaVersionType_Values returns all elements of the CustomSMSSenderLambdaVersionType enum
 33312  func CustomSMSSenderLambdaVersionType_Values() []string {
 33313  	return []string{
 33314  		CustomSMSSenderLambdaVersionTypeV10,
 33315  	}
 33316  }
 33317  
 33318  const (
 33319  	// DefaultEmailOptionTypeConfirmWithLink is a DefaultEmailOptionType enum value
 33320  	DefaultEmailOptionTypeConfirmWithLink = "CONFIRM_WITH_LINK"
 33321  
 33322  	// DefaultEmailOptionTypeConfirmWithCode is a DefaultEmailOptionType enum value
 33323  	DefaultEmailOptionTypeConfirmWithCode = "CONFIRM_WITH_CODE"
 33324  )
 33325  
 33326  // DefaultEmailOptionType_Values returns all elements of the DefaultEmailOptionType enum
 33327  func DefaultEmailOptionType_Values() []string {
 33328  	return []string{
 33329  		DefaultEmailOptionTypeConfirmWithLink,
 33330  		DefaultEmailOptionTypeConfirmWithCode,
 33331  	}
 33332  }
 33333  
 33334  const (
 33335  	// DeliveryMediumTypeSms is a DeliveryMediumType enum value
 33336  	DeliveryMediumTypeSms = "SMS"
 33337  
 33338  	// DeliveryMediumTypeEmail is a DeliveryMediumType enum value
 33339  	DeliveryMediumTypeEmail = "EMAIL"
 33340  )
 33341  
 33342  // DeliveryMediumType_Values returns all elements of the DeliveryMediumType enum
 33343  func DeliveryMediumType_Values() []string {
 33344  	return []string{
 33345  		DeliveryMediumTypeSms,
 33346  		DeliveryMediumTypeEmail,
 33347  	}
 33348  }
 33349  
 33350  const (
 33351  	// DeviceRememberedStatusTypeRemembered is a DeviceRememberedStatusType enum value
 33352  	DeviceRememberedStatusTypeRemembered = "remembered"
 33353  
 33354  	// DeviceRememberedStatusTypeNotRemembered is a DeviceRememberedStatusType enum value
 33355  	DeviceRememberedStatusTypeNotRemembered = "not_remembered"
 33356  )
 33357  
 33358  // DeviceRememberedStatusType_Values returns all elements of the DeviceRememberedStatusType enum
 33359  func DeviceRememberedStatusType_Values() []string {
 33360  	return []string{
 33361  		DeviceRememberedStatusTypeRemembered,
 33362  		DeviceRememberedStatusTypeNotRemembered,
 33363  	}
 33364  }
 33365  
 33366  const (
 33367  	// DomainStatusTypeCreating is a DomainStatusType enum value
 33368  	DomainStatusTypeCreating = "CREATING"
 33369  
 33370  	// DomainStatusTypeDeleting is a DomainStatusType enum value
 33371  	DomainStatusTypeDeleting = "DELETING"
 33372  
 33373  	// DomainStatusTypeUpdating is a DomainStatusType enum value
 33374  	DomainStatusTypeUpdating = "UPDATING"
 33375  
 33376  	// DomainStatusTypeActive is a DomainStatusType enum value
 33377  	DomainStatusTypeActive = "ACTIVE"
 33378  
 33379  	// DomainStatusTypeFailed is a DomainStatusType enum value
 33380  	DomainStatusTypeFailed = "FAILED"
 33381  )
 33382  
 33383  // DomainStatusType_Values returns all elements of the DomainStatusType enum
 33384  func DomainStatusType_Values() []string {
 33385  	return []string{
 33386  		DomainStatusTypeCreating,
 33387  		DomainStatusTypeDeleting,
 33388  		DomainStatusTypeUpdating,
 33389  		DomainStatusTypeActive,
 33390  		DomainStatusTypeFailed,
 33391  	}
 33392  }
 33393  
 33394  const (
 33395  	// EmailSendingAccountTypeCognitoDefault is a EmailSendingAccountType enum value
 33396  	EmailSendingAccountTypeCognitoDefault = "COGNITO_DEFAULT"
 33397  
 33398  	// EmailSendingAccountTypeDeveloper is a EmailSendingAccountType enum value
 33399  	EmailSendingAccountTypeDeveloper = "DEVELOPER"
 33400  )
 33401  
 33402  // EmailSendingAccountType_Values returns all elements of the EmailSendingAccountType enum
 33403  func EmailSendingAccountType_Values() []string {
 33404  	return []string{
 33405  		EmailSendingAccountTypeCognitoDefault,
 33406  		EmailSendingAccountTypeDeveloper,
 33407  	}
 33408  }
 33409  
 33410  const (
 33411  	// EventFilterTypeSignIn is a EventFilterType enum value
 33412  	EventFilterTypeSignIn = "SIGN_IN"
 33413  
 33414  	// EventFilterTypePasswordChange is a EventFilterType enum value
 33415  	EventFilterTypePasswordChange = "PASSWORD_CHANGE"
 33416  
 33417  	// EventFilterTypeSignUp is a EventFilterType enum value
 33418  	EventFilterTypeSignUp = "SIGN_UP"
 33419  )
 33420  
 33421  // EventFilterType_Values returns all elements of the EventFilterType enum
 33422  func EventFilterType_Values() []string {
 33423  	return []string{
 33424  		EventFilterTypeSignIn,
 33425  		EventFilterTypePasswordChange,
 33426  		EventFilterTypeSignUp,
 33427  	}
 33428  }
 33429  
 33430  const (
 33431  	// EventResponseTypeSuccess is a EventResponseType enum value
 33432  	EventResponseTypeSuccess = "Success"
 33433  
 33434  	// EventResponseTypeFailure is a EventResponseType enum value
 33435  	EventResponseTypeFailure = "Failure"
 33436  )
 33437  
 33438  // EventResponseType_Values returns all elements of the EventResponseType enum
 33439  func EventResponseType_Values() []string {
 33440  	return []string{
 33441  		EventResponseTypeSuccess,
 33442  		EventResponseTypeFailure,
 33443  	}
 33444  }
 33445  
 33446  const (
 33447  	// EventTypeSignIn is a EventType enum value
 33448  	EventTypeSignIn = "SignIn"
 33449  
 33450  	// EventTypeSignUp is a EventType enum value
 33451  	EventTypeSignUp = "SignUp"
 33452  
 33453  	// EventTypeForgotPassword is a EventType enum value
 33454  	EventTypeForgotPassword = "ForgotPassword"
 33455  )
 33456  
 33457  // EventType_Values returns all elements of the EventType enum
 33458  func EventType_Values() []string {
 33459  	return []string{
 33460  		EventTypeSignIn,
 33461  		EventTypeSignUp,
 33462  		EventTypeForgotPassword,
 33463  	}
 33464  }
 33465  
 33466  const (
 33467  	// ExplicitAuthFlowsTypeAdminNoSrpAuth is a ExplicitAuthFlowsType enum value
 33468  	ExplicitAuthFlowsTypeAdminNoSrpAuth = "ADMIN_NO_SRP_AUTH"
 33469  
 33470  	// ExplicitAuthFlowsTypeCustomAuthFlowOnly is a ExplicitAuthFlowsType enum value
 33471  	ExplicitAuthFlowsTypeCustomAuthFlowOnly = "CUSTOM_AUTH_FLOW_ONLY"
 33472  
 33473  	// ExplicitAuthFlowsTypeUserPasswordAuth is a ExplicitAuthFlowsType enum value
 33474  	ExplicitAuthFlowsTypeUserPasswordAuth = "USER_PASSWORD_AUTH"
 33475  
 33476  	// ExplicitAuthFlowsTypeAllowAdminUserPasswordAuth is a ExplicitAuthFlowsType enum value
 33477  	ExplicitAuthFlowsTypeAllowAdminUserPasswordAuth = "ALLOW_ADMIN_USER_PASSWORD_AUTH"
 33478  
 33479  	// ExplicitAuthFlowsTypeAllowCustomAuth is a ExplicitAuthFlowsType enum value
 33480  	ExplicitAuthFlowsTypeAllowCustomAuth = "ALLOW_CUSTOM_AUTH"
 33481  
 33482  	// ExplicitAuthFlowsTypeAllowUserPasswordAuth is a ExplicitAuthFlowsType enum value
 33483  	ExplicitAuthFlowsTypeAllowUserPasswordAuth = "ALLOW_USER_PASSWORD_AUTH"
 33484  
 33485  	// ExplicitAuthFlowsTypeAllowUserSrpAuth is a ExplicitAuthFlowsType enum value
 33486  	ExplicitAuthFlowsTypeAllowUserSrpAuth = "ALLOW_USER_SRP_AUTH"
 33487  
 33488  	// ExplicitAuthFlowsTypeAllowRefreshTokenAuth is a ExplicitAuthFlowsType enum value
 33489  	ExplicitAuthFlowsTypeAllowRefreshTokenAuth = "ALLOW_REFRESH_TOKEN_AUTH"
 33490  )
 33491  
 33492  // ExplicitAuthFlowsType_Values returns all elements of the ExplicitAuthFlowsType enum
 33493  func ExplicitAuthFlowsType_Values() []string {
 33494  	return []string{
 33495  		ExplicitAuthFlowsTypeAdminNoSrpAuth,
 33496  		ExplicitAuthFlowsTypeCustomAuthFlowOnly,
 33497  		ExplicitAuthFlowsTypeUserPasswordAuth,
 33498  		ExplicitAuthFlowsTypeAllowAdminUserPasswordAuth,
 33499  		ExplicitAuthFlowsTypeAllowCustomAuth,
 33500  		ExplicitAuthFlowsTypeAllowUserPasswordAuth,
 33501  		ExplicitAuthFlowsTypeAllowUserSrpAuth,
 33502  		ExplicitAuthFlowsTypeAllowRefreshTokenAuth,
 33503  	}
 33504  }
 33505  
 33506  const (
 33507  	// FeedbackValueTypeValid is a FeedbackValueType enum value
 33508  	FeedbackValueTypeValid = "Valid"
 33509  
 33510  	// FeedbackValueTypeInvalid is a FeedbackValueType enum value
 33511  	FeedbackValueTypeInvalid = "Invalid"
 33512  )
 33513  
 33514  // FeedbackValueType_Values returns all elements of the FeedbackValueType enum
 33515  func FeedbackValueType_Values() []string {
 33516  	return []string{
 33517  		FeedbackValueTypeValid,
 33518  		FeedbackValueTypeInvalid,
 33519  	}
 33520  }
 33521  
 33522  const (
 33523  	// IdentityProviderTypeTypeSaml is a IdentityProviderTypeType enum value
 33524  	IdentityProviderTypeTypeSaml = "SAML"
 33525  
 33526  	// IdentityProviderTypeTypeFacebook is a IdentityProviderTypeType enum value
 33527  	IdentityProviderTypeTypeFacebook = "Facebook"
 33528  
 33529  	// IdentityProviderTypeTypeGoogle is a IdentityProviderTypeType enum value
 33530  	IdentityProviderTypeTypeGoogle = "Google"
 33531  
 33532  	// IdentityProviderTypeTypeLoginWithAmazon is a IdentityProviderTypeType enum value
 33533  	IdentityProviderTypeTypeLoginWithAmazon = "LoginWithAmazon"
 33534  
 33535  	// IdentityProviderTypeTypeSignInWithApple is a IdentityProviderTypeType enum value
 33536  	IdentityProviderTypeTypeSignInWithApple = "SignInWithApple"
 33537  
 33538  	// IdentityProviderTypeTypeOidc is a IdentityProviderTypeType enum value
 33539  	IdentityProviderTypeTypeOidc = "OIDC"
 33540  )
 33541  
 33542  // IdentityProviderTypeType_Values returns all elements of the IdentityProviderTypeType enum
 33543  func IdentityProviderTypeType_Values() []string {
 33544  	return []string{
 33545  		IdentityProviderTypeTypeSaml,
 33546  		IdentityProviderTypeTypeFacebook,
 33547  		IdentityProviderTypeTypeGoogle,
 33548  		IdentityProviderTypeTypeLoginWithAmazon,
 33549  		IdentityProviderTypeTypeSignInWithApple,
 33550  		IdentityProviderTypeTypeOidc,
 33551  	}
 33552  }
 33553  
 33554  const (
 33555  	// MessageActionTypeResend is a MessageActionType enum value
 33556  	MessageActionTypeResend = "RESEND"
 33557  
 33558  	// MessageActionTypeSuppress is a MessageActionType enum value
 33559  	MessageActionTypeSuppress = "SUPPRESS"
 33560  )
 33561  
 33562  // MessageActionType_Values returns all elements of the MessageActionType enum
 33563  func MessageActionType_Values() []string {
 33564  	return []string{
 33565  		MessageActionTypeResend,
 33566  		MessageActionTypeSuppress,
 33567  	}
 33568  }
 33569  
 33570  const (
 33571  	// OAuthFlowTypeCode is a OAuthFlowType enum value
 33572  	OAuthFlowTypeCode = "code"
 33573  
 33574  	// OAuthFlowTypeImplicit is a OAuthFlowType enum value
 33575  	OAuthFlowTypeImplicit = "implicit"
 33576  
 33577  	// OAuthFlowTypeClientCredentials is a OAuthFlowType enum value
 33578  	OAuthFlowTypeClientCredentials = "client_credentials"
 33579  )
 33580  
 33581  // OAuthFlowType_Values returns all elements of the OAuthFlowType enum
 33582  func OAuthFlowType_Values() []string {
 33583  	return []string{
 33584  		OAuthFlowTypeCode,
 33585  		OAuthFlowTypeImplicit,
 33586  		OAuthFlowTypeClientCredentials,
 33587  	}
 33588  }
 33589  
 33590  const (
 33591  	// PreventUserExistenceErrorTypesLegacy is a PreventUserExistenceErrorTypes enum value
 33592  	PreventUserExistenceErrorTypesLegacy = "LEGACY"
 33593  
 33594  	// PreventUserExistenceErrorTypesEnabled is a PreventUserExistenceErrorTypes enum value
 33595  	PreventUserExistenceErrorTypesEnabled = "ENABLED"
 33596  )
 33597  
 33598  // PreventUserExistenceErrorTypes_Values returns all elements of the PreventUserExistenceErrorTypes enum
 33599  func PreventUserExistenceErrorTypes_Values() []string {
 33600  	return []string{
 33601  		PreventUserExistenceErrorTypesLegacy,
 33602  		PreventUserExistenceErrorTypesEnabled,
 33603  	}
 33604  }
 33605  
 33606  const (
 33607  	// RecoveryOptionNameTypeVerifiedEmail is a RecoveryOptionNameType enum value
 33608  	RecoveryOptionNameTypeVerifiedEmail = "verified_email"
 33609  
 33610  	// RecoveryOptionNameTypeVerifiedPhoneNumber is a RecoveryOptionNameType enum value
 33611  	RecoveryOptionNameTypeVerifiedPhoneNumber = "verified_phone_number"
 33612  
 33613  	// RecoveryOptionNameTypeAdminOnly is a RecoveryOptionNameType enum value
 33614  	RecoveryOptionNameTypeAdminOnly = "admin_only"
 33615  )
 33616  
 33617  // RecoveryOptionNameType_Values returns all elements of the RecoveryOptionNameType enum
 33618  func RecoveryOptionNameType_Values() []string {
 33619  	return []string{
 33620  		RecoveryOptionNameTypeVerifiedEmail,
 33621  		RecoveryOptionNameTypeVerifiedPhoneNumber,
 33622  		RecoveryOptionNameTypeAdminOnly,
 33623  	}
 33624  }
 33625  
 33626  const (
 33627  	// RiskDecisionTypeNoRisk is a RiskDecisionType enum value
 33628  	RiskDecisionTypeNoRisk = "NoRisk"
 33629  
 33630  	// RiskDecisionTypeAccountTakeover is a RiskDecisionType enum value
 33631  	RiskDecisionTypeAccountTakeover = "AccountTakeover"
 33632  
 33633  	// RiskDecisionTypeBlock is a RiskDecisionType enum value
 33634  	RiskDecisionTypeBlock = "Block"
 33635  )
 33636  
 33637  // RiskDecisionType_Values returns all elements of the RiskDecisionType enum
 33638  func RiskDecisionType_Values() []string {
 33639  	return []string{
 33640  		RiskDecisionTypeNoRisk,
 33641  		RiskDecisionTypeAccountTakeover,
 33642  		RiskDecisionTypeBlock,
 33643  	}
 33644  }
 33645  
 33646  const (
 33647  	// RiskLevelTypeLow is a RiskLevelType enum value
 33648  	RiskLevelTypeLow = "Low"
 33649  
 33650  	// RiskLevelTypeMedium is a RiskLevelType enum value
 33651  	RiskLevelTypeMedium = "Medium"
 33652  
 33653  	// RiskLevelTypeHigh is a RiskLevelType enum value
 33654  	RiskLevelTypeHigh = "High"
 33655  )
 33656  
 33657  // RiskLevelType_Values returns all elements of the RiskLevelType enum
 33658  func RiskLevelType_Values() []string {
 33659  	return []string{
 33660  		RiskLevelTypeLow,
 33661  		RiskLevelTypeMedium,
 33662  		RiskLevelTypeHigh,
 33663  	}
 33664  }
 33665  
 33666  const (
 33667  	// StatusTypeEnabled is a StatusType enum value
 33668  	StatusTypeEnabled = "Enabled"
 33669  
 33670  	// StatusTypeDisabled is a StatusType enum value
 33671  	StatusTypeDisabled = "Disabled"
 33672  )
 33673  
 33674  // StatusType_Values returns all elements of the StatusType enum
 33675  func StatusType_Values() []string {
 33676  	return []string{
 33677  		StatusTypeEnabled,
 33678  		StatusTypeDisabled,
 33679  	}
 33680  }
 33681  
 33682  const (
 33683  	// TimeUnitsTypeSeconds is a TimeUnitsType enum value
 33684  	TimeUnitsTypeSeconds = "seconds"
 33685  
 33686  	// TimeUnitsTypeMinutes is a TimeUnitsType enum value
 33687  	TimeUnitsTypeMinutes = "minutes"
 33688  
 33689  	// TimeUnitsTypeHours is a TimeUnitsType enum value
 33690  	TimeUnitsTypeHours = "hours"
 33691  
 33692  	// TimeUnitsTypeDays is a TimeUnitsType enum value
 33693  	TimeUnitsTypeDays = "days"
 33694  )
 33695  
 33696  // TimeUnitsType_Values returns all elements of the TimeUnitsType enum
 33697  func TimeUnitsType_Values() []string {
 33698  	return []string{
 33699  		TimeUnitsTypeSeconds,
 33700  		TimeUnitsTypeMinutes,
 33701  		TimeUnitsTypeHours,
 33702  		TimeUnitsTypeDays,
 33703  	}
 33704  }
 33705  
 33706  const (
 33707  	// UserImportJobStatusTypeCreated is a UserImportJobStatusType enum value
 33708  	UserImportJobStatusTypeCreated = "Created"
 33709  
 33710  	// UserImportJobStatusTypePending is a UserImportJobStatusType enum value
 33711  	UserImportJobStatusTypePending = "Pending"
 33712  
 33713  	// UserImportJobStatusTypeInProgress is a UserImportJobStatusType enum value
 33714  	UserImportJobStatusTypeInProgress = "InProgress"
 33715  
 33716  	// UserImportJobStatusTypeStopping is a UserImportJobStatusType enum value
 33717  	UserImportJobStatusTypeStopping = "Stopping"
 33718  
 33719  	// UserImportJobStatusTypeExpired is a UserImportJobStatusType enum value
 33720  	UserImportJobStatusTypeExpired = "Expired"
 33721  
 33722  	// UserImportJobStatusTypeStopped is a UserImportJobStatusType enum value
 33723  	UserImportJobStatusTypeStopped = "Stopped"
 33724  
 33725  	// UserImportJobStatusTypeFailed is a UserImportJobStatusType enum value
 33726  	UserImportJobStatusTypeFailed = "Failed"
 33727  
 33728  	// UserImportJobStatusTypeSucceeded is a UserImportJobStatusType enum value
 33729  	UserImportJobStatusTypeSucceeded = "Succeeded"
 33730  )
 33731  
 33732  // UserImportJobStatusType_Values returns all elements of the UserImportJobStatusType enum
 33733  func UserImportJobStatusType_Values() []string {
 33734  	return []string{
 33735  		UserImportJobStatusTypeCreated,
 33736  		UserImportJobStatusTypePending,
 33737  		UserImportJobStatusTypeInProgress,
 33738  		UserImportJobStatusTypeStopping,
 33739  		UserImportJobStatusTypeExpired,
 33740  		UserImportJobStatusTypeStopped,
 33741  		UserImportJobStatusTypeFailed,
 33742  		UserImportJobStatusTypeSucceeded,
 33743  	}
 33744  }
 33745  
 33746  const (
 33747  	// UserPoolMfaTypeOff is a UserPoolMfaType enum value
 33748  	UserPoolMfaTypeOff = "OFF"
 33749  
 33750  	// UserPoolMfaTypeOn is a UserPoolMfaType enum value
 33751  	UserPoolMfaTypeOn = "ON"
 33752  
 33753  	// UserPoolMfaTypeOptional is a UserPoolMfaType enum value
 33754  	UserPoolMfaTypeOptional = "OPTIONAL"
 33755  )
 33756  
 33757  // UserPoolMfaType_Values returns all elements of the UserPoolMfaType enum
 33758  func UserPoolMfaType_Values() []string {
 33759  	return []string{
 33760  		UserPoolMfaTypeOff,
 33761  		UserPoolMfaTypeOn,
 33762  		UserPoolMfaTypeOptional,
 33763  	}
 33764  }
 33765  
 33766  const (
 33767  	// UserStatusTypeUnconfirmed is a UserStatusType enum value
 33768  	UserStatusTypeUnconfirmed = "UNCONFIRMED"
 33769  
 33770  	// UserStatusTypeConfirmed is a UserStatusType enum value
 33771  	UserStatusTypeConfirmed = "CONFIRMED"
 33772  
 33773  	// UserStatusTypeArchived is a UserStatusType enum value
 33774  	UserStatusTypeArchived = "ARCHIVED"
 33775  
 33776  	// UserStatusTypeCompromised is a UserStatusType enum value
 33777  	UserStatusTypeCompromised = "COMPROMISED"
 33778  
 33779  	// UserStatusTypeUnknown is a UserStatusType enum value
 33780  	UserStatusTypeUnknown = "UNKNOWN"
 33781  
 33782  	// UserStatusTypeResetRequired is a UserStatusType enum value
 33783  	UserStatusTypeResetRequired = "RESET_REQUIRED"
 33784  
 33785  	// UserStatusTypeForceChangePassword is a UserStatusType enum value
 33786  	UserStatusTypeForceChangePassword = "FORCE_CHANGE_PASSWORD"
 33787  )
 33788  
 33789  // UserStatusType_Values returns all elements of the UserStatusType enum
 33790  func UserStatusType_Values() []string {
 33791  	return []string{
 33792  		UserStatusTypeUnconfirmed,
 33793  		UserStatusTypeConfirmed,
 33794  		UserStatusTypeArchived,
 33795  		UserStatusTypeCompromised,
 33796  		UserStatusTypeUnknown,
 33797  		UserStatusTypeResetRequired,
 33798  		UserStatusTypeForceChangePassword,
 33799  	}
 33800  }
 33801  
 33802  const (
 33803  	// UsernameAttributeTypePhoneNumber is a UsernameAttributeType enum value
 33804  	UsernameAttributeTypePhoneNumber = "phone_number"
 33805  
 33806  	// UsernameAttributeTypeEmail is a UsernameAttributeType enum value
 33807  	UsernameAttributeTypeEmail = "email"
 33808  )
 33809  
 33810  // UsernameAttributeType_Values returns all elements of the UsernameAttributeType enum
 33811  func UsernameAttributeType_Values() []string {
 33812  	return []string{
 33813  		UsernameAttributeTypePhoneNumber,
 33814  		UsernameAttributeTypeEmail,
 33815  	}
 33816  }
 33817  
 33818  const (
 33819  	// VerifiedAttributeTypePhoneNumber is a VerifiedAttributeType enum value
 33820  	VerifiedAttributeTypePhoneNumber = "phone_number"
 33821  
 33822  	// VerifiedAttributeTypeEmail is a VerifiedAttributeType enum value
 33823  	VerifiedAttributeTypeEmail = "email"
 33824  )
 33825  
 33826  // VerifiedAttributeType_Values returns all elements of the VerifiedAttributeType enum
 33827  func VerifiedAttributeType_Values() []string {
 33828  	return []string{
 33829  		VerifiedAttributeTypePhoneNumber,
 33830  		VerifiedAttributeTypeEmail,
 33831  	}
 33832  }
 33833  
 33834  const (
 33835  	// VerifySoftwareTokenResponseTypeSuccess is a VerifySoftwareTokenResponseType enum value
 33836  	VerifySoftwareTokenResponseTypeSuccess = "SUCCESS"
 33837  
 33838  	// VerifySoftwareTokenResponseTypeError is a VerifySoftwareTokenResponseType enum value
 33839  	VerifySoftwareTokenResponseTypeError = "ERROR"
 33840  )
 33841  
 33842  // VerifySoftwareTokenResponseType_Values returns all elements of the VerifySoftwareTokenResponseType enum
 33843  func VerifySoftwareTokenResponseType_Values() []string {
 33844  	return []string{
 33845  		VerifySoftwareTokenResponseTypeSuccess,
 33846  		VerifySoftwareTokenResponseTypeError,
 33847  	}
 33848  }