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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package lexmodelsv2
     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/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opBuildBotLocale = "BuildBotLocale"
    17  
    18  // BuildBotLocaleRequest generates a "aws/request.Request" representing the
    19  // client's request for the BuildBotLocale operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BuildBotLocale for more information on using the BuildBotLocale
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BuildBotLocaleRequest method.
    34  //    req, resp := client.BuildBotLocaleRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BuildBotLocale
    42  func (c *LexModelsV2) BuildBotLocaleRequest(input *BuildBotLocaleInput) (req *request.Request, output *BuildBotLocaleOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBuildBotLocale,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BuildBotLocaleInput{}
    51  	}
    52  
    53  	output = &BuildBotLocaleOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BuildBotLocale API operation for Amazon Lex Model Building V2.
    59  //
    60  // Builds a bot, its intents, and its slot types into a specific locale. A bot
    61  // can be built into multiple locales. At runtime the locale is used to choose
    62  // a specific build of the bot.
    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 Lex Model Building V2's
    69  // API operation BuildBotLocale for usage and error information.
    70  //
    71  // Returned Error Types:
    72  //   * ThrottlingException
    73  //   Your request rate is too high. Reduce the frequency of requests.
    74  //
    75  //   * ServiceQuotaExceededException
    76  //   You have reached a quota for your bot.
    77  //
    78  //   * ValidationException
    79  //   One of the input parameters in your request isn't valid. Check the parameters
    80  //   and try your request again.
    81  //
    82  //   * PreconditionFailedException
    83  //   Your request couldn't be completed because one or more request fields aren't
    84  //   valid. Check the fields in your request and try again.
    85  //
    86  //   * ConflictException
    87  //   The action that you tried to perform couldn't be completed because the resource
    88  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
    89  //   state. Try your request again.
    90  //
    91  //   * InternalServerException
    92  //   The service encountered an unexpected condition. Try your request again.
    93  //
    94  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BuildBotLocale
    95  func (c *LexModelsV2) BuildBotLocale(input *BuildBotLocaleInput) (*BuildBotLocaleOutput, error) {
    96  	req, out := c.BuildBotLocaleRequest(input)
    97  	return out, req.Send()
    98  }
    99  
   100  // BuildBotLocaleWithContext is the same as BuildBotLocale with the addition of
   101  // the ability to pass a context and additional request options.
   102  //
   103  // See BuildBotLocale 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 *LexModelsV2) BuildBotLocaleWithContext(ctx aws.Context, input *BuildBotLocaleInput, opts ...request.Option) (*BuildBotLocaleOutput, error) {
   110  	req, out := c.BuildBotLocaleRequest(input)
   111  	req.SetContext(ctx)
   112  	req.ApplyOptions(opts...)
   113  	return out, req.Send()
   114  }
   115  
   116  const opCreateBot = "CreateBot"
   117  
   118  // CreateBotRequest generates a "aws/request.Request" representing the
   119  // client's request for the CreateBot 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 CreateBot for more information on using the CreateBot
   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 CreateBotRequest method.
   134  //    req, resp := client.CreateBotRequest(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/models.lex.v2-2020-08-07/CreateBot
   142  func (c *LexModelsV2) CreateBotRequest(input *CreateBotInput) (req *request.Request, output *CreateBotOutput) {
   143  	op := &request.Operation{
   144  		Name:       opCreateBot,
   145  		HTTPMethod: "PUT",
   146  		HTTPPath:   "/bots/",
   147  	}
   148  
   149  	if input == nil {
   150  		input = &CreateBotInput{}
   151  	}
   152  
   153  	output = &CreateBotOutput{}
   154  	req = c.newRequest(op, input, output)
   155  	return
   156  }
   157  
   158  // CreateBot API operation for Amazon Lex Model Building V2.
   159  //
   160  // Creates an Amazon Lex conversational bot.
   161  //
   162  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   163  // with awserr.Error's Code and Message methods to get detailed information about
   164  // the error.
   165  //
   166  // See the AWS API reference guide for Amazon Lex Model Building V2's
   167  // API operation CreateBot for usage and error information.
   168  //
   169  // Returned Error Types:
   170  //   * ThrottlingException
   171  //   Your request rate is too high. Reduce the frequency of requests.
   172  //
   173  //   * ServiceQuotaExceededException
   174  //   You have reached a quota for your bot.
   175  //
   176  //   * ValidationException
   177  //   One of the input parameters in your request isn't valid. Check the parameters
   178  //   and try your request again.
   179  //
   180  //   * PreconditionFailedException
   181  //   Your request couldn't be completed because one or more request fields aren't
   182  //   valid. Check the fields in your request and try again.
   183  //
   184  //   * ConflictException
   185  //   The action that you tried to perform couldn't be completed because the resource
   186  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   187  //   state. Try your request again.
   188  //
   189  //   * InternalServerException
   190  //   The service encountered an unexpected condition. Try your request again.
   191  //
   192  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBot
   193  func (c *LexModelsV2) CreateBot(input *CreateBotInput) (*CreateBotOutput, error) {
   194  	req, out := c.CreateBotRequest(input)
   195  	return out, req.Send()
   196  }
   197  
   198  // CreateBotWithContext is the same as CreateBot with the addition of
   199  // the ability to pass a context and additional request options.
   200  //
   201  // See CreateBot for details on how to use this API operation.
   202  //
   203  // The context must be non-nil and will be used for request cancellation. If
   204  // the context is nil a panic will occur. In the future the SDK may create
   205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   206  // for more information on using Contexts.
   207  func (c *LexModelsV2) CreateBotWithContext(ctx aws.Context, input *CreateBotInput, opts ...request.Option) (*CreateBotOutput, error) {
   208  	req, out := c.CreateBotRequest(input)
   209  	req.SetContext(ctx)
   210  	req.ApplyOptions(opts...)
   211  	return out, req.Send()
   212  }
   213  
   214  const opCreateBotAlias = "CreateBotAlias"
   215  
   216  // CreateBotAliasRequest generates a "aws/request.Request" representing the
   217  // client's request for the CreateBotAlias operation. The "output" return
   218  // value will be populated with the request's response once the request completes
   219  // successfully.
   220  //
   221  // Use "Send" method on the returned Request to send the API call to the service.
   222  // the "output" return value is not valid until after Send returns without error.
   223  //
   224  // See CreateBotAlias for more information on using the CreateBotAlias
   225  // API call, and error handling.
   226  //
   227  // This method is useful when you want to inject custom logic or configuration
   228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   229  //
   230  //
   231  //    // Example sending a request using the CreateBotAliasRequest method.
   232  //    req, resp := client.CreateBotAliasRequest(params)
   233  //
   234  //    err := req.Send()
   235  //    if err == nil { // resp is now filled
   236  //        fmt.Println(resp)
   237  //    }
   238  //
   239  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotAlias
   240  func (c *LexModelsV2) CreateBotAliasRequest(input *CreateBotAliasInput) (req *request.Request, output *CreateBotAliasOutput) {
   241  	op := &request.Operation{
   242  		Name:       opCreateBotAlias,
   243  		HTTPMethod: "PUT",
   244  		HTTPPath:   "/bots/{botId}/botaliases/",
   245  	}
   246  
   247  	if input == nil {
   248  		input = &CreateBotAliasInput{}
   249  	}
   250  
   251  	output = &CreateBotAliasOutput{}
   252  	req = c.newRequest(op, input, output)
   253  	return
   254  }
   255  
   256  // CreateBotAlias API operation for Amazon Lex Model Building V2.
   257  //
   258  // Creates an alias for the specified version of a bot. Use an alias to enable
   259  // you to change the version of a bot without updating applications that use
   260  // the bot.
   261  //
   262  // For example, you can create an alias called "PROD" that your applications
   263  // use to call the Amazon Lex bot.
   264  //
   265  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   266  // with awserr.Error's Code and Message methods to get detailed information about
   267  // the error.
   268  //
   269  // See the AWS API reference guide for Amazon Lex Model Building V2's
   270  // API operation CreateBotAlias for usage and error information.
   271  //
   272  // Returned Error Types:
   273  //   * ThrottlingException
   274  //   Your request rate is too high. Reduce the frequency of requests.
   275  //
   276  //   * ServiceQuotaExceededException
   277  //   You have reached a quota for your bot.
   278  //
   279  //   * ValidationException
   280  //   One of the input parameters in your request isn't valid. Check the parameters
   281  //   and try your request again.
   282  //
   283  //   * PreconditionFailedException
   284  //   Your request couldn't be completed because one or more request fields aren't
   285  //   valid. Check the fields in your request and try again.
   286  //
   287  //   * ConflictException
   288  //   The action that you tried to perform couldn't be completed because the resource
   289  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   290  //   state. Try your request again.
   291  //
   292  //   * InternalServerException
   293  //   The service encountered an unexpected condition. Try your request again.
   294  //
   295  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotAlias
   296  func (c *LexModelsV2) CreateBotAlias(input *CreateBotAliasInput) (*CreateBotAliasOutput, error) {
   297  	req, out := c.CreateBotAliasRequest(input)
   298  	return out, req.Send()
   299  }
   300  
   301  // CreateBotAliasWithContext is the same as CreateBotAlias with the addition of
   302  // the ability to pass a context and additional request options.
   303  //
   304  // See CreateBotAlias for details on how to use this API operation.
   305  //
   306  // The context must be non-nil and will be used for request cancellation. If
   307  // the context is nil a panic will occur. In the future the SDK may create
   308  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   309  // for more information on using Contexts.
   310  func (c *LexModelsV2) CreateBotAliasWithContext(ctx aws.Context, input *CreateBotAliasInput, opts ...request.Option) (*CreateBotAliasOutput, error) {
   311  	req, out := c.CreateBotAliasRequest(input)
   312  	req.SetContext(ctx)
   313  	req.ApplyOptions(opts...)
   314  	return out, req.Send()
   315  }
   316  
   317  const opCreateBotLocale = "CreateBotLocale"
   318  
   319  // CreateBotLocaleRequest generates a "aws/request.Request" representing the
   320  // client's request for the CreateBotLocale operation. The "output" return
   321  // value will be populated with the request's response once the request completes
   322  // successfully.
   323  //
   324  // Use "Send" method on the returned Request to send the API call to the service.
   325  // the "output" return value is not valid until after Send returns without error.
   326  //
   327  // See CreateBotLocale for more information on using the CreateBotLocale
   328  // API call, and error handling.
   329  //
   330  // This method is useful when you want to inject custom logic or configuration
   331  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   332  //
   333  //
   334  //    // Example sending a request using the CreateBotLocaleRequest method.
   335  //    req, resp := client.CreateBotLocaleRequest(params)
   336  //
   337  //    err := req.Send()
   338  //    if err == nil { // resp is now filled
   339  //        fmt.Println(resp)
   340  //    }
   341  //
   342  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotLocale
   343  func (c *LexModelsV2) CreateBotLocaleRequest(input *CreateBotLocaleInput) (req *request.Request, output *CreateBotLocaleOutput) {
   344  	op := &request.Operation{
   345  		Name:       opCreateBotLocale,
   346  		HTTPMethod: "PUT",
   347  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/",
   348  	}
   349  
   350  	if input == nil {
   351  		input = &CreateBotLocaleInput{}
   352  	}
   353  
   354  	output = &CreateBotLocaleOutput{}
   355  	req = c.newRequest(op, input, output)
   356  	return
   357  }
   358  
   359  // CreateBotLocale API operation for Amazon Lex Model Building V2.
   360  //
   361  // Creates a locale in the bot. The locale contains the intents and slot types
   362  // that the bot uses in conversations with users in the specified language and
   363  // locale. You must add a locale to a bot before you can add intents and slot
   364  // types to the bot.
   365  //
   366  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   367  // with awserr.Error's Code and Message methods to get detailed information about
   368  // the error.
   369  //
   370  // See the AWS API reference guide for Amazon Lex Model Building V2's
   371  // API operation CreateBotLocale for usage and error information.
   372  //
   373  // Returned Error Types:
   374  //   * ThrottlingException
   375  //   Your request rate is too high. Reduce the frequency of requests.
   376  //
   377  //   * ServiceQuotaExceededException
   378  //   You have reached a quota for your bot.
   379  //
   380  //   * ValidationException
   381  //   One of the input parameters in your request isn't valid. Check the parameters
   382  //   and try your request again.
   383  //
   384  //   * PreconditionFailedException
   385  //   Your request couldn't be completed because one or more request fields aren't
   386  //   valid. Check the fields in your request and try again.
   387  //
   388  //   * ConflictException
   389  //   The action that you tried to perform couldn't be completed because the resource
   390  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   391  //   state. Try your request again.
   392  //
   393  //   * InternalServerException
   394  //   The service encountered an unexpected condition. Try your request again.
   395  //
   396  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotLocale
   397  func (c *LexModelsV2) CreateBotLocale(input *CreateBotLocaleInput) (*CreateBotLocaleOutput, error) {
   398  	req, out := c.CreateBotLocaleRequest(input)
   399  	return out, req.Send()
   400  }
   401  
   402  // CreateBotLocaleWithContext is the same as CreateBotLocale with the addition of
   403  // the ability to pass a context and additional request options.
   404  //
   405  // See CreateBotLocale for details on how to use this API operation.
   406  //
   407  // The context must be non-nil and will be used for request cancellation. If
   408  // the context is nil a panic will occur. In the future the SDK may create
   409  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   410  // for more information on using Contexts.
   411  func (c *LexModelsV2) CreateBotLocaleWithContext(ctx aws.Context, input *CreateBotLocaleInput, opts ...request.Option) (*CreateBotLocaleOutput, error) {
   412  	req, out := c.CreateBotLocaleRequest(input)
   413  	req.SetContext(ctx)
   414  	req.ApplyOptions(opts...)
   415  	return out, req.Send()
   416  }
   417  
   418  const opCreateBotVersion = "CreateBotVersion"
   419  
   420  // CreateBotVersionRequest generates a "aws/request.Request" representing the
   421  // client's request for the CreateBotVersion operation. The "output" return
   422  // value will be populated with the request's response once the request completes
   423  // successfully.
   424  //
   425  // Use "Send" method on the returned Request to send the API call to the service.
   426  // the "output" return value is not valid until after Send returns without error.
   427  //
   428  // See CreateBotVersion for more information on using the CreateBotVersion
   429  // API call, and error handling.
   430  //
   431  // This method is useful when you want to inject custom logic or configuration
   432  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   433  //
   434  //
   435  //    // Example sending a request using the CreateBotVersionRequest method.
   436  //    req, resp := client.CreateBotVersionRequest(params)
   437  //
   438  //    err := req.Send()
   439  //    if err == nil { // resp is now filled
   440  //        fmt.Println(resp)
   441  //    }
   442  //
   443  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotVersion
   444  func (c *LexModelsV2) CreateBotVersionRequest(input *CreateBotVersionInput) (req *request.Request, output *CreateBotVersionOutput) {
   445  	op := &request.Operation{
   446  		Name:       opCreateBotVersion,
   447  		HTTPMethod: "PUT",
   448  		HTTPPath:   "/bots/{botId}/botversions/",
   449  	}
   450  
   451  	if input == nil {
   452  		input = &CreateBotVersionInput{}
   453  	}
   454  
   455  	output = &CreateBotVersionOutput{}
   456  	req = c.newRequest(op, input, output)
   457  	return
   458  }
   459  
   460  // CreateBotVersion API operation for Amazon Lex Model Building V2.
   461  //
   462  // Creates a new version of the bot based on the DRAFT version. If the DRAFT
   463  // version of this resource hasn't changed since you created the last version,
   464  // Amazon Lex doesn't create a new version, it returns the last created version.
   465  //
   466  // When you create the first version of a bot, Amazon Lex sets the version to
   467  // 1. Subsequent versions increment by 1.
   468  //
   469  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   470  // with awserr.Error's Code and Message methods to get detailed information about
   471  // the error.
   472  //
   473  // See the AWS API reference guide for Amazon Lex Model Building V2's
   474  // API operation CreateBotVersion for usage and error information.
   475  //
   476  // Returned Error Types:
   477  //   * ThrottlingException
   478  //   Your request rate is too high. Reduce the frequency of requests.
   479  //
   480  //   * ServiceQuotaExceededException
   481  //   You have reached a quota for your bot.
   482  //
   483  //   * ValidationException
   484  //   One of the input parameters in your request isn't valid. Check the parameters
   485  //   and try your request again.
   486  //
   487  //   * PreconditionFailedException
   488  //   Your request couldn't be completed because one or more request fields aren't
   489  //   valid. Check the fields in your request and try again.
   490  //
   491  //   * ConflictException
   492  //   The action that you tried to perform couldn't be completed because the resource
   493  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   494  //   state. Try your request again.
   495  //
   496  //   * InternalServerException
   497  //   The service encountered an unexpected condition. Try your request again.
   498  //
   499  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotVersion
   500  func (c *LexModelsV2) CreateBotVersion(input *CreateBotVersionInput) (*CreateBotVersionOutput, error) {
   501  	req, out := c.CreateBotVersionRequest(input)
   502  	return out, req.Send()
   503  }
   504  
   505  // CreateBotVersionWithContext is the same as CreateBotVersion with the addition of
   506  // the ability to pass a context and additional request options.
   507  //
   508  // See CreateBotVersion for details on how to use this API operation.
   509  //
   510  // The context must be non-nil and will be used for request cancellation. If
   511  // the context is nil a panic will occur. In the future the SDK may create
   512  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   513  // for more information on using Contexts.
   514  func (c *LexModelsV2) CreateBotVersionWithContext(ctx aws.Context, input *CreateBotVersionInput, opts ...request.Option) (*CreateBotVersionOutput, error) {
   515  	req, out := c.CreateBotVersionRequest(input)
   516  	req.SetContext(ctx)
   517  	req.ApplyOptions(opts...)
   518  	return out, req.Send()
   519  }
   520  
   521  const opCreateExport = "CreateExport"
   522  
   523  // CreateExportRequest generates a "aws/request.Request" representing the
   524  // client's request for the CreateExport operation. The "output" return
   525  // value will be populated with the request's response once the request completes
   526  // successfully.
   527  //
   528  // Use "Send" method on the returned Request to send the API call to the service.
   529  // the "output" return value is not valid until after Send returns without error.
   530  //
   531  // See CreateExport for more information on using the CreateExport
   532  // API call, and error handling.
   533  //
   534  // This method is useful when you want to inject custom logic or configuration
   535  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   536  //
   537  //
   538  //    // Example sending a request using the CreateExportRequest method.
   539  //    req, resp := client.CreateExportRequest(params)
   540  //
   541  //    err := req.Send()
   542  //    if err == nil { // resp is now filled
   543  //        fmt.Println(resp)
   544  //    }
   545  //
   546  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateExport
   547  func (c *LexModelsV2) CreateExportRequest(input *CreateExportInput) (req *request.Request, output *CreateExportOutput) {
   548  	op := &request.Operation{
   549  		Name:       opCreateExport,
   550  		HTTPMethod: "PUT",
   551  		HTTPPath:   "/exports/",
   552  	}
   553  
   554  	if input == nil {
   555  		input = &CreateExportInput{}
   556  	}
   557  
   558  	output = &CreateExportOutput{}
   559  	req = c.newRequest(op, input, output)
   560  	return
   561  }
   562  
   563  // CreateExport API operation for Amazon Lex Model Building V2.
   564  //
   565  // Creates a zip archive containing the contents of a bot or a bot locale. The
   566  // archive contains a directory structure that contains JSON files that define
   567  // the bot.
   568  //
   569  // You can create an archive that contains the complete definition of a bot,
   570  // or you can specify that the archive contain only the definition of a single
   571  // bot locale.
   572  //
   573  // For more information about exporting bots, and about the structure of the
   574  // export archive, see Importing and exporting bots (https://docs.aws.amazon.com/lexv2/latest/dg/importing-exporting.html)
   575  //
   576  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   577  // with awserr.Error's Code and Message methods to get detailed information about
   578  // the error.
   579  //
   580  // See the AWS API reference guide for Amazon Lex Model Building V2's
   581  // API operation CreateExport for usage and error information.
   582  //
   583  // Returned Error Types:
   584  //   * ThrottlingException
   585  //   Your request rate is too high. Reduce the frequency of requests.
   586  //
   587  //   * ServiceQuotaExceededException
   588  //   You have reached a quota for your bot.
   589  //
   590  //   * ValidationException
   591  //   One of the input parameters in your request isn't valid. Check the parameters
   592  //   and try your request again.
   593  //
   594  //   * ResourceNotFoundException
   595  //   You asked to describe a resource that doesn't exist. Check the resource that
   596  //   you are requesting and try again.
   597  //
   598  //   * ConflictException
   599  //   The action that you tried to perform couldn't be completed because the resource
   600  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   601  //   state. Try your request again.
   602  //
   603  //   * InternalServerException
   604  //   The service encountered an unexpected condition. Try your request again.
   605  //
   606  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateExport
   607  func (c *LexModelsV2) CreateExport(input *CreateExportInput) (*CreateExportOutput, error) {
   608  	req, out := c.CreateExportRequest(input)
   609  	return out, req.Send()
   610  }
   611  
   612  // CreateExportWithContext is the same as CreateExport with the addition of
   613  // the ability to pass a context and additional request options.
   614  //
   615  // See CreateExport for details on how to use this API operation.
   616  //
   617  // The context must be non-nil and will be used for request cancellation. If
   618  // the context is nil a panic will occur. In the future the SDK may create
   619  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   620  // for more information on using Contexts.
   621  func (c *LexModelsV2) CreateExportWithContext(ctx aws.Context, input *CreateExportInput, opts ...request.Option) (*CreateExportOutput, error) {
   622  	req, out := c.CreateExportRequest(input)
   623  	req.SetContext(ctx)
   624  	req.ApplyOptions(opts...)
   625  	return out, req.Send()
   626  }
   627  
   628  const opCreateIntent = "CreateIntent"
   629  
   630  // CreateIntentRequest generates a "aws/request.Request" representing the
   631  // client's request for the CreateIntent operation. The "output" return
   632  // value will be populated with the request's response once the request completes
   633  // successfully.
   634  //
   635  // Use "Send" method on the returned Request to send the API call to the service.
   636  // the "output" return value is not valid until after Send returns without error.
   637  //
   638  // See CreateIntent for more information on using the CreateIntent
   639  // API call, and error handling.
   640  //
   641  // This method is useful when you want to inject custom logic or configuration
   642  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   643  //
   644  //
   645  //    // Example sending a request using the CreateIntentRequest method.
   646  //    req, resp := client.CreateIntentRequest(params)
   647  //
   648  //    err := req.Send()
   649  //    if err == nil { // resp is now filled
   650  //        fmt.Println(resp)
   651  //    }
   652  //
   653  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateIntent
   654  func (c *LexModelsV2) CreateIntentRequest(input *CreateIntentInput) (req *request.Request, output *CreateIntentOutput) {
   655  	op := &request.Operation{
   656  		Name:       opCreateIntent,
   657  		HTTPMethod: "PUT",
   658  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/",
   659  	}
   660  
   661  	if input == nil {
   662  		input = &CreateIntentInput{}
   663  	}
   664  
   665  	output = &CreateIntentOutput{}
   666  	req = c.newRequest(op, input, output)
   667  	return
   668  }
   669  
   670  // CreateIntent API operation for Amazon Lex Model Building V2.
   671  //
   672  // Creates an intent.
   673  //
   674  // To define the interaction between the user and your bot, you define one or
   675  // more intents. For example, for a pizza ordering bot you would create an OrderPizza
   676  // intent.
   677  //
   678  // When you create an intent, you must provide a name. You can optionally provide
   679  // the following:
   680  //
   681  //    * Sample utterances. For example, "I want to order a pizza" and "Can I
   682  //    order a pizza." You can't provide utterances for built-in intents.
   683  //
   684  //    * Information to be gathered. You specify slots for the information that
   685  //    you bot requests from the user. You can specify standard slot types, such
   686  //    as date and time, or custom slot types for your application.
   687  //
   688  //    * How the intent is fulfilled. You can provide a Lambda function or configure
   689  //    the intent to return the intent information to your client application.
   690  //    If you use a Lambda function, Amazon Lex invokes the function when all
   691  //    of the intent information is available.
   692  //
   693  //    * A confirmation prompt to send to the user to confirm an intent. For
   694  //    example, "Shall I order your pizza?"
   695  //
   696  //    * A conclusion statement to send to the user after the intent is fulfilled.
   697  //    For example, "I ordered your pizza."
   698  //
   699  //    * A follow-up prompt that asks the user for additional activity. For example,
   700  //    "Do you want a drink with your pizza?"
   701  //
   702  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   703  // with awserr.Error's Code and Message methods to get detailed information about
   704  // the error.
   705  //
   706  // See the AWS API reference guide for Amazon Lex Model Building V2's
   707  // API operation CreateIntent for usage and error information.
   708  //
   709  // Returned Error Types:
   710  //   * ThrottlingException
   711  //   Your request rate is too high. Reduce the frequency of requests.
   712  //
   713  //   * ServiceQuotaExceededException
   714  //   You have reached a quota for your bot.
   715  //
   716  //   * ValidationException
   717  //   One of the input parameters in your request isn't valid. Check the parameters
   718  //   and try your request again.
   719  //
   720  //   * PreconditionFailedException
   721  //   Your request couldn't be completed because one or more request fields aren't
   722  //   valid. Check the fields in your request and try again.
   723  //
   724  //   * ConflictException
   725  //   The action that you tried to perform couldn't be completed because the resource
   726  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   727  //   state. Try your request again.
   728  //
   729  //   * InternalServerException
   730  //   The service encountered an unexpected condition. Try your request again.
   731  //
   732  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateIntent
   733  func (c *LexModelsV2) CreateIntent(input *CreateIntentInput) (*CreateIntentOutput, error) {
   734  	req, out := c.CreateIntentRequest(input)
   735  	return out, req.Send()
   736  }
   737  
   738  // CreateIntentWithContext is the same as CreateIntent with the addition of
   739  // the ability to pass a context and additional request options.
   740  //
   741  // See CreateIntent for details on how to use this API operation.
   742  //
   743  // The context must be non-nil and will be used for request cancellation. If
   744  // the context is nil a panic will occur. In the future the SDK may create
   745  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   746  // for more information on using Contexts.
   747  func (c *LexModelsV2) CreateIntentWithContext(ctx aws.Context, input *CreateIntentInput, opts ...request.Option) (*CreateIntentOutput, error) {
   748  	req, out := c.CreateIntentRequest(input)
   749  	req.SetContext(ctx)
   750  	req.ApplyOptions(opts...)
   751  	return out, req.Send()
   752  }
   753  
   754  const opCreateResourcePolicy = "CreateResourcePolicy"
   755  
   756  // CreateResourcePolicyRequest generates a "aws/request.Request" representing the
   757  // client's request for the CreateResourcePolicy operation. The "output" return
   758  // value will be populated with the request's response once the request completes
   759  // successfully.
   760  //
   761  // Use "Send" method on the returned Request to send the API call to the service.
   762  // the "output" return value is not valid until after Send returns without error.
   763  //
   764  // See CreateResourcePolicy for more information on using the CreateResourcePolicy
   765  // API call, and error handling.
   766  //
   767  // This method is useful when you want to inject custom logic or configuration
   768  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   769  //
   770  //
   771  //    // Example sending a request using the CreateResourcePolicyRequest method.
   772  //    req, resp := client.CreateResourcePolicyRequest(params)
   773  //
   774  //    err := req.Send()
   775  //    if err == nil { // resp is now filled
   776  //        fmt.Println(resp)
   777  //    }
   778  //
   779  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicy
   780  func (c *LexModelsV2) CreateResourcePolicyRequest(input *CreateResourcePolicyInput) (req *request.Request, output *CreateResourcePolicyOutput) {
   781  	op := &request.Operation{
   782  		Name:       opCreateResourcePolicy,
   783  		HTTPMethod: "POST",
   784  		HTTPPath:   "/policy/{resourceArn}/",
   785  	}
   786  
   787  	if input == nil {
   788  		input = &CreateResourcePolicyInput{}
   789  	}
   790  
   791  	output = &CreateResourcePolicyOutput{}
   792  	req = c.newRequest(op, input, output)
   793  	return
   794  }
   795  
   796  // CreateResourcePolicy API operation for Amazon Lex Model Building V2.
   797  //
   798  // Creates a new resource policy with the specified policy statements.
   799  //
   800  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   801  // with awserr.Error's Code and Message methods to get detailed information about
   802  // the error.
   803  //
   804  // See the AWS API reference guide for Amazon Lex Model Building V2's
   805  // API operation CreateResourcePolicy for usage and error information.
   806  //
   807  // Returned Error Types:
   808  //   * ResourceNotFoundException
   809  //   You asked to describe a resource that doesn't exist. Check the resource that
   810  //   you are requesting and try again.
   811  //
   812  //   * ServiceQuotaExceededException
   813  //   You have reached a quota for your bot.
   814  //
   815  //   * PreconditionFailedException
   816  //   Your request couldn't be completed because one or more request fields aren't
   817  //   valid. Check the fields in your request and try again.
   818  //
   819  //   * ValidationException
   820  //   One of the input parameters in your request isn't valid. Check the parameters
   821  //   and try your request again.
   822  //
   823  //   * InternalServerException
   824  //   The service encountered an unexpected condition. Try your request again.
   825  //
   826  //   * ThrottlingException
   827  //   Your request rate is too high. Reduce the frequency of requests.
   828  //
   829  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicy
   830  func (c *LexModelsV2) CreateResourcePolicy(input *CreateResourcePolicyInput) (*CreateResourcePolicyOutput, error) {
   831  	req, out := c.CreateResourcePolicyRequest(input)
   832  	return out, req.Send()
   833  }
   834  
   835  // CreateResourcePolicyWithContext is the same as CreateResourcePolicy with the addition of
   836  // the ability to pass a context and additional request options.
   837  //
   838  // See CreateResourcePolicy for details on how to use this API operation.
   839  //
   840  // The context must be non-nil and will be used for request cancellation. If
   841  // the context is nil a panic will occur. In the future the SDK may create
   842  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   843  // for more information on using Contexts.
   844  func (c *LexModelsV2) CreateResourcePolicyWithContext(ctx aws.Context, input *CreateResourcePolicyInput, opts ...request.Option) (*CreateResourcePolicyOutput, error) {
   845  	req, out := c.CreateResourcePolicyRequest(input)
   846  	req.SetContext(ctx)
   847  	req.ApplyOptions(opts...)
   848  	return out, req.Send()
   849  }
   850  
   851  const opCreateResourcePolicyStatement = "CreateResourcePolicyStatement"
   852  
   853  // CreateResourcePolicyStatementRequest generates a "aws/request.Request" representing the
   854  // client's request for the CreateResourcePolicyStatement operation. The "output" return
   855  // value will be populated with the request's response once the request completes
   856  // successfully.
   857  //
   858  // Use "Send" method on the returned Request to send the API call to the service.
   859  // the "output" return value is not valid until after Send returns without error.
   860  //
   861  // See CreateResourcePolicyStatement for more information on using the CreateResourcePolicyStatement
   862  // API call, and error handling.
   863  //
   864  // This method is useful when you want to inject custom logic or configuration
   865  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   866  //
   867  //
   868  //    // Example sending a request using the CreateResourcePolicyStatementRequest method.
   869  //    req, resp := client.CreateResourcePolicyStatementRequest(params)
   870  //
   871  //    err := req.Send()
   872  //    if err == nil { // resp is now filled
   873  //        fmt.Println(resp)
   874  //    }
   875  //
   876  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyStatement
   877  func (c *LexModelsV2) CreateResourcePolicyStatementRequest(input *CreateResourcePolicyStatementInput) (req *request.Request, output *CreateResourcePolicyStatementOutput) {
   878  	op := &request.Operation{
   879  		Name:       opCreateResourcePolicyStatement,
   880  		HTTPMethod: "POST",
   881  		HTTPPath:   "/policy/{resourceArn}/statements/",
   882  	}
   883  
   884  	if input == nil {
   885  		input = &CreateResourcePolicyStatementInput{}
   886  	}
   887  
   888  	output = &CreateResourcePolicyStatementOutput{}
   889  	req = c.newRequest(op, input, output)
   890  	return
   891  }
   892  
   893  // CreateResourcePolicyStatement API operation for Amazon Lex Model Building V2.
   894  //
   895  // Adds a new resource policy statement to a bot or bot alias. If a resource
   896  // policy exists, the statement is added to the current resource policy. If
   897  // a policy doesn't exist, a new policy is created.
   898  //
   899  // You can't create a resource policy statement that allows cross-account access.
   900  //
   901  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   902  // with awserr.Error's Code and Message methods to get detailed information about
   903  // the error.
   904  //
   905  // See the AWS API reference guide for Amazon Lex Model Building V2's
   906  // API operation CreateResourcePolicyStatement for usage and error information.
   907  //
   908  // Returned Error Types:
   909  //   * ResourceNotFoundException
   910  //   You asked to describe a resource that doesn't exist. Check the resource that
   911  //   you are requesting and try again.
   912  //
   913  //   * ConflictException
   914  //   The action that you tried to perform couldn't be completed because the resource
   915  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
   916  //   state. Try your request again.
   917  //
   918  //   * ServiceQuotaExceededException
   919  //   You have reached a quota for your bot.
   920  //
   921  //   * PreconditionFailedException
   922  //   Your request couldn't be completed because one or more request fields aren't
   923  //   valid. Check the fields in your request and try again.
   924  //
   925  //   * ValidationException
   926  //   One of the input parameters in your request isn't valid. Check the parameters
   927  //   and try your request again.
   928  //
   929  //   * InternalServerException
   930  //   The service encountered an unexpected condition. Try your request again.
   931  //
   932  //   * ThrottlingException
   933  //   Your request rate is too high. Reduce the frequency of requests.
   934  //
   935  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyStatement
   936  func (c *LexModelsV2) CreateResourcePolicyStatement(input *CreateResourcePolicyStatementInput) (*CreateResourcePolicyStatementOutput, error) {
   937  	req, out := c.CreateResourcePolicyStatementRequest(input)
   938  	return out, req.Send()
   939  }
   940  
   941  // CreateResourcePolicyStatementWithContext is the same as CreateResourcePolicyStatement with the addition of
   942  // the ability to pass a context and additional request options.
   943  //
   944  // See CreateResourcePolicyStatement for details on how to use this API operation.
   945  //
   946  // The context must be non-nil and will be used for request cancellation. If
   947  // the context is nil a panic will occur. In the future the SDK may create
   948  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   949  // for more information on using Contexts.
   950  func (c *LexModelsV2) CreateResourcePolicyStatementWithContext(ctx aws.Context, input *CreateResourcePolicyStatementInput, opts ...request.Option) (*CreateResourcePolicyStatementOutput, error) {
   951  	req, out := c.CreateResourcePolicyStatementRequest(input)
   952  	req.SetContext(ctx)
   953  	req.ApplyOptions(opts...)
   954  	return out, req.Send()
   955  }
   956  
   957  const opCreateSlot = "CreateSlot"
   958  
   959  // CreateSlotRequest generates a "aws/request.Request" representing the
   960  // client's request for the CreateSlot operation. The "output" return
   961  // value will be populated with the request's response once the request completes
   962  // successfully.
   963  //
   964  // Use "Send" method on the returned Request to send the API call to the service.
   965  // the "output" return value is not valid until after Send returns without error.
   966  //
   967  // See CreateSlot for more information on using the CreateSlot
   968  // API call, and error handling.
   969  //
   970  // This method is useful when you want to inject custom logic or configuration
   971  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   972  //
   973  //
   974  //    // Example sending a request using the CreateSlotRequest method.
   975  //    req, resp := client.CreateSlotRequest(params)
   976  //
   977  //    err := req.Send()
   978  //    if err == nil { // resp is now filled
   979  //        fmt.Println(resp)
   980  //    }
   981  //
   982  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlot
   983  func (c *LexModelsV2) CreateSlotRequest(input *CreateSlotInput) (req *request.Request, output *CreateSlotOutput) {
   984  	op := &request.Operation{
   985  		Name:       opCreateSlot,
   986  		HTTPMethod: "PUT",
   987  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/",
   988  	}
   989  
   990  	if input == nil {
   991  		input = &CreateSlotInput{}
   992  	}
   993  
   994  	output = &CreateSlotOutput{}
   995  	req = c.newRequest(op, input, output)
   996  	return
   997  }
   998  
   999  // CreateSlot API operation for Amazon Lex Model Building V2.
  1000  //
  1001  // Creates a slot in an intent. A slot is a variable needed to fulfill an intent.
  1002  // For example, an OrderPizza intent might need slots for size, crust, and number
  1003  // of pizzas. For each slot, you define one or more utterances that Amazon Lex
  1004  // uses to elicit a response from the user.
  1005  //
  1006  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1007  // with awserr.Error's Code and Message methods to get detailed information about
  1008  // the error.
  1009  //
  1010  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1011  // API operation CreateSlot for usage and error information.
  1012  //
  1013  // Returned Error Types:
  1014  //   * ThrottlingException
  1015  //   Your request rate is too high. Reduce the frequency of requests.
  1016  //
  1017  //   * ServiceQuotaExceededException
  1018  //   You have reached a quota for your bot.
  1019  //
  1020  //   * ValidationException
  1021  //   One of the input parameters in your request isn't valid. Check the parameters
  1022  //   and try your request again.
  1023  //
  1024  //   * PreconditionFailedException
  1025  //   Your request couldn't be completed because one or more request fields aren't
  1026  //   valid. Check the fields in your request and try again.
  1027  //
  1028  //   * ConflictException
  1029  //   The action that you tried to perform couldn't be completed because the resource
  1030  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1031  //   state. Try your request again.
  1032  //
  1033  //   * InternalServerException
  1034  //   The service encountered an unexpected condition. Try your request again.
  1035  //
  1036  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlot
  1037  func (c *LexModelsV2) CreateSlot(input *CreateSlotInput) (*CreateSlotOutput, error) {
  1038  	req, out := c.CreateSlotRequest(input)
  1039  	return out, req.Send()
  1040  }
  1041  
  1042  // CreateSlotWithContext is the same as CreateSlot with the addition of
  1043  // the ability to pass a context and additional request options.
  1044  //
  1045  // See CreateSlot for details on how to use this API operation.
  1046  //
  1047  // The context must be non-nil and will be used for request cancellation. If
  1048  // the context is nil a panic will occur. In the future the SDK may create
  1049  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1050  // for more information on using Contexts.
  1051  func (c *LexModelsV2) CreateSlotWithContext(ctx aws.Context, input *CreateSlotInput, opts ...request.Option) (*CreateSlotOutput, error) {
  1052  	req, out := c.CreateSlotRequest(input)
  1053  	req.SetContext(ctx)
  1054  	req.ApplyOptions(opts...)
  1055  	return out, req.Send()
  1056  }
  1057  
  1058  const opCreateSlotType = "CreateSlotType"
  1059  
  1060  // CreateSlotTypeRequest generates a "aws/request.Request" representing the
  1061  // client's request for the CreateSlotType operation. The "output" return
  1062  // value will be populated with the request's response once the request completes
  1063  // successfully.
  1064  //
  1065  // Use "Send" method on the returned Request to send the API call to the service.
  1066  // the "output" return value is not valid until after Send returns without error.
  1067  //
  1068  // See CreateSlotType for more information on using the CreateSlotType
  1069  // API call, and error handling.
  1070  //
  1071  // This method is useful when you want to inject custom logic or configuration
  1072  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1073  //
  1074  //
  1075  //    // Example sending a request using the CreateSlotTypeRequest method.
  1076  //    req, resp := client.CreateSlotTypeRequest(params)
  1077  //
  1078  //    err := req.Send()
  1079  //    if err == nil { // resp is now filled
  1080  //        fmt.Println(resp)
  1081  //    }
  1082  //
  1083  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotType
  1084  func (c *LexModelsV2) CreateSlotTypeRequest(input *CreateSlotTypeInput) (req *request.Request, output *CreateSlotTypeOutput) {
  1085  	op := &request.Operation{
  1086  		Name:       opCreateSlotType,
  1087  		HTTPMethod: "PUT",
  1088  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/",
  1089  	}
  1090  
  1091  	if input == nil {
  1092  		input = &CreateSlotTypeInput{}
  1093  	}
  1094  
  1095  	output = &CreateSlotTypeOutput{}
  1096  	req = c.newRequest(op, input, output)
  1097  	return
  1098  }
  1099  
  1100  // CreateSlotType API operation for Amazon Lex Model Building V2.
  1101  //
  1102  // Creates a custom slot type
  1103  //
  1104  // To create a custom slot type, specify a name for the slot type and a set
  1105  // of enumeration values, the values that a slot of this type can assume.
  1106  //
  1107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1108  // with awserr.Error's Code and Message methods to get detailed information about
  1109  // the error.
  1110  //
  1111  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1112  // API operation CreateSlotType for usage and error information.
  1113  //
  1114  // Returned Error Types:
  1115  //   * ThrottlingException
  1116  //   Your request rate is too high. Reduce the frequency of requests.
  1117  //
  1118  //   * ServiceQuotaExceededException
  1119  //   You have reached a quota for your bot.
  1120  //
  1121  //   * ValidationException
  1122  //   One of the input parameters in your request isn't valid. Check the parameters
  1123  //   and try your request again.
  1124  //
  1125  //   * PreconditionFailedException
  1126  //   Your request couldn't be completed because one or more request fields aren't
  1127  //   valid. Check the fields in your request and try again.
  1128  //
  1129  //   * ConflictException
  1130  //   The action that you tried to perform couldn't be completed because the resource
  1131  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1132  //   state. Try your request again.
  1133  //
  1134  //   * InternalServerException
  1135  //   The service encountered an unexpected condition. Try your request again.
  1136  //
  1137  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotType
  1138  func (c *LexModelsV2) CreateSlotType(input *CreateSlotTypeInput) (*CreateSlotTypeOutput, error) {
  1139  	req, out := c.CreateSlotTypeRequest(input)
  1140  	return out, req.Send()
  1141  }
  1142  
  1143  // CreateSlotTypeWithContext is the same as CreateSlotType with the addition of
  1144  // the ability to pass a context and additional request options.
  1145  //
  1146  // See CreateSlotType for details on how to use this API operation.
  1147  //
  1148  // The context must be non-nil and will be used for request cancellation. If
  1149  // the context is nil a panic will occur. In the future the SDK may create
  1150  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1151  // for more information on using Contexts.
  1152  func (c *LexModelsV2) CreateSlotTypeWithContext(ctx aws.Context, input *CreateSlotTypeInput, opts ...request.Option) (*CreateSlotTypeOutput, error) {
  1153  	req, out := c.CreateSlotTypeRequest(input)
  1154  	req.SetContext(ctx)
  1155  	req.ApplyOptions(opts...)
  1156  	return out, req.Send()
  1157  }
  1158  
  1159  const opCreateUploadUrl = "CreateUploadUrl"
  1160  
  1161  // CreateUploadUrlRequest generates a "aws/request.Request" representing the
  1162  // client's request for the CreateUploadUrl operation. The "output" return
  1163  // value will be populated with the request's response once the request completes
  1164  // successfully.
  1165  //
  1166  // Use "Send" method on the returned Request to send the API call to the service.
  1167  // the "output" return value is not valid until after Send returns without error.
  1168  //
  1169  // See CreateUploadUrl for more information on using the CreateUploadUrl
  1170  // API call, and error handling.
  1171  //
  1172  // This method is useful when you want to inject custom logic or configuration
  1173  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1174  //
  1175  //
  1176  //    // Example sending a request using the CreateUploadUrlRequest method.
  1177  //    req, resp := client.CreateUploadUrlRequest(params)
  1178  //
  1179  //    err := req.Send()
  1180  //    if err == nil { // resp is now filled
  1181  //        fmt.Println(resp)
  1182  //    }
  1183  //
  1184  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateUploadUrl
  1185  func (c *LexModelsV2) CreateUploadUrlRequest(input *CreateUploadUrlInput) (req *request.Request, output *CreateUploadUrlOutput) {
  1186  	op := &request.Operation{
  1187  		Name:       opCreateUploadUrl,
  1188  		HTTPMethod: "POST",
  1189  		HTTPPath:   "/createuploadurl/",
  1190  	}
  1191  
  1192  	if input == nil {
  1193  		input = &CreateUploadUrlInput{}
  1194  	}
  1195  
  1196  	output = &CreateUploadUrlOutput{}
  1197  	req = c.newRequest(op, input, output)
  1198  	return
  1199  }
  1200  
  1201  // CreateUploadUrl API operation for Amazon Lex Model Building V2.
  1202  //
  1203  // Gets a pre-signed S3 write URL that you use to upload the zip archive when
  1204  // importing a bot or a bot locale.
  1205  //
  1206  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1207  // with awserr.Error's Code and Message methods to get detailed information about
  1208  // the error.
  1209  //
  1210  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1211  // API operation CreateUploadUrl for usage and error information.
  1212  //
  1213  // Returned Error Types:
  1214  //   * ThrottlingException
  1215  //   Your request rate is too high. Reduce the frequency of requests.
  1216  //
  1217  //   * ValidationException
  1218  //   One of the input parameters in your request isn't valid. Check the parameters
  1219  //   and try your request again.
  1220  //
  1221  //   * ResourceNotFoundException
  1222  //   You asked to describe a resource that doesn't exist. Check the resource that
  1223  //   you are requesting and try again.
  1224  //
  1225  //   * ConflictException
  1226  //   The action that you tried to perform couldn't be completed because the resource
  1227  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1228  //   state. Try your request again.
  1229  //
  1230  //   * InternalServerException
  1231  //   The service encountered an unexpected condition. Try your request again.
  1232  //
  1233  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateUploadUrl
  1234  func (c *LexModelsV2) CreateUploadUrl(input *CreateUploadUrlInput) (*CreateUploadUrlOutput, error) {
  1235  	req, out := c.CreateUploadUrlRequest(input)
  1236  	return out, req.Send()
  1237  }
  1238  
  1239  // CreateUploadUrlWithContext is the same as CreateUploadUrl with the addition of
  1240  // the ability to pass a context and additional request options.
  1241  //
  1242  // See CreateUploadUrl for details on how to use this API operation.
  1243  //
  1244  // The context must be non-nil and will be used for request cancellation. If
  1245  // the context is nil a panic will occur. In the future the SDK may create
  1246  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1247  // for more information on using Contexts.
  1248  func (c *LexModelsV2) CreateUploadUrlWithContext(ctx aws.Context, input *CreateUploadUrlInput, opts ...request.Option) (*CreateUploadUrlOutput, error) {
  1249  	req, out := c.CreateUploadUrlRequest(input)
  1250  	req.SetContext(ctx)
  1251  	req.ApplyOptions(opts...)
  1252  	return out, req.Send()
  1253  }
  1254  
  1255  const opDeleteBot = "DeleteBot"
  1256  
  1257  // DeleteBotRequest generates a "aws/request.Request" representing the
  1258  // client's request for the DeleteBot operation. The "output" return
  1259  // value will be populated with the request's response once the request completes
  1260  // successfully.
  1261  //
  1262  // Use "Send" method on the returned Request to send the API call to the service.
  1263  // the "output" return value is not valid until after Send returns without error.
  1264  //
  1265  // See DeleteBot for more information on using the DeleteBot
  1266  // API call, and error handling.
  1267  //
  1268  // This method is useful when you want to inject custom logic or configuration
  1269  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1270  //
  1271  //
  1272  //    // Example sending a request using the DeleteBotRequest method.
  1273  //    req, resp := client.DeleteBotRequest(params)
  1274  //
  1275  //    err := req.Send()
  1276  //    if err == nil { // resp is now filled
  1277  //        fmt.Println(resp)
  1278  //    }
  1279  //
  1280  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBot
  1281  func (c *LexModelsV2) DeleteBotRequest(input *DeleteBotInput) (req *request.Request, output *DeleteBotOutput) {
  1282  	op := &request.Operation{
  1283  		Name:       opDeleteBot,
  1284  		HTTPMethod: "DELETE",
  1285  		HTTPPath:   "/bots/{botId}/",
  1286  	}
  1287  
  1288  	if input == nil {
  1289  		input = &DeleteBotInput{}
  1290  	}
  1291  
  1292  	output = &DeleteBotOutput{}
  1293  	req = c.newRequest(op, input, output)
  1294  	return
  1295  }
  1296  
  1297  // DeleteBot API operation for Amazon Lex Model Building V2.
  1298  //
  1299  // Deletes all versions of a bot, including the Draft version. To delete a specific
  1300  // version, use the DeleteBotVersion operation.
  1301  //
  1302  // When you delete a bot, all of the resources contained in the bot are also
  1303  // deleted. Deleting a bot removes all locales, intents, slot, and slot types
  1304  // defined for the bot.
  1305  //
  1306  // If a bot has an alias, the DeleteBot operation returns a ResourceInUseException
  1307  // exception. If you want to delete the bot and the alias, set the skipResourceInUseCheck
  1308  // parameter to true.
  1309  //
  1310  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1311  // with awserr.Error's Code and Message methods to get detailed information about
  1312  // the error.
  1313  //
  1314  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1315  // API operation DeleteBot for usage and error information.
  1316  //
  1317  // Returned Error Types:
  1318  //   * ThrottlingException
  1319  //   Your request rate is too high. Reduce the frequency of requests.
  1320  //
  1321  //   * ServiceQuotaExceededException
  1322  //   You have reached a quota for your bot.
  1323  //
  1324  //   * ValidationException
  1325  //   One of the input parameters in your request isn't valid. Check the parameters
  1326  //   and try your request again.
  1327  //
  1328  //   * ConflictException
  1329  //   The action that you tried to perform couldn't be completed because the resource
  1330  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1331  //   state. Try your request again.
  1332  //
  1333  //   * PreconditionFailedException
  1334  //   Your request couldn't be completed because one or more request fields aren't
  1335  //   valid. Check the fields in your request and try again.
  1336  //
  1337  //   * InternalServerException
  1338  //   The service encountered an unexpected condition. Try your request again.
  1339  //
  1340  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBot
  1341  func (c *LexModelsV2) DeleteBot(input *DeleteBotInput) (*DeleteBotOutput, error) {
  1342  	req, out := c.DeleteBotRequest(input)
  1343  	return out, req.Send()
  1344  }
  1345  
  1346  // DeleteBotWithContext is the same as DeleteBot with the addition of
  1347  // the ability to pass a context and additional request options.
  1348  //
  1349  // See DeleteBot for details on how to use this API operation.
  1350  //
  1351  // The context must be non-nil and will be used for request cancellation. If
  1352  // the context is nil a panic will occur. In the future the SDK may create
  1353  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1354  // for more information on using Contexts.
  1355  func (c *LexModelsV2) DeleteBotWithContext(ctx aws.Context, input *DeleteBotInput, opts ...request.Option) (*DeleteBotOutput, error) {
  1356  	req, out := c.DeleteBotRequest(input)
  1357  	req.SetContext(ctx)
  1358  	req.ApplyOptions(opts...)
  1359  	return out, req.Send()
  1360  }
  1361  
  1362  const opDeleteBotAlias = "DeleteBotAlias"
  1363  
  1364  // DeleteBotAliasRequest generates a "aws/request.Request" representing the
  1365  // client's request for the DeleteBotAlias operation. The "output" return
  1366  // value will be populated with the request's response once the request completes
  1367  // successfully.
  1368  //
  1369  // Use "Send" method on the returned Request to send the API call to the service.
  1370  // the "output" return value is not valid until after Send returns without error.
  1371  //
  1372  // See DeleteBotAlias for more information on using the DeleteBotAlias
  1373  // API call, and error handling.
  1374  //
  1375  // This method is useful when you want to inject custom logic or configuration
  1376  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1377  //
  1378  //
  1379  //    // Example sending a request using the DeleteBotAliasRequest method.
  1380  //    req, resp := client.DeleteBotAliasRequest(params)
  1381  //
  1382  //    err := req.Send()
  1383  //    if err == nil { // resp is now filled
  1384  //        fmt.Println(resp)
  1385  //    }
  1386  //
  1387  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotAlias
  1388  func (c *LexModelsV2) DeleteBotAliasRequest(input *DeleteBotAliasInput) (req *request.Request, output *DeleteBotAliasOutput) {
  1389  	op := &request.Operation{
  1390  		Name:       opDeleteBotAlias,
  1391  		HTTPMethod: "DELETE",
  1392  		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
  1393  	}
  1394  
  1395  	if input == nil {
  1396  		input = &DeleteBotAliasInput{}
  1397  	}
  1398  
  1399  	output = &DeleteBotAliasOutput{}
  1400  	req = c.newRequest(op, input, output)
  1401  	return
  1402  }
  1403  
  1404  // DeleteBotAlias API operation for Amazon Lex Model Building V2.
  1405  //
  1406  // Deletes the specified bot alias.
  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 Lex Model Building V2's
  1413  // API operation DeleteBotAlias for usage and error information.
  1414  //
  1415  // Returned Error Types:
  1416  //   * ThrottlingException
  1417  //   Your request rate is too high. Reduce the frequency of requests.
  1418  //
  1419  //   * ServiceQuotaExceededException
  1420  //   You have reached a quota for your bot.
  1421  //
  1422  //   * ValidationException
  1423  //   One of the input parameters in your request isn't valid. Check the parameters
  1424  //   and try your request again.
  1425  //
  1426  //   * ConflictException
  1427  //   The action that you tried to perform couldn't be completed because the resource
  1428  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1429  //   state. Try your request again.
  1430  //
  1431  //   * PreconditionFailedException
  1432  //   Your request couldn't be completed because one or more request fields aren't
  1433  //   valid. Check the fields in your request and try again.
  1434  //
  1435  //   * InternalServerException
  1436  //   The service encountered an unexpected condition. Try your request again.
  1437  //
  1438  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotAlias
  1439  func (c *LexModelsV2) DeleteBotAlias(input *DeleteBotAliasInput) (*DeleteBotAliasOutput, error) {
  1440  	req, out := c.DeleteBotAliasRequest(input)
  1441  	return out, req.Send()
  1442  }
  1443  
  1444  // DeleteBotAliasWithContext is the same as DeleteBotAlias with the addition of
  1445  // the ability to pass a context and additional request options.
  1446  //
  1447  // See DeleteBotAlias for details on how to use this API operation.
  1448  //
  1449  // The context must be non-nil and will be used for request cancellation. If
  1450  // the context is nil a panic will occur. In the future the SDK may create
  1451  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1452  // for more information on using Contexts.
  1453  func (c *LexModelsV2) DeleteBotAliasWithContext(ctx aws.Context, input *DeleteBotAliasInput, opts ...request.Option) (*DeleteBotAliasOutput, error) {
  1454  	req, out := c.DeleteBotAliasRequest(input)
  1455  	req.SetContext(ctx)
  1456  	req.ApplyOptions(opts...)
  1457  	return out, req.Send()
  1458  }
  1459  
  1460  const opDeleteBotLocale = "DeleteBotLocale"
  1461  
  1462  // DeleteBotLocaleRequest generates a "aws/request.Request" representing the
  1463  // client's request for the DeleteBotLocale operation. The "output" return
  1464  // value will be populated with the request's response once the request completes
  1465  // successfully.
  1466  //
  1467  // Use "Send" method on the returned Request to send the API call to the service.
  1468  // the "output" return value is not valid until after Send returns without error.
  1469  //
  1470  // See DeleteBotLocale for more information on using the DeleteBotLocale
  1471  // API call, and error handling.
  1472  //
  1473  // This method is useful when you want to inject custom logic or configuration
  1474  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1475  //
  1476  //
  1477  //    // Example sending a request using the DeleteBotLocaleRequest method.
  1478  //    req, resp := client.DeleteBotLocaleRequest(params)
  1479  //
  1480  //    err := req.Send()
  1481  //    if err == nil { // resp is now filled
  1482  //        fmt.Println(resp)
  1483  //    }
  1484  //
  1485  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotLocale
  1486  func (c *LexModelsV2) DeleteBotLocaleRequest(input *DeleteBotLocaleInput) (req *request.Request, output *DeleteBotLocaleOutput) {
  1487  	op := &request.Operation{
  1488  		Name:       opDeleteBotLocale,
  1489  		HTTPMethod: "DELETE",
  1490  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
  1491  	}
  1492  
  1493  	if input == nil {
  1494  		input = &DeleteBotLocaleInput{}
  1495  	}
  1496  
  1497  	output = &DeleteBotLocaleOutput{}
  1498  	req = c.newRequest(op, input, output)
  1499  	return
  1500  }
  1501  
  1502  // DeleteBotLocale API operation for Amazon Lex Model Building V2.
  1503  //
  1504  // Removes a locale from a bot.
  1505  //
  1506  // When you delete a locale, all intents, slots, and slot types defined for
  1507  // the locale are also deleted.
  1508  //
  1509  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1510  // with awserr.Error's Code and Message methods to get detailed information about
  1511  // the error.
  1512  //
  1513  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1514  // API operation DeleteBotLocale for usage and error information.
  1515  //
  1516  // Returned Error Types:
  1517  //   * ThrottlingException
  1518  //   Your request rate is too high. Reduce the frequency of requests.
  1519  //
  1520  //   * ServiceQuotaExceededException
  1521  //   You have reached a quota for your bot.
  1522  //
  1523  //   * ValidationException
  1524  //   One of the input parameters in your request isn't valid. Check the parameters
  1525  //   and try your request again.
  1526  //
  1527  //   * PreconditionFailedException
  1528  //   Your request couldn't be completed because one or more request fields aren't
  1529  //   valid. Check the fields in your request and try again.
  1530  //
  1531  //   * ConflictException
  1532  //   The action that you tried to perform couldn't be completed because the resource
  1533  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1534  //   state. Try your request again.
  1535  //
  1536  //   * InternalServerException
  1537  //   The service encountered an unexpected condition. Try your request again.
  1538  //
  1539  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotLocale
  1540  func (c *LexModelsV2) DeleteBotLocale(input *DeleteBotLocaleInput) (*DeleteBotLocaleOutput, error) {
  1541  	req, out := c.DeleteBotLocaleRequest(input)
  1542  	return out, req.Send()
  1543  }
  1544  
  1545  // DeleteBotLocaleWithContext is the same as DeleteBotLocale with the addition of
  1546  // the ability to pass a context and additional request options.
  1547  //
  1548  // See DeleteBotLocale for details on how to use this API operation.
  1549  //
  1550  // The context must be non-nil and will be used for request cancellation. If
  1551  // the context is nil a panic will occur. In the future the SDK may create
  1552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1553  // for more information on using Contexts.
  1554  func (c *LexModelsV2) DeleteBotLocaleWithContext(ctx aws.Context, input *DeleteBotLocaleInput, opts ...request.Option) (*DeleteBotLocaleOutput, error) {
  1555  	req, out := c.DeleteBotLocaleRequest(input)
  1556  	req.SetContext(ctx)
  1557  	req.ApplyOptions(opts...)
  1558  	return out, req.Send()
  1559  }
  1560  
  1561  const opDeleteBotVersion = "DeleteBotVersion"
  1562  
  1563  // DeleteBotVersionRequest generates a "aws/request.Request" representing the
  1564  // client's request for the DeleteBotVersion operation. The "output" return
  1565  // value will be populated with the request's response once the request completes
  1566  // successfully.
  1567  //
  1568  // Use "Send" method on the returned Request to send the API call to the service.
  1569  // the "output" return value is not valid until after Send returns without error.
  1570  //
  1571  // See DeleteBotVersion for more information on using the DeleteBotVersion
  1572  // API call, and error handling.
  1573  //
  1574  // This method is useful when you want to inject custom logic or configuration
  1575  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1576  //
  1577  //
  1578  //    // Example sending a request using the DeleteBotVersionRequest method.
  1579  //    req, resp := client.DeleteBotVersionRequest(params)
  1580  //
  1581  //    err := req.Send()
  1582  //    if err == nil { // resp is now filled
  1583  //        fmt.Println(resp)
  1584  //    }
  1585  //
  1586  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotVersion
  1587  func (c *LexModelsV2) DeleteBotVersionRequest(input *DeleteBotVersionInput) (req *request.Request, output *DeleteBotVersionOutput) {
  1588  	op := &request.Operation{
  1589  		Name:       opDeleteBotVersion,
  1590  		HTTPMethod: "DELETE",
  1591  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/",
  1592  	}
  1593  
  1594  	if input == nil {
  1595  		input = &DeleteBotVersionInput{}
  1596  	}
  1597  
  1598  	output = &DeleteBotVersionOutput{}
  1599  	req = c.newRequest(op, input, output)
  1600  	return
  1601  }
  1602  
  1603  // DeleteBotVersion API operation for Amazon Lex Model Building V2.
  1604  //
  1605  // Deletes a specific version of a bot. To delete all version of a bot, use
  1606  // the DeleteBot operation.
  1607  //
  1608  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1609  // with awserr.Error's Code and Message methods to get detailed information about
  1610  // the error.
  1611  //
  1612  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1613  // API operation DeleteBotVersion for usage and error information.
  1614  //
  1615  // Returned Error Types:
  1616  //   * ThrottlingException
  1617  //   Your request rate is too high. Reduce the frequency of requests.
  1618  //
  1619  //   * ServiceQuotaExceededException
  1620  //   You have reached a quota for your bot.
  1621  //
  1622  //   * ValidationException
  1623  //   One of the input parameters in your request isn't valid. Check the parameters
  1624  //   and try your request again.
  1625  //
  1626  //   * ConflictException
  1627  //   The action that you tried to perform couldn't be completed because the resource
  1628  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1629  //   state. Try your request again.
  1630  //
  1631  //   * PreconditionFailedException
  1632  //   Your request couldn't be completed because one or more request fields aren't
  1633  //   valid. Check the fields in your request and try again.
  1634  //
  1635  //   * InternalServerException
  1636  //   The service encountered an unexpected condition. Try your request again.
  1637  //
  1638  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotVersion
  1639  func (c *LexModelsV2) DeleteBotVersion(input *DeleteBotVersionInput) (*DeleteBotVersionOutput, error) {
  1640  	req, out := c.DeleteBotVersionRequest(input)
  1641  	return out, req.Send()
  1642  }
  1643  
  1644  // DeleteBotVersionWithContext is the same as DeleteBotVersion with the addition of
  1645  // the ability to pass a context and additional request options.
  1646  //
  1647  // See DeleteBotVersion for details on how to use this API operation.
  1648  //
  1649  // The context must be non-nil and will be used for request cancellation. If
  1650  // the context is nil a panic will occur. In the future the SDK may create
  1651  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1652  // for more information on using Contexts.
  1653  func (c *LexModelsV2) DeleteBotVersionWithContext(ctx aws.Context, input *DeleteBotVersionInput, opts ...request.Option) (*DeleteBotVersionOutput, error) {
  1654  	req, out := c.DeleteBotVersionRequest(input)
  1655  	req.SetContext(ctx)
  1656  	req.ApplyOptions(opts...)
  1657  	return out, req.Send()
  1658  }
  1659  
  1660  const opDeleteExport = "DeleteExport"
  1661  
  1662  // DeleteExportRequest generates a "aws/request.Request" representing the
  1663  // client's request for the DeleteExport operation. The "output" return
  1664  // value will be populated with the request's response once the request completes
  1665  // successfully.
  1666  //
  1667  // Use "Send" method on the returned Request to send the API call to the service.
  1668  // the "output" return value is not valid until after Send returns without error.
  1669  //
  1670  // See DeleteExport for more information on using the DeleteExport
  1671  // API call, and error handling.
  1672  //
  1673  // This method is useful when you want to inject custom logic or configuration
  1674  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1675  //
  1676  //
  1677  //    // Example sending a request using the DeleteExportRequest method.
  1678  //    req, resp := client.DeleteExportRequest(params)
  1679  //
  1680  //    err := req.Send()
  1681  //    if err == nil { // resp is now filled
  1682  //        fmt.Println(resp)
  1683  //    }
  1684  //
  1685  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteExport
  1686  func (c *LexModelsV2) DeleteExportRequest(input *DeleteExportInput) (req *request.Request, output *DeleteExportOutput) {
  1687  	op := &request.Operation{
  1688  		Name:       opDeleteExport,
  1689  		HTTPMethod: "DELETE",
  1690  		HTTPPath:   "/exports/{exportId}/",
  1691  	}
  1692  
  1693  	if input == nil {
  1694  		input = &DeleteExportInput{}
  1695  	}
  1696  
  1697  	output = &DeleteExportOutput{}
  1698  	req = c.newRequest(op, input, output)
  1699  	return
  1700  }
  1701  
  1702  // DeleteExport API operation for Amazon Lex Model Building V2.
  1703  //
  1704  // Removes a previous export and the associated files stored in an S3 bucket.
  1705  //
  1706  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1707  // with awserr.Error's Code and Message methods to get detailed information about
  1708  // the error.
  1709  //
  1710  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1711  // API operation DeleteExport for usage and error information.
  1712  //
  1713  // Returned Error Types:
  1714  //   * ThrottlingException
  1715  //   Your request rate is too high. Reduce the frequency of requests.
  1716  //
  1717  //   * ServiceQuotaExceededException
  1718  //   You have reached a quota for your bot.
  1719  //
  1720  //   * ValidationException
  1721  //   One of the input parameters in your request isn't valid. Check the parameters
  1722  //   and try your request again.
  1723  //
  1724  //   * PreconditionFailedException
  1725  //   Your request couldn't be completed because one or more request fields aren't
  1726  //   valid. Check the fields in your request and try again.
  1727  //
  1728  //   * InternalServerException
  1729  //   The service encountered an unexpected condition. Try your request again.
  1730  //
  1731  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteExport
  1732  func (c *LexModelsV2) DeleteExport(input *DeleteExportInput) (*DeleteExportOutput, error) {
  1733  	req, out := c.DeleteExportRequest(input)
  1734  	return out, req.Send()
  1735  }
  1736  
  1737  // DeleteExportWithContext is the same as DeleteExport with the addition of
  1738  // the ability to pass a context and additional request options.
  1739  //
  1740  // See DeleteExport for details on how to use this API operation.
  1741  //
  1742  // The context must be non-nil and will be used for request cancellation. If
  1743  // the context is nil a panic will occur. In the future the SDK may create
  1744  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1745  // for more information on using Contexts.
  1746  func (c *LexModelsV2) DeleteExportWithContext(ctx aws.Context, input *DeleteExportInput, opts ...request.Option) (*DeleteExportOutput, error) {
  1747  	req, out := c.DeleteExportRequest(input)
  1748  	req.SetContext(ctx)
  1749  	req.ApplyOptions(opts...)
  1750  	return out, req.Send()
  1751  }
  1752  
  1753  const opDeleteImport = "DeleteImport"
  1754  
  1755  // DeleteImportRequest generates a "aws/request.Request" representing the
  1756  // client's request for the DeleteImport operation. The "output" return
  1757  // value will be populated with the request's response once the request completes
  1758  // successfully.
  1759  //
  1760  // Use "Send" method on the returned Request to send the API call to the service.
  1761  // the "output" return value is not valid until after Send returns without error.
  1762  //
  1763  // See DeleteImport for more information on using the DeleteImport
  1764  // API call, and error handling.
  1765  //
  1766  // This method is useful when you want to inject custom logic or configuration
  1767  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1768  //
  1769  //
  1770  //    // Example sending a request using the DeleteImportRequest method.
  1771  //    req, resp := client.DeleteImportRequest(params)
  1772  //
  1773  //    err := req.Send()
  1774  //    if err == nil { // resp is now filled
  1775  //        fmt.Println(resp)
  1776  //    }
  1777  //
  1778  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteImport
  1779  func (c *LexModelsV2) DeleteImportRequest(input *DeleteImportInput) (req *request.Request, output *DeleteImportOutput) {
  1780  	op := &request.Operation{
  1781  		Name:       opDeleteImport,
  1782  		HTTPMethod: "DELETE",
  1783  		HTTPPath:   "/imports/{importId}/",
  1784  	}
  1785  
  1786  	if input == nil {
  1787  		input = &DeleteImportInput{}
  1788  	}
  1789  
  1790  	output = &DeleteImportOutput{}
  1791  	req = c.newRequest(op, input, output)
  1792  	return
  1793  }
  1794  
  1795  // DeleteImport API operation for Amazon Lex Model Building V2.
  1796  //
  1797  // Removes a previous import and the associated file stored in an S3 bucket.
  1798  //
  1799  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1800  // with awserr.Error's Code and Message methods to get detailed information about
  1801  // the error.
  1802  //
  1803  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1804  // API operation DeleteImport for usage and error information.
  1805  //
  1806  // Returned Error Types:
  1807  //   * ThrottlingException
  1808  //   Your request rate is too high. Reduce the frequency of requests.
  1809  //
  1810  //   * ServiceQuotaExceededException
  1811  //   You have reached a quota for your bot.
  1812  //
  1813  //   * ValidationException
  1814  //   One of the input parameters in your request isn't valid. Check the parameters
  1815  //   and try your request again.
  1816  //
  1817  //   * PreconditionFailedException
  1818  //   Your request couldn't be completed because one or more request fields aren't
  1819  //   valid. Check the fields in your request and try again.
  1820  //
  1821  //   * InternalServerException
  1822  //   The service encountered an unexpected condition. Try your request again.
  1823  //
  1824  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteImport
  1825  func (c *LexModelsV2) DeleteImport(input *DeleteImportInput) (*DeleteImportOutput, error) {
  1826  	req, out := c.DeleteImportRequest(input)
  1827  	return out, req.Send()
  1828  }
  1829  
  1830  // DeleteImportWithContext is the same as DeleteImport with the addition of
  1831  // the ability to pass a context and additional request options.
  1832  //
  1833  // See DeleteImport for details on how to use this API operation.
  1834  //
  1835  // The context must be non-nil and will be used for request cancellation. If
  1836  // the context is nil a panic will occur. In the future the SDK may create
  1837  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1838  // for more information on using Contexts.
  1839  func (c *LexModelsV2) DeleteImportWithContext(ctx aws.Context, input *DeleteImportInput, opts ...request.Option) (*DeleteImportOutput, error) {
  1840  	req, out := c.DeleteImportRequest(input)
  1841  	req.SetContext(ctx)
  1842  	req.ApplyOptions(opts...)
  1843  	return out, req.Send()
  1844  }
  1845  
  1846  const opDeleteIntent = "DeleteIntent"
  1847  
  1848  // DeleteIntentRequest generates a "aws/request.Request" representing the
  1849  // client's request for the DeleteIntent operation. The "output" return
  1850  // value will be populated with the request's response once the request completes
  1851  // successfully.
  1852  //
  1853  // Use "Send" method on the returned Request to send the API call to the service.
  1854  // the "output" return value is not valid until after Send returns without error.
  1855  //
  1856  // See DeleteIntent for more information on using the DeleteIntent
  1857  // API call, and error handling.
  1858  //
  1859  // This method is useful when you want to inject custom logic or configuration
  1860  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1861  //
  1862  //
  1863  //    // Example sending a request using the DeleteIntentRequest method.
  1864  //    req, resp := client.DeleteIntentRequest(params)
  1865  //
  1866  //    err := req.Send()
  1867  //    if err == nil { // resp is now filled
  1868  //        fmt.Println(resp)
  1869  //    }
  1870  //
  1871  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteIntent
  1872  func (c *LexModelsV2) DeleteIntentRequest(input *DeleteIntentInput) (req *request.Request, output *DeleteIntentOutput) {
  1873  	op := &request.Operation{
  1874  		Name:       opDeleteIntent,
  1875  		HTTPMethod: "DELETE",
  1876  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
  1877  	}
  1878  
  1879  	if input == nil {
  1880  		input = &DeleteIntentInput{}
  1881  	}
  1882  
  1883  	output = &DeleteIntentOutput{}
  1884  	req = c.newRequest(op, input, output)
  1885  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1886  	return
  1887  }
  1888  
  1889  // DeleteIntent API operation for Amazon Lex Model Building V2.
  1890  //
  1891  // Removes the specified intent.
  1892  //
  1893  // Deleting an intent also deletes the slots associated with the intent.
  1894  //
  1895  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1896  // with awserr.Error's Code and Message methods to get detailed information about
  1897  // the error.
  1898  //
  1899  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1900  // API operation DeleteIntent for usage and error information.
  1901  //
  1902  // Returned Error Types:
  1903  //   * ThrottlingException
  1904  //   Your request rate is too high. Reduce the frequency of requests.
  1905  //
  1906  //   * ServiceQuotaExceededException
  1907  //   You have reached a quota for your bot.
  1908  //
  1909  //   * ValidationException
  1910  //   One of the input parameters in your request isn't valid. Check the parameters
  1911  //   and try your request again.
  1912  //
  1913  //   * ConflictException
  1914  //   The action that you tried to perform couldn't be completed because the resource
  1915  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  1916  //   state. Try your request again.
  1917  //
  1918  //   * PreconditionFailedException
  1919  //   Your request couldn't be completed because one or more request fields aren't
  1920  //   valid. Check the fields in your request and try again.
  1921  //
  1922  //   * InternalServerException
  1923  //   The service encountered an unexpected condition. Try your request again.
  1924  //
  1925  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteIntent
  1926  func (c *LexModelsV2) DeleteIntent(input *DeleteIntentInput) (*DeleteIntentOutput, error) {
  1927  	req, out := c.DeleteIntentRequest(input)
  1928  	return out, req.Send()
  1929  }
  1930  
  1931  // DeleteIntentWithContext is the same as DeleteIntent with the addition of
  1932  // the ability to pass a context and additional request options.
  1933  //
  1934  // See DeleteIntent for details on how to use this API operation.
  1935  //
  1936  // The context must be non-nil and will be used for request cancellation. If
  1937  // the context is nil a panic will occur. In the future the SDK may create
  1938  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1939  // for more information on using Contexts.
  1940  func (c *LexModelsV2) DeleteIntentWithContext(ctx aws.Context, input *DeleteIntentInput, opts ...request.Option) (*DeleteIntentOutput, error) {
  1941  	req, out := c.DeleteIntentRequest(input)
  1942  	req.SetContext(ctx)
  1943  	req.ApplyOptions(opts...)
  1944  	return out, req.Send()
  1945  }
  1946  
  1947  const opDeleteResourcePolicy = "DeleteResourcePolicy"
  1948  
  1949  // DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
  1950  // client's request for the DeleteResourcePolicy operation. The "output" return
  1951  // value will be populated with the request's response once the request completes
  1952  // successfully.
  1953  //
  1954  // Use "Send" method on the returned Request to send the API call to the service.
  1955  // the "output" return value is not valid until after Send returns without error.
  1956  //
  1957  // See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
  1958  // API call, and error handling.
  1959  //
  1960  // This method is useful when you want to inject custom logic or configuration
  1961  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1962  //
  1963  //
  1964  //    // Example sending a request using the DeleteResourcePolicyRequest method.
  1965  //    req, resp := client.DeleteResourcePolicyRequest(params)
  1966  //
  1967  //    err := req.Send()
  1968  //    if err == nil { // resp is now filled
  1969  //        fmt.Println(resp)
  1970  //    }
  1971  //
  1972  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicy
  1973  func (c *LexModelsV2) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
  1974  	op := &request.Operation{
  1975  		Name:       opDeleteResourcePolicy,
  1976  		HTTPMethod: "DELETE",
  1977  		HTTPPath:   "/policy/{resourceArn}/",
  1978  	}
  1979  
  1980  	if input == nil {
  1981  		input = &DeleteResourcePolicyInput{}
  1982  	}
  1983  
  1984  	output = &DeleteResourcePolicyOutput{}
  1985  	req = c.newRequest(op, input, output)
  1986  	return
  1987  }
  1988  
  1989  // DeleteResourcePolicy API operation for Amazon Lex Model Building V2.
  1990  //
  1991  // Removes an existing policy from a bot or bot alias. If the resource doesn't
  1992  // have a policy attached, Amazon Lex returns an exception.
  1993  //
  1994  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1995  // with awserr.Error's Code and Message methods to get detailed information about
  1996  // the error.
  1997  //
  1998  // See the AWS API reference guide for Amazon Lex Model Building V2's
  1999  // API operation DeleteResourcePolicy for usage and error information.
  2000  //
  2001  // Returned Error Types:
  2002  //   * ResourceNotFoundException
  2003  //   You asked to describe a resource that doesn't exist. Check the resource that
  2004  //   you are requesting and try again.
  2005  //
  2006  //   * PreconditionFailedException
  2007  //   Your request couldn't be completed because one or more request fields aren't
  2008  //   valid. Check the fields in your request and try again.
  2009  //
  2010  //   * InternalServerException
  2011  //   The service encountered an unexpected condition. Try your request again.
  2012  //
  2013  //   * ThrottlingException
  2014  //   Your request rate is too high. Reduce the frequency of requests.
  2015  //
  2016  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicy
  2017  func (c *LexModelsV2) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
  2018  	req, out := c.DeleteResourcePolicyRequest(input)
  2019  	return out, req.Send()
  2020  }
  2021  
  2022  // DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
  2023  // the ability to pass a context and additional request options.
  2024  //
  2025  // See DeleteResourcePolicy for details on how to use this API operation.
  2026  //
  2027  // The context must be non-nil and will be used for request cancellation. If
  2028  // the context is nil a panic will occur. In the future the SDK may create
  2029  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2030  // for more information on using Contexts.
  2031  func (c *LexModelsV2) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
  2032  	req, out := c.DeleteResourcePolicyRequest(input)
  2033  	req.SetContext(ctx)
  2034  	req.ApplyOptions(opts...)
  2035  	return out, req.Send()
  2036  }
  2037  
  2038  const opDeleteResourcePolicyStatement = "DeleteResourcePolicyStatement"
  2039  
  2040  // DeleteResourcePolicyStatementRequest generates a "aws/request.Request" representing the
  2041  // client's request for the DeleteResourcePolicyStatement operation. The "output" return
  2042  // value will be populated with the request's response once the request completes
  2043  // successfully.
  2044  //
  2045  // Use "Send" method on the returned Request to send the API call to the service.
  2046  // the "output" return value is not valid until after Send returns without error.
  2047  //
  2048  // See DeleteResourcePolicyStatement for more information on using the DeleteResourcePolicyStatement
  2049  // API call, and error handling.
  2050  //
  2051  // This method is useful when you want to inject custom logic or configuration
  2052  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2053  //
  2054  //
  2055  //    // Example sending a request using the DeleteResourcePolicyStatementRequest method.
  2056  //    req, resp := client.DeleteResourcePolicyStatementRequest(params)
  2057  //
  2058  //    err := req.Send()
  2059  //    if err == nil { // resp is now filled
  2060  //        fmt.Println(resp)
  2061  //    }
  2062  //
  2063  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyStatement
  2064  func (c *LexModelsV2) DeleteResourcePolicyStatementRequest(input *DeleteResourcePolicyStatementInput) (req *request.Request, output *DeleteResourcePolicyStatementOutput) {
  2065  	op := &request.Operation{
  2066  		Name:       opDeleteResourcePolicyStatement,
  2067  		HTTPMethod: "DELETE",
  2068  		HTTPPath:   "/policy/{resourceArn}/statements/{statementId}/",
  2069  	}
  2070  
  2071  	if input == nil {
  2072  		input = &DeleteResourcePolicyStatementInput{}
  2073  	}
  2074  
  2075  	output = &DeleteResourcePolicyStatementOutput{}
  2076  	req = c.newRequest(op, input, output)
  2077  	return
  2078  }
  2079  
  2080  // DeleteResourcePolicyStatement API operation for Amazon Lex Model Building V2.
  2081  //
  2082  // Deletes a policy statement from a resource policy. If you delete the last
  2083  // statement from a policy, the policy is deleted. If you specify a statement
  2084  // ID that doesn't exist in the policy, or if the bot or bot alias doesn't have
  2085  // a policy attached, Amazon Lex returns an exception.
  2086  //
  2087  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2088  // with awserr.Error's Code and Message methods to get detailed information about
  2089  // the error.
  2090  //
  2091  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2092  // API operation DeleteResourcePolicyStatement for usage and error information.
  2093  //
  2094  // Returned Error Types:
  2095  //   * ResourceNotFoundException
  2096  //   You asked to describe a resource that doesn't exist. Check the resource that
  2097  //   you are requesting and try again.
  2098  //
  2099  //   * PreconditionFailedException
  2100  //   Your request couldn't be completed because one or more request fields aren't
  2101  //   valid. Check the fields in your request and try again.
  2102  //
  2103  //   * InternalServerException
  2104  //   The service encountered an unexpected condition. Try your request again.
  2105  //
  2106  //   * ThrottlingException
  2107  //   Your request rate is too high. Reduce the frequency of requests.
  2108  //
  2109  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyStatement
  2110  func (c *LexModelsV2) DeleteResourcePolicyStatement(input *DeleteResourcePolicyStatementInput) (*DeleteResourcePolicyStatementOutput, error) {
  2111  	req, out := c.DeleteResourcePolicyStatementRequest(input)
  2112  	return out, req.Send()
  2113  }
  2114  
  2115  // DeleteResourcePolicyStatementWithContext is the same as DeleteResourcePolicyStatement with the addition of
  2116  // the ability to pass a context and additional request options.
  2117  //
  2118  // See DeleteResourcePolicyStatement for details on how to use this API operation.
  2119  //
  2120  // The context must be non-nil and will be used for request cancellation. If
  2121  // the context is nil a panic will occur. In the future the SDK may create
  2122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2123  // for more information on using Contexts.
  2124  func (c *LexModelsV2) DeleteResourcePolicyStatementWithContext(ctx aws.Context, input *DeleteResourcePolicyStatementInput, opts ...request.Option) (*DeleteResourcePolicyStatementOutput, error) {
  2125  	req, out := c.DeleteResourcePolicyStatementRequest(input)
  2126  	req.SetContext(ctx)
  2127  	req.ApplyOptions(opts...)
  2128  	return out, req.Send()
  2129  }
  2130  
  2131  const opDeleteSlot = "DeleteSlot"
  2132  
  2133  // DeleteSlotRequest generates a "aws/request.Request" representing the
  2134  // client's request for the DeleteSlot operation. The "output" return
  2135  // value will be populated with the request's response once the request completes
  2136  // successfully.
  2137  //
  2138  // Use "Send" method on the returned Request to send the API call to the service.
  2139  // the "output" return value is not valid until after Send returns without error.
  2140  //
  2141  // See DeleteSlot for more information on using the DeleteSlot
  2142  // API call, and error handling.
  2143  //
  2144  // This method is useful when you want to inject custom logic or configuration
  2145  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2146  //
  2147  //
  2148  //    // Example sending a request using the DeleteSlotRequest method.
  2149  //    req, resp := client.DeleteSlotRequest(params)
  2150  //
  2151  //    err := req.Send()
  2152  //    if err == nil { // resp is now filled
  2153  //        fmt.Println(resp)
  2154  //    }
  2155  //
  2156  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlot
  2157  func (c *LexModelsV2) DeleteSlotRequest(input *DeleteSlotInput) (req *request.Request, output *DeleteSlotOutput) {
  2158  	op := &request.Operation{
  2159  		Name:       opDeleteSlot,
  2160  		HTTPMethod: "DELETE",
  2161  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
  2162  	}
  2163  
  2164  	if input == nil {
  2165  		input = &DeleteSlotInput{}
  2166  	}
  2167  
  2168  	output = &DeleteSlotOutput{}
  2169  	req = c.newRequest(op, input, output)
  2170  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2171  	return
  2172  }
  2173  
  2174  // DeleteSlot API operation for Amazon Lex Model Building V2.
  2175  //
  2176  // Deletes the specified slot from an intent.
  2177  //
  2178  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2179  // with awserr.Error's Code and Message methods to get detailed information about
  2180  // the error.
  2181  //
  2182  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2183  // API operation DeleteSlot for usage and error information.
  2184  //
  2185  // Returned Error Types:
  2186  //   * ThrottlingException
  2187  //   Your request rate is too high. Reduce the frequency of requests.
  2188  //
  2189  //   * ServiceQuotaExceededException
  2190  //   You have reached a quota for your bot.
  2191  //
  2192  //   * ValidationException
  2193  //   One of the input parameters in your request isn't valid. Check the parameters
  2194  //   and try your request again.
  2195  //
  2196  //   * ConflictException
  2197  //   The action that you tried to perform couldn't be completed because the resource
  2198  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  2199  //   state. Try your request again.
  2200  //
  2201  //   * PreconditionFailedException
  2202  //   Your request couldn't be completed because one or more request fields aren't
  2203  //   valid. Check the fields in your request and try again.
  2204  //
  2205  //   * InternalServerException
  2206  //   The service encountered an unexpected condition. Try your request again.
  2207  //
  2208  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlot
  2209  func (c *LexModelsV2) DeleteSlot(input *DeleteSlotInput) (*DeleteSlotOutput, error) {
  2210  	req, out := c.DeleteSlotRequest(input)
  2211  	return out, req.Send()
  2212  }
  2213  
  2214  // DeleteSlotWithContext is the same as DeleteSlot with the addition of
  2215  // the ability to pass a context and additional request options.
  2216  //
  2217  // See DeleteSlot for details on how to use this API operation.
  2218  //
  2219  // The context must be non-nil and will be used for request cancellation. If
  2220  // the context is nil a panic will occur. In the future the SDK may create
  2221  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2222  // for more information on using Contexts.
  2223  func (c *LexModelsV2) DeleteSlotWithContext(ctx aws.Context, input *DeleteSlotInput, opts ...request.Option) (*DeleteSlotOutput, error) {
  2224  	req, out := c.DeleteSlotRequest(input)
  2225  	req.SetContext(ctx)
  2226  	req.ApplyOptions(opts...)
  2227  	return out, req.Send()
  2228  }
  2229  
  2230  const opDeleteSlotType = "DeleteSlotType"
  2231  
  2232  // DeleteSlotTypeRequest generates a "aws/request.Request" representing the
  2233  // client's request for the DeleteSlotType operation. The "output" return
  2234  // value will be populated with the request's response once the request completes
  2235  // successfully.
  2236  //
  2237  // Use "Send" method on the returned Request to send the API call to the service.
  2238  // the "output" return value is not valid until after Send returns without error.
  2239  //
  2240  // See DeleteSlotType for more information on using the DeleteSlotType
  2241  // API call, and error handling.
  2242  //
  2243  // This method is useful when you want to inject custom logic or configuration
  2244  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2245  //
  2246  //
  2247  //    // Example sending a request using the DeleteSlotTypeRequest method.
  2248  //    req, resp := client.DeleteSlotTypeRequest(params)
  2249  //
  2250  //    err := req.Send()
  2251  //    if err == nil { // resp is now filled
  2252  //        fmt.Println(resp)
  2253  //    }
  2254  //
  2255  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlotType
  2256  func (c *LexModelsV2) DeleteSlotTypeRequest(input *DeleteSlotTypeInput) (req *request.Request, output *DeleteSlotTypeOutput) {
  2257  	op := &request.Operation{
  2258  		Name:       opDeleteSlotType,
  2259  		HTTPMethod: "DELETE",
  2260  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
  2261  	}
  2262  
  2263  	if input == nil {
  2264  		input = &DeleteSlotTypeInput{}
  2265  	}
  2266  
  2267  	output = &DeleteSlotTypeOutput{}
  2268  	req = c.newRequest(op, input, output)
  2269  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2270  	return
  2271  }
  2272  
  2273  // DeleteSlotType API operation for Amazon Lex Model Building V2.
  2274  //
  2275  // Deletes a slot type from a bot locale.
  2276  //
  2277  // If a slot is using the slot type, Amazon Lex throws a ResourceInUseException
  2278  // exception. To avoid the exception, set the skipResourceInUseCheck parameter
  2279  // to true.
  2280  //
  2281  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2282  // with awserr.Error's Code and Message methods to get detailed information about
  2283  // the error.
  2284  //
  2285  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2286  // API operation DeleteSlotType for usage and error information.
  2287  //
  2288  // Returned Error Types:
  2289  //   * ThrottlingException
  2290  //   Your request rate is too high. Reduce the frequency of requests.
  2291  //
  2292  //   * ServiceQuotaExceededException
  2293  //   You have reached a quota for your bot.
  2294  //
  2295  //   * ValidationException
  2296  //   One of the input parameters in your request isn't valid. Check the parameters
  2297  //   and try your request again.
  2298  //
  2299  //   * ConflictException
  2300  //   The action that you tried to perform couldn't be completed because the resource
  2301  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  2302  //   state. Try your request again.
  2303  //
  2304  //   * PreconditionFailedException
  2305  //   Your request couldn't be completed because one or more request fields aren't
  2306  //   valid. Check the fields in your request and try again.
  2307  //
  2308  //   * InternalServerException
  2309  //   The service encountered an unexpected condition. Try your request again.
  2310  //
  2311  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlotType
  2312  func (c *LexModelsV2) DeleteSlotType(input *DeleteSlotTypeInput) (*DeleteSlotTypeOutput, error) {
  2313  	req, out := c.DeleteSlotTypeRequest(input)
  2314  	return out, req.Send()
  2315  }
  2316  
  2317  // DeleteSlotTypeWithContext is the same as DeleteSlotType with the addition of
  2318  // the ability to pass a context and additional request options.
  2319  //
  2320  // See DeleteSlotType for details on how to use this API operation.
  2321  //
  2322  // The context must be non-nil and will be used for request cancellation. If
  2323  // the context is nil a panic will occur. In the future the SDK may create
  2324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2325  // for more information on using Contexts.
  2326  func (c *LexModelsV2) DeleteSlotTypeWithContext(ctx aws.Context, input *DeleteSlotTypeInput, opts ...request.Option) (*DeleteSlotTypeOutput, error) {
  2327  	req, out := c.DeleteSlotTypeRequest(input)
  2328  	req.SetContext(ctx)
  2329  	req.ApplyOptions(opts...)
  2330  	return out, req.Send()
  2331  }
  2332  
  2333  const opDeleteUtterances = "DeleteUtterances"
  2334  
  2335  // DeleteUtterancesRequest generates a "aws/request.Request" representing the
  2336  // client's request for the DeleteUtterances operation. The "output" return
  2337  // value will be populated with the request's response once the request completes
  2338  // successfully.
  2339  //
  2340  // Use "Send" method on the returned Request to send the API call to the service.
  2341  // the "output" return value is not valid until after Send returns without error.
  2342  //
  2343  // See DeleteUtterances for more information on using the DeleteUtterances
  2344  // API call, and error handling.
  2345  //
  2346  // This method is useful when you want to inject custom logic or configuration
  2347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2348  //
  2349  //
  2350  //    // Example sending a request using the DeleteUtterancesRequest method.
  2351  //    req, resp := client.DeleteUtterancesRequest(params)
  2352  //
  2353  //    err := req.Send()
  2354  //    if err == nil { // resp is now filled
  2355  //        fmt.Println(resp)
  2356  //    }
  2357  //
  2358  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteUtterances
  2359  func (c *LexModelsV2) DeleteUtterancesRequest(input *DeleteUtterancesInput) (req *request.Request, output *DeleteUtterancesOutput) {
  2360  	op := &request.Operation{
  2361  		Name:       opDeleteUtterances,
  2362  		HTTPMethod: "DELETE",
  2363  		HTTPPath:   "/bots/{botId}/utterances/",
  2364  	}
  2365  
  2366  	if input == nil {
  2367  		input = &DeleteUtterancesInput{}
  2368  	}
  2369  
  2370  	output = &DeleteUtterancesOutput{}
  2371  	req = c.newRequest(op, input, output)
  2372  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2373  	return
  2374  }
  2375  
  2376  // DeleteUtterances API operation for Amazon Lex Model Building V2.
  2377  //
  2378  // Deletes stored utterances.
  2379  //
  2380  // Amazon Lex stores the utterances that users send to your bot. Utterances
  2381  // are stored for 15 days for use with the operation, and then stored indefinitely
  2382  // for use in improving the ability of your bot to respond to user input..
  2383  //
  2384  // Use the DeleteUtterances operation to manually delete utterances for a specific
  2385  // session. When you use the DeleteUtterances operation, utterances stored for
  2386  // improving your bot's ability to respond to user input are deleted immediately.
  2387  // Utterances stored for use with the ListAggregatedUtterances operation are
  2388  // deleted after 15 days.
  2389  //
  2390  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2391  // with awserr.Error's Code and Message methods to get detailed information about
  2392  // the error.
  2393  //
  2394  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2395  // API operation DeleteUtterances for usage and error information.
  2396  //
  2397  // Returned Error Types:
  2398  //   * ValidationException
  2399  //   One of the input parameters in your request isn't valid. Check the parameters
  2400  //   and try your request again.
  2401  //
  2402  //   * ThrottlingException
  2403  //   Your request rate is too high. Reduce the frequency of requests.
  2404  //
  2405  //   * InternalServerException
  2406  //   The service encountered an unexpected condition. Try your request again.
  2407  //
  2408  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteUtterances
  2409  func (c *LexModelsV2) DeleteUtterances(input *DeleteUtterancesInput) (*DeleteUtterancesOutput, error) {
  2410  	req, out := c.DeleteUtterancesRequest(input)
  2411  	return out, req.Send()
  2412  }
  2413  
  2414  // DeleteUtterancesWithContext is the same as DeleteUtterances with the addition of
  2415  // the ability to pass a context and additional request options.
  2416  //
  2417  // See DeleteUtterances for details on how to use this API operation.
  2418  //
  2419  // The context must be non-nil and will be used for request cancellation. If
  2420  // the context is nil a panic will occur. In the future the SDK may create
  2421  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2422  // for more information on using Contexts.
  2423  func (c *LexModelsV2) DeleteUtterancesWithContext(ctx aws.Context, input *DeleteUtterancesInput, opts ...request.Option) (*DeleteUtterancesOutput, error) {
  2424  	req, out := c.DeleteUtterancesRequest(input)
  2425  	req.SetContext(ctx)
  2426  	req.ApplyOptions(opts...)
  2427  	return out, req.Send()
  2428  }
  2429  
  2430  const opDescribeBot = "DescribeBot"
  2431  
  2432  // DescribeBotRequest generates a "aws/request.Request" representing the
  2433  // client's request for the DescribeBot operation. The "output" return
  2434  // value will be populated with the request's response once the request completes
  2435  // successfully.
  2436  //
  2437  // Use "Send" method on the returned Request to send the API call to the service.
  2438  // the "output" return value is not valid until after Send returns without error.
  2439  //
  2440  // See DescribeBot for more information on using the DescribeBot
  2441  // API call, and error handling.
  2442  //
  2443  // This method is useful when you want to inject custom logic or configuration
  2444  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2445  //
  2446  //
  2447  //    // Example sending a request using the DescribeBotRequest method.
  2448  //    req, resp := client.DescribeBotRequest(params)
  2449  //
  2450  //    err := req.Send()
  2451  //    if err == nil { // resp is now filled
  2452  //        fmt.Println(resp)
  2453  //    }
  2454  //
  2455  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBot
  2456  func (c *LexModelsV2) DescribeBotRequest(input *DescribeBotInput) (req *request.Request, output *DescribeBotOutput) {
  2457  	op := &request.Operation{
  2458  		Name:       opDescribeBot,
  2459  		HTTPMethod: "GET",
  2460  		HTTPPath:   "/bots/{botId}/",
  2461  	}
  2462  
  2463  	if input == nil {
  2464  		input = &DescribeBotInput{}
  2465  	}
  2466  
  2467  	output = &DescribeBotOutput{}
  2468  	req = c.newRequest(op, input, output)
  2469  	return
  2470  }
  2471  
  2472  // DescribeBot API operation for Amazon Lex Model Building V2.
  2473  //
  2474  // Provides metadata information about a bot.
  2475  //
  2476  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2477  // with awserr.Error's Code and Message methods to get detailed information about
  2478  // the error.
  2479  //
  2480  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2481  // API operation DescribeBot for usage and error information.
  2482  //
  2483  // Returned Error Types:
  2484  //   * ThrottlingException
  2485  //   Your request rate is too high. Reduce the frequency of requests.
  2486  //
  2487  //   * ServiceQuotaExceededException
  2488  //   You have reached a quota for your bot.
  2489  //
  2490  //   * ValidationException
  2491  //   One of the input parameters in your request isn't valid. Check the parameters
  2492  //   and try your request again.
  2493  //
  2494  //   * ResourceNotFoundException
  2495  //   You asked to describe a resource that doesn't exist. Check the resource that
  2496  //   you are requesting and try again.
  2497  //
  2498  //   * InternalServerException
  2499  //   The service encountered an unexpected condition. Try your request again.
  2500  //
  2501  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBot
  2502  func (c *LexModelsV2) DescribeBot(input *DescribeBotInput) (*DescribeBotOutput, error) {
  2503  	req, out := c.DescribeBotRequest(input)
  2504  	return out, req.Send()
  2505  }
  2506  
  2507  // DescribeBotWithContext is the same as DescribeBot with the addition of
  2508  // the ability to pass a context and additional request options.
  2509  //
  2510  // See DescribeBot for details on how to use this API operation.
  2511  //
  2512  // The context must be non-nil and will be used for request cancellation. If
  2513  // the context is nil a panic will occur. In the future the SDK may create
  2514  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2515  // for more information on using Contexts.
  2516  func (c *LexModelsV2) DescribeBotWithContext(ctx aws.Context, input *DescribeBotInput, opts ...request.Option) (*DescribeBotOutput, error) {
  2517  	req, out := c.DescribeBotRequest(input)
  2518  	req.SetContext(ctx)
  2519  	req.ApplyOptions(opts...)
  2520  	return out, req.Send()
  2521  }
  2522  
  2523  const opDescribeBotAlias = "DescribeBotAlias"
  2524  
  2525  // DescribeBotAliasRequest generates a "aws/request.Request" representing the
  2526  // client's request for the DescribeBotAlias operation. The "output" return
  2527  // value will be populated with the request's response once the request completes
  2528  // successfully.
  2529  //
  2530  // Use "Send" method on the returned Request to send the API call to the service.
  2531  // the "output" return value is not valid until after Send returns without error.
  2532  //
  2533  // See DescribeBotAlias for more information on using the DescribeBotAlias
  2534  // API call, and error handling.
  2535  //
  2536  // This method is useful when you want to inject custom logic or configuration
  2537  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2538  //
  2539  //
  2540  //    // Example sending a request using the DescribeBotAliasRequest method.
  2541  //    req, resp := client.DescribeBotAliasRequest(params)
  2542  //
  2543  //    err := req.Send()
  2544  //    if err == nil { // resp is now filled
  2545  //        fmt.Println(resp)
  2546  //    }
  2547  //
  2548  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotAlias
  2549  func (c *LexModelsV2) DescribeBotAliasRequest(input *DescribeBotAliasInput) (req *request.Request, output *DescribeBotAliasOutput) {
  2550  	op := &request.Operation{
  2551  		Name:       opDescribeBotAlias,
  2552  		HTTPMethod: "GET",
  2553  		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
  2554  	}
  2555  
  2556  	if input == nil {
  2557  		input = &DescribeBotAliasInput{}
  2558  	}
  2559  
  2560  	output = &DescribeBotAliasOutput{}
  2561  	req = c.newRequest(op, input, output)
  2562  	return
  2563  }
  2564  
  2565  // DescribeBotAlias API operation for Amazon Lex Model Building V2.
  2566  //
  2567  // Get information about a specific bot alias.
  2568  //
  2569  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2570  // with awserr.Error's Code and Message methods to get detailed information about
  2571  // the error.
  2572  //
  2573  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2574  // API operation DescribeBotAlias for usage and error information.
  2575  //
  2576  // Returned Error Types:
  2577  //   * ThrottlingException
  2578  //   Your request rate is too high. Reduce the frequency of requests.
  2579  //
  2580  //   * ServiceQuotaExceededException
  2581  //   You have reached a quota for your bot.
  2582  //
  2583  //   * ValidationException
  2584  //   One of the input parameters in your request isn't valid. Check the parameters
  2585  //   and try your request again.
  2586  //
  2587  //   * ResourceNotFoundException
  2588  //   You asked to describe a resource that doesn't exist. Check the resource that
  2589  //   you are requesting and try again.
  2590  //
  2591  //   * InternalServerException
  2592  //   The service encountered an unexpected condition. Try your request again.
  2593  //
  2594  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotAlias
  2595  func (c *LexModelsV2) DescribeBotAlias(input *DescribeBotAliasInput) (*DescribeBotAliasOutput, error) {
  2596  	req, out := c.DescribeBotAliasRequest(input)
  2597  	return out, req.Send()
  2598  }
  2599  
  2600  // DescribeBotAliasWithContext is the same as DescribeBotAlias with the addition of
  2601  // the ability to pass a context and additional request options.
  2602  //
  2603  // See DescribeBotAlias for details on how to use this API operation.
  2604  //
  2605  // The context must be non-nil and will be used for request cancellation. If
  2606  // the context is nil a panic will occur. In the future the SDK may create
  2607  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2608  // for more information on using Contexts.
  2609  func (c *LexModelsV2) DescribeBotAliasWithContext(ctx aws.Context, input *DescribeBotAliasInput, opts ...request.Option) (*DescribeBotAliasOutput, error) {
  2610  	req, out := c.DescribeBotAliasRequest(input)
  2611  	req.SetContext(ctx)
  2612  	req.ApplyOptions(opts...)
  2613  	return out, req.Send()
  2614  }
  2615  
  2616  const opDescribeBotLocale = "DescribeBotLocale"
  2617  
  2618  // DescribeBotLocaleRequest generates a "aws/request.Request" representing the
  2619  // client's request for the DescribeBotLocale operation. The "output" return
  2620  // value will be populated with the request's response once the request completes
  2621  // successfully.
  2622  //
  2623  // Use "Send" method on the returned Request to send the API call to the service.
  2624  // the "output" return value is not valid until after Send returns without error.
  2625  //
  2626  // See DescribeBotLocale for more information on using the DescribeBotLocale
  2627  // API call, and error handling.
  2628  //
  2629  // This method is useful when you want to inject custom logic or configuration
  2630  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2631  //
  2632  //
  2633  //    // Example sending a request using the DescribeBotLocaleRequest method.
  2634  //    req, resp := client.DescribeBotLocaleRequest(params)
  2635  //
  2636  //    err := req.Send()
  2637  //    if err == nil { // resp is now filled
  2638  //        fmt.Println(resp)
  2639  //    }
  2640  //
  2641  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotLocale
  2642  func (c *LexModelsV2) DescribeBotLocaleRequest(input *DescribeBotLocaleInput) (req *request.Request, output *DescribeBotLocaleOutput) {
  2643  	op := &request.Operation{
  2644  		Name:       opDescribeBotLocale,
  2645  		HTTPMethod: "GET",
  2646  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
  2647  	}
  2648  
  2649  	if input == nil {
  2650  		input = &DescribeBotLocaleInput{}
  2651  	}
  2652  
  2653  	output = &DescribeBotLocaleOutput{}
  2654  	req = c.newRequest(op, input, output)
  2655  	return
  2656  }
  2657  
  2658  // DescribeBotLocale API operation for Amazon Lex Model Building V2.
  2659  //
  2660  // Describes the settings that a bot has for a specific locale.
  2661  //
  2662  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2663  // with awserr.Error's Code and Message methods to get detailed information about
  2664  // the error.
  2665  //
  2666  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2667  // API operation DescribeBotLocale for usage and error information.
  2668  //
  2669  // Returned Error Types:
  2670  //   * ThrottlingException
  2671  //   Your request rate is too high. Reduce the frequency of requests.
  2672  //
  2673  //   * ServiceQuotaExceededException
  2674  //   You have reached a quota for your bot.
  2675  //
  2676  //   * ValidationException
  2677  //   One of the input parameters in your request isn't valid. Check the parameters
  2678  //   and try your request again.
  2679  //
  2680  //   * ResourceNotFoundException
  2681  //   You asked to describe a resource that doesn't exist. Check the resource that
  2682  //   you are requesting and try again.
  2683  //
  2684  //   * InternalServerException
  2685  //   The service encountered an unexpected condition. Try your request again.
  2686  //
  2687  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotLocale
  2688  func (c *LexModelsV2) DescribeBotLocale(input *DescribeBotLocaleInput) (*DescribeBotLocaleOutput, error) {
  2689  	req, out := c.DescribeBotLocaleRequest(input)
  2690  	return out, req.Send()
  2691  }
  2692  
  2693  // DescribeBotLocaleWithContext is the same as DescribeBotLocale with the addition of
  2694  // the ability to pass a context and additional request options.
  2695  //
  2696  // See DescribeBotLocale for details on how to use this API operation.
  2697  //
  2698  // The context must be non-nil and will be used for request cancellation. If
  2699  // the context is nil a panic will occur. In the future the SDK may create
  2700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2701  // for more information on using Contexts.
  2702  func (c *LexModelsV2) DescribeBotLocaleWithContext(ctx aws.Context, input *DescribeBotLocaleInput, opts ...request.Option) (*DescribeBotLocaleOutput, error) {
  2703  	req, out := c.DescribeBotLocaleRequest(input)
  2704  	req.SetContext(ctx)
  2705  	req.ApplyOptions(opts...)
  2706  	return out, req.Send()
  2707  }
  2708  
  2709  const opDescribeBotVersion = "DescribeBotVersion"
  2710  
  2711  // DescribeBotVersionRequest generates a "aws/request.Request" representing the
  2712  // client's request for the DescribeBotVersion operation. The "output" return
  2713  // value will be populated with the request's response once the request completes
  2714  // successfully.
  2715  //
  2716  // Use "Send" method on the returned Request to send the API call to the service.
  2717  // the "output" return value is not valid until after Send returns without error.
  2718  //
  2719  // See DescribeBotVersion for more information on using the DescribeBotVersion
  2720  // API call, and error handling.
  2721  //
  2722  // This method is useful when you want to inject custom logic or configuration
  2723  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2724  //
  2725  //
  2726  //    // Example sending a request using the DescribeBotVersionRequest method.
  2727  //    req, resp := client.DescribeBotVersionRequest(params)
  2728  //
  2729  //    err := req.Send()
  2730  //    if err == nil { // resp is now filled
  2731  //        fmt.Println(resp)
  2732  //    }
  2733  //
  2734  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotVersion
  2735  func (c *LexModelsV2) DescribeBotVersionRequest(input *DescribeBotVersionInput) (req *request.Request, output *DescribeBotVersionOutput) {
  2736  	op := &request.Operation{
  2737  		Name:       opDescribeBotVersion,
  2738  		HTTPMethod: "GET",
  2739  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/",
  2740  	}
  2741  
  2742  	if input == nil {
  2743  		input = &DescribeBotVersionInput{}
  2744  	}
  2745  
  2746  	output = &DescribeBotVersionOutput{}
  2747  	req = c.newRequest(op, input, output)
  2748  	return
  2749  }
  2750  
  2751  // DescribeBotVersion API operation for Amazon Lex Model Building V2.
  2752  //
  2753  // Provides metadata about a version of a bot.
  2754  //
  2755  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2756  // with awserr.Error's Code and Message methods to get detailed information about
  2757  // the error.
  2758  //
  2759  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2760  // API operation DescribeBotVersion for usage and error information.
  2761  //
  2762  // Returned Error Types:
  2763  //   * ThrottlingException
  2764  //   Your request rate is too high. Reduce the frequency of requests.
  2765  //
  2766  //   * ServiceQuotaExceededException
  2767  //   You have reached a quota for your bot.
  2768  //
  2769  //   * ValidationException
  2770  //   One of the input parameters in your request isn't valid. Check the parameters
  2771  //   and try your request again.
  2772  //
  2773  //   * ResourceNotFoundException
  2774  //   You asked to describe a resource that doesn't exist. Check the resource that
  2775  //   you are requesting and try again.
  2776  //
  2777  //   * InternalServerException
  2778  //   The service encountered an unexpected condition. Try your request again.
  2779  //
  2780  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotVersion
  2781  func (c *LexModelsV2) DescribeBotVersion(input *DescribeBotVersionInput) (*DescribeBotVersionOutput, error) {
  2782  	req, out := c.DescribeBotVersionRequest(input)
  2783  	return out, req.Send()
  2784  }
  2785  
  2786  // DescribeBotVersionWithContext is the same as DescribeBotVersion with the addition of
  2787  // the ability to pass a context and additional request options.
  2788  //
  2789  // See DescribeBotVersion for details on how to use this API operation.
  2790  //
  2791  // The context must be non-nil and will be used for request cancellation. If
  2792  // the context is nil a panic will occur. In the future the SDK may create
  2793  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2794  // for more information on using Contexts.
  2795  func (c *LexModelsV2) DescribeBotVersionWithContext(ctx aws.Context, input *DescribeBotVersionInput, opts ...request.Option) (*DescribeBotVersionOutput, error) {
  2796  	req, out := c.DescribeBotVersionRequest(input)
  2797  	req.SetContext(ctx)
  2798  	req.ApplyOptions(opts...)
  2799  	return out, req.Send()
  2800  }
  2801  
  2802  const opDescribeExport = "DescribeExport"
  2803  
  2804  // DescribeExportRequest generates a "aws/request.Request" representing the
  2805  // client's request for the DescribeExport operation. The "output" return
  2806  // value will be populated with the request's response once the request completes
  2807  // successfully.
  2808  //
  2809  // Use "Send" method on the returned Request to send the API call to the service.
  2810  // the "output" return value is not valid until after Send returns without error.
  2811  //
  2812  // See DescribeExport for more information on using the DescribeExport
  2813  // API call, and error handling.
  2814  //
  2815  // This method is useful when you want to inject custom logic or configuration
  2816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2817  //
  2818  //
  2819  //    // Example sending a request using the DescribeExportRequest method.
  2820  //    req, resp := client.DescribeExportRequest(params)
  2821  //
  2822  //    err := req.Send()
  2823  //    if err == nil { // resp is now filled
  2824  //        fmt.Println(resp)
  2825  //    }
  2826  //
  2827  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeExport
  2828  func (c *LexModelsV2) DescribeExportRequest(input *DescribeExportInput) (req *request.Request, output *DescribeExportOutput) {
  2829  	op := &request.Operation{
  2830  		Name:       opDescribeExport,
  2831  		HTTPMethod: "GET",
  2832  		HTTPPath:   "/exports/{exportId}/",
  2833  	}
  2834  
  2835  	if input == nil {
  2836  		input = &DescribeExportInput{}
  2837  	}
  2838  
  2839  	output = &DescribeExportOutput{}
  2840  	req = c.newRequest(op, input, output)
  2841  	return
  2842  }
  2843  
  2844  // DescribeExport API operation for Amazon Lex Model Building V2.
  2845  //
  2846  // Gets information about a specific export.
  2847  //
  2848  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2849  // with awserr.Error's Code and Message methods to get detailed information about
  2850  // the error.
  2851  //
  2852  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2853  // API operation DescribeExport for usage and error information.
  2854  //
  2855  // Returned Error Types:
  2856  //   * ThrottlingException
  2857  //   Your request rate is too high. Reduce the frequency of requests.
  2858  //
  2859  //   * ValidationException
  2860  //   One of the input parameters in your request isn't valid. Check the parameters
  2861  //   and try your request again.
  2862  //
  2863  //   * ResourceNotFoundException
  2864  //   You asked to describe a resource that doesn't exist. Check the resource that
  2865  //   you are requesting and try again.
  2866  //
  2867  //   * InternalServerException
  2868  //   The service encountered an unexpected condition. Try your request again.
  2869  //
  2870  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeExport
  2871  func (c *LexModelsV2) DescribeExport(input *DescribeExportInput) (*DescribeExportOutput, error) {
  2872  	req, out := c.DescribeExportRequest(input)
  2873  	return out, req.Send()
  2874  }
  2875  
  2876  // DescribeExportWithContext is the same as DescribeExport with the addition of
  2877  // the ability to pass a context and additional request options.
  2878  //
  2879  // See DescribeExport for details on how to use this API operation.
  2880  //
  2881  // The context must be non-nil and will be used for request cancellation. If
  2882  // the context is nil a panic will occur. In the future the SDK may create
  2883  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2884  // for more information on using Contexts.
  2885  func (c *LexModelsV2) DescribeExportWithContext(ctx aws.Context, input *DescribeExportInput, opts ...request.Option) (*DescribeExportOutput, error) {
  2886  	req, out := c.DescribeExportRequest(input)
  2887  	req.SetContext(ctx)
  2888  	req.ApplyOptions(opts...)
  2889  	return out, req.Send()
  2890  }
  2891  
  2892  const opDescribeImport = "DescribeImport"
  2893  
  2894  // DescribeImportRequest generates a "aws/request.Request" representing the
  2895  // client's request for the DescribeImport operation. The "output" return
  2896  // value will be populated with the request's response once the request completes
  2897  // successfully.
  2898  //
  2899  // Use "Send" method on the returned Request to send the API call to the service.
  2900  // the "output" return value is not valid until after Send returns without error.
  2901  //
  2902  // See DescribeImport for more information on using the DescribeImport
  2903  // API call, and error handling.
  2904  //
  2905  // This method is useful when you want to inject custom logic or configuration
  2906  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2907  //
  2908  //
  2909  //    // Example sending a request using the DescribeImportRequest method.
  2910  //    req, resp := client.DescribeImportRequest(params)
  2911  //
  2912  //    err := req.Send()
  2913  //    if err == nil { // resp is now filled
  2914  //        fmt.Println(resp)
  2915  //    }
  2916  //
  2917  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeImport
  2918  func (c *LexModelsV2) DescribeImportRequest(input *DescribeImportInput) (req *request.Request, output *DescribeImportOutput) {
  2919  	op := &request.Operation{
  2920  		Name:       opDescribeImport,
  2921  		HTTPMethod: "GET",
  2922  		HTTPPath:   "/imports/{importId}/",
  2923  	}
  2924  
  2925  	if input == nil {
  2926  		input = &DescribeImportInput{}
  2927  	}
  2928  
  2929  	output = &DescribeImportOutput{}
  2930  	req = c.newRequest(op, input, output)
  2931  	return
  2932  }
  2933  
  2934  // DescribeImport API operation for Amazon Lex Model Building V2.
  2935  //
  2936  // Gets information about a specific import.
  2937  //
  2938  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2939  // with awserr.Error's Code and Message methods to get detailed information about
  2940  // the error.
  2941  //
  2942  // See the AWS API reference guide for Amazon Lex Model Building V2's
  2943  // API operation DescribeImport for usage and error information.
  2944  //
  2945  // Returned Error Types:
  2946  //   * ThrottlingException
  2947  //   Your request rate is too high. Reduce the frequency of requests.
  2948  //
  2949  //   * ValidationException
  2950  //   One of the input parameters in your request isn't valid. Check the parameters
  2951  //   and try your request again.
  2952  //
  2953  //   * ResourceNotFoundException
  2954  //   You asked to describe a resource that doesn't exist. Check the resource that
  2955  //   you are requesting and try again.
  2956  //
  2957  //   * InternalServerException
  2958  //   The service encountered an unexpected condition. Try your request again.
  2959  //
  2960  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeImport
  2961  func (c *LexModelsV2) DescribeImport(input *DescribeImportInput) (*DescribeImportOutput, error) {
  2962  	req, out := c.DescribeImportRequest(input)
  2963  	return out, req.Send()
  2964  }
  2965  
  2966  // DescribeImportWithContext is the same as DescribeImport with the addition of
  2967  // the ability to pass a context and additional request options.
  2968  //
  2969  // See DescribeImport for details on how to use this API operation.
  2970  //
  2971  // The context must be non-nil and will be used for request cancellation. If
  2972  // the context is nil a panic will occur. In the future the SDK may create
  2973  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2974  // for more information on using Contexts.
  2975  func (c *LexModelsV2) DescribeImportWithContext(ctx aws.Context, input *DescribeImportInput, opts ...request.Option) (*DescribeImportOutput, error) {
  2976  	req, out := c.DescribeImportRequest(input)
  2977  	req.SetContext(ctx)
  2978  	req.ApplyOptions(opts...)
  2979  	return out, req.Send()
  2980  }
  2981  
  2982  const opDescribeIntent = "DescribeIntent"
  2983  
  2984  // DescribeIntentRequest generates a "aws/request.Request" representing the
  2985  // client's request for the DescribeIntent operation. The "output" return
  2986  // value will be populated with the request's response once the request completes
  2987  // successfully.
  2988  //
  2989  // Use "Send" method on the returned Request to send the API call to the service.
  2990  // the "output" return value is not valid until after Send returns without error.
  2991  //
  2992  // See DescribeIntent for more information on using the DescribeIntent
  2993  // API call, and error handling.
  2994  //
  2995  // This method is useful when you want to inject custom logic or configuration
  2996  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2997  //
  2998  //
  2999  //    // Example sending a request using the DescribeIntentRequest method.
  3000  //    req, resp := client.DescribeIntentRequest(params)
  3001  //
  3002  //    err := req.Send()
  3003  //    if err == nil { // resp is now filled
  3004  //        fmt.Println(resp)
  3005  //    }
  3006  //
  3007  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeIntent
  3008  func (c *LexModelsV2) DescribeIntentRequest(input *DescribeIntentInput) (req *request.Request, output *DescribeIntentOutput) {
  3009  	op := &request.Operation{
  3010  		Name:       opDescribeIntent,
  3011  		HTTPMethod: "GET",
  3012  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
  3013  	}
  3014  
  3015  	if input == nil {
  3016  		input = &DescribeIntentInput{}
  3017  	}
  3018  
  3019  	output = &DescribeIntentOutput{}
  3020  	req = c.newRequest(op, input, output)
  3021  	return
  3022  }
  3023  
  3024  // DescribeIntent API operation for Amazon Lex Model Building V2.
  3025  //
  3026  // Returns metadata about an intent.
  3027  //
  3028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3029  // with awserr.Error's Code and Message methods to get detailed information about
  3030  // the error.
  3031  //
  3032  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3033  // API operation DescribeIntent for usage and error information.
  3034  //
  3035  // Returned Error Types:
  3036  //   * ThrottlingException
  3037  //   Your request rate is too high. Reduce the frequency of requests.
  3038  //
  3039  //   * ServiceQuotaExceededException
  3040  //   You have reached a quota for your bot.
  3041  //
  3042  //   * ValidationException
  3043  //   One of the input parameters in your request isn't valid. Check the parameters
  3044  //   and try your request again.
  3045  //
  3046  //   * ResourceNotFoundException
  3047  //   You asked to describe a resource that doesn't exist. Check the resource that
  3048  //   you are requesting and try again.
  3049  //
  3050  //   * InternalServerException
  3051  //   The service encountered an unexpected condition. Try your request again.
  3052  //
  3053  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeIntent
  3054  func (c *LexModelsV2) DescribeIntent(input *DescribeIntentInput) (*DescribeIntentOutput, error) {
  3055  	req, out := c.DescribeIntentRequest(input)
  3056  	return out, req.Send()
  3057  }
  3058  
  3059  // DescribeIntentWithContext is the same as DescribeIntent with the addition of
  3060  // the ability to pass a context and additional request options.
  3061  //
  3062  // See DescribeIntent for details on how to use this API operation.
  3063  //
  3064  // The context must be non-nil and will be used for request cancellation. If
  3065  // the context is nil a panic will occur. In the future the SDK may create
  3066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3067  // for more information on using Contexts.
  3068  func (c *LexModelsV2) DescribeIntentWithContext(ctx aws.Context, input *DescribeIntentInput, opts ...request.Option) (*DescribeIntentOutput, error) {
  3069  	req, out := c.DescribeIntentRequest(input)
  3070  	req.SetContext(ctx)
  3071  	req.ApplyOptions(opts...)
  3072  	return out, req.Send()
  3073  }
  3074  
  3075  const opDescribeResourcePolicy = "DescribeResourcePolicy"
  3076  
  3077  // DescribeResourcePolicyRequest generates a "aws/request.Request" representing the
  3078  // client's request for the DescribeResourcePolicy operation. The "output" return
  3079  // value will be populated with the request's response once the request completes
  3080  // successfully.
  3081  //
  3082  // Use "Send" method on the returned Request to send the API call to the service.
  3083  // the "output" return value is not valid until after Send returns without error.
  3084  //
  3085  // See DescribeResourcePolicy for more information on using the DescribeResourcePolicy
  3086  // API call, and error handling.
  3087  //
  3088  // This method is useful when you want to inject custom logic or configuration
  3089  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3090  //
  3091  //
  3092  //    // Example sending a request using the DescribeResourcePolicyRequest method.
  3093  //    req, resp := client.DescribeResourcePolicyRequest(params)
  3094  //
  3095  //    err := req.Send()
  3096  //    if err == nil { // resp is now filled
  3097  //        fmt.Println(resp)
  3098  //    }
  3099  //
  3100  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeResourcePolicy
  3101  func (c *LexModelsV2) DescribeResourcePolicyRequest(input *DescribeResourcePolicyInput) (req *request.Request, output *DescribeResourcePolicyOutput) {
  3102  	op := &request.Operation{
  3103  		Name:       opDescribeResourcePolicy,
  3104  		HTTPMethod: "GET",
  3105  		HTTPPath:   "/policy/{resourceArn}/",
  3106  	}
  3107  
  3108  	if input == nil {
  3109  		input = &DescribeResourcePolicyInput{}
  3110  	}
  3111  
  3112  	output = &DescribeResourcePolicyOutput{}
  3113  	req = c.newRequest(op, input, output)
  3114  	return
  3115  }
  3116  
  3117  // DescribeResourcePolicy API operation for Amazon Lex Model Building V2.
  3118  //
  3119  // Gets the resource policy and policy revision for a bot or bot alias.
  3120  //
  3121  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3122  // with awserr.Error's Code and Message methods to get detailed information about
  3123  // the error.
  3124  //
  3125  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3126  // API operation DescribeResourcePolicy for usage and error information.
  3127  //
  3128  // Returned Error Types:
  3129  //   * ResourceNotFoundException
  3130  //   You asked to describe a resource that doesn't exist. Check the resource that
  3131  //   you are requesting and try again.
  3132  //
  3133  //   * InternalServerException
  3134  //   The service encountered an unexpected condition. Try your request again.
  3135  //
  3136  //   * ThrottlingException
  3137  //   Your request rate is too high. Reduce the frequency of requests.
  3138  //
  3139  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeResourcePolicy
  3140  func (c *LexModelsV2) DescribeResourcePolicy(input *DescribeResourcePolicyInput) (*DescribeResourcePolicyOutput, error) {
  3141  	req, out := c.DescribeResourcePolicyRequest(input)
  3142  	return out, req.Send()
  3143  }
  3144  
  3145  // DescribeResourcePolicyWithContext is the same as DescribeResourcePolicy with the addition of
  3146  // the ability to pass a context and additional request options.
  3147  //
  3148  // See DescribeResourcePolicy for details on how to use this API operation.
  3149  //
  3150  // The context must be non-nil and will be used for request cancellation. If
  3151  // the context is nil a panic will occur. In the future the SDK may create
  3152  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3153  // for more information on using Contexts.
  3154  func (c *LexModelsV2) DescribeResourcePolicyWithContext(ctx aws.Context, input *DescribeResourcePolicyInput, opts ...request.Option) (*DescribeResourcePolicyOutput, error) {
  3155  	req, out := c.DescribeResourcePolicyRequest(input)
  3156  	req.SetContext(ctx)
  3157  	req.ApplyOptions(opts...)
  3158  	return out, req.Send()
  3159  }
  3160  
  3161  const opDescribeSlot = "DescribeSlot"
  3162  
  3163  // DescribeSlotRequest generates a "aws/request.Request" representing the
  3164  // client's request for the DescribeSlot operation. The "output" return
  3165  // value will be populated with the request's response once the request completes
  3166  // successfully.
  3167  //
  3168  // Use "Send" method on the returned Request to send the API call to the service.
  3169  // the "output" return value is not valid until after Send returns without error.
  3170  //
  3171  // See DescribeSlot for more information on using the DescribeSlot
  3172  // API call, and error handling.
  3173  //
  3174  // This method is useful when you want to inject custom logic or configuration
  3175  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3176  //
  3177  //
  3178  //    // Example sending a request using the DescribeSlotRequest method.
  3179  //    req, resp := client.DescribeSlotRequest(params)
  3180  //
  3181  //    err := req.Send()
  3182  //    if err == nil { // resp is now filled
  3183  //        fmt.Println(resp)
  3184  //    }
  3185  //
  3186  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlot
  3187  func (c *LexModelsV2) DescribeSlotRequest(input *DescribeSlotInput) (req *request.Request, output *DescribeSlotOutput) {
  3188  	op := &request.Operation{
  3189  		Name:       opDescribeSlot,
  3190  		HTTPMethod: "GET",
  3191  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
  3192  	}
  3193  
  3194  	if input == nil {
  3195  		input = &DescribeSlotInput{}
  3196  	}
  3197  
  3198  	output = &DescribeSlotOutput{}
  3199  	req = c.newRequest(op, input, output)
  3200  	return
  3201  }
  3202  
  3203  // DescribeSlot API operation for Amazon Lex Model Building V2.
  3204  //
  3205  // Gets metadata information about a slot.
  3206  //
  3207  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3208  // with awserr.Error's Code and Message methods to get detailed information about
  3209  // the error.
  3210  //
  3211  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3212  // API operation DescribeSlot for usage and error information.
  3213  //
  3214  // Returned Error Types:
  3215  //   * ThrottlingException
  3216  //   Your request rate is too high. Reduce the frequency of requests.
  3217  //
  3218  //   * ServiceQuotaExceededException
  3219  //   You have reached a quota for your bot.
  3220  //
  3221  //   * ValidationException
  3222  //   One of the input parameters in your request isn't valid. Check the parameters
  3223  //   and try your request again.
  3224  //
  3225  //   * ResourceNotFoundException
  3226  //   You asked to describe a resource that doesn't exist. Check the resource that
  3227  //   you are requesting and try again.
  3228  //
  3229  //   * InternalServerException
  3230  //   The service encountered an unexpected condition. Try your request again.
  3231  //
  3232  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlot
  3233  func (c *LexModelsV2) DescribeSlot(input *DescribeSlotInput) (*DescribeSlotOutput, error) {
  3234  	req, out := c.DescribeSlotRequest(input)
  3235  	return out, req.Send()
  3236  }
  3237  
  3238  // DescribeSlotWithContext is the same as DescribeSlot with the addition of
  3239  // the ability to pass a context and additional request options.
  3240  //
  3241  // See DescribeSlot for details on how to use this API operation.
  3242  //
  3243  // The context must be non-nil and will be used for request cancellation. If
  3244  // the context is nil a panic will occur. In the future the SDK may create
  3245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3246  // for more information on using Contexts.
  3247  func (c *LexModelsV2) DescribeSlotWithContext(ctx aws.Context, input *DescribeSlotInput, opts ...request.Option) (*DescribeSlotOutput, error) {
  3248  	req, out := c.DescribeSlotRequest(input)
  3249  	req.SetContext(ctx)
  3250  	req.ApplyOptions(opts...)
  3251  	return out, req.Send()
  3252  }
  3253  
  3254  const opDescribeSlotType = "DescribeSlotType"
  3255  
  3256  // DescribeSlotTypeRequest generates a "aws/request.Request" representing the
  3257  // client's request for the DescribeSlotType operation. The "output" return
  3258  // value will be populated with the request's response once the request completes
  3259  // successfully.
  3260  //
  3261  // Use "Send" method on the returned Request to send the API call to the service.
  3262  // the "output" return value is not valid until after Send returns without error.
  3263  //
  3264  // See DescribeSlotType for more information on using the DescribeSlotType
  3265  // API call, and error handling.
  3266  //
  3267  // This method is useful when you want to inject custom logic or configuration
  3268  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3269  //
  3270  //
  3271  //    // Example sending a request using the DescribeSlotTypeRequest method.
  3272  //    req, resp := client.DescribeSlotTypeRequest(params)
  3273  //
  3274  //    err := req.Send()
  3275  //    if err == nil { // resp is now filled
  3276  //        fmt.Println(resp)
  3277  //    }
  3278  //
  3279  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotType
  3280  func (c *LexModelsV2) DescribeSlotTypeRequest(input *DescribeSlotTypeInput) (req *request.Request, output *DescribeSlotTypeOutput) {
  3281  	op := &request.Operation{
  3282  		Name:       opDescribeSlotType,
  3283  		HTTPMethod: "GET",
  3284  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
  3285  	}
  3286  
  3287  	if input == nil {
  3288  		input = &DescribeSlotTypeInput{}
  3289  	}
  3290  
  3291  	output = &DescribeSlotTypeOutput{}
  3292  	req = c.newRequest(op, input, output)
  3293  	return
  3294  }
  3295  
  3296  // DescribeSlotType API operation for Amazon Lex Model Building V2.
  3297  //
  3298  // Gets metadata information about a slot type.
  3299  //
  3300  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3301  // with awserr.Error's Code and Message methods to get detailed information about
  3302  // the error.
  3303  //
  3304  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3305  // API operation DescribeSlotType for usage and error information.
  3306  //
  3307  // Returned Error Types:
  3308  //   * ThrottlingException
  3309  //   Your request rate is too high. Reduce the frequency of requests.
  3310  //
  3311  //   * ServiceQuotaExceededException
  3312  //   You have reached a quota for your bot.
  3313  //
  3314  //   * ValidationException
  3315  //   One of the input parameters in your request isn't valid. Check the parameters
  3316  //   and try your request again.
  3317  //
  3318  //   * ResourceNotFoundException
  3319  //   You asked to describe a resource that doesn't exist. Check the resource that
  3320  //   you are requesting and try again.
  3321  //
  3322  //   * InternalServerException
  3323  //   The service encountered an unexpected condition. Try your request again.
  3324  //
  3325  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotType
  3326  func (c *LexModelsV2) DescribeSlotType(input *DescribeSlotTypeInput) (*DescribeSlotTypeOutput, error) {
  3327  	req, out := c.DescribeSlotTypeRequest(input)
  3328  	return out, req.Send()
  3329  }
  3330  
  3331  // DescribeSlotTypeWithContext is the same as DescribeSlotType with the addition of
  3332  // the ability to pass a context and additional request options.
  3333  //
  3334  // See DescribeSlotType for details on how to use this API operation.
  3335  //
  3336  // The context must be non-nil and will be used for request cancellation. If
  3337  // the context is nil a panic will occur. In the future the SDK may create
  3338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3339  // for more information on using Contexts.
  3340  func (c *LexModelsV2) DescribeSlotTypeWithContext(ctx aws.Context, input *DescribeSlotTypeInput, opts ...request.Option) (*DescribeSlotTypeOutput, error) {
  3341  	req, out := c.DescribeSlotTypeRequest(input)
  3342  	req.SetContext(ctx)
  3343  	req.ApplyOptions(opts...)
  3344  	return out, req.Send()
  3345  }
  3346  
  3347  const opListAggregatedUtterances = "ListAggregatedUtterances"
  3348  
  3349  // ListAggregatedUtterancesRequest generates a "aws/request.Request" representing the
  3350  // client's request for the ListAggregatedUtterances operation. The "output" return
  3351  // value will be populated with the request's response once the request completes
  3352  // successfully.
  3353  //
  3354  // Use "Send" method on the returned Request to send the API call to the service.
  3355  // the "output" return value is not valid until after Send returns without error.
  3356  //
  3357  // See ListAggregatedUtterances for more information on using the ListAggregatedUtterances
  3358  // API call, and error handling.
  3359  //
  3360  // This method is useful when you want to inject custom logic or configuration
  3361  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3362  //
  3363  //
  3364  //    // Example sending a request using the ListAggregatedUtterancesRequest method.
  3365  //    req, resp := client.ListAggregatedUtterancesRequest(params)
  3366  //
  3367  //    err := req.Send()
  3368  //    if err == nil { // resp is now filled
  3369  //        fmt.Println(resp)
  3370  //    }
  3371  //
  3372  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListAggregatedUtterances
  3373  func (c *LexModelsV2) ListAggregatedUtterancesRequest(input *ListAggregatedUtterancesInput) (req *request.Request, output *ListAggregatedUtterancesOutput) {
  3374  	op := &request.Operation{
  3375  		Name:       opListAggregatedUtterances,
  3376  		HTTPMethod: "POST",
  3377  		HTTPPath:   "/bots/{botId}/aggregatedutterances/",
  3378  		Paginator: &request.Paginator{
  3379  			InputTokens:     []string{"nextToken"},
  3380  			OutputTokens:    []string{"nextToken"},
  3381  			LimitToken:      "maxResults",
  3382  			TruncationToken: "",
  3383  		},
  3384  	}
  3385  
  3386  	if input == nil {
  3387  		input = &ListAggregatedUtterancesInput{}
  3388  	}
  3389  
  3390  	output = &ListAggregatedUtterancesOutput{}
  3391  	req = c.newRequest(op, input, output)
  3392  	return
  3393  }
  3394  
  3395  // ListAggregatedUtterances API operation for Amazon Lex Model Building V2.
  3396  //
  3397  // Provides a list of utterances that users have sent to the bot.
  3398  //
  3399  // Utterances are aggregated by the text of the utterance. For example, all
  3400  // instances where customers used the phrase "I want to order pizza" are aggregated
  3401  // into the same line in the response.
  3402  //
  3403  // You can see both detected utterances and missed utterances. A detected utterance
  3404  // is where the bot properly recognized the utterance and activated the associated
  3405  // intent. A missed utterance was not recognized by the bot and didn't activate
  3406  // an intent.
  3407  //
  3408  // Utterances can be aggregated for a bot alias or for a bot version, but not
  3409  // both at the same time.
  3410  //
  3411  // Utterances statistics are not generated under the following conditions:
  3412  //
  3413  //    * The childDirected field was set to true when the bot was created.
  3414  //
  3415  //    * You are using slot obfuscation with one or more slots.
  3416  //
  3417  //    * You opted out of participating in improving Amazon Lex.
  3418  //
  3419  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3420  // with awserr.Error's Code and Message methods to get detailed information about
  3421  // the error.
  3422  //
  3423  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3424  // API operation ListAggregatedUtterances for usage and error information.
  3425  //
  3426  // Returned Error Types:
  3427  //   * ValidationException
  3428  //   One of the input parameters in your request isn't valid. Check the parameters
  3429  //   and try your request again.
  3430  //
  3431  //   * PreconditionFailedException
  3432  //   Your request couldn't be completed because one or more request fields aren't
  3433  //   valid. Check the fields in your request and try again.
  3434  //
  3435  //   * ThrottlingException
  3436  //   Your request rate is too high. Reduce the frequency of requests.
  3437  //
  3438  //   * InternalServerException
  3439  //   The service encountered an unexpected condition. Try your request again.
  3440  //
  3441  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListAggregatedUtterances
  3442  func (c *LexModelsV2) ListAggregatedUtterances(input *ListAggregatedUtterancesInput) (*ListAggregatedUtterancesOutput, error) {
  3443  	req, out := c.ListAggregatedUtterancesRequest(input)
  3444  	return out, req.Send()
  3445  }
  3446  
  3447  // ListAggregatedUtterancesWithContext is the same as ListAggregatedUtterances with the addition of
  3448  // the ability to pass a context and additional request options.
  3449  //
  3450  // See ListAggregatedUtterances for details on how to use this API operation.
  3451  //
  3452  // The context must be non-nil and will be used for request cancellation. If
  3453  // the context is nil a panic will occur. In the future the SDK may create
  3454  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3455  // for more information on using Contexts.
  3456  func (c *LexModelsV2) ListAggregatedUtterancesWithContext(ctx aws.Context, input *ListAggregatedUtterancesInput, opts ...request.Option) (*ListAggregatedUtterancesOutput, error) {
  3457  	req, out := c.ListAggregatedUtterancesRequest(input)
  3458  	req.SetContext(ctx)
  3459  	req.ApplyOptions(opts...)
  3460  	return out, req.Send()
  3461  }
  3462  
  3463  // ListAggregatedUtterancesPages iterates over the pages of a ListAggregatedUtterances operation,
  3464  // calling the "fn" function with the response data for each page. To stop
  3465  // iterating, return false from the fn function.
  3466  //
  3467  // See ListAggregatedUtterances method for more information on how to use this operation.
  3468  //
  3469  // Note: This operation can generate multiple requests to a service.
  3470  //
  3471  //    // Example iterating over at most 3 pages of a ListAggregatedUtterances operation.
  3472  //    pageNum := 0
  3473  //    err := client.ListAggregatedUtterancesPages(params,
  3474  //        func(page *lexmodelsv2.ListAggregatedUtterancesOutput, lastPage bool) bool {
  3475  //            pageNum++
  3476  //            fmt.Println(page)
  3477  //            return pageNum <= 3
  3478  //        })
  3479  //
  3480  func (c *LexModelsV2) ListAggregatedUtterancesPages(input *ListAggregatedUtterancesInput, fn func(*ListAggregatedUtterancesOutput, bool) bool) error {
  3481  	return c.ListAggregatedUtterancesPagesWithContext(aws.BackgroundContext(), input, fn)
  3482  }
  3483  
  3484  // ListAggregatedUtterancesPagesWithContext same as ListAggregatedUtterancesPages except
  3485  // it takes a Context and allows setting request options on the pages.
  3486  //
  3487  // The context must be non-nil and will be used for request cancellation. If
  3488  // the context is nil a panic will occur. In the future the SDK may create
  3489  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3490  // for more information on using Contexts.
  3491  func (c *LexModelsV2) ListAggregatedUtterancesPagesWithContext(ctx aws.Context, input *ListAggregatedUtterancesInput, fn func(*ListAggregatedUtterancesOutput, bool) bool, opts ...request.Option) error {
  3492  	p := request.Pagination{
  3493  		NewRequest: func() (*request.Request, error) {
  3494  			var inCpy *ListAggregatedUtterancesInput
  3495  			if input != nil {
  3496  				tmp := *input
  3497  				inCpy = &tmp
  3498  			}
  3499  			req, _ := c.ListAggregatedUtterancesRequest(inCpy)
  3500  			req.SetContext(ctx)
  3501  			req.ApplyOptions(opts...)
  3502  			return req, nil
  3503  		},
  3504  	}
  3505  
  3506  	for p.Next() {
  3507  		if !fn(p.Page().(*ListAggregatedUtterancesOutput), !p.HasNextPage()) {
  3508  			break
  3509  		}
  3510  	}
  3511  
  3512  	return p.Err()
  3513  }
  3514  
  3515  const opListBotAliases = "ListBotAliases"
  3516  
  3517  // ListBotAliasesRequest generates a "aws/request.Request" representing the
  3518  // client's request for the ListBotAliases operation. The "output" return
  3519  // value will be populated with the request's response once the request completes
  3520  // successfully.
  3521  //
  3522  // Use "Send" method on the returned Request to send the API call to the service.
  3523  // the "output" return value is not valid until after Send returns without error.
  3524  //
  3525  // See ListBotAliases for more information on using the ListBotAliases
  3526  // API call, and error handling.
  3527  //
  3528  // This method is useful when you want to inject custom logic or configuration
  3529  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3530  //
  3531  //
  3532  //    // Example sending a request using the ListBotAliasesRequest method.
  3533  //    req, resp := client.ListBotAliasesRequest(params)
  3534  //
  3535  //    err := req.Send()
  3536  //    if err == nil { // resp is now filled
  3537  //        fmt.Println(resp)
  3538  //    }
  3539  //
  3540  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotAliases
  3541  func (c *LexModelsV2) ListBotAliasesRequest(input *ListBotAliasesInput) (req *request.Request, output *ListBotAliasesOutput) {
  3542  	op := &request.Operation{
  3543  		Name:       opListBotAliases,
  3544  		HTTPMethod: "POST",
  3545  		HTTPPath:   "/bots/{botId}/botaliases/",
  3546  		Paginator: &request.Paginator{
  3547  			InputTokens:     []string{"nextToken"},
  3548  			OutputTokens:    []string{"nextToken"},
  3549  			LimitToken:      "maxResults",
  3550  			TruncationToken: "",
  3551  		},
  3552  	}
  3553  
  3554  	if input == nil {
  3555  		input = &ListBotAliasesInput{}
  3556  	}
  3557  
  3558  	output = &ListBotAliasesOutput{}
  3559  	req = c.newRequest(op, input, output)
  3560  	return
  3561  }
  3562  
  3563  // ListBotAliases API operation for Amazon Lex Model Building V2.
  3564  //
  3565  // Gets a list of aliases for the specified bot.
  3566  //
  3567  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3568  // with awserr.Error's Code and Message methods to get detailed information about
  3569  // the error.
  3570  //
  3571  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3572  // API operation ListBotAliases for usage and error information.
  3573  //
  3574  // Returned Error Types:
  3575  //   * ThrottlingException
  3576  //   Your request rate is too high. Reduce the frequency of requests.
  3577  //
  3578  //   * ServiceQuotaExceededException
  3579  //   You have reached a quota for your bot.
  3580  //
  3581  //   * ValidationException
  3582  //   One of the input parameters in your request isn't valid. Check the parameters
  3583  //   and try your request again.
  3584  //
  3585  //   * InternalServerException
  3586  //   The service encountered an unexpected condition. Try your request again.
  3587  //
  3588  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotAliases
  3589  func (c *LexModelsV2) ListBotAliases(input *ListBotAliasesInput) (*ListBotAliasesOutput, error) {
  3590  	req, out := c.ListBotAliasesRequest(input)
  3591  	return out, req.Send()
  3592  }
  3593  
  3594  // ListBotAliasesWithContext is the same as ListBotAliases with the addition of
  3595  // the ability to pass a context and additional request options.
  3596  //
  3597  // See ListBotAliases for details on how to use this API operation.
  3598  //
  3599  // The context must be non-nil and will be used for request cancellation. If
  3600  // the context is nil a panic will occur. In the future the SDK may create
  3601  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3602  // for more information on using Contexts.
  3603  func (c *LexModelsV2) ListBotAliasesWithContext(ctx aws.Context, input *ListBotAliasesInput, opts ...request.Option) (*ListBotAliasesOutput, error) {
  3604  	req, out := c.ListBotAliasesRequest(input)
  3605  	req.SetContext(ctx)
  3606  	req.ApplyOptions(opts...)
  3607  	return out, req.Send()
  3608  }
  3609  
  3610  // ListBotAliasesPages iterates over the pages of a ListBotAliases operation,
  3611  // calling the "fn" function with the response data for each page. To stop
  3612  // iterating, return false from the fn function.
  3613  //
  3614  // See ListBotAliases method for more information on how to use this operation.
  3615  //
  3616  // Note: This operation can generate multiple requests to a service.
  3617  //
  3618  //    // Example iterating over at most 3 pages of a ListBotAliases operation.
  3619  //    pageNum := 0
  3620  //    err := client.ListBotAliasesPages(params,
  3621  //        func(page *lexmodelsv2.ListBotAliasesOutput, lastPage bool) bool {
  3622  //            pageNum++
  3623  //            fmt.Println(page)
  3624  //            return pageNum <= 3
  3625  //        })
  3626  //
  3627  func (c *LexModelsV2) ListBotAliasesPages(input *ListBotAliasesInput, fn func(*ListBotAliasesOutput, bool) bool) error {
  3628  	return c.ListBotAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
  3629  }
  3630  
  3631  // ListBotAliasesPagesWithContext same as ListBotAliasesPages except
  3632  // it takes a Context and allows setting request options on the pages.
  3633  //
  3634  // The context must be non-nil and will be used for request cancellation. If
  3635  // the context is nil a panic will occur. In the future the SDK may create
  3636  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3637  // for more information on using Contexts.
  3638  func (c *LexModelsV2) ListBotAliasesPagesWithContext(ctx aws.Context, input *ListBotAliasesInput, fn func(*ListBotAliasesOutput, bool) bool, opts ...request.Option) error {
  3639  	p := request.Pagination{
  3640  		NewRequest: func() (*request.Request, error) {
  3641  			var inCpy *ListBotAliasesInput
  3642  			if input != nil {
  3643  				tmp := *input
  3644  				inCpy = &tmp
  3645  			}
  3646  			req, _ := c.ListBotAliasesRequest(inCpy)
  3647  			req.SetContext(ctx)
  3648  			req.ApplyOptions(opts...)
  3649  			return req, nil
  3650  		},
  3651  	}
  3652  
  3653  	for p.Next() {
  3654  		if !fn(p.Page().(*ListBotAliasesOutput), !p.HasNextPage()) {
  3655  			break
  3656  		}
  3657  	}
  3658  
  3659  	return p.Err()
  3660  }
  3661  
  3662  const opListBotLocales = "ListBotLocales"
  3663  
  3664  // ListBotLocalesRequest generates a "aws/request.Request" representing the
  3665  // client's request for the ListBotLocales operation. The "output" return
  3666  // value will be populated with the request's response once the request completes
  3667  // successfully.
  3668  //
  3669  // Use "Send" method on the returned Request to send the API call to the service.
  3670  // the "output" return value is not valid until after Send returns without error.
  3671  //
  3672  // See ListBotLocales for more information on using the ListBotLocales
  3673  // API call, and error handling.
  3674  //
  3675  // This method is useful when you want to inject custom logic or configuration
  3676  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3677  //
  3678  //
  3679  //    // Example sending a request using the ListBotLocalesRequest method.
  3680  //    req, resp := client.ListBotLocalesRequest(params)
  3681  //
  3682  //    err := req.Send()
  3683  //    if err == nil { // resp is now filled
  3684  //        fmt.Println(resp)
  3685  //    }
  3686  //
  3687  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotLocales
  3688  func (c *LexModelsV2) ListBotLocalesRequest(input *ListBotLocalesInput) (req *request.Request, output *ListBotLocalesOutput) {
  3689  	op := &request.Operation{
  3690  		Name:       opListBotLocales,
  3691  		HTTPMethod: "POST",
  3692  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/",
  3693  		Paginator: &request.Paginator{
  3694  			InputTokens:     []string{"nextToken"},
  3695  			OutputTokens:    []string{"nextToken"},
  3696  			LimitToken:      "maxResults",
  3697  			TruncationToken: "",
  3698  		},
  3699  	}
  3700  
  3701  	if input == nil {
  3702  		input = &ListBotLocalesInput{}
  3703  	}
  3704  
  3705  	output = &ListBotLocalesOutput{}
  3706  	req = c.newRequest(op, input, output)
  3707  	return
  3708  }
  3709  
  3710  // ListBotLocales API operation for Amazon Lex Model Building V2.
  3711  //
  3712  // Gets a list of locales for the specified bot.
  3713  //
  3714  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3715  // with awserr.Error's Code and Message methods to get detailed information about
  3716  // the error.
  3717  //
  3718  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3719  // API operation ListBotLocales for usage and error information.
  3720  //
  3721  // Returned Error Types:
  3722  //   * ThrottlingException
  3723  //   Your request rate is too high. Reduce the frequency of requests.
  3724  //
  3725  //   * ServiceQuotaExceededException
  3726  //   You have reached a quota for your bot.
  3727  //
  3728  //   * ValidationException
  3729  //   One of the input parameters in your request isn't valid. Check the parameters
  3730  //   and try your request again.
  3731  //
  3732  //   * InternalServerException
  3733  //   The service encountered an unexpected condition. Try your request again.
  3734  //
  3735  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotLocales
  3736  func (c *LexModelsV2) ListBotLocales(input *ListBotLocalesInput) (*ListBotLocalesOutput, error) {
  3737  	req, out := c.ListBotLocalesRequest(input)
  3738  	return out, req.Send()
  3739  }
  3740  
  3741  // ListBotLocalesWithContext is the same as ListBotLocales with the addition of
  3742  // the ability to pass a context and additional request options.
  3743  //
  3744  // See ListBotLocales for details on how to use this API operation.
  3745  //
  3746  // The context must be non-nil and will be used for request cancellation. If
  3747  // the context is nil a panic will occur. In the future the SDK may create
  3748  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3749  // for more information on using Contexts.
  3750  func (c *LexModelsV2) ListBotLocalesWithContext(ctx aws.Context, input *ListBotLocalesInput, opts ...request.Option) (*ListBotLocalesOutput, error) {
  3751  	req, out := c.ListBotLocalesRequest(input)
  3752  	req.SetContext(ctx)
  3753  	req.ApplyOptions(opts...)
  3754  	return out, req.Send()
  3755  }
  3756  
  3757  // ListBotLocalesPages iterates over the pages of a ListBotLocales operation,
  3758  // calling the "fn" function with the response data for each page. To stop
  3759  // iterating, return false from the fn function.
  3760  //
  3761  // See ListBotLocales method for more information on how to use this operation.
  3762  //
  3763  // Note: This operation can generate multiple requests to a service.
  3764  //
  3765  //    // Example iterating over at most 3 pages of a ListBotLocales operation.
  3766  //    pageNum := 0
  3767  //    err := client.ListBotLocalesPages(params,
  3768  //        func(page *lexmodelsv2.ListBotLocalesOutput, lastPage bool) bool {
  3769  //            pageNum++
  3770  //            fmt.Println(page)
  3771  //            return pageNum <= 3
  3772  //        })
  3773  //
  3774  func (c *LexModelsV2) ListBotLocalesPages(input *ListBotLocalesInput, fn func(*ListBotLocalesOutput, bool) bool) error {
  3775  	return c.ListBotLocalesPagesWithContext(aws.BackgroundContext(), input, fn)
  3776  }
  3777  
  3778  // ListBotLocalesPagesWithContext same as ListBotLocalesPages except
  3779  // it takes a Context and allows setting request options on the pages.
  3780  //
  3781  // The context must be non-nil and will be used for request cancellation. If
  3782  // the context is nil a panic will occur. In the future the SDK may create
  3783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3784  // for more information on using Contexts.
  3785  func (c *LexModelsV2) ListBotLocalesPagesWithContext(ctx aws.Context, input *ListBotLocalesInput, fn func(*ListBotLocalesOutput, bool) bool, opts ...request.Option) error {
  3786  	p := request.Pagination{
  3787  		NewRequest: func() (*request.Request, error) {
  3788  			var inCpy *ListBotLocalesInput
  3789  			if input != nil {
  3790  				tmp := *input
  3791  				inCpy = &tmp
  3792  			}
  3793  			req, _ := c.ListBotLocalesRequest(inCpy)
  3794  			req.SetContext(ctx)
  3795  			req.ApplyOptions(opts...)
  3796  			return req, nil
  3797  		},
  3798  	}
  3799  
  3800  	for p.Next() {
  3801  		if !fn(p.Page().(*ListBotLocalesOutput), !p.HasNextPage()) {
  3802  			break
  3803  		}
  3804  	}
  3805  
  3806  	return p.Err()
  3807  }
  3808  
  3809  const opListBotVersions = "ListBotVersions"
  3810  
  3811  // ListBotVersionsRequest generates a "aws/request.Request" representing the
  3812  // client's request for the ListBotVersions operation. The "output" return
  3813  // value will be populated with the request's response once the request completes
  3814  // successfully.
  3815  //
  3816  // Use "Send" method on the returned Request to send the API call to the service.
  3817  // the "output" return value is not valid until after Send returns without error.
  3818  //
  3819  // See ListBotVersions for more information on using the ListBotVersions
  3820  // API call, and error handling.
  3821  //
  3822  // This method is useful when you want to inject custom logic or configuration
  3823  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3824  //
  3825  //
  3826  //    // Example sending a request using the ListBotVersionsRequest method.
  3827  //    req, resp := client.ListBotVersionsRequest(params)
  3828  //
  3829  //    err := req.Send()
  3830  //    if err == nil { // resp is now filled
  3831  //        fmt.Println(resp)
  3832  //    }
  3833  //
  3834  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotVersions
  3835  func (c *LexModelsV2) ListBotVersionsRequest(input *ListBotVersionsInput) (req *request.Request, output *ListBotVersionsOutput) {
  3836  	op := &request.Operation{
  3837  		Name:       opListBotVersions,
  3838  		HTTPMethod: "POST",
  3839  		HTTPPath:   "/bots/{botId}/botversions/",
  3840  		Paginator: &request.Paginator{
  3841  			InputTokens:     []string{"nextToken"},
  3842  			OutputTokens:    []string{"nextToken"},
  3843  			LimitToken:      "maxResults",
  3844  			TruncationToken: "",
  3845  		},
  3846  	}
  3847  
  3848  	if input == nil {
  3849  		input = &ListBotVersionsInput{}
  3850  	}
  3851  
  3852  	output = &ListBotVersionsOutput{}
  3853  	req = c.newRequest(op, input, output)
  3854  	return
  3855  }
  3856  
  3857  // ListBotVersions API operation for Amazon Lex Model Building V2.
  3858  //
  3859  // Gets information about all of the versions of a bot.
  3860  //
  3861  // The ListBotVersions operation returns a summary of each version of a bot.
  3862  // For example, if a bot has three numbered versions, the ListBotVersions operation
  3863  // returns for summaries, one for each numbered version and one for the DRAFT
  3864  // version.
  3865  //
  3866  // The ListBotVersions operation always returns at least one version, the DRAFT
  3867  // version.
  3868  //
  3869  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3870  // with awserr.Error's Code and Message methods to get detailed information about
  3871  // the error.
  3872  //
  3873  // See the AWS API reference guide for Amazon Lex Model Building V2's
  3874  // API operation ListBotVersions for usage and error information.
  3875  //
  3876  // Returned Error Types:
  3877  //   * ThrottlingException
  3878  //   Your request rate is too high. Reduce the frequency of requests.
  3879  //
  3880  //   * ServiceQuotaExceededException
  3881  //   You have reached a quota for your bot.
  3882  //
  3883  //   * ValidationException
  3884  //   One of the input parameters in your request isn't valid. Check the parameters
  3885  //   and try your request again.
  3886  //
  3887  //   * InternalServerException
  3888  //   The service encountered an unexpected condition. Try your request again.
  3889  //
  3890  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotVersions
  3891  func (c *LexModelsV2) ListBotVersions(input *ListBotVersionsInput) (*ListBotVersionsOutput, error) {
  3892  	req, out := c.ListBotVersionsRequest(input)
  3893  	return out, req.Send()
  3894  }
  3895  
  3896  // ListBotVersionsWithContext is the same as ListBotVersions with the addition of
  3897  // the ability to pass a context and additional request options.
  3898  //
  3899  // See ListBotVersions for details on how to use this API operation.
  3900  //
  3901  // The context must be non-nil and will be used for request cancellation. If
  3902  // the context is nil a panic will occur. In the future the SDK may create
  3903  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3904  // for more information on using Contexts.
  3905  func (c *LexModelsV2) ListBotVersionsWithContext(ctx aws.Context, input *ListBotVersionsInput, opts ...request.Option) (*ListBotVersionsOutput, error) {
  3906  	req, out := c.ListBotVersionsRequest(input)
  3907  	req.SetContext(ctx)
  3908  	req.ApplyOptions(opts...)
  3909  	return out, req.Send()
  3910  }
  3911  
  3912  // ListBotVersionsPages iterates over the pages of a ListBotVersions operation,
  3913  // calling the "fn" function with the response data for each page. To stop
  3914  // iterating, return false from the fn function.
  3915  //
  3916  // See ListBotVersions method for more information on how to use this operation.
  3917  //
  3918  // Note: This operation can generate multiple requests to a service.
  3919  //
  3920  //    // Example iterating over at most 3 pages of a ListBotVersions operation.
  3921  //    pageNum := 0
  3922  //    err := client.ListBotVersionsPages(params,
  3923  //        func(page *lexmodelsv2.ListBotVersionsOutput, lastPage bool) bool {
  3924  //            pageNum++
  3925  //            fmt.Println(page)
  3926  //            return pageNum <= 3
  3927  //        })
  3928  //
  3929  func (c *LexModelsV2) ListBotVersionsPages(input *ListBotVersionsInput, fn func(*ListBotVersionsOutput, bool) bool) error {
  3930  	return c.ListBotVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3931  }
  3932  
  3933  // ListBotVersionsPagesWithContext same as ListBotVersionsPages except
  3934  // it takes a Context and allows setting request options on the pages.
  3935  //
  3936  // The context must be non-nil and will be used for request cancellation. If
  3937  // the context is nil a panic will occur. In the future the SDK may create
  3938  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3939  // for more information on using Contexts.
  3940  func (c *LexModelsV2) ListBotVersionsPagesWithContext(ctx aws.Context, input *ListBotVersionsInput, fn func(*ListBotVersionsOutput, bool) bool, opts ...request.Option) error {
  3941  	p := request.Pagination{
  3942  		NewRequest: func() (*request.Request, error) {
  3943  			var inCpy *ListBotVersionsInput
  3944  			if input != nil {
  3945  				tmp := *input
  3946  				inCpy = &tmp
  3947  			}
  3948  			req, _ := c.ListBotVersionsRequest(inCpy)
  3949  			req.SetContext(ctx)
  3950  			req.ApplyOptions(opts...)
  3951  			return req, nil
  3952  		},
  3953  	}
  3954  
  3955  	for p.Next() {
  3956  		if !fn(p.Page().(*ListBotVersionsOutput), !p.HasNextPage()) {
  3957  			break
  3958  		}
  3959  	}
  3960  
  3961  	return p.Err()
  3962  }
  3963  
  3964  const opListBots = "ListBots"
  3965  
  3966  // ListBotsRequest generates a "aws/request.Request" representing the
  3967  // client's request for the ListBots operation. The "output" return
  3968  // value will be populated with the request's response once the request completes
  3969  // successfully.
  3970  //
  3971  // Use "Send" method on the returned Request to send the API call to the service.
  3972  // the "output" return value is not valid until after Send returns without error.
  3973  //
  3974  // See ListBots for more information on using the ListBots
  3975  // API call, and error handling.
  3976  //
  3977  // This method is useful when you want to inject custom logic or configuration
  3978  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3979  //
  3980  //
  3981  //    // Example sending a request using the ListBotsRequest method.
  3982  //    req, resp := client.ListBotsRequest(params)
  3983  //
  3984  //    err := req.Send()
  3985  //    if err == nil { // resp is now filled
  3986  //        fmt.Println(resp)
  3987  //    }
  3988  //
  3989  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBots
  3990  func (c *LexModelsV2) ListBotsRequest(input *ListBotsInput) (req *request.Request, output *ListBotsOutput) {
  3991  	op := &request.Operation{
  3992  		Name:       opListBots,
  3993  		HTTPMethod: "POST",
  3994  		HTTPPath:   "/bots/",
  3995  		Paginator: &request.Paginator{
  3996  			InputTokens:     []string{"nextToken"},
  3997  			OutputTokens:    []string{"nextToken"},
  3998  			LimitToken:      "maxResults",
  3999  			TruncationToken: "",
  4000  		},
  4001  	}
  4002  
  4003  	if input == nil {
  4004  		input = &ListBotsInput{}
  4005  	}
  4006  
  4007  	output = &ListBotsOutput{}
  4008  	req = c.newRequest(op, input, output)
  4009  	return
  4010  }
  4011  
  4012  // ListBots API operation for Amazon Lex Model Building V2.
  4013  //
  4014  // Gets a list of available bots.
  4015  //
  4016  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4017  // with awserr.Error's Code and Message methods to get detailed information about
  4018  // the error.
  4019  //
  4020  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4021  // API operation ListBots for usage and error information.
  4022  //
  4023  // Returned Error Types:
  4024  //   * ThrottlingException
  4025  //   Your request rate is too high. Reduce the frequency of requests.
  4026  //
  4027  //   * ServiceQuotaExceededException
  4028  //   You have reached a quota for your bot.
  4029  //
  4030  //   * ValidationException
  4031  //   One of the input parameters in your request isn't valid. Check the parameters
  4032  //   and try your request again.
  4033  //
  4034  //   * InternalServerException
  4035  //   The service encountered an unexpected condition. Try your request again.
  4036  //
  4037  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBots
  4038  func (c *LexModelsV2) ListBots(input *ListBotsInput) (*ListBotsOutput, error) {
  4039  	req, out := c.ListBotsRequest(input)
  4040  	return out, req.Send()
  4041  }
  4042  
  4043  // ListBotsWithContext is the same as ListBots with the addition of
  4044  // the ability to pass a context and additional request options.
  4045  //
  4046  // See ListBots for details on how to use this API operation.
  4047  //
  4048  // The context must be non-nil and will be used for request cancellation. If
  4049  // the context is nil a panic will occur. In the future the SDK may create
  4050  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4051  // for more information on using Contexts.
  4052  func (c *LexModelsV2) ListBotsWithContext(ctx aws.Context, input *ListBotsInput, opts ...request.Option) (*ListBotsOutput, error) {
  4053  	req, out := c.ListBotsRequest(input)
  4054  	req.SetContext(ctx)
  4055  	req.ApplyOptions(opts...)
  4056  	return out, req.Send()
  4057  }
  4058  
  4059  // ListBotsPages iterates over the pages of a ListBots operation,
  4060  // calling the "fn" function with the response data for each page. To stop
  4061  // iterating, return false from the fn function.
  4062  //
  4063  // See ListBots method for more information on how to use this operation.
  4064  //
  4065  // Note: This operation can generate multiple requests to a service.
  4066  //
  4067  //    // Example iterating over at most 3 pages of a ListBots operation.
  4068  //    pageNum := 0
  4069  //    err := client.ListBotsPages(params,
  4070  //        func(page *lexmodelsv2.ListBotsOutput, lastPage bool) bool {
  4071  //            pageNum++
  4072  //            fmt.Println(page)
  4073  //            return pageNum <= 3
  4074  //        })
  4075  //
  4076  func (c *LexModelsV2) ListBotsPages(input *ListBotsInput, fn func(*ListBotsOutput, bool) bool) error {
  4077  	return c.ListBotsPagesWithContext(aws.BackgroundContext(), input, fn)
  4078  }
  4079  
  4080  // ListBotsPagesWithContext same as ListBotsPages except
  4081  // it takes a Context and allows setting request options on the pages.
  4082  //
  4083  // The context must be non-nil and will be used for request cancellation. If
  4084  // the context is nil a panic will occur. In the future the SDK may create
  4085  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4086  // for more information on using Contexts.
  4087  func (c *LexModelsV2) ListBotsPagesWithContext(ctx aws.Context, input *ListBotsInput, fn func(*ListBotsOutput, bool) bool, opts ...request.Option) error {
  4088  	p := request.Pagination{
  4089  		NewRequest: func() (*request.Request, error) {
  4090  			var inCpy *ListBotsInput
  4091  			if input != nil {
  4092  				tmp := *input
  4093  				inCpy = &tmp
  4094  			}
  4095  			req, _ := c.ListBotsRequest(inCpy)
  4096  			req.SetContext(ctx)
  4097  			req.ApplyOptions(opts...)
  4098  			return req, nil
  4099  		},
  4100  	}
  4101  
  4102  	for p.Next() {
  4103  		if !fn(p.Page().(*ListBotsOutput), !p.HasNextPage()) {
  4104  			break
  4105  		}
  4106  	}
  4107  
  4108  	return p.Err()
  4109  }
  4110  
  4111  const opListBuiltInIntents = "ListBuiltInIntents"
  4112  
  4113  // ListBuiltInIntentsRequest generates a "aws/request.Request" representing the
  4114  // client's request for the ListBuiltInIntents operation. The "output" return
  4115  // value will be populated with the request's response once the request completes
  4116  // successfully.
  4117  //
  4118  // Use "Send" method on the returned Request to send the API call to the service.
  4119  // the "output" return value is not valid until after Send returns without error.
  4120  //
  4121  // See ListBuiltInIntents for more information on using the ListBuiltInIntents
  4122  // API call, and error handling.
  4123  //
  4124  // This method is useful when you want to inject custom logic or configuration
  4125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4126  //
  4127  //
  4128  //    // Example sending a request using the ListBuiltInIntentsRequest method.
  4129  //    req, resp := client.ListBuiltInIntentsRequest(params)
  4130  //
  4131  //    err := req.Send()
  4132  //    if err == nil { // resp is now filled
  4133  //        fmt.Println(resp)
  4134  //    }
  4135  //
  4136  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInIntents
  4137  func (c *LexModelsV2) ListBuiltInIntentsRequest(input *ListBuiltInIntentsInput) (req *request.Request, output *ListBuiltInIntentsOutput) {
  4138  	op := &request.Operation{
  4139  		Name:       opListBuiltInIntents,
  4140  		HTTPMethod: "POST",
  4141  		HTTPPath:   "/builtins/locales/{localeId}/intents/",
  4142  		Paginator: &request.Paginator{
  4143  			InputTokens:     []string{"nextToken"},
  4144  			OutputTokens:    []string{"nextToken"},
  4145  			LimitToken:      "maxResults",
  4146  			TruncationToken: "",
  4147  		},
  4148  	}
  4149  
  4150  	if input == nil {
  4151  		input = &ListBuiltInIntentsInput{}
  4152  	}
  4153  
  4154  	output = &ListBuiltInIntentsOutput{}
  4155  	req = c.newRequest(op, input, output)
  4156  	return
  4157  }
  4158  
  4159  // ListBuiltInIntents API operation for Amazon Lex Model Building V2.
  4160  //
  4161  // Gets a list of built-in intents provided by Amazon Lex that you can use in
  4162  // your bot.
  4163  //
  4164  // To use a built-in intent as a the base for your own intent, include the built-in
  4165  // intent signature in the parentIntentSignature parameter when you call the
  4166  // CreateIntent operation. For more information, see CreateIntent.
  4167  //
  4168  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4169  // with awserr.Error's Code and Message methods to get detailed information about
  4170  // the error.
  4171  //
  4172  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4173  // API operation ListBuiltInIntents for usage and error information.
  4174  //
  4175  // Returned Error Types:
  4176  //   * ThrottlingException
  4177  //   Your request rate is too high. Reduce the frequency of requests.
  4178  //
  4179  //   * ServiceQuotaExceededException
  4180  //   You have reached a quota for your bot.
  4181  //
  4182  //   * ValidationException
  4183  //   One of the input parameters in your request isn't valid. Check the parameters
  4184  //   and try your request again.
  4185  //
  4186  //   * InternalServerException
  4187  //   The service encountered an unexpected condition. Try your request again.
  4188  //
  4189  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInIntents
  4190  func (c *LexModelsV2) ListBuiltInIntents(input *ListBuiltInIntentsInput) (*ListBuiltInIntentsOutput, error) {
  4191  	req, out := c.ListBuiltInIntentsRequest(input)
  4192  	return out, req.Send()
  4193  }
  4194  
  4195  // ListBuiltInIntentsWithContext is the same as ListBuiltInIntents with the addition of
  4196  // the ability to pass a context and additional request options.
  4197  //
  4198  // See ListBuiltInIntents for details on how to use this API operation.
  4199  //
  4200  // The context must be non-nil and will be used for request cancellation. If
  4201  // the context is nil a panic will occur. In the future the SDK may create
  4202  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4203  // for more information on using Contexts.
  4204  func (c *LexModelsV2) ListBuiltInIntentsWithContext(ctx aws.Context, input *ListBuiltInIntentsInput, opts ...request.Option) (*ListBuiltInIntentsOutput, error) {
  4205  	req, out := c.ListBuiltInIntentsRequest(input)
  4206  	req.SetContext(ctx)
  4207  	req.ApplyOptions(opts...)
  4208  	return out, req.Send()
  4209  }
  4210  
  4211  // ListBuiltInIntentsPages iterates over the pages of a ListBuiltInIntents operation,
  4212  // calling the "fn" function with the response data for each page. To stop
  4213  // iterating, return false from the fn function.
  4214  //
  4215  // See ListBuiltInIntents method for more information on how to use this operation.
  4216  //
  4217  // Note: This operation can generate multiple requests to a service.
  4218  //
  4219  //    // Example iterating over at most 3 pages of a ListBuiltInIntents operation.
  4220  //    pageNum := 0
  4221  //    err := client.ListBuiltInIntentsPages(params,
  4222  //        func(page *lexmodelsv2.ListBuiltInIntentsOutput, lastPage bool) bool {
  4223  //            pageNum++
  4224  //            fmt.Println(page)
  4225  //            return pageNum <= 3
  4226  //        })
  4227  //
  4228  func (c *LexModelsV2) ListBuiltInIntentsPages(input *ListBuiltInIntentsInput, fn func(*ListBuiltInIntentsOutput, bool) bool) error {
  4229  	return c.ListBuiltInIntentsPagesWithContext(aws.BackgroundContext(), input, fn)
  4230  }
  4231  
  4232  // ListBuiltInIntentsPagesWithContext same as ListBuiltInIntentsPages except
  4233  // it takes a Context and allows setting request options on the pages.
  4234  //
  4235  // The context must be non-nil and will be used for request cancellation. If
  4236  // the context is nil a panic will occur. In the future the SDK may create
  4237  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4238  // for more information on using Contexts.
  4239  func (c *LexModelsV2) ListBuiltInIntentsPagesWithContext(ctx aws.Context, input *ListBuiltInIntentsInput, fn func(*ListBuiltInIntentsOutput, bool) bool, opts ...request.Option) error {
  4240  	p := request.Pagination{
  4241  		NewRequest: func() (*request.Request, error) {
  4242  			var inCpy *ListBuiltInIntentsInput
  4243  			if input != nil {
  4244  				tmp := *input
  4245  				inCpy = &tmp
  4246  			}
  4247  			req, _ := c.ListBuiltInIntentsRequest(inCpy)
  4248  			req.SetContext(ctx)
  4249  			req.ApplyOptions(opts...)
  4250  			return req, nil
  4251  		},
  4252  	}
  4253  
  4254  	for p.Next() {
  4255  		if !fn(p.Page().(*ListBuiltInIntentsOutput), !p.HasNextPage()) {
  4256  			break
  4257  		}
  4258  	}
  4259  
  4260  	return p.Err()
  4261  }
  4262  
  4263  const opListBuiltInSlotTypes = "ListBuiltInSlotTypes"
  4264  
  4265  // ListBuiltInSlotTypesRequest generates a "aws/request.Request" representing the
  4266  // client's request for the ListBuiltInSlotTypes operation. The "output" return
  4267  // value will be populated with the request's response once the request completes
  4268  // successfully.
  4269  //
  4270  // Use "Send" method on the returned Request to send the API call to the service.
  4271  // the "output" return value is not valid until after Send returns without error.
  4272  //
  4273  // See ListBuiltInSlotTypes for more information on using the ListBuiltInSlotTypes
  4274  // API call, and error handling.
  4275  //
  4276  // This method is useful when you want to inject custom logic or configuration
  4277  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4278  //
  4279  //
  4280  //    // Example sending a request using the ListBuiltInSlotTypesRequest method.
  4281  //    req, resp := client.ListBuiltInSlotTypesRequest(params)
  4282  //
  4283  //    err := req.Send()
  4284  //    if err == nil { // resp is now filled
  4285  //        fmt.Println(resp)
  4286  //    }
  4287  //
  4288  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInSlotTypes
  4289  func (c *LexModelsV2) ListBuiltInSlotTypesRequest(input *ListBuiltInSlotTypesInput) (req *request.Request, output *ListBuiltInSlotTypesOutput) {
  4290  	op := &request.Operation{
  4291  		Name:       opListBuiltInSlotTypes,
  4292  		HTTPMethod: "POST",
  4293  		HTTPPath:   "/builtins/locales/{localeId}/slottypes/",
  4294  		Paginator: &request.Paginator{
  4295  			InputTokens:     []string{"nextToken"},
  4296  			OutputTokens:    []string{"nextToken"},
  4297  			LimitToken:      "maxResults",
  4298  			TruncationToken: "",
  4299  		},
  4300  	}
  4301  
  4302  	if input == nil {
  4303  		input = &ListBuiltInSlotTypesInput{}
  4304  	}
  4305  
  4306  	output = &ListBuiltInSlotTypesOutput{}
  4307  	req = c.newRequest(op, input, output)
  4308  	return
  4309  }
  4310  
  4311  // ListBuiltInSlotTypes API operation for Amazon Lex Model Building V2.
  4312  //
  4313  // Gets a list of built-in slot types that meet the specified criteria.
  4314  //
  4315  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4316  // with awserr.Error's Code and Message methods to get detailed information about
  4317  // the error.
  4318  //
  4319  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4320  // API operation ListBuiltInSlotTypes for usage and error information.
  4321  //
  4322  // Returned Error Types:
  4323  //   * ThrottlingException
  4324  //   Your request rate is too high. Reduce the frequency of requests.
  4325  //
  4326  //   * ServiceQuotaExceededException
  4327  //   You have reached a quota for your bot.
  4328  //
  4329  //   * ValidationException
  4330  //   One of the input parameters in your request isn't valid. Check the parameters
  4331  //   and try your request again.
  4332  //
  4333  //   * InternalServerException
  4334  //   The service encountered an unexpected condition. Try your request again.
  4335  //
  4336  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInSlotTypes
  4337  func (c *LexModelsV2) ListBuiltInSlotTypes(input *ListBuiltInSlotTypesInput) (*ListBuiltInSlotTypesOutput, error) {
  4338  	req, out := c.ListBuiltInSlotTypesRequest(input)
  4339  	return out, req.Send()
  4340  }
  4341  
  4342  // ListBuiltInSlotTypesWithContext is the same as ListBuiltInSlotTypes with the addition of
  4343  // the ability to pass a context and additional request options.
  4344  //
  4345  // See ListBuiltInSlotTypes for details on how to use this API operation.
  4346  //
  4347  // The context must be non-nil and will be used for request cancellation. If
  4348  // the context is nil a panic will occur. In the future the SDK may create
  4349  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4350  // for more information on using Contexts.
  4351  func (c *LexModelsV2) ListBuiltInSlotTypesWithContext(ctx aws.Context, input *ListBuiltInSlotTypesInput, opts ...request.Option) (*ListBuiltInSlotTypesOutput, error) {
  4352  	req, out := c.ListBuiltInSlotTypesRequest(input)
  4353  	req.SetContext(ctx)
  4354  	req.ApplyOptions(opts...)
  4355  	return out, req.Send()
  4356  }
  4357  
  4358  // ListBuiltInSlotTypesPages iterates over the pages of a ListBuiltInSlotTypes operation,
  4359  // calling the "fn" function with the response data for each page. To stop
  4360  // iterating, return false from the fn function.
  4361  //
  4362  // See ListBuiltInSlotTypes method for more information on how to use this operation.
  4363  //
  4364  // Note: This operation can generate multiple requests to a service.
  4365  //
  4366  //    // Example iterating over at most 3 pages of a ListBuiltInSlotTypes operation.
  4367  //    pageNum := 0
  4368  //    err := client.ListBuiltInSlotTypesPages(params,
  4369  //        func(page *lexmodelsv2.ListBuiltInSlotTypesOutput, lastPage bool) bool {
  4370  //            pageNum++
  4371  //            fmt.Println(page)
  4372  //            return pageNum <= 3
  4373  //        })
  4374  //
  4375  func (c *LexModelsV2) ListBuiltInSlotTypesPages(input *ListBuiltInSlotTypesInput, fn func(*ListBuiltInSlotTypesOutput, bool) bool) error {
  4376  	return c.ListBuiltInSlotTypesPagesWithContext(aws.BackgroundContext(), input, fn)
  4377  }
  4378  
  4379  // ListBuiltInSlotTypesPagesWithContext same as ListBuiltInSlotTypesPages except
  4380  // it takes a Context and allows setting request options on the pages.
  4381  //
  4382  // The context must be non-nil and will be used for request cancellation. If
  4383  // the context is nil a panic will occur. In the future the SDK may create
  4384  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4385  // for more information on using Contexts.
  4386  func (c *LexModelsV2) ListBuiltInSlotTypesPagesWithContext(ctx aws.Context, input *ListBuiltInSlotTypesInput, fn func(*ListBuiltInSlotTypesOutput, bool) bool, opts ...request.Option) error {
  4387  	p := request.Pagination{
  4388  		NewRequest: func() (*request.Request, error) {
  4389  			var inCpy *ListBuiltInSlotTypesInput
  4390  			if input != nil {
  4391  				tmp := *input
  4392  				inCpy = &tmp
  4393  			}
  4394  			req, _ := c.ListBuiltInSlotTypesRequest(inCpy)
  4395  			req.SetContext(ctx)
  4396  			req.ApplyOptions(opts...)
  4397  			return req, nil
  4398  		},
  4399  	}
  4400  
  4401  	for p.Next() {
  4402  		if !fn(p.Page().(*ListBuiltInSlotTypesOutput), !p.HasNextPage()) {
  4403  			break
  4404  		}
  4405  	}
  4406  
  4407  	return p.Err()
  4408  }
  4409  
  4410  const opListExports = "ListExports"
  4411  
  4412  // ListExportsRequest generates a "aws/request.Request" representing the
  4413  // client's request for the ListExports operation. The "output" return
  4414  // value will be populated with the request's response once the request completes
  4415  // successfully.
  4416  //
  4417  // Use "Send" method on the returned Request to send the API call to the service.
  4418  // the "output" return value is not valid until after Send returns without error.
  4419  //
  4420  // See ListExports for more information on using the ListExports
  4421  // API call, and error handling.
  4422  //
  4423  // This method is useful when you want to inject custom logic or configuration
  4424  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4425  //
  4426  //
  4427  //    // Example sending a request using the ListExportsRequest method.
  4428  //    req, resp := client.ListExportsRequest(params)
  4429  //
  4430  //    err := req.Send()
  4431  //    if err == nil { // resp is now filled
  4432  //        fmt.Println(resp)
  4433  //    }
  4434  //
  4435  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports
  4436  func (c *LexModelsV2) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) {
  4437  	op := &request.Operation{
  4438  		Name:       opListExports,
  4439  		HTTPMethod: "POST",
  4440  		HTTPPath:   "/exports/",
  4441  		Paginator: &request.Paginator{
  4442  			InputTokens:     []string{"nextToken"},
  4443  			OutputTokens:    []string{"nextToken"},
  4444  			LimitToken:      "maxResults",
  4445  			TruncationToken: "",
  4446  		},
  4447  	}
  4448  
  4449  	if input == nil {
  4450  		input = &ListExportsInput{}
  4451  	}
  4452  
  4453  	output = &ListExportsOutput{}
  4454  	req = c.newRequest(op, input, output)
  4455  	return
  4456  }
  4457  
  4458  // ListExports API operation for Amazon Lex Model Building V2.
  4459  //
  4460  // Lists the exports for a bot or bot locale. Exports are kept in the list for
  4461  // 7 days.
  4462  //
  4463  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4464  // with awserr.Error's Code and Message methods to get detailed information about
  4465  // the error.
  4466  //
  4467  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4468  // API operation ListExports for usage and error information.
  4469  //
  4470  // Returned Error Types:
  4471  //   * ThrottlingException
  4472  //   Your request rate is too high. Reduce the frequency of requests.
  4473  //
  4474  //   * ValidationException
  4475  //   One of the input parameters in your request isn't valid. Check the parameters
  4476  //   and try your request again.
  4477  //
  4478  //   * InternalServerException
  4479  //   The service encountered an unexpected condition. Try your request again.
  4480  //
  4481  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports
  4482  func (c *LexModelsV2) ListExports(input *ListExportsInput) (*ListExportsOutput, error) {
  4483  	req, out := c.ListExportsRequest(input)
  4484  	return out, req.Send()
  4485  }
  4486  
  4487  // ListExportsWithContext is the same as ListExports with the addition of
  4488  // the ability to pass a context and additional request options.
  4489  //
  4490  // See ListExports for details on how to use this API operation.
  4491  //
  4492  // The context must be non-nil and will be used for request cancellation. If
  4493  // the context is nil a panic will occur. In the future the SDK may create
  4494  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4495  // for more information on using Contexts.
  4496  func (c *LexModelsV2) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) {
  4497  	req, out := c.ListExportsRequest(input)
  4498  	req.SetContext(ctx)
  4499  	req.ApplyOptions(opts...)
  4500  	return out, req.Send()
  4501  }
  4502  
  4503  // ListExportsPages iterates over the pages of a ListExports operation,
  4504  // calling the "fn" function with the response data for each page. To stop
  4505  // iterating, return false from the fn function.
  4506  //
  4507  // See ListExports method for more information on how to use this operation.
  4508  //
  4509  // Note: This operation can generate multiple requests to a service.
  4510  //
  4511  //    // Example iterating over at most 3 pages of a ListExports operation.
  4512  //    pageNum := 0
  4513  //    err := client.ListExportsPages(params,
  4514  //        func(page *lexmodelsv2.ListExportsOutput, lastPage bool) bool {
  4515  //            pageNum++
  4516  //            fmt.Println(page)
  4517  //            return pageNum <= 3
  4518  //        })
  4519  //
  4520  func (c *LexModelsV2) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error {
  4521  	return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn)
  4522  }
  4523  
  4524  // ListExportsPagesWithContext same as ListExportsPages except
  4525  // it takes a Context and allows setting request options on the pages.
  4526  //
  4527  // The context must be non-nil and will be used for request cancellation. If
  4528  // the context is nil a panic will occur. In the future the SDK may create
  4529  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4530  // for more information on using Contexts.
  4531  func (c *LexModelsV2) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error {
  4532  	p := request.Pagination{
  4533  		NewRequest: func() (*request.Request, error) {
  4534  			var inCpy *ListExportsInput
  4535  			if input != nil {
  4536  				tmp := *input
  4537  				inCpy = &tmp
  4538  			}
  4539  			req, _ := c.ListExportsRequest(inCpy)
  4540  			req.SetContext(ctx)
  4541  			req.ApplyOptions(opts...)
  4542  			return req, nil
  4543  		},
  4544  	}
  4545  
  4546  	for p.Next() {
  4547  		if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) {
  4548  			break
  4549  		}
  4550  	}
  4551  
  4552  	return p.Err()
  4553  }
  4554  
  4555  const opListImports = "ListImports"
  4556  
  4557  // ListImportsRequest generates a "aws/request.Request" representing the
  4558  // client's request for the ListImports operation. The "output" return
  4559  // value will be populated with the request's response once the request completes
  4560  // successfully.
  4561  //
  4562  // Use "Send" method on the returned Request to send the API call to the service.
  4563  // the "output" return value is not valid until after Send returns without error.
  4564  //
  4565  // See ListImports for more information on using the ListImports
  4566  // API call, and error handling.
  4567  //
  4568  // This method is useful when you want to inject custom logic or configuration
  4569  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4570  //
  4571  //
  4572  //    // Example sending a request using the ListImportsRequest method.
  4573  //    req, resp := client.ListImportsRequest(params)
  4574  //
  4575  //    err := req.Send()
  4576  //    if err == nil { // resp is now filled
  4577  //        fmt.Println(resp)
  4578  //    }
  4579  //
  4580  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListImports
  4581  func (c *LexModelsV2) ListImportsRequest(input *ListImportsInput) (req *request.Request, output *ListImportsOutput) {
  4582  	op := &request.Operation{
  4583  		Name:       opListImports,
  4584  		HTTPMethod: "POST",
  4585  		HTTPPath:   "/imports/",
  4586  		Paginator: &request.Paginator{
  4587  			InputTokens:     []string{"nextToken"},
  4588  			OutputTokens:    []string{"nextToken"},
  4589  			LimitToken:      "maxResults",
  4590  			TruncationToken: "",
  4591  		},
  4592  	}
  4593  
  4594  	if input == nil {
  4595  		input = &ListImportsInput{}
  4596  	}
  4597  
  4598  	output = &ListImportsOutput{}
  4599  	req = c.newRequest(op, input, output)
  4600  	return
  4601  }
  4602  
  4603  // ListImports API operation for Amazon Lex Model Building V2.
  4604  //
  4605  // Lists the imports for a bot or bot locale. Imports are kept in the list for
  4606  // 7 days.
  4607  //
  4608  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4609  // with awserr.Error's Code and Message methods to get detailed information about
  4610  // the error.
  4611  //
  4612  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4613  // API operation ListImports for usage and error information.
  4614  //
  4615  // Returned Error Types:
  4616  //   * ThrottlingException
  4617  //   Your request rate is too high. Reduce the frequency of requests.
  4618  //
  4619  //   * ValidationException
  4620  //   One of the input parameters in your request isn't valid. Check the parameters
  4621  //   and try your request again.
  4622  //
  4623  //   * InternalServerException
  4624  //   The service encountered an unexpected condition. Try your request again.
  4625  //
  4626  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListImports
  4627  func (c *LexModelsV2) ListImports(input *ListImportsInput) (*ListImportsOutput, error) {
  4628  	req, out := c.ListImportsRequest(input)
  4629  	return out, req.Send()
  4630  }
  4631  
  4632  // ListImportsWithContext is the same as ListImports with the addition of
  4633  // the ability to pass a context and additional request options.
  4634  //
  4635  // See ListImports for details on how to use this API operation.
  4636  //
  4637  // The context must be non-nil and will be used for request cancellation. If
  4638  // the context is nil a panic will occur. In the future the SDK may create
  4639  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4640  // for more information on using Contexts.
  4641  func (c *LexModelsV2) ListImportsWithContext(ctx aws.Context, input *ListImportsInput, opts ...request.Option) (*ListImportsOutput, error) {
  4642  	req, out := c.ListImportsRequest(input)
  4643  	req.SetContext(ctx)
  4644  	req.ApplyOptions(opts...)
  4645  	return out, req.Send()
  4646  }
  4647  
  4648  // ListImportsPages iterates over the pages of a ListImports operation,
  4649  // calling the "fn" function with the response data for each page. To stop
  4650  // iterating, return false from the fn function.
  4651  //
  4652  // See ListImports method for more information on how to use this operation.
  4653  //
  4654  // Note: This operation can generate multiple requests to a service.
  4655  //
  4656  //    // Example iterating over at most 3 pages of a ListImports operation.
  4657  //    pageNum := 0
  4658  //    err := client.ListImportsPages(params,
  4659  //        func(page *lexmodelsv2.ListImportsOutput, lastPage bool) bool {
  4660  //            pageNum++
  4661  //            fmt.Println(page)
  4662  //            return pageNum <= 3
  4663  //        })
  4664  //
  4665  func (c *LexModelsV2) ListImportsPages(input *ListImportsInput, fn func(*ListImportsOutput, bool) bool) error {
  4666  	return c.ListImportsPagesWithContext(aws.BackgroundContext(), input, fn)
  4667  }
  4668  
  4669  // ListImportsPagesWithContext same as ListImportsPages except
  4670  // it takes a Context and allows setting request options on the pages.
  4671  //
  4672  // The context must be non-nil and will be used for request cancellation. If
  4673  // the context is nil a panic will occur. In the future the SDK may create
  4674  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4675  // for more information on using Contexts.
  4676  func (c *LexModelsV2) ListImportsPagesWithContext(ctx aws.Context, input *ListImportsInput, fn func(*ListImportsOutput, bool) bool, opts ...request.Option) error {
  4677  	p := request.Pagination{
  4678  		NewRequest: func() (*request.Request, error) {
  4679  			var inCpy *ListImportsInput
  4680  			if input != nil {
  4681  				tmp := *input
  4682  				inCpy = &tmp
  4683  			}
  4684  			req, _ := c.ListImportsRequest(inCpy)
  4685  			req.SetContext(ctx)
  4686  			req.ApplyOptions(opts...)
  4687  			return req, nil
  4688  		},
  4689  	}
  4690  
  4691  	for p.Next() {
  4692  		if !fn(p.Page().(*ListImportsOutput), !p.HasNextPage()) {
  4693  			break
  4694  		}
  4695  	}
  4696  
  4697  	return p.Err()
  4698  }
  4699  
  4700  const opListIntents = "ListIntents"
  4701  
  4702  // ListIntentsRequest generates a "aws/request.Request" representing the
  4703  // client's request for the ListIntents operation. The "output" return
  4704  // value will be populated with the request's response once the request completes
  4705  // successfully.
  4706  //
  4707  // Use "Send" method on the returned Request to send the API call to the service.
  4708  // the "output" return value is not valid until after Send returns without error.
  4709  //
  4710  // See ListIntents for more information on using the ListIntents
  4711  // API call, and error handling.
  4712  //
  4713  // This method is useful when you want to inject custom logic or configuration
  4714  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4715  //
  4716  //
  4717  //    // Example sending a request using the ListIntentsRequest method.
  4718  //    req, resp := client.ListIntentsRequest(params)
  4719  //
  4720  //    err := req.Send()
  4721  //    if err == nil { // resp is now filled
  4722  //        fmt.Println(resp)
  4723  //    }
  4724  //
  4725  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntents
  4726  func (c *LexModelsV2) ListIntentsRequest(input *ListIntentsInput) (req *request.Request, output *ListIntentsOutput) {
  4727  	op := &request.Operation{
  4728  		Name:       opListIntents,
  4729  		HTTPMethod: "POST",
  4730  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/",
  4731  		Paginator: &request.Paginator{
  4732  			InputTokens:     []string{"nextToken"},
  4733  			OutputTokens:    []string{"nextToken"},
  4734  			LimitToken:      "maxResults",
  4735  			TruncationToken: "",
  4736  		},
  4737  	}
  4738  
  4739  	if input == nil {
  4740  		input = &ListIntentsInput{}
  4741  	}
  4742  
  4743  	output = &ListIntentsOutput{}
  4744  	req = c.newRequest(op, input, output)
  4745  	return
  4746  }
  4747  
  4748  // ListIntents API operation for Amazon Lex Model Building V2.
  4749  //
  4750  // Get a list of intents that meet the specified criteria.
  4751  //
  4752  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4753  // with awserr.Error's Code and Message methods to get detailed information about
  4754  // the error.
  4755  //
  4756  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4757  // API operation ListIntents for usage and error information.
  4758  //
  4759  // Returned Error Types:
  4760  //   * ThrottlingException
  4761  //   Your request rate is too high. Reduce the frequency of requests.
  4762  //
  4763  //   * ServiceQuotaExceededException
  4764  //   You have reached a quota for your bot.
  4765  //
  4766  //   * ValidationException
  4767  //   One of the input parameters in your request isn't valid. Check the parameters
  4768  //   and try your request again.
  4769  //
  4770  //   * InternalServerException
  4771  //   The service encountered an unexpected condition. Try your request again.
  4772  //
  4773  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntents
  4774  func (c *LexModelsV2) ListIntents(input *ListIntentsInput) (*ListIntentsOutput, error) {
  4775  	req, out := c.ListIntentsRequest(input)
  4776  	return out, req.Send()
  4777  }
  4778  
  4779  // ListIntentsWithContext is the same as ListIntents with the addition of
  4780  // the ability to pass a context and additional request options.
  4781  //
  4782  // See ListIntents for details on how to use this API operation.
  4783  //
  4784  // The context must be non-nil and will be used for request cancellation. If
  4785  // the context is nil a panic will occur. In the future the SDK may create
  4786  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4787  // for more information on using Contexts.
  4788  func (c *LexModelsV2) ListIntentsWithContext(ctx aws.Context, input *ListIntentsInput, opts ...request.Option) (*ListIntentsOutput, error) {
  4789  	req, out := c.ListIntentsRequest(input)
  4790  	req.SetContext(ctx)
  4791  	req.ApplyOptions(opts...)
  4792  	return out, req.Send()
  4793  }
  4794  
  4795  // ListIntentsPages iterates over the pages of a ListIntents operation,
  4796  // calling the "fn" function with the response data for each page. To stop
  4797  // iterating, return false from the fn function.
  4798  //
  4799  // See ListIntents method for more information on how to use this operation.
  4800  //
  4801  // Note: This operation can generate multiple requests to a service.
  4802  //
  4803  //    // Example iterating over at most 3 pages of a ListIntents operation.
  4804  //    pageNum := 0
  4805  //    err := client.ListIntentsPages(params,
  4806  //        func(page *lexmodelsv2.ListIntentsOutput, lastPage bool) bool {
  4807  //            pageNum++
  4808  //            fmt.Println(page)
  4809  //            return pageNum <= 3
  4810  //        })
  4811  //
  4812  func (c *LexModelsV2) ListIntentsPages(input *ListIntentsInput, fn func(*ListIntentsOutput, bool) bool) error {
  4813  	return c.ListIntentsPagesWithContext(aws.BackgroundContext(), input, fn)
  4814  }
  4815  
  4816  // ListIntentsPagesWithContext same as ListIntentsPages except
  4817  // it takes a Context and allows setting request options on the pages.
  4818  //
  4819  // The context must be non-nil and will be used for request cancellation. If
  4820  // the context is nil a panic will occur. In the future the SDK may create
  4821  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4822  // for more information on using Contexts.
  4823  func (c *LexModelsV2) ListIntentsPagesWithContext(ctx aws.Context, input *ListIntentsInput, fn func(*ListIntentsOutput, bool) bool, opts ...request.Option) error {
  4824  	p := request.Pagination{
  4825  		NewRequest: func() (*request.Request, error) {
  4826  			var inCpy *ListIntentsInput
  4827  			if input != nil {
  4828  				tmp := *input
  4829  				inCpy = &tmp
  4830  			}
  4831  			req, _ := c.ListIntentsRequest(inCpy)
  4832  			req.SetContext(ctx)
  4833  			req.ApplyOptions(opts...)
  4834  			return req, nil
  4835  		},
  4836  	}
  4837  
  4838  	for p.Next() {
  4839  		if !fn(p.Page().(*ListIntentsOutput), !p.HasNextPage()) {
  4840  			break
  4841  		}
  4842  	}
  4843  
  4844  	return p.Err()
  4845  }
  4846  
  4847  const opListSlotTypes = "ListSlotTypes"
  4848  
  4849  // ListSlotTypesRequest generates a "aws/request.Request" representing the
  4850  // client's request for the ListSlotTypes operation. The "output" return
  4851  // value will be populated with the request's response once the request completes
  4852  // successfully.
  4853  //
  4854  // Use "Send" method on the returned Request to send the API call to the service.
  4855  // the "output" return value is not valid until after Send returns without error.
  4856  //
  4857  // See ListSlotTypes for more information on using the ListSlotTypes
  4858  // API call, and error handling.
  4859  //
  4860  // This method is useful when you want to inject custom logic or configuration
  4861  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4862  //
  4863  //
  4864  //    // Example sending a request using the ListSlotTypesRequest method.
  4865  //    req, resp := client.ListSlotTypesRequest(params)
  4866  //
  4867  //    err := req.Send()
  4868  //    if err == nil { // resp is now filled
  4869  //        fmt.Println(resp)
  4870  //    }
  4871  //
  4872  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlotTypes
  4873  func (c *LexModelsV2) ListSlotTypesRequest(input *ListSlotTypesInput) (req *request.Request, output *ListSlotTypesOutput) {
  4874  	op := &request.Operation{
  4875  		Name:       opListSlotTypes,
  4876  		HTTPMethod: "POST",
  4877  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/",
  4878  		Paginator: &request.Paginator{
  4879  			InputTokens:     []string{"nextToken"},
  4880  			OutputTokens:    []string{"nextToken"},
  4881  			LimitToken:      "maxResults",
  4882  			TruncationToken: "",
  4883  		},
  4884  	}
  4885  
  4886  	if input == nil {
  4887  		input = &ListSlotTypesInput{}
  4888  	}
  4889  
  4890  	output = &ListSlotTypesOutput{}
  4891  	req = c.newRequest(op, input, output)
  4892  	return
  4893  }
  4894  
  4895  // ListSlotTypes API operation for Amazon Lex Model Building V2.
  4896  //
  4897  // Gets a list of slot types that match the specified criteria.
  4898  //
  4899  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4900  // with awserr.Error's Code and Message methods to get detailed information about
  4901  // the error.
  4902  //
  4903  // See the AWS API reference guide for Amazon Lex Model Building V2's
  4904  // API operation ListSlotTypes for usage and error information.
  4905  //
  4906  // Returned Error Types:
  4907  //   * ThrottlingException
  4908  //   Your request rate is too high. Reduce the frequency of requests.
  4909  //
  4910  //   * ServiceQuotaExceededException
  4911  //   You have reached a quota for your bot.
  4912  //
  4913  //   * ValidationException
  4914  //   One of the input parameters in your request isn't valid. Check the parameters
  4915  //   and try your request again.
  4916  //
  4917  //   * InternalServerException
  4918  //   The service encountered an unexpected condition. Try your request again.
  4919  //
  4920  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlotTypes
  4921  func (c *LexModelsV2) ListSlotTypes(input *ListSlotTypesInput) (*ListSlotTypesOutput, error) {
  4922  	req, out := c.ListSlotTypesRequest(input)
  4923  	return out, req.Send()
  4924  }
  4925  
  4926  // ListSlotTypesWithContext is the same as ListSlotTypes with the addition of
  4927  // the ability to pass a context and additional request options.
  4928  //
  4929  // See ListSlotTypes for details on how to use this API operation.
  4930  //
  4931  // The context must be non-nil and will be used for request cancellation. If
  4932  // the context is nil a panic will occur. In the future the SDK may create
  4933  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4934  // for more information on using Contexts.
  4935  func (c *LexModelsV2) ListSlotTypesWithContext(ctx aws.Context, input *ListSlotTypesInput, opts ...request.Option) (*ListSlotTypesOutput, error) {
  4936  	req, out := c.ListSlotTypesRequest(input)
  4937  	req.SetContext(ctx)
  4938  	req.ApplyOptions(opts...)
  4939  	return out, req.Send()
  4940  }
  4941  
  4942  // ListSlotTypesPages iterates over the pages of a ListSlotTypes operation,
  4943  // calling the "fn" function with the response data for each page. To stop
  4944  // iterating, return false from the fn function.
  4945  //
  4946  // See ListSlotTypes method for more information on how to use this operation.
  4947  //
  4948  // Note: This operation can generate multiple requests to a service.
  4949  //
  4950  //    // Example iterating over at most 3 pages of a ListSlotTypes operation.
  4951  //    pageNum := 0
  4952  //    err := client.ListSlotTypesPages(params,
  4953  //        func(page *lexmodelsv2.ListSlotTypesOutput, lastPage bool) bool {
  4954  //            pageNum++
  4955  //            fmt.Println(page)
  4956  //            return pageNum <= 3
  4957  //        })
  4958  //
  4959  func (c *LexModelsV2) ListSlotTypesPages(input *ListSlotTypesInput, fn func(*ListSlotTypesOutput, bool) bool) error {
  4960  	return c.ListSlotTypesPagesWithContext(aws.BackgroundContext(), input, fn)
  4961  }
  4962  
  4963  // ListSlotTypesPagesWithContext same as ListSlotTypesPages except
  4964  // it takes a Context and allows setting request options on the pages.
  4965  //
  4966  // The context must be non-nil and will be used for request cancellation. If
  4967  // the context is nil a panic will occur. In the future the SDK may create
  4968  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4969  // for more information on using Contexts.
  4970  func (c *LexModelsV2) ListSlotTypesPagesWithContext(ctx aws.Context, input *ListSlotTypesInput, fn func(*ListSlotTypesOutput, bool) bool, opts ...request.Option) error {
  4971  	p := request.Pagination{
  4972  		NewRequest: func() (*request.Request, error) {
  4973  			var inCpy *ListSlotTypesInput
  4974  			if input != nil {
  4975  				tmp := *input
  4976  				inCpy = &tmp
  4977  			}
  4978  			req, _ := c.ListSlotTypesRequest(inCpy)
  4979  			req.SetContext(ctx)
  4980  			req.ApplyOptions(opts...)
  4981  			return req, nil
  4982  		},
  4983  	}
  4984  
  4985  	for p.Next() {
  4986  		if !fn(p.Page().(*ListSlotTypesOutput), !p.HasNextPage()) {
  4987  			break
  4988  		}
  4989  	}
  4990  
  4991  	return p.Err()
  4992  }
  4993  
  4994  const opListSlots = "ListSlots"
  4995  
  4996  // ListSlotsRequest generates a "aws/request.Request" representing the
  4997  // client's request for the ListSlots operation. The "output" return
  4998  // value will be populated with the request's response once the request completes
  4999  // successfully.
  5000  //
  5001  // Use "Send" method on the returned Request to send the API call to the service.
  5002  // the "output" return value is not valid until after Send returns without error.
  5003  //
  5004  // See ListSlots for more information on using the ListSlots
  5005  // API call, and error handling.
  5006  //
  5007  // This method is useful when you want to inject custom logic or configuration
  5008  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5009  //
  5010  //
  5011  //    // Example sending a request using the ListSlotsRequest method.
  5012  //    req, resp := client.ListSlotsRequest(params)
  5013  //
  5014  //    err := req.Send()
  5015  //    if err == nil { // resp is now filled
  5016  //        fmt.Println(resp)
  5017  //    }
  5018  //
  5019  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlots
  5020  func (c *LexModelsV2) ListSlotsRequest(input *ListSlotsInput) (req *request.Request, output *ListSlotsOutput) {
  5021  	op := &request.Operation{
  5022  		Name:       opListSlots,
  5023  		HTTPMethod: "POST",
  5024  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/",
  5025  		Paginator: &request.Paginator{
  5026  			InputTokens:     []string{"nextToken"},
  5027  			OutputTokens:    []string{"nextToken"},
  5028  			LimitToken:      "maxResults",
  5029  			TruncationToken: "",
  5030  		},
  5031  	}
  5032  
  5033  	if input == nil {
  5034  		input = &ListSlotsInput{}
  5035  	}
  5036  
  5037  	output = &ListSlotsOutput{}
  5038  	req = c.newRequest(op, input, output)
  5039  	return
  5040  }
  5041  
  5042  // ListSlots API operation for Amazon Lex Model Building V2.
  5043  //
  5044  // Gets a list of slots that match the specified criteria.
  5045  //
  5046  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5047  // with awserr.Error's Code and Message methods to get detailed information about
  5048  // the error.
  5049  //
  5050  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5051  // API operation ListSlots for usage and error information.
  5052  //
  5053  // Returned Error Types:
  5054  //   * ThrottlingException
  5055  //   Your request rate is too high. Reduce the frequency of requests.
  5056  //
  5057  //   * ServiceQuotaExceededException
  5058  //   You have reached a quota for your bot.
  5059  //
  5060  //   * ValidationException
  5061  //   One of the input parameters in your request isn't valid. Check the parameters
  5062  //   and try your request again.
  5063  //
  5064  //   * InternalServerException
  5065  //   The service encountered an unexpected condition. Try your request again.
  5066  //
  5067  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlots
  5068  func (c *LexModelsV2) ListSlots(input *ListSlotsInput) (*ListSlotsOutput, error) {
  5069  	req, out := c.ListSlotsRequest(input)
  5070  	return out, req.Send()
  5071  }
  5072  
  5073  // ListSlotsWithContext is the same as ListSlots with the addition of
  5074  // the ability to pass a context and additional request options.
  5075  //
  5076  // See ListSlots for details on how to use this API operation.
  5077  //
  5078  // The context must be non-nil and will be used for request cancellation. If
  5079  // the context is nil a panic will occur. In the future the SDK may create
  5080  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5081  // for more information on using Contexts.
  5082  func (c *LexModelsV2) ListSlotsWithContext(ctx aws.Context, input *ListSlotsInput, opts ...request.Option) (*ListSlotsOutput, error) {
  5083  	req, out := c.ListSlotsRequest(input)
  5084  	req.SetContext(ctx)
  5085  	req.ApplyOptions(opts...)
  5086  	return out, req.Send()
  5087  }
  5088  
  5089  // ListSlotsPages iterates over the pages of a ListSlots operation,
  5090  // calling the "fn" function with the response data for each page. To stop
  5091  // iterating, return false from the fn function.
  5092  //
  5093  // See ListSlots method for more information on how to use this operation.
  5094  //
  5095  // Note: This operation can generate multiple requests to a service.
  5096  //
  5097  //    // Example iterating over at most 3 pages of a ListSlots operation.
  5098  //    pageNum := 0
  5099  //    err := client.ListSlotsPages(params,
  5100  //        func(page *lexmodelsv2.ListSlotsOutput, lastPage bool) bool {
  5101  //            pageNum++
  5102  //            fmt.Println(page)
  5103  //            return pageNum <= 3
  5104  //        })
  5105  //
  5106  func (c *LexModelsV2) ListSlotsPages(input *ListSlotsInput, fn func(*ListSlotsOutput, bool) bool) error {
  5107  	return c.ListSlotsPagesWithContext(aws.BackgroundContext(), input, fn)
  5108  }
  5109  
  5110  // ListSlotsPagesWithContext same as ListSlotsPages except
  5111  // it takes a Context and allows setting request options on the pages.
  5112  //
  5113  // The context must be non-nil and will be used for request cancellation. If
  5114  // the context is nil a panic will occur. In the future the SDK may create
  5115  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5116  // for more information on using Contexts.
  5117  func (c *LexModelsV2) ListSlotsPagesWithContext(ctx aws.Context, input *ListSlotsInput, fn func(*ListSlotsOutput, bool) bool, opts ...request.Option) error {
  5118  	p := request.Pagination{
  5119  		NewRequest: func() (*request.Request, error) {
  5120  			var inCpy *ListSlotsInput
  5121  			if input != nil {
  5122  				tmp := *input
  5123  				inCpy = &tmp
  5124  			}
  5125  			req, _ := c.ListSlotsRequest(inCpy)
  5126  			req.SetContext(ctx)
  5127  			req.ApplyOptions(opts...)
  5128  			return req, nil
  5129  		},
  5130  	}
  5131  
  5132  	for p.Next() {
  5133  		if !fn(p.Page().(*ListSlotsOutput), !p.HasNextPage()) {
  5134  			break
  5135  		}
  5136  	}
  5137  
  5138  	return p.Err()
  5139  }
  5140  
  5141  const opListTagsForResource = "ListTagsForResource"
  5142  
  5143  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  5144  // client's request for the ListTagsForResource operation. The "output" return
  5145  // value will be populated with the request's response once the request completes
  5146  // successfully.
  5147  //
  5148  // Use "Send" method on the returned Request to send the API call to the service.
  5149  // the "output" return value is not valid until after Send returns without error.
  5150  //
  5151  // See ListTagsForResource for more information on using the ListTagsForResource
  5152  // API call, and error handling.
  5153  //
  5154  // This method is useful when you want to inject custom logic or configuration
  5155  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5156  //
  5157  //
  5158  //    // Example sending a request using the ListTagsForResourceRequest method.
  5159  //    req, resp := client.ListTagsForResourceRequest(params)
  5160  //
  5161  //    err := req.Send()
  5162  //    if err == nil { // resp is now filled
  5163  //        fmt.Println(resp)
  5164  //    }
  5165  //
  5166  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListTagsForResource
  5167  func (c *LexModelsV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  5168  	op := &request.Operation{
  5169  		Name:       opListTagsForResource,
  5170  		HTTPMethod: "GET",
  5171  		HTTPPath:   "/tags/{resourceARN}",
  5172  	}
  5173  
  5174  	if input == nil {
  5175  		input = &ListTagsForResourceInput{}
  5176  	}
  5177  
  5178  	output = &ListTagsForResourceOutput{}
  5179  	req = c.newRequest(op, input, output)
  5180  	return
  5181  }
  5182  
  5183  // ListTagsForResource API operation for Amazon Lex Model Building V2.
  5184  //
  5185  // Gets a list of tags associated with a resource. Only bots, bot aliases, and
  5186  // bot channels can have tags associated with them.
  5187  //
  5188  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5189  // with awserr.Error's Code and Message methods to get detailed information about
  5190  // the error.
  5191  //
  5192  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5193  // API operation ListTagsForResource for usage and error information.
  5194  //
  5195  // Returned Error Types:
  5196  //   * InternalServerException
  5197  //   The service encountered an unexpected condition. Try your request again.
  5198  //
  5199  //   * ThrottlingException
  5200  //   Your request rate is too high. Reduce the frequency of requests.
  5201  //
  5202  //   * ResourceNotFoundException
  5203  //   You asked to describe a resource that doesn't exist. Check the resource that
  5204  //   you are requesting and try again.
  5205  //
  5206  //   * ValidationException
  5207  //   One of the input parameters in your request isn't valid. Check the parameters
  5208  //   and try your request again.
  5209  //
  5210  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListTagsForResource
  5211  func (c *LexModelsV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  5212  	req, out := c.ListTagsForResourceRequest(input)
  5213  	return out, req.Send()
  5214  }
  5215  
  5216  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  5217  // the ability to pass a context and additional request options.
  5218  //
  5219  // See ListTagsForResource for details on how to use this API operation.
  5220  //
  5221  // The context must be non-nil and will be used for request cancellation. If
  5222  // the context is nil a panic will occur. In the future the SDK may create
  5223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5224  // for more information on using Contexts.
  5225  func (c *LexModelsV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  5226  	req, out := c.ListTagsForResourceRequest(input)
  5227  	req.SetContext(ctx)
  5228  	req.ApplyOptions(opts...)
  5229  	return out, req.Send()
  5230  }
  5231  
  5232  const opStartImport = "StartImport"
  5233  
  5234  // StartImportRequest generates a "aws/request.Request" representing the
  5235  // client's request for the StartImport operation. The "output" return
  5236  // value will be populated with the request's response once the request completes
  5237  // successfully.
  5238  //
  5239  // Use "Send" method on the returned Request to send the API call to the service.
  5240  // the "output" return value is not valid until after Send returns without error.
  5241  //
  5242  // See StartImport for more information on using the StartImport
  5243  // API call, and error handling.
  5244  //
  5245  // This method is useful when you want to inject custom logic or configuration
  5246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5247  //
  5248  //
  5249  //    // Example sending a request using the StartImportRequest method.
  5250  //    req, resp := client.StartImportRequest(params)
  5251  //
  5252  //    err := req.Send()
  5253  //    if err == nil { // resp is now filled
  5254  //        fmt.Println(resp)
  5255  //    }
  5256  //
  5257  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/StartImport
  5258  func (c *LexModelsV2) StartImportRequest(input *StartImportInput) (req *request.Request, output *StartImportOutput) {
  5259  	op := &request.Operation{
  5260  		Name:       opStartImport,
  5261  		HTTPMethod: "PUT",
  5262  		HTTPPath:   "/imports/",
  5263  	}
  5264  
  5265  	if input == nil {
  5266  		input = &StartImportInput{}
  5267  	}
  5268  
  5269  	output = &StartImportOutput{}
  5270  	req = c.newRequest(op, input, output)
  5271  	return
  5272  }
  5273  
  5274  // StartImport API operation for Amazon Lex Model Building V2.
  5275  //
  5276  // Starts importing a bot or bot locale from a zip archive that you uploaded
  5277  // to an S3 bucket.
  5278  //
  5279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5280  // with awserr.Error's Code and Message methods to get detailed information about
  5281  // the error.
  5282  //
  5283  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5284  // API operation StartImport for usage and error information.
  5285  //
  5286  // Returned Error Types:
  5287  //   * ThrottlingException
  5288  //   Your request rate is too high. Reduce the frequency of requests.
  5289  //
  5290  //   * ServiceQuotaExceededException
  5291  //   You have reached a quota for your bot.
  5292  //
  5293  //   * ValidationException
  5294  //   One of the input parameters in your request isn't valid. Check the parameters
  5295  //   and try your request again.
  5296  //
  5297  //   * ResourceNotFoundException
  5298  //   You asked to describe a resource that doesn't exist. Check the resource that
  5299  //   you are requesting and try again.
  5300  //
  5301  //   * ConflictException
  5302  //   The action that you tried to perform couldn't be completed because the resource
  5303  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  5304  //   state. Try your request again.
  5305  //
  5306  //   * InternalServerException
  5307  //   The service encountered an unexpected condition. Try your request again.
  5308  //
  5309  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/StartImport
  5310  func (c *LexModelsV2) StartImport(input *StartImportInput) (*StartImportOutput, error) {
  5311  	req, out := c.StartImportRequest(input)
  5312  	return out, req.Send()
  5313  }
  5314  
  5315  // StartImportWithContext is the same as StartImport with the addition of
  5316  // the ability to pass a context and additional request options.
  5317  //
  5318  // See StartImport for details on how to use this API operation.
  5319  //
  5320  // The context must be non-nil and will be used for request cancellation. If
  5321  // the context is nil a panic will occur. In the future the SDK may create
  5322  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5323  // for more information on using Contexts.
  5324  func (c *LexModelsV2) StartImportWithContext(ctx aws.Context, input *StartImportInput, opts ...request.Option) (*StartImportOutput, error) {
  5325  	req, out := c.StartImportRequest(input)
  5326  	req.SetContext(ctx)
  5327  	req.ApplyOptions(opts...)
  5328  	return out, req.Send()
  5329  }
  5330  
  5331  const opTagResource = "TagResource"
  5332  
  5333  // TagResourceRequest generates a "aws/request.Request" representing the
  5334  // client's request for the TagResource operation. The "output" return
  5335  // value will be populated with the request's response once the request completes
  5336  // successfully.
  5337  //
  5338  // Use "Send" method on the returned Request to send the API call to the service.
  5339  // the "output" return value is not valid until after Send returns without error.
  5340  //
  5341  // See TagResource for more information on using the TagResource
  5342  // API call, and error handling.
  5343  //
  5344  // This method is useful when you want to inject custom logic or configuration
  5345  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5346  //
  5347  //
  5348  //    // Example sending a request using the TagResourceRequest method.
  5349  //    req, resp := client.TagResourceRequest(params)
  5350  //
  5351  //    err := req.Send()
  5352  //    if err == nil { // resp is now filled
  5353  //        fmt.Println(resp)
  5354  //    }
  5355  //
  5356  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/TagResource
  5357  func (c *LexModelsV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5358  	op := &request.Operation{
  5359  		Name:       opTagResource,
  5360  		HTTPMethod: "POST",
  5361  		HTTPPath:   "/tags/{resourceARN}",
  5362  	}
  5363  
  5364  	if input == nil {
  5365  		input = &TagResourceInput{}
  5366  	}
  5367  
  5368  	output = &TagResourceOutput{}
  5369  	req = c.newRequest(op, input, output)
  5370  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5371  	return
  5372  }
  5373  
  5374  // TagResource API operation for Amazon Lex Model Building V2.
  5375  //
  5376  // Adds the specified tags to the specified resource. If a tag key already exists,
  5377  // the existing value is replaced with the new value.
  5378  //
  5379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5380  // with awserr.Error's Code and Message methods to get detailed information about
  5381  // the error.
  5382  //
  5383  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5384  // API operation TagResource for usage and error information.
  5385  //
  5386  // Returned Error Types:
  5387  //   * InternalServerException
  5388  //   The service encountered an unexpected condition. Try your request again.
  5389  //
  5390  //   * ThrottlingException
  5391  //   Your request rate is too high. Reduce the frequency of requests.
  5392  //
  5393  //   * ResourceNotFoundException
  5394  //   You asked to describe a resource that doesn't exist. Check the resource that
  5395  //   you are requesting and try again.
  5396  //
  5397  //   * ValidationException
  5398  //   One of the input parameters in your request isn't valid. Check the parameters
  5399  //   and try your request again.
  5400  //
  5401  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/TagResource
  5402  func (c *LexModelsV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5403  	req, out := c.TagResourceRequest(input)
  5404  	return out, req.Send()
  5405  }
  5406  
  5407  // TagResourceWithContext is the same as TagResource with the addition of
  5408  // the ability to pass a context and additional request options.
  5409  //
  5410  // See TagResource for details on how to use this API operation.
  5411  //
  5412  // The context must be non-nil and will be used for request cancellation. If
  5413  // the context is nil a panic will occur. In the future the SDK may create
  5414  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5415  // for more information on using Contexts.
  5416  func (c *LexModelsV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5417  	req, out := c.TagResourceRequest(input)
  5418  	req.SetContext(ctx)
  5419  	req.ApplyOptions(opts...)
  5420  	return out, req.Send()
  5421  }
  5422  
  5423  const opUntagResource = "UntagResource"
  5424  
  5425  // UntagResourceRequest generates a "aws/request.Request" representing the
  5426  // client's request for the UntagResource operation. The "output" return
  5427  // value will be populated with the request's response once the request completes
  5428  // successfully.
  5429  //
  5430  // Use "Send" method on the returned Request to send the API call to the service.
  5431  // the "output" return value is not valid until after Send returns without error.
  5432  //
  5433  // See UntagResource for more information on using the UntagResource
  5434  // API call, and error handling.
  5435  //
  5436  // This method is useful when you want to inject custom logic or configuration
  5437  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5438  //
  5439  //
  5440  //    // Example sending a request using the UntagResourceRequest method.
  5441  //    req, resp := client.UntagResourceRequest(params)
  5442  //
  5443  //    err := req.Send()
  5444  //    if err == nil { // resp is now filled
  5445  //        fmt.Println(resp)
  5446  //    }
  5447  //
  5448  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UntagResource
  5449  func (c *LexModelsV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5450  	op := &request.Operation{
  5451  		Name:       opUntagResource,
  5452  		HTTPMethod: "DELETE",
  5453  		HTTPPath:   "/tags/{resourceARN}",
  5454  	}
  5455  
  5456  	if input == nil {
  5457  		input = &UntagResourceInput{}
  5458  	}
  5459  
  5460  	output = &UntagResourceOutput{}
  5461  	req = c.newRequest(op, input, output)
  5462  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5463  	return
  5464  }
  5465  
  5466  // UntagResource API operation for Amazon Lex Model Building V2.
  5467  //
  5468  // Removes tags from a bot, bot alias, or bot channel.
  5469  //
  5470  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5471  // with awserr.Error's Code and Message methods to get detailed information about
  5472  // the error.
  5473  //
  5474  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5475  // API operation UntagResource for usage and error information.
  5476  //
  5477  // Returned Error Types:
  5478  //   * InternalServerException
  5479  //   The service encountered an unexpected condition. Try your request again.
  5480  //
  5481  //   * ThrottlingException
  5482  //   Your request rate is too high. Reduce the frequency of requests.
  5483  //
  5484  //   * ResourceNotFoundException
  5485  //   You asked to describe a resource that doesn't exist. Check the resource that
  5486  //   you are requesting and try again.
  5487  //
  5488  //   * ValidationException
  5489  //   One of the input parameters in your request isn't valid. Check the parameters
  5490  //   and try your request again.
  5491  //
  5492  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UntagResource
  5493  func (c *LexModelsV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5494  	req, out := c.UntagResourceRequest(input)
  5495  	return out, req.Send()
  5496  }
  5497  
  5498  // UntagResourceWithContext is the same as UntagResource with the addition of
  5499  // the ability to pass a context and additional request options.
  5500  //
  5501  // See UntagResource for details on how to use this API operation.
  5502  //
  5503  // The context must be non-nil and will be used for request cancellation. If
  5504  // the context is nil a panic will occur. In the future the SDK may create
  5505  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5506  // for more information on using Contexts.
  5507  func (c *LexModelsV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  5508  	req, out := c.UntagResourceRequest(input)
  5509  	req.SetContext(ctx)
  5510  	req.ApplyOptions(opts...)
  5511  	return out, req.Send()
  5512  }
  5513  
  5514  const opUpdateBot = "UpdateBot"
  5515  
  5516  // UpdateBotRequest generates a "aws/request.Request" representing the
  5517  // client's request for the UpdateBot operation. The "output" return
  5518  // value will be populated with the request's response once the request completes
  5519  // successfully.
  5520  //
  5521  // Use "Send" method on the returned Request to send the API call to the service.
  5522  // the "output" return value is not valid until after Send returns without error.
  5523  //
  5524  // See UpdateBot for more information on using the UpdateBot
  5525  // API call, and error handling.
  5526  //
  5527  // This method is useful when you want to inject custom logic or configuration
  5528  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5529  //
  5530  //
  5531  //    // Example sending a request using the UpdateBotRequest method.
  5532  //    req, resp := client.UpdateBotRequest(params)
  5533  //
  5534  //    err := req.Send()
  5535  //    if err == nil { // resp is now filled
  5536  //        fmt.Println(resp)
  5537  //    }
  5538  //
  5539  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBot
  5540  func (c *LexModelsV2) UpdateBotRequest(input *UpdateBotInput) (req *request.Request, output *UpdateBotOutput) {
  5541  	op := &request.Operation{
  5542  		Name:       opUpdateBot,
  5543  		HTTPMethod: "PUT",
  5544  		HTTPPath:   "/bots/{botId}/",
  5545  	}
  5546  
  5547  	if input == nil {
  5548  		input = &UpdateBotInput{}
  5549  	}
  5550  
  5551  	output = &UpdateBotOutput{}
  5552  	req = c.newRequest(op, input, output)
  5553  	return
  5554  }
  5555  
  5556  // UpdateBot API operation for Amazon Lex Model Building V2.
  5557  //
  5558  // Updates the configuration of an existing bot.
  5559  //
  5560  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5561  // with awserr.Error's Code and Message methods to get detailed information about
  5562  // the error.
  5563  //
  5564  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5565  // API operation UpdateBot for usage and error information.
  5566  //
  5567  // Returned Error Types:
  5568  //   * ThrottlingException
  5569  //   Your request rate is too high. Reduce the frequency of requests.
  5570  //
  5571  //   * ServiceQuotaExceededException
  5572  //   You have reached a quota for your bot.
  5573  //
  5574  //   * ValidationException
  5575  //   One of the input parameters in your request isn't valid. Check the parameters
  5576  //   and try your request again.
  5577  //
  5578  //   * PreconditionFailedException
  5579  //   Your request couldn't be completed because one or more request fields aren't
  5580  //   valid. Check the fields in your request and try again.
  5581  //
  5582  //   * ConflictException
  5583  //   The action that you tried to perform couldn't be completed because the resource
  5584  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  5585  //   state. Try your request again.
  5586  //
  5587  //   * InternalServerException
  5588  //   The service encountered an unexpected condition. Try your request again.
  5589  //
  5590  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBot
  5591  func (c *LexModelsV2) UpdateBot(input *UpdateBotInput) (*UpdateBotOutput, error) {
  5592  	req, out := c.UpdateBotRequest(input)
  5593  	return out, req.Send()
  5594  }
  5595  
  5596  // UpdateBotWithContext is the same as UpdateBot with the addition of
  5597  // the ability to pass a context and additional request options.
  5598  //
  5599  // See UpdateBot for details on how to use this API operation.
  5600  //
  5601  // The context must be non-nil and will be used for request cancellation. If
  5602  // the context is nil a panic will occur. In the future the SDK may create
  5603  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5604  // for more information on using Contexts.
  5605  func (c *LexModelsV2) UpdateBotWithContext(ctx aws.Context, input *UpdateBotInput, opts ...request.Option) (*UpdateBotOutput, error) {
  5606  	req, out := c.UpdateBotRequest(input)
  5607  	req.SetContext(ctx)
  5608  	req.ApplyOptions(opts...)
  5609  	return out, req.Send()
  5610  }
  5611  
  5612  const opUpdateBotAlias = "UpdateBotAlias"
  5613  
  5614  // UpdateBotAliasRequest generates a "aws/request.Request" representing the
  5615  // client's request for the UpdateBotAlias operation. The "output" return
  5616  // value will be populated with the request's response once the request completes
  5617  // successfully.
  5618  //
  5619  // Use "Send" method on the returned Request to send the API call to the service.
  5620  // the "output" return value is not valid until after Send returns without error.
  5621  //
  5622  // See UpdateBotAlias for more information on using the UpdateBotAlias
  5623  // API call, and error handling.
  5624  //
  5625  // This method is useful when you want to inject custom logic or configuration
  5626  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5627  //
  5628  //
  5629  //    // Example sending a request using the UpdateBotAliasRequest method.
  5630  //    req, resp := client.UpdateBotAliasRequest(params)
  5631  //
  5632  //    err := req.Send()
  5633  //    if err == nil { // resp is now filled
  5634  //        fmt.Println(resp)
  5635  //    }
  5636  //
  5637  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotAlias
  5638  func (c *LexModelsV2) UpdateBotAliasRequest(input *UpdateBotAliasInput) (req *request.Request, output *UpdateBotAliasOutput) {
  5639  	op := &request.Operation{
  5640  		Name:       opUpdateBotAlias,
  5641  		HTTPMethod: "PUT",
  5642  		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
  5643  	}
  5644  
  5645  	if input == nil {
  5646  		input = &UpdateBotAliasInput{}
  5647  	}
  5648  
  5649  	output = &UpdateBotAliasOutput{}
  5650  	req = c.newRequest(op, input, output)
  5651  	return
  5652  }
  5653  
  5654  // UpdateBotAlias API operation for Amazon Lex Model Building V2.
  5655  //
  5656  // Updates the configuration of an existing bot alias.
  5657  //
  5658  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5659  // with awserr.Error's Code and Message methods to get detailed information about
  5660  // the error.
  5661  //
  5662  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5663  // API operation UpdateBotAlias for usage and error information.
  5664  //
  5665  // Returned Error Types:
  5666  //   * ThrottlingException
  5667  //   Your request rate is too high. Reduce the frequency of requests.
  5668  //
  5669  //   * ServiceQuotaExceededException
  5670  //   You have reached a quota for your bot.
  5671  //
  5672  //   * ValidationException
  5673  //   One of the input parameters in your request isn't valid. Check the parameters
  5674  //   and try your request again.
  5675  //
  5676  //   * PreconditionFailedException
  5677  //   Your request couldn't be completed because one or more request fields aren't
  5678  //   valid. Check the fields in your request and try again.
  5679  //
  5680  //   * ConflictException
  5681  //   The action that you tried to perform couldn't be completed because the resource
  5682  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  5683  //   state. Try your request again.
  5684  //
  5685  //   * InternalServerException
  5686  //   The service encountered an unexpected condition. Try your request again.
  5687  //
  5688  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotAlias
  5689  func (c *LexModelsV2) UpdateBotAlias(input *UpdateBotAliasInput) (*UpdateBotAliasOutput, error) {
  5690  	req, out := c.UpdateBotAliasRequest(input)
  5691  	return out, req.Send()
  5692  }
  5693  
  5694  // UpdateBotAliasWithContext is the same as UpdateBotAlias with the addition of
  5695  // the ability to pass a context and additional request options.
  5696  //
  5697  // See UpdateBotAlias for details on how to use this API operation.
  5698  //
  5699  // The context must be non-nil and will be used for request cancellation. If
  5700  // the context is nil a panic will occur. In the future the SDK may create
  5701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5702  // for more information on using Contexts.
  5703  func (c *LexModelsV2) UpdateBotAliasWithContext(ctx aws.Context, input *UpdateBotAliasInput, opts ...request.Option) (*UpdateBotAliasOutput, error) {
  5704  	req, out := c.UpdateBotAliasRequest(input)
  5705  	req.SetContext(ctx)
  5706  	req.ApplyOptions(opts...)
  5707  	return out, req.Send()
  5708  }
  5709  
  5710  const opUpdateBotLocale = "UpdateBotLocale"
  5711  
  5712  // UpdateBotLocaleRequest generates a "aws/request.Request" representing the
  5713  // client's request for the UpdateBotLocale operation. The "output" return
  5714  // value will be populated with the request's response once the request completes
  5715  // successfully.
  5716  //
  5717  // Use "Send" method on the returned Request to send the API call to the service.
  5718  // the "output" return value is not valid until after Send returns without error.
  5719  //
  5720  // See UpdateBotLocale for more information on using the UpdateBotLocale
  5721  // API call, and error handling.
  5722  //
  5723  // This method is useful when you want to inject custom logic or configuration
  5724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5725  //
  5726  //
  5727  //    // Example sending a request using the UpdateBotLocaleRequest method.
  5728  //    req, resp := client.UpdateBotLocaleRequest(params)
  5729  //
  5730  //    err := req.Send()
  5731  //    if err == nil { // resp is now filled
  5732  //        fmt.Println(resp)
  5733  //    }
  5734  //
  5735  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotLocale
  5736  func (c *LexModelsV2) UpdateBotLocaleRequest(input *UpdateBotLocaleInput) (req *request.Request, output *UpdateBotLocaleOutput) {
  5737  	op := &request.Operation{
  5738  		Name:       opUpdateBotLocale,
  5739  		HTTPMethod: "PUT",
  5740  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
  5741  	}
  5742  
  5743  	if input == nil {
  5744  		input = &UpdateBotLocaleInput{}
  5745  	}
  5746  
  5747  	output = &UpdateBotLocaleOutput{}
  5748  	req = c.newRequest(op, input, output)
  5749  	return
  5750  }
  5751  
  5752  // UpdateBotLocale API operation for Amazon Lex Model Building V2.
  5753  //
  5754  // Updates the settings that a bot has for a specific locale.
  5755  //
  5756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5757  // with awserr.Error's Code and Message methods to get detailed information about
  5758  // the error.
  5759  //
  5760  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5761  // API operation UpdateBotLocale for usage and error information.
  5762  //
  5763  // Returned Error Types:
  5764  //   * ThrottlingException
  5765  //   Your request rate is too high. Reduce the frequency of requests.
  5766  //
  5767  //   * ServiceQuotaExceededException
  5768  //   You have reached a quota for your bot.
  5769  //
  5770  //   * ValidationException
  5771  //   One of the input parameters in your request isn't valid. Check the parameters
  5772  //   and try your request again.
  5773  //
  5774  //   * PreconditionFailedException
  5775  //   Your request couldn't be completed because one or more request fields aren't
  5776  //   valid. Check the fields in your request and try again.
  5777  //
  5778  //   * ConflictException
  5779  //   The action that you tried to perform couldn't be completed because the resource
  5780  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  5781  //   state. Try your request again.
  5782  //
  5783  //   * InternalServerException
  5784  //   The service encountered an unexpected condition. Try your request again.
  5785  //
  5786  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotLocale
  5787  func (c *LexModelsV2) UpdateBotLocale(input *UpdateBotLocaleInput) (*UpdateBotLocaleOutput, error) {
  5788  	req, out := c.UpdateBotLocaleRequest(input)
  5789  	return out, req.Send()
  5790  }
  5791  
  5792  // UpdateBotLocaleWithContext is the same as UpdateBotLocale with the addition of
  5793  // the ability to pass a context and additional request options.
  5794  //
  5795  // See UpdateBotLocale for details on how to use this API operation.
  5796  //
  5797  // The context must be non-nil and will be used for request cancellation. If
  5798  // the context is nil a panic will occur. In the future the SDK may create
  5799  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5800  // for more information on using Contexts.
  5801  func (c *LexModelsV2) UpdateBotLocaleWithContext(ctx aws.Context, input *UpdateBotLocaleInput, opts ...request.Option) (*UpdateBotLocaleOutput, error) {
  5802  	req, out := c.UpdateBotLocaleRequest(input)
  5803  	req.SetContext(ctx)
  5804  	req.ApplyOptions(opts...)
  5805  	return out, req.Send()
  5806  }
  5807  
  5808  const opUpdateExport = "UpdateExport"
  5809  
  5810  // UpdateExportRequest generates a "aws/request.Request" representing the
  5811  // client's request for the UpdateExport operation. The "output" return
  5812  // value will be populated with the request's response once the request completes
  5813  // successfully.
  5814  //
  5815  // Use "Send" method on the returned Request to send the API call to the service.
  5816  // the "output" return value is not valid until after Send returns without error.
  5817  //
  5818  // See UpdateExport for more information on using the UpdateExport
  5819  // API call, and error handling.
  5820  //
  5821  // This method is useful when you want to inject custom logic or configuration
  5822  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5823  //
  5824  //
  5825  //    // Example sending a request using the UpdateExportRequest method.
  5826  //    req, resp := client.UpdateExportRequest(params)
  5827  //
  5828  //    err := req.Send()
  5829  //    if err == nil { // resp is now filled
  5830  //        fmt.Println(resp)
  5831  //    }
  5832  //
  5833  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateExport
  5834  func (c *LexModelsV2) UpdateExportRequest(input *UpdateExportInput) (req *request.Request, output *UpdateExportOutput) {
  5835  	op := &request.Operation{
  5836  		Name:       opUpdateExport,
  5837  		HTTPMethod: "PUT",
  5838  		HTTPPath:   "/exports/{exportId}/",
  5839  	}
  5840  
  5841  	if input == nil {
  5842  		input = &UpdateExportInput{}
  5843  	}
  5844  
  5845  	output = &UpdateExportOutput{}
  5846  	req = c.newRequest(op, input, output)
  5847  	return
  5848  }
  5849  
  5850  // UpdateExport API operation for Amazon Lex Model Building V2.
  5851  //
  5852  // Updates the password used to protect an export zip archive.
  5853  //
  5854  // The password is not required. If you don't supply a password, Amazon Lex
  5855  // generates a zip file that is not protected by a password. This is the archive
  5856  // that is available at the pre-signed S3 URL provided by the operation.
  5857  //
  5858  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5859  // with awserr.Error's Code and Message methods to get detailed information about
  5860  // the error.
  5861  //
  5862  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5863  // API operation UpdateExport for usage and error information.
  5864  //
  5865  // Returned Error Types:
  5866  //   * ThrottlingException
  5867  //   Your request rate is too high. Reduce the frequency of requests.
  5868  //
  5869  //   * ServiceQuotaExceededException
  5870  //   You have reached a quota for your bot.
  5871  //
  5872  //   * ValidationException
  5873  //   One of the input parameters in your request isn't valid. Check the parameters
  5874  //   and try your request again.
  5875  //
  5876  //   * ResourceNotFoundException
  5877  //   You asked to describe a resource that doesn't exist. Check the resource that
  5878  //   you are requesting and try again.
  5879  //
  5880  //   * ConflictException
  5881  //   The action that you tried to perform couldn't be completed because the resource
  5882  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  5883  //   state. Try your request again.
  5884  //
  5885  //   * InternalServerException
  5886  //   The service encountered an unexpected condition. Try your request again.
  5887  //
  5888  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateExport
  5889  func (c *LexModelsV2) UpdateExport(input *UpdateExportInput) (*UpdateExportOutput, error) {
  5890  	req, out := c.UpdateExportRequest(input)
  5891  	return out, req.Send()
  5892  }
  5893  
  5894  // UpdateExportWithContext is the same as UpdateExport with the addition of
  5895  // the ability to pass a context and additional request options.
  5896  //
  5897  // See UpdateExport for details on how to use this API operation.
  5898  //
  5899  // The context must be non-nil and will be used for request cancellation. If
  5900  // the context is nil a panic will occur. In the future the SDK may create
  5901  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5902  // for more information on using Contexts.
  5903  func (c *LexModelsV2) UpdateExportWithContext(ctx aws.Context, input *UpdateExportInput, opts ...request.Option) (*UpdateExportOutput, error) {
  5904  	req, out := c.UpdateExportRequest(input)
  5905  	req.SetContext(ctx)
  5906  	req.ApplyOptions(opts...)
  5907  	return out, req.Send()
  5908  }
  5909  
  5910  const opUpdateIntent = "UpdateIntent"
  5911  
  5912  // UpdateIntentRequest generates a "aws/request.Request" representing the
  5913  // client's request for the UpdateIntent operation. The "output" return
  5914  // value will be populated with the request's response once the request completes
  5915  // successfully.
  5916  //
  5917  // Use "Send" method on the returned Request to send the API call to the service.
  5918  // the "output" return value is not valid until after Send returns without error.
  5919  //
  5920  // See UpdateIntent for more information on using the UpdateIntent
  5921  // API call, and error handling.
  5922  //
  5923  // This method is useful when you want to inject custom logic or configuration
  5924  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5925  //
  5926  //
  5927  //    // Example sending a request using the UpdateIntentRequest method.
  5928  //    req, resp := client.UpdateIntentRequest(params)
  5929  //
  5930  //    err := req.Send()
  5931  //    if err == nil { // resp is now filled
  5932  //        fmt.Println(resp)
  5933  //    }
  5934  //
  5935  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateIntent
  5936  func (c *LexModelsV2) UpdateIntentRequest(input *UpdateIntentInput) (req *request.Request, output *UpdateIntentOutput) {
  5937  	op := &request.Operation{
  5938  		Name:       opUpdateIntent,
  5939  		HTTPMethod: "PUT",
  5940  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
  5941  	}
  5942  
  5943  	if input == nil {
  5944  		input = &UpdateIntentInput{}
  5945  	}
  5946  
  5947  	output = &UpdateIntentOutput{}
  5948  	req = c.newRequest(op, input, output)
  5949  	return
  5950  }
  5951  
  5952  // UpdateIntent API operation for Amazon Lex Model Building V2.
  5953  //
  5954  // Updates the settings for an intent.
  5955  //
  5956  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5957  // with awserr.Error's Code and Message methods to get detailed information about
  5958  // the error.
  5959  //
  5960  // See the AWS API reference guide for Amazon Lex Model Building V2's
  5961  // API operation UpdateIntent for usage and error information.
  5962  //
  5963  // Returned Error Types:
  5964  //   * ThrottlingException
  5965  //   Your request rate is too high. Reduce the frequency of requests.
  5966  //
  5967  //   * ServiceQuotaExceededException
  5968  //   You have reached a quota for your bot.
  5969  //
  5970  //   * ValidationException
  5971  //   One of the input parameters in your request isn't valid. Check the parameters
  5972  //   and try your request again.
  5973  //
  5974  //   * PreconditionFailedException
  5975  //   Your request couldn't be completed because one or more request fields aren't
  5976  //   valid. Check the fields in your request and try again.
  5977  //
  5978  //   * ConflictException
  5979  //   The action that you tried to perform couldn't be completed because the resource
  5980  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  5981  //   state. Try your request again.
  5982  //
  5983  //   * InternalServerException
  5984  //   The service encountered an unexpected condition. Try your request again.
  5985  //
  5986  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateIntent
  5987  func (c *LexModelsV2) UpdateIntent(input *UpdateIntentInput) (*UpdateIntentOutput, error) {
  5988  	req, out := c.UpdateIntentRequest(input)
  5989  	return out, req.Send()
  5990  }
  5991  
  5992  // UpdateIntentWithContext is the same as UpdateIntent with the addition of
  5993  // the ability to pass a context and additional request options.
  5994  //
  5995  // See UpdateIntent for details on how to use this API operation.
  5996  //
  5997  // The context must be non-nil and will be used for request cancellation. If
  5998  // the context is nil a panic will occur. In the future the SDK may create
  5999  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6000  // for more information on using Contexts.
  6001  func (c *LexModelsV2) UpdateIntentWithContext(ctx aws.Context, input *UpdateIntentInput, opts ...request.Option) (*UpdateIntentOutput, error) {
  6002  	req, out := c.UpdateIntentRequest(input)
  6003  	req.SetContext(ctx)
  6004  	req.ApplyOptions(opts...)
  6005  	return out, req.Send()
  6006  }
  6007  
  6008  const opUpdateResourcePolicy = "UpdateResourcePolicy"
  6009  
  6010  // UpdateResourcePolicyRequest generates a "aws/request.Request" representing the
  6011  // client's request for the UpdateResourcePolicy operation. The "output" return
  6012  // value will be populated with the request's response once the request completes
  6013  // successfully.
  6014  //
  6015  // Use "Send" method on the returned Request to send the API call to the service.
  6016  // the "output" return value is not valid until after Send returns without error.
  6017  //
  6018  // See UpdateResourcePolicy for more information on using the UpdateResourcePolicy
  6019  // API call, and error handling.
  6020  //
  6021  // This method is useful when you want to inject custom logic or configuration
  6022  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6023  //
  6024  //
  6025  //    // Example sending a request using the UpdateResourcePolicyRequest method.
  6026  //    req, resp := client.UpdateResourcePolicyRequest(params)
  6027  //
  6028  //    err := req.Send()
  6029  //    if err == nil { // resp is now filled
  6030  //        fmt.Println(resp)
  6031  //    }
  6032  //
  6033  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateResourcePolicy
  6034  func (c *LexModelsV2) UpdateResourcePolicyRequest(input *UpdateResourcePolicyInput) (req *request.Request, output *UpdateResourcePolicyOutput) {
  6035  	op := &request.Operation{
  6036  		Name:       opUpdateResourcePolicy,
  6037  		HTTPMethod: "PUT",
  6038  		HTTPPath:   "/policy/{resourceArn}/",
  6039  	}
  6040  
  6041  	if input == nil {
  6042  		input = &UpdateResourcePolicyInput{}
  6043  	}
  6044  
  6045  	output = &UpdateResourcePolicyOutput{}
  6046  	req = c.newRequest(op, input, output)
  6047  	return
  6048  }
  6049  
  6050  // UpdateResourcePolicy API operation for Amazon Lex Model Building V2.
  6051  //
  6052  // Replaces the existing resource policy for a bot or bot alias with a new one.
  6053  // If the policy doesn't exist, Amazon Lex returns an exception.
  6054  //
  6055  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6056  // with awserr.Error's Code and Message methods to get detailed information about
  6057  // the error.
  6058  //
  6059  // See the AWS API reference guide for Amazon Lex Model Building V2's
  6060  // API operation UpdateResourcePolicy for usage and error information.
  6061  //
  6062  // Returned Error Types:
  6063  //   * ResourceNotFoundException
  6064  //   You asked to describe a resource that doesn't exist. Check the resource that
  6065  //   you are requesting and try again.
  6066  //
  6067  //   * ServiceQuotaExceededException
  6068  //   You have reached a quota for your bot.
  6069  //
  6070  //   * PreconditionFailedException
  6071  //   Your request couldn't be completed because one or more request fields aren't
  6072  //   valid. Check the fields in your request and try again.
  6073  //
  6074  //   * ValidationException
  6075  //   One of the input parameters in your request isn't valid. Check the parameters
  6076  //   and try your request again.
  6077  //
  6078  //   * InternalServerException
  6079  //   The service encountered an unexpected condition. Try your request again.
  6080  //
  6081  //   * ThrottlingException
  6082  //   Your request rate is too high. Reduce the frequency of requests.
  6083  //
  6084  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateResourcePolicy
  6085  func (c *LexModelsV2) UpdateResourcePolicy(input *UpdateResourcePolicyInput) (*UpdateResourcePolicyOutput, error) {
  6086  	req, out := c.UpdateResourcePolicyRequest(input)
  6087  	return out, req.Send()
  6088  }
  6089  
  6090  // UpdateResourcePolicyWithContext is the same as UpdateResourcePolicy with the addition of
  6091  // the ability to pass a context and additional request options.
  6092  //
  6093  // See UpdateResourcePolicy for details on how to use this API operation.
  6094  //
  6095  // The context must be non-nil and will be used for request cancellation. If
  6096  // the context is nil a panic will occur. In the future the SDK may create
  6097  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6098  // for more information on using Contexts.
  6099  func (c *LexModelsV2) UpdateResourcePolicyWithContext(ctx aws.Context, input *UpdateResourcePolicyInput, opts ...request.Option) (*UpdateResourcePolicyOutput, error) {
  6100  	req, out := c.UpdateResourcePolicyRequest(input)
  6101  	req.SetContext(ctx)
  6102  	req.ApplyOptions(opts...)
  6103  	return out, req.Send()
  6104  }
  6105  
  6106  const opUpdateSlot = "UpdateSlot"
  6107  
  6108  // UpdateSlotRequest generates a "aws/request.Request" representing the
  6109  // client's request for the UpdateSlot operation. The "output" return
  6110  // value will be populated with the request's response once the request completes
  6111  // successfully.
  6112  //
  6113  // Use "Send" method on the returned Request to send the API call to the service.
  6114  // the "output" return value is not valid until after Send returns without error.
  6115  //
  6116  // See UpdateSlot for more information on using the UpdateSlot
  6117  // API call, and error handling.
  6118  //
  6119  // This method is useful when you want to inject custom logic or configuration
  6120  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6121  //
  6122  //
  6123  //    // Example sending a request using the UpdateSlotRequest method.
  6124  //    req, resp := client.UpdateSlotRequest(params)
  6125  //
  6126  //    err := req.Send()
  6127  //    if err == nil { // resp is now filled
  6128  //        fmt.Println(resp)
  6129  //    }
  6130  //
  6131  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlot
  6132  func (c *LexModelsV2) UpdateSlotRequest(input *UpdateSlotInput) (req *request.Request, output *UpdateSlotOutput) {
  6133  	op := &request.Operation{
  6134  		Name:       opUpdateSlot,
  6135  		HTTPMethod: "PUT",
  6136  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
  6137  	}
  6138  
  6139  	if input == nil {
  6140  		input = &UpdateSlotInput{}
  6141  	}
  6142  
  6143  	output = &UpdateSlotOutput{}
  6144  	req = c.newRequest(op, input, output)
  6145  	return
  6146  }
  6147  
  6148  // UpdateSlot API operation for Amazon Lex Model Building V2.
  6149  //
  6150  // Updates the settings for a slot.
  6151  //
  6152  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6153  // with awserr.Error's Code and Message methods to get detailed information about
  6154  // the error.
  6155  //
  6156  // See the AWS API reference guide for Amazon Lex Model Building V2's
  6157  // API operation UpdateSlot for usage and error information.
  6158  //
  6159  // Returned Error Types:
  6160  //   * ThrottlingException
  6161  //   Your request rate is too high. Reduce the frequency of requests.
  6162  //
  6163  //   * ServiceQuotaExceededException
  6164  //   You have reached a quota for your bot.
  6165  //
  6166  //   * ValidationException
  6167  //   One of the input parameters in your request isn't valid. Check the parameters
  6168  //   and try your request again.
  6169  //
  6170  //   * PreconditionFailedException
  6171  //   Your request couldn't be completed because one or more request fields aren't
  6172  //   valid. Check the fields in your request and try again.
  6173  //
  6174  //   * ConflictException
  6175  //   The action that you tried to perform couldn't be completed because the resource
  6176  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  6177  //   state. Try your request again.
  6178  //
  6179  //   * InternalServerException
  6180  //   The service encountered an unexpected condition. Try your request again.
  6181  //
  6182  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlot
  6183  func (c *LexModelsV2) UpdateSlot(input *UpdateSlotInput) (*UpdateSlotOutput, error) {
  6184  	req, out := c.UpdateSlotRequest(input)
  6185  	return out, req.Send()
  6186  }
  6187  
  6188  // UpdateSlotWithContext is the same as UpdateSlot with the addition of
  6189  // the ability to pass a context and additional request options.
  6190  //
  6191  // See UpdateSlot for details on how to use this API operation.
  6192  //
  6193  // The context must be non-nil and will be used for request cancellation. If
  6194  // the context is nil a panic will occur. In the future the SDK may create
  6195  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6196  // for more information on using Contexts.
  6197  func (c *LexModelsV2) UpdateSlotWithContext(ctx aws.Context, input *UpdateSlotInput, opts ...request.Option) (*UpdateSlotOutput, error) {
  6198  	req, out := c.UpdateSlotRequest(input)
  6199  	req.SetContext(ctx)
  6200  	req.ApplyOptions(opts...)
  6201  	return out, req.Send()
  6202  }
  6203  
  6204  const opUpdateSlotType = "UpdateSlotType"
  6205  
  6206  // UpdateSlotTypeRequest generates a "aws/request.Request" representing the
  6207  // client's request for the UpdateSlotType operation. The "output" return
  6208  // value will be populated with the request's response once the request completes
  6209  // successfully.
  6210  //
  6211  // Use "Send" method on the returned Request to send the API call to the service.
  6212  // the "output" return value is not valid until after Send returns without error.
  6213  //
  6214  // See UpdateSlotType for more information on using the UpdateSlotType
  6215  // API call, and error handling.
  6216  //
  6217  // This method is useful when you want to inject custom logic or configuration
  6218  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6219  //
  6220  //
  6221  //    // Example sending a request using the UpdateSlotTypeRequest method.
  6222  //    req, resp := client.UpdateSlotTypeRequest(params)
  6223  //
  6224  //    err := req.Send()
  6225  //    if err == nil { // resp is now filled
  6226  //        fmt.Println(resp)
  6227  //    }
  6228  //
  6229  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotType
  6230  func (c *LexModelsV2) UpdateSlotTypeRequest(input *UpdateSlotTypeInput) (req *request.Request, output *UpdateSlotTypeOutput) {
  6231  	op := &request.Operation{
  6232  		Name:       opUpdateSlotType,
  6233  		HTTPMethod: "PUT",
  6234  		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
  6235  	}
  6236  
  6237  	if input == nil {
  6238  		input = &UpdateSlotTypeInput{}
  6239  	}
  6240  
  6241  	output = &UpdateSlotTypeOutput{}
  6242  	req = c.newRequest(op, input, output)
  6243  	return
  6244  }
  6245  
  6246  // UpdateSlotType API operation for Amazon Lex Model Building V2.
  6247  //
  6248  // Updates the configuration of an existing slot type.
  6249  //
  6250  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6251  // with awserr.Error's Code and Message methods to get detailed information about
  6252  // the error.
  6253  //
  6254  // See the AWS API reference guide for Amazon Lex Model Building V2's
  6255  // API operation UpdateSlotType for usage and error information.
  6256  //
  6257  // Returned Error Types:
  6258  //   * ThrottlingException
  6259  //   Your request rate is too high. Reduce the frequency of requests.
  6260  //
  6261  //   * ServiceQuotaExceededException
  6262  //   You have reached a quota for your bot.
  6263  //
  6264  //   * ValidationException
  6265  //   One of the input parameters in your request isn't valid. Check the parameters
  6266  //   and try your request again.
  6267  //
  6268  //   * PreconditionFailedException
  6269  //   Your request couldn't be completed because one or more request fields aren't
  6270  //   valid. Check the fields in your request and try again.
  6271  //
  6272  //   * ConflictException
  6273  //   The action that you tried to perform couldn't be completed because the resource
  6274  //   is in a conflicting state. For example, deleting a bot that is in the CREATING
  6275  //   state. Try your request again.
  6276  //
  6277  //   * InternalServerException
  6278  //   The service encountered an unexpected condition. Try your request again.
  6279  //
  6280  // See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotType
  6281  func (c *LexModelsV2) UpdateSlotType(input *UpdateSlotTypeInput) (*UpdateSlotTypeOutput, error) {
  6282  	req, out := c.UpdateSlotTypeRequest(input)
  6283  	return out, req.Send()
  6284  }
  6285  
  6286  // UpdateSlotTypeWithContext is the same as UpdateSlotType with the addition of
  6287  // the ability to pass a context and additional request options.
  6288  //
  6289  // See UpdateSlotType for details on how to use this API operation.
  6290  //
  6291  // The context must be non-nil and will be used for request cancellation. If
  6292  // the context is nil a panic will occur. In the future the SDK may create
  6293  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6294  // for more information on using Contexts.
  6295  func (c *LexModelsV2) UpdateSlotTypeWithContext(ctx aws.Context, input *UpdateSlotTypeInput, opts ...request.Option) (*UpdateSlotTypeOutput, error) {
  6296  	req, out := c.UpdateSlotTypeRequest(input)
  6297  	req.SetContext(ctx)
  6298  	req.ApplyOptions(opts...)
  6299  	return out, req.Send()
  6300  }
  6301  
  6302  // Filters responses returned by the ListAggregatedUtterances operation.
  6303  type AggregatedUtterancesFilter struct {
  6304  	_ struct{} `type:"structure"`
  6305  
  6306  	// The name of the field to filter the utterance list.
  6307  	//
  6308  	// Name is a required field
  6309  	Name *string `locationName:"name" type:"string" required:"true" enum:"AggregatedUtterancesFilterName"`
  6310  
  6311  	// The operator to use for the filter. Specify EQ when the ListAggregatedUtterances
  6312  	// operation should return only utterances that equal the specified value. Specify
  6313  	// CO when the ListAggregatedUtterances operation should return utterances that
  6314  	// contain the specified value.
  6315  	//
  6316  	// Operator is a required field
  6317  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"AggregatedUtterancesFilterOperator"`
  6318  
  6319  	// The value to use for filtering the list of bots.
  6320  	//
  6321  	// Values is a required field
  6322  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
  6323  }
  6324  
  6325  // String returns the string representation.
  6326  //
  6327  // API parameter values that are decorated as "sensitive" in the API will not
  6328  // be included in the string output. The member name will be present, but the
  6329  // value will be replaced with "sensitive".
  6330  func (s AggregatedUtterancesFilter) String() string {
  6331  	return awsutil.Prettify(s)
  6332  }
  6333  
  6334  // GoString returns the string representation.
  6335  //
  6336  // API parameter values that are decorated as "sensitive" in the API will not
  6337  // be included in the string output. The member name will be present, but the
  6338  // value will be replaced with "sensitive".
  6339  func (s AggregatedUtterancesFilter) GoString() string {
  6340  	return s.String()
  6341  }
  6342  
  6343  // Validate inspects the fields of the type to determine if they are valid.
  6344  func (s *AggregatedUtterancesFilter) Validate() error {
  6345  	invalidParams := request.ErrInvalidParams{Context: "AggregatedUtterancesFilter"}
  6346  	if s.Name == nil {
  6347  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6348  	}
  6349  	if s.Operator == nil {
  6350  		invalidParams.Add(request.NewErrParamRequired("Operator"))
  6351  	}
  6352  	if s.Values == nil {
  6353  		invalidParams.Add(request.NewErrParamRequired("Values"))
  6354  	}
  6355  	if s.Values != nil && len(s.Values) < 1 {
  6356  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  6357  	}
  6358  
  6359  	if invalidParams.Len() > 0 {
  6360  		return invalidParams
  6361  	}
  6362  	return nil
  6363  }
  6364  
  6365  // SetName sets the Name field's value.
  6366  func (s *AggregatedUtterancesFilter) SetName(v string) *AggregatedUtterancesFilter {
  6367  	s.Name = &v
  6368  	return s
  6369  }
  6370  
  6371  // SetOperator sets the Operator field's value.
  6372  func (s *AggregatedUtterancesFilter) SetOperator(v string) *AggregatedUtterancesFilter {
  6373  	s.Operator = &v
  6374  	return s
  6375  }
  6376  
  6377  // SetValues sets the Values field's value.
  6378  func (s *AggregatedUtterancesFilter) SetValues(v []*string) *AggregatedUtterancesFilter {
  6379  	s.Values = v
  6380  	return s
  6381  }
  6382  
  6383  // Specifies attributes for sorting a list of utterances.
  6384  type AggregatedUtterancesSortBy struct {
  6385  	_ struct{} `type:"structure"`
  6386  
  6387  	// The utterance attribute to sort by.
  6388  	//
  6389  	// Attribute is a required field
  6390  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"AggregatedUtterancesSortAttribute"`
  6391  
  6392  	// Specifies whether to sort the aggregated utterances in ascending or descending
  6393  	// order.
  6394  	//
  6395  	// Order is a required field
  6396  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
  6397  }
  6398  
  6399  // String returns the string representation.
  6400  //
  6401  // API parameter values that are decorated as "sensitive" in the API will not
  6402  // be included in the string output. The member name will be present, but the
  6403  // value will be replaced with "sensitive".
  6404  func (s AggregatedUtterancesSortBy) String() string {
  6405  	return awsutil.Prettify(s)
  6406  }
  6407  
  6408  // GoString returns the string representation.
  6409  //
  6410  // API parameter values that are decorated as "sensitive" in the API will not
  6411  // be included in the string output. The member name will be present, but the
  6412  // value will be replaced with "sensitive".
  6413  func (s AggregatedUtterancesSortBy) GoString() string {
  6414  	return s.String()
  6415  }
  6416  
  6417  // Validate inspects the fields of the type to determine if they are valid.
  6418  func (s *AggregatedUtterancesSortBy) Validate() error {
  6419  	invalidParams := request.ErrInvalidParams{Context: "AggregatedUtterancesSortBy"}
  6420  	if s.Attribute == nil {
  6421  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  6422  	}
  6423  	if s.Order == nil {
  6424  		invalidParams.Add(request.NewErrParamRequired("Order"))
  6425  	}
  6426  
  6427  	if invalidParams.Len() > 0 {
  6428  		return invalidParams
  6429  	}
  6430  	return nil
  6431  }
  6432  
  6433  // SetAttribute sets the Attribute field's value.
  6434  func (s *AggregatedUtterancesSortBy) SetAttribute(v string) *AggregatedUtterancesSortBy {
  6435  	s.Attribute = &v
  6436  	return s
  6437  }
  6438  
  6439  // SetOrder sets the Order field's value.
  6440  func (s *AggregatedUtterancesSortBy) SetOrder(v string) *AggregatedUtterancesSortBy {
  6441  	s.Order = &v
  6442  	return s
  6443  }
  6444  
  6445  // Provides summary information for aggregated utterances. The ListAggregatedUtterances
  6446  // operations combines all instances of the same utterance into a single aggregated
  6447  // summary.
  6448  type AggregatedUtterancesSummary struct {
  6449  	_ struct{} `type:"structure"`
  6450  
  6451  	// Aggregated utterance data may contain utterances from versions of your bot
  6452  	// that have since been deleted. When the aggregated contains this kind of data,
  6453  	// this field is set to true.
  6454  	ContainsDataFromDeletedResources *bool `locationName:"containsDataFromDeletedResources" type:"boolean"`
  6455  
  6456  	// The number of times that the utterance was detected by Amazon Lex during
  6457  	// the time period. When an utterance is detected, it activates an intent or
  6458  	// a slot.
  6459  	HitCount *int64 `locationName:"hitCount" type:"integer"`
  6460  
  6461  	// The number of times that the utterance was missed by Amazon Lex An utterance
  6462  	// is missed when it doesn't activate an intent or slot.
  6463  	MissedCount *int64 `locationName:"missedCount" type:"integer"`
  6464  
  6465  	// The text of the utterance. If the utterance was used with the RecognizeUtterance
  6466  	// operation, the text is the transcription of the audio utterance.
  6467  	Utterance *string `locationName:"utterance" type:"string"`
  6468  
  6469  	// The date and time that the utterance was first recorded in the time window
  6470  	// for aggregation. An utterance may have been sent to Amazon Lex before that
  6471  	// time, but only utterances within the time window are counted.
  6472  	UtteranceFirstRecordedInAggregationDuration *time.Time `locationName:"utteranceFirstRecordedInAggregationDuration" type:"timestamp"`
  6473  
  6474  	// The last date and time that an utterance was recorded in the time window
  6475  	// for aggregation. An utterance may be sent to Amazon Lex after that time,
  6476  	// but only utterances within the time window are counted.
  6477  	UtteranceLastRecordedInAggregationDuration *time.Time `locationName:"utteranceLastRecordedInAggregationDuration" type:"timestamp"`
  6478  }
  6479  
  6480  // String returns the string representation.
  6481  //
  6482  // API parameter values that are decorated as "sensitive" in the API will not
  6483  // be included in the string output. The member name will be present, but the
  6484  // value will be replaced with "sensitive".
  6485  func (s AggregatedUtterancesSummary) String() string {
  6486  	return awsutil.Prettify(s)
  6487  }
  6488  
  6489  // GoString returns the string representation.
  6490  //
  6491  // API parameter values that are decorated as "sensitive" in the API will not
  6492  // be included in the string output. The member name will be present, but the
  6493  // value will be replaced with "sensitive".
  6494  func (s AggregatedUtterancesSummary) GoString() string {
  6495  	return s.String()
  6496  }
  6497  
  6498  // SetContainsDataFromDeletedResources sets the ContainsDataFromDeletedResources field's value.
  6499  func (s *AggregatedUtterancesSummary) SetContainsDataFromDeletedResources(v bool) *AggregatedUtterancesSummary {
  6500  	s.ContainsDataFromDeletedResources = &v
  6501  	return s
  6502  }
  6503  
  6504  // SetHitCount sets the HitCount field's value.
  6505  func (s *AggregatedUtterancesSummary) SetHitCount(v int64) *AggregatedUtterancesSummary {
  6506  	s.HitCount = &v
  6507  	return s
  6508  }
  6509  
  6510  // SetMissedCount sets the MissedCount field's value.
  6511  func (s *AggregatedUtterancesSummary) SetMissedCount(v int64) *AggregatedUtterancesSummary {
  6512  	s.MissedCount = &v
  6513  	return s
  6514  }
  6515  
  6516  // SetUtterance sets the Utterance field's value.
  6517  func (s *AggregatedUtterancesSummary) SetUtterance(v string) *AggregatedUtterancesSummary {
  6518  	s.Utterance = &v
  6519  	return s
  6520  }
  6521  
  6522  // SetUtteranceFirstRecordedInAggregationDuration sets the UtteranceFirstRecordedInAggregationDuration field's value.
  6523  func (s *AggregatedUtterancesSummary) SetUtteranceFirstRecordedInAggregationDuration(v time.Time) *AggregatedUtterancesSummary {
  6524  	s.UtteranceFirstRecordedInAggregationDuration = &v
  6525  	return s
  6526  }
  6527  
  6528  // SetUtteranceLastRecordedInAggregationDuration sets the UtteranceLastRecordedInAggregationDuration field's value.
  6529  func (s *AggregatedUtterancesSummary) SetUtteranceLastRecordedInAggregationDuration(v time.Time) *AggregatedUtterancesSummary {
  6530  	s.UtteranceLastRecordedInAggregationDuration = &v
  6531  	return s
  6532  }
  6533  
  6534  // The location of audio log files collected when conversation logging is enabled
  6535  // for a bot.
  6536  type AudioLogDestination struct {
  6537  	_ struct{} `type:"structure"`
  6538  
  6539  	// The Amazon S3 bucket where the audio log files are stored. The IAM role specified
  6540  	// in the roleArn parameter of the CreateBot operation must have permission
  6541  	// to write to this bucket.
  6542  	//
  6543  	// S3Bucket is a required field
  6544  	S3Bucket *S3BucketLogDestination `locationName:"s3Bucket" type:"structure" required:"true"`
  6545  }
  6546  
  6547  // String returns the string representation.
  6548  //
  6549  // API parameter values that are decorated as "sensitive" in the API will not
  6550  // be included in the string output. The member name will be present, but the
  6551  // value will be replaced with "sensitive".
  6552  func (s AudioLogDestination) String() string {
  6553  	return awsutil.Prettify(s)
  6554  }
  6555  
  6556  // GoString returns the string representation.
  6557  //
  6558  // API parameter values that are decorated as "sensitive" in the API will not
  6559  // be included in the string output. The member name will be present, but the
  6560  // value will be replaced with "sensitive".
  6561  func (s AudioLogDestination) GoString() string {
  6562  	return s.String()
  6563  }
  6564  
  6565  // Validate inspects the fields of the type to determine if they are valid.
  6566  func (s *AudioLogDestination) Validate() error {
  6567  	invalidParams := request.ErrInvalidParams{Context: "AudioLogDestination"}
  6568  	if s.S3Bucket == nil {
  6569  		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
  6570  	}
  6571  	if s.S3Bucket != nil {
  6572  		if err := s.S3Bucket.Validate(); err != nil {
  6573  			invalidParams.AddNested("S3Bucket", err.(request.ErrInvalidParams))
  6574  		}
  6575  	}
  6576  
  6577  	if invalidParams.Len() > 0 {
  6578  		return invalidParams
  6579  	}
  6580  	return nil
  6581  }
  6582  
  6583  // SetS3Bucket sets the S3Bucket field's value.
  6584  func (s *AudioLogDestination) SetS3Bucket(v *S3BucketLogDestination) *AudioLogDestination {
  6585  	s.S3Bucket = v
  6586  	return s
  6587  }
  6588  
  6589  // Settings for logging audio of conversations between Amazon Lex and a user.
  6590  // You specify whether to log audio and the Amazon S3 bucket where the audio
  6591  // file is stored.
  6592  type AudioLogSetting struct {
  6593  	_ struct{} `type:"structure"`
  6594  
  6595  	// The location of audio log files collected when conversation logging is enabled
  6596  	// for a bot.
  6597  	//
  6598  	// Destination is a required field
  6599  	Destination *AudioLogDestination `locationName:"destination" type:"structure" required:"true"`
  6600  
  6601  	// Determines whether audio logging in enabled for the bot.
  6602  	//
  6603  	// Enabled is a required field
  6604  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  6605  }
  6606  
  6607  // String returns the string representation.
  6608  //
  6609  // API parameter values that are decorated as "sensitive" in the API will not
  6610  // be included in the string output. The member name will be present, but the
  6611  // value will be replaced with "sensitive".
  6612  func (s AudioLogSetting) String() string {
  6613  	return awsutil.Prettify(s)
  6614  }
  6615  
  6616  // GoString returns the string representation.
  6617  //
  6618  // API parameter values that are decorated as "sensitive" in the API will not
  6619  // be included in the string output. The member name will be present, but the
  6620  // value will be replaced with "sensitive".
  6621  func (s AudioLogSetting) GoString() string {
  6622  	return s.String()
  6623  }
  6624  
  6625  // Validate inspects the fields of the type to determine if they are valid.
  6626  func (s *AudioLogSetting) Validate() error {
  6627  	invalidParams := request.ErrInvalidParams{Context: "AudioLogSetting"}
  6628  	if s.Destination == nil {
  6629  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  6630  	}
  6631  	if s.Enabled == nil {
  6632  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  6633  	}
  6634  	if s.Destination != nil {
  6635  		if err := s.Destination.Validate(); err != nil {
  6636  			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
  6637  		}
  6638  	}
  6639  
  6640  	if invalidParams.Len() > 0 {
  6641  		return invalidParams
  6642  	}
  6643  	return nil
  6644  }
  6645  
  6646  // SetDestination sets the Destination field's value.
  6647  func (s *AudioLogSetting) SetDestination(v *AudioLogDestination) *AudioLogSetting {
  6648  	s.Destination = v
  6649  	return s
  6650  }
  6651  
  6652  // SetEnabled sets the Enabled field's value.
  6653  func (s *AudioLogSetting) SetEnabled(v bool) *AudioLogSetting {
  6654  	s.Enabled = &v
  6655  	return s
  6656  }
  6657  
  6658  // Provides a record of an event that affects a bot alias. For example, when
  6659  // the version of a bot that the alias points to changes.
  6660  type BotAliasHistoryEvent struct {
  6661  	_ struct{} `type:"structure"`
  6662  
  6663  	// The version of the bot that was used in the event.
  6664  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
  6665  
  6666  	// The date and time that the event ended.
  6667  	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
  6668  
  6669  	// The date and time that the event started.
  6670  	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
  6671  }
  6672  
  6673  // String returns the string representation.
  6674  //
  6675  // API parameter values that are decorated as "sensitive" in the API will not
  6676  // be included in the string output. The member name will be present, but the
  6677  // value will be replaced with "sensitive".
  6678  func (s BotAliasHistoryEvent) String() string {
  6679  	return awsutil.Prettify(s)
  6680  }
  6681  
  6682  // GoString returns the string representation.
  6683  //
  6684  // API parameter values that are decorated as "sensitive" in the API will not
  6685  // be included in the string output. The member name will be present, but the
  6686  // value will be replaced with "sensitive".
  6687  func (s BotAliasHistoryEvent) GoString() string {
  6688  	return s.String()
  6689  }
  6690  
  6691  // SetBotVersion sets the BotVersion field's value.
  6692  func (s *BotAliasHistoryEvent) SetBotVersion(v string) *BotAliasHistoryEvent {
  6693  	s.BotVersion = &v
  6694  	return s
  6695  }
  6696  
  6697  // SetEndDate sets the EndDate field's value.
  6698  func (s *BotAliasHistoryEvent) SetEndDate(v time.Time) *BotAliasHistoryEvent {
  6699  	s.EndDate = &v
  6700  	return s
  6701  }
  6702  
  6703  // SetStartDate sets the StartDate field's value.
  6704  func (s *BotAliasHistoryEvent) SetStartDate(v time.Time) *BotAliasHistoryEvent {
  6705  	s.StartDate = &v
  6706  	return s
  6707  }
  6708  
  6709  // Specifies settings that are unique to a locale. For example, you can use
  6710  // different Lambda function depending on the bot's locale.
  6711  type BotAliasLocaleSettings struct {
  6712  	_ struct{} `type:"structure"`
  6713  
  6714  	// Specifies the Lambda function that should be used in the locale.
  6715  	CodeHookSpecification *CodeHookSpecification `locationName:"codeHookSpecification" type:"structure"`
  6716  
  6717  	// Determines whether the locale is enabled for the bot. If the value is false,
  6718  	// the locale isn't available for use.
  6719  	//
  6720  	// Enabled is a required field
  6721  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  6722  }
  6723  
  6724  // String returns the string representation.
  6725  //
  6726  // API parameter values that are decorated as "sensitive" in the API will not
  6727  // be included in the string output. The member name will be present, but the
  6728  // value will be replaced with "sensitive".
  6729  func (s BotAliasLocaleSettings) String() string {
  6730  	return awsutil.Prettify(s)
  6731  }
  6732  
  6733  // GoString returns the string representation.
  6734  //
  6735  // API parameter values that are decorated as "sensitive" in the API will not
  6736  // be included in the string output. The member name will be present, but the
  6737  // value will be replaced with "sensitive".
  6738  func (s BotAliasLocaleSettings) GoString() string {
  6739  	return s.String()
  6740  }
  6741  
  6742  // Validate inspects the fields of the type to determine if they are valid.
  6743  func (s *BotAliasLocaleSettings) Validate() error {
  6744  	invalidParams := request.ErrInvalidParams{Context: "BotAliasLocaleSettings"}
  6745  	if s.Enabled == nil {
  6746  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  6747  	}
  6748  	if s.CodeHookSpecification != nil {
  6749  		if err := s.CodeHookSpecification.Validate(); err != nil {
  6750  			invalidParams.AddNested("CodeHookSpecification", err.(request.ErrInvalidParams))
  6751  		}
  6752  	}
  6753  
  6754  	if invalidParams.Len() > 0 {
  6755  		return invalidParams
  6756  	}
  6757  	return nil
  6758  }
  6759  
  6760  // SetCodeHookSpecification sets the CodeHookSpecification field's value.
  6761  func (s *BotAliasLocaleSettings) SetCodeHookSpecification(v *CodeHookSpecification) *BotAliasLocaleSettings {
  6762  	s.CodeHookSpecification = v
  6763  	return s
  6764  }
  6765  
  6766  // SetEnabled sets the Enabled field's value.
  6767  func (s *BotAliasLocaleSettings) SetEnabled(v bool) *BotAliasLocaleSettings {
  6768  	s.Enabled = &v
  6769  	return s
  6770  }
  6771  
  6772  // Summary information about bot aliases returned from the ListBotAliases operation.
  6773  type BotAliasSummary struct {
  6774  	_ struct{} `type:"structure"`
  6775  
  6776  	// The unique identifier assigned to the bot alias. You can use this ID to get
  6777  	// detailed information about the alias using the DescribeBotAlias operation.
  6778  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
  6779  
  6780  	// The name of the bot alias.
  6781  	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
  6782  
  6783  	// The current state of the bot alias. If the status is Available, the alias
  6784  	// is ready for use.
  6785  	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
  6786  
  6787  	// The version of the bot that the bot alias references.
  6788  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
  6789  
  6790  	// A timestamp of the date and time that the bot alias was created.
  6791  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  6792  
  6793  	// The description of the bot alias.
  6794  	Description *string `locationName:"description" type:"string"`
  6795  
  6796  	// A timestamp of the date and time that the bot alias was last updated.
  6797  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
  6798  }
  6799  
  6800  // String returns the string representation.
  6801  //
  6802  // API parameter values that are decorated as "sensitive" in the API will not
  6803  // be included in the string output. The member name will be present, but the
  6804  // value will be replaced with "sensitive".
  6805  func (s BotAliasSummary) String() string {
  6806  	return awsutil.Prettify(s)
  6807  }
  6808  
  6809  // GoString returns the string representation.
  6810  //
  6811  // API parameter values that are decorated as "sensitive" in the API will not
  6812  // be included in the string output. The member name will be present, but the
  6813  // value will be replaced with "sensitive".
  6814  func (s BotAliasSummary) GoString() string {
  6815  	return s.String()
  6816  }
  6817  
  6818  // SetBotAliasId sets the BotAliasId field's value.
  6819  func (s *BotAliasSummary) SetBotAliasId(v string) *BotAliasSummary {
  6820  	s.BotAliasId = &v
  6821  	return s
  6822  }
  6823  
  6824  // SetBotAliasName sets the BotAliasName field's value.
  6825  func (s *BotAliasSummary) SetBotAliasName(v string) *BotAliasSummary {
  6826  	s.BotAliasName = &v
  6827  	return s
  6828  }
  6829  
  6830  // SetBotAliasStatus sets the BotAliasStatus field's value.
  6831  func (s *BotAliasSummary) SetBotAliasStatus(v string) *BotAliasSummary {
  6832  	s.BotAliasStatus = &v
  6833  	return s
  6834  }
  6835  
  6836  // SetBotVersion sets the BotVersion field's value.
  6837  func (s *BotAliasSummary) SetBotVersion(v string) *BotAliasSummary {
  6838  	s.BotVersion = &v
  6839  	return s
  6840  }
  6841  
  6842  // SetCreationDateTime sets the CreationDateTime field's value.
  6843  func (s *BotAliasSummary) SetCreationDateTime(v time.Time) *BotAliasSummary {
  6844  	s.CreationDateTime = &v
  6845  	return s
  6846  }
  6847  
  6848  // SetDescription sets the Description field's value.
  6849  func (s *BotAliasSummary) SetDescription(v string) *BotAliasSummary {
  6850  	s.Description = &v
  6851  	return s
  6852  }
  6853  
  6854  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
  6855  func (s *BotAliasSummary) SetLastUpdatedDateTime(v time.Time) *BotAliasSummary {
  6856  	s.LastUpdatedDateTime = &v
  6857  	return s
  6858  }
  6859  
  6860  // Provides the identity of a the bot that was exported.
  6861  type BotExportSpecification struct {
  6862  	_ struct{} `type:"structure"`
  6863  
  6864  	// The identifier of the bot assigned by Amazon Lex.
  6865  	//
  6866  	// BotId is a required field
  6867  	BotId *string `locationName:"botId" min:"10" type:"string" required:"true"`
  6868  
  6869  	// The version of the bot that was exported. This will be either DRAFT or the
  6870  	// version number.
  6871  	//
  6872  	// BotVersion is a required field
  6873  	BotVersion *string `locationName:"botVersion" min:"1" type:"string" required:"true"`
  6874  }
  6875  
  6876  // String returns the string representation.
  6877  //
  6878  // API parameter values that are decorated as "sensitive" in the API will not
  6879  // be included in the string output. The member name will be present, but the
  6880  // value will be replaced with "sensitive".
  6881  func (s BotExportSpecification) String() string {
  6882  	return awsutil.Prettify(s)
  6883  }
  6884  
  6885  // GoString returns the string representation.
  6886  //
  6887  // API parameter values that are decorated as "sensitive" in the API will not
  6888  // be included in the string output. The member name will be present, but the
  6889  // value will be replaced with "sensitive".
  6890  func (s BotExportSpecification) GoString() string {
  6891  	return s.String()
  6892  }
  6893  
  6894  // Validate inspects the fields of the type to determine if they are valid.
  6895  func (s *BotExportSpecification) Validate() error {
  6896  	invalidParams := request.ErrInvalidParams{Context: "BotExportSpecification"}
  6897  	if s.BotId == nil {
  6898  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  6899  	}
  6900  	if s.BotId != nil && len(*s.BotId) < 10 {
  6901  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  6902  	}
  6903  	if s.BotVersion == nil {
  6904  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
  6905  	}
  6906  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
  6907  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
  6908  	}
  6909  
  6910  	if invalidParams.Len() > 0 {
  6911  		return invalidParams
  6912  	}
  6913  	return nil
  6914  }
  6915  
  6916  // SetBotId sets the BotId field's value.
  6917  func (s *BotExportSpecification) SetBotId(v string) *BotExportSpecification {
  6918  	s.BotId = &v
  6919  	return s
  6920  }
  6921  
  6922  // SetBotVersion sets the BotVersion field's value.
  6923  func (s *BotExportSpecification) SetBotVersion(v string) *BotExportSpecification {
  6924  	s.BotVersion = &v
  6925  	return s
  6926  }
  6927  
  6928  // Filters the responses returned by the ListBots operation.
  6929  type BotFilter struct {
  6930  	_ struct{} `type:"structure"`
  6931  
  6932  	// The name of the field to filter the list of bots.
  6933  	//
  6934  	// Name is a required field
  6935  	Name *string `locationName:"name" type:"string" required:"true" enum:"BotFilterName"`
  6936  
  6937  	// The operator to use for the filter. Specify EQ when the ListBots operation
  6938  	// should return only aliases that equal the specified value. Specify CO when
  6939  	// the ListBots operation should return aliases that contain the specified value.
  6940  	//
  6941  	// Operator is a required field
  6942  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"BotFilterOperator"`
  6943  
  6944  	// The value to use for filtering the list of bots.
  6945  	//
  6946  	// Values is a required field
  6947  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
  6948  }
  6949  
  6950  // String returns the string representation.
  6951  //
  6952  // API parameter values that are decorated as "sensitive" in the API will not
  6953  // be included in the string output. The member name will be present, but the
  6954  // value will be replaced with "sensitive".
  6955  func (s BotFilter) String() string {
  6956  	return awsutil.Prettify(s)
  6957  }
  6958  
  6959  // GoString returns the string representation.
  6960  //
  6961  // API parameter values that are decorated as "sensitive" in the API will not
  6962  // be included in the string output. The member name will be present, but the
  6963  // value will be replaced with "sensitive".
  6964  func (s BotFilter) GoString() string {
  6965  	return s.String()
  6966  }
  6967  
  6968  // Validate inspects the fields of the type to determine if they are valid.
  6969  func (s *BotFilter) Validate() error {
  6970  	invalidParams := request.ErrInvalidParams{Context: "BotFilter"}
  6971  	if s.Name == nil {
  6972  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6973  	}
  6974  	if s.Operator == nil {
  6975  		invalidParams.Add(request.NewErrParamRequired("Operator"))
  6976  	}
  6977  	if s.Values == nil {
  6978  		invalidParams.Add(request.NewErrParamRequired("Values"))
  6979  	}
  6980  	if s.Values != nil && len(s.Values) < 1 {
  6981  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  6982  	}
  6983  
  6984  	if invalidParams.Len() > 0 {
  6985  		return invalidParams
  6986  	}
  6987  	return nil
  6988  }
  6989  
  6990  // SetName sets the Name field's value.
  6991  func (s *BotFilter) SetName(v string) *BotFilter {
  6992  	s.Name = &v
  6993  	return s
  6994  }
  6995  
  6996  // SetOperator sets the Operator field's value.
  6997  func (s *BotFilter) SetOperator(v string) *BotFilter {
  6998  	s.Operator = &v
  6999  	return s
  7000  }
  7001  
  7002  // SetValues sets the Values field's value.
  7003  func (s *BotFilter) SetValues(v []*string) *BotFilter {
  7004  	s.Values = v
  7005  	return s
  7006  }
  7007  
  7008  // Provides the bot parameters required for importing a bot.
  7009  type BotImportSpecification struct {
  7010  	_ struct{} `type:"structure"`
  7011  
  7012  	// The name that Amazon Lex should use for the bot.
  7013  	//
  7014  	// BotName is a required field
  7015  	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
  7016  
  7017  	// A list of tags to add to the bot. You can only add tags when you import a
  7018  	// bot. You can't use the UpdateBot operation to update tags. To update tags,
  7019  	// use the TagResource operation.
  7020  	BotTags map[string]*string `locationName:"botTags" type:"map"`
  7021  
  7022  	// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
  7023  	// provides settings that determine how Amazon Lex handles special cases of
  7024  	// securing the data for your bot.
  7025  	//
  7026  	// DataPrivacy is a required field
  7027  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
  7028  
  7029  	// The time, in seconds, that Amazon Lex should keep information about a user's
  7030  	// conversation with the bot.
  7031  	//
  7032  	// A user interaction remains active for the amount of time specified. If no
  7033  	// conversation occurs during this time, the session expires and Amazon Lex
  7034  	// deletes any data provided before the timeout.
  7035  	//
  7036  	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
  7037  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
  7038  
  7039  	// The Amazon Resource Name (ARN) of the IAM role used to build and run the
  7040  	// bot.
  7041  	//
  7042  	// RoleArn is a required field
  7043  	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
  7044  
  7045  	// A list of tags to add to the test alias for a bot. You can only add tags
  7046  	// when you import a bot. You can't use the UpdateAlias operation to update
  7047  	// tags. To update tags on the test alias, use the TagResource operation.
  7048  	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
  7049  }
  7050  
  7051  // String returns the string representation.
  7052  //
  7053  // API parameter values that are decorated as "sensitive" in the API will not
  7054  // be included in the string output. The member name will be present, but the
  7055  // value will be replaced with "sensitive".
  7056  func (s BotImportSpecification) String() string {
  7057  	return awsutil.Prettify(s)
  7058  }
  7059  
  7060  // GoString returns the string representation.
  7061  //
  7062  // API parameter values that are decorated as "sensitive" in the API will not
  7063  // be included in the string output. The member name will be present, but the
  7064  // value will be replaced with "sensitive".
  7065  func (s BotImportSpecification) GoString() string {
  7066  	return s.String()
  7067  }
  7068  
  7069  // Validate inspects the fields of the type to determine if they are valid.
  7070  func (s *BotImportSpecification) Validate() error {
  7071  	invalidParams := request.ErrInvalidParams{Context: "BotImportSpecification"}
  7072  	if s.BotName == nil {
  7073  		invalidParams.Add(request.NewErrParamRequired("BotName"))
  7074  	}
  7075  	if s.BotName != nil && len(*s.BotName) < 1 {
  7076  		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
  7077  	}
  7078  	if s.DataPrivacy == nil {
  7079  		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
  7080  	}
  7081  	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
  7082  		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
  7083  	}
  7084  	if s.RoleArn == nil {
  7085  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  7086  	}
  7087  	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
  7088  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
  7089  	}
  7090  	if s.DataPrivacy != nil {
  7091  		if err := s.DataPrivacy.Validate(); err != nil {
  7092  			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
  7093  		}
  7094  	}
  7095  
  7096  	if invalidParams.Len() > 0 {
  7097  		return invalidParams
  7098  	}
  7099  	return nil
  7100  }
  7101  
  7102  // SetBotName sets the BotName field's value.
  7103  func (s *BotImportSpecification) SetBotName(v string) *BotImportSpecification {
  7104  	s.BotName = &v
  7105  	return s
  7106  }
  7107  
  7108  // SetBotTags sets the BotTags field's value.
  7109  func (s *BotImportSpecification) SetBotTags(v map[string]*string) *BotImportSpecification {
  7110  	s.BotTags = v
  7111  	return s
  7112  }
  7113  
  7114  // SetDataPrivacy sets the DataPrivacy field's value.
  7115  func (s *BotImportSpecification) SetDataPrivacy(v *DataPrivacy) *BotImportSpecification {
  7116  	s.DataPrivacy = v
  7117  	return s
  7118  }
  7119  
  7120  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
  7121  func (s *BotImportSpecification) SetIdleSessionTTLInSeconds(v int64) *BotImportSpecification {
  7122  	s.IdleSessionTTLInSeconds = &v
  7123  	return s
  7124  }
  7125  
  7126  // SetRoleArn sets the RoleArn field's value.
  7127  func (s *BotImportSpecification) SetRoleArn(v string) *BotImportSpecification {
  7128  	s.RoleArn = &v
  7129  	return s
  7130  }
  7131  
  7132  // SetTestBotAliasTags sets the TestBotAliasTags field's value.
  7133  func (s *BotImportSpecification) SetTestBotAliasTags(v map[string]*string) *BotImportSpecification {
  7134  	s.TestBotAliasTags = v
  7135  	return s
  7136  }
  7137  
  7138  // Provides the bot locale parameters required for exporting a bot locale.
  7139  type BotLocaleExportSpecification struct {
  7140  	_ struct{} `type:"structure"`
  7141  
  7142  	// The identifier of the bot to create the locale for.
  7143  	//
  7144  	// BotId is a required field
  7145  	BotId *string `locationName:"botId" min:"10" type:"string" required:"true"`
  7146  
  7147  	// The version of the bot to export.
  7148  	//
  7149  	// BotVersion is a required field
  7150  	BotVersion *string `locationName:"botVersion" min:"1" type:"string" required:"true"`
  7151  
  7152  	// The identifier of the language and locale to export. The string must match
  7153  	// one of the locales in the bot.
  7154  	//
  7155  	// LocaleId is a required field
  7156  	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
  7157  }
  7158  
  7159  // String returns the string representation.
  7160  //
  7161  // API parameter values that are decorated as "sensitive" in the API will not
  7162  // be included in the string output. The member name will be present, but the
  7163  // value will be replaced with "sensitive".
  7164  func (s BotLocaleExportSpecification) String() string {
  7165  	return awsutil.Prettify(s)
  7166  }
  7167  
  7168  // GoString returns the string representation.
  7169  //
  7170  // API parameter values that are decorated as "sensitive" in the API will not
  7171  // be included in the string output. The member name will be present, but the
  7172  // value will be replaced with "sensitive".
  7173  func (s BotLocaleExportSpecification) GoString() string {
  7174  	return s.String()
  7175  }
  7176  
  7177  // Validate inspects the fields of the type to determine if they are valid.
  7178  func (s *BotLocaleExportSpecification) Validate() error {
  7179  	invalidParams := request.ErrInvalidParams{Context: "BotLocaleExportSpecification"}
  7180  	if s.BotId == nil {
  7181  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  7182  	}
  7183  	if s.BotId != nil && len(*s.BotId) < 10 {
  7184  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  7185  	}
  7186  	if s.BotVersion == nil {
  7187  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
  7188  	}
  7189  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
  7190  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
  7191  	}
  7192  	if s.LocaleId == nil {
  7193  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
  7194  	}
  7195  
  7196  	if invalidParams.Len() > 0 {
  7197  		return invalidParams
  7198  	}
  7199  	return nil
  7200  }
  7201  
  7202  // SetBotId sets the BotId field's value.
  7203  func (s *BotLocaleExportSpecification) SetBotId(v string) *BotLocaleExportSpecification {
  7204  	s.BotId = &v
  7205  	return s
  7206  }
  7207  
  7208  // SetBotVersion sets the BotVersion field's value.
  7209  func (s *BotLocaleExportSpecification) SetBotVersion(v string) *BotLocaleExportSpecification {
  7210  	s.BotVersion = &v
  7211  	return s
  7212  }
  7213  
  7214  // SetLocaleId sets the LocaleId field's value.
  7215  func (s *BotLocaleExportSpecification) SetLocaleId(v string) *BotLocaleExportSpecification {
  7216  	s.LocaleId = &v
  7217  	return s
  7218  }
  7219  
  7220  // Filters responses returned by the ListBotLocales operation.
  7221  type BotLocaleFilter struct {
  7222  	_ struct{} `type:"structure"`
  7223  
  7224  	// The name of the field to filter the list of bots.
  7225  	//
  7226  	// Name is a required field
  7227  	Name *string `locationName:"name" type:"string" required:"true" enum:"BotLocaleFilterName"`
  7228  
  7229  	// The operator to use for the filter. Specify EQ when the ListBotLocales operation
  7230  	// should return only aliases that equal the specified value. Specify CO when
  7231  	// the ListBotLocales operation should return aliases that contain the specified
  7232  	// value.
  7233  	//
  7234  	// Operator is a required field
  7235  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"BotLocaleFilterOperator"`
  7236  
  7237  	// The value to use for filtering the list of bots.
  7238  	//
  7239  	// Values is a required field
  7240  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
  7241  }
  7242  
  7243  // String returns the string representation.
  7244  //
  7245  // API parameter values that are decorated as "sensitive" in the API will not
  7246  // be included in the string output. The member name will be present, but the
  7247  // value will be replaced with "sensitive".
  7248  func (s BotLocaleFilter) String() string {
  7249  	return awsutil.Prettify(s)
  7250  }
  7251  
  7252  // GoString returns the string representation.
  7253  //
  7254  // API parameter values that are decorated as "sensitive" in the API will not
  7255  // be included in the string output. The member name will be present, but the
  7256  // value will be replaced with "sensitive".
  7257  func (s BotLocaleFilter) GoString() string {
  7258  	return s.String()
  7259  }
  7260  
  7261  // Validate inspects the fields of the type to determine if they are valid.
  7262  func (s *BotLocaleFilter) Validate() error {
  7263  	invalidParams := request.ErrInvalidParams{Context: "BotLocaleFilter"}
  7264  	if s.Name == nil {
  7265  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7266  	}
  7267  	if s.Operator == nil {
  7268  		invalidParams.Add(request.NewErrParamRequired("Operator"))
  7269  	}
  7270  	if s.Values == nil {
  7271  		invalidParams.Add(request.NewErrParamRequired("Values"))
  7272  	}
  7273  	if s.Values != nil && len(s.Values) < 1 {
  7274  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  7275  	}
  7276  
  7277  	if invalidParams.Len() > 0 {
  7278  		return invalidParams
  7279  	}
  7280  	return nil
  7281  }
  7282  
  7283  // SetName sets the Name field's value.
  7284  func (s *BotLocaleFilter) SetName(v string) *BotLocaleFilter {
  7285  	s.Name = &v
  7286  	return s
  7287  }
  7288  
  7289  // SetOperator sets the Operator field's value.
  7290  func (s *BotLocaleFilter) SetOperator(v string) *BotLocaleFilter {
  7291  	s.Operator = &v
  7292  	return s
  7293  }
  7294  
  7295  // SetValues sets the Values field's value.
  7296  func (s *BotLocaleFilter) SetValues(v []*string) *BotLocaleFilter {
  7297  	s.Values = v
  7298  	return s
  7299  }
  7300  
  7301  // Provides information about an event that occurred affecting the bot locale.
  7302  type BotLocaleHistoryEvent struct {
  7303  	_ struct{} `type:"structure"`
  7304  
  7305  	// A description of the event that occurred.
  7306  	//
  7307  	// Event is a required field
  7308  	Event *string `locationName:"event" type:"string" required:"true"`
  7309  
  7310  	// A timestamp of the date and time that the event occurred.
  7311  	//
  7312  	// EventDate is a required field
  7313  	EventDate *time.Time `locationName:"eventDate" type:"timestamp" required:"true"`
  7314  }
  7315  
  7316  // String returns the string representation.
  7317  //
  7318  // API parameter values that are decorated as "sensitive" in the API will not
  7319  // be included in the string output. The member name will be present, but the
  7320  // value will be replaced with "sensitive".
  7321  func (s BotLocaleHistoryEvent) String() string {
  7322  	return awsutil.Prettify(s)
  7323  }
  7324  
  7325  // GoString returns the string representation.
  7326  //
  7327  // API parameter values that are decorated as "sensitive" in the API will not
  7328  // be included in the string output. The member name will be present, but the
  7329  // value will be replaced with "sensitive".
  7330  func (s BotLocaleHistoryEvent) GoString() string {
  7331  	return s.String()
  7332  }
  7333  
  7334  // SetEvent sets the Event field's value.
  7335  func (s *BotLocaleHistoryEvent) SetEvent(v string) *BotLocaleHistoryEvent {
  7336  	s.Event = &v
  7337  	return s
  7338  }
  7339  
  7340  // SetEventDate sets the EventDate field's value.
  7341  func (s *BotLocaleHistoryEvent) SetEventDate(v time.Time) *BotLocaleHistoryEvent {
  7342  	s.EventDate = &v
  7343  	return s
  7344  }
  7345  
  7346  // Provides the bot locale parameters required for importing a bot locale.
  7347  type BotLocaleImportSpecification struct {
  7348  	_ struct{} `type:"structure"`
  7349  
  7350  	// The identifier of the bot to import the locale to.
  7351  	//
  7352  	// BotId is a required field
  7353  	BotId *string `locationName:"botId" min:"10" type:"string" required:"true"`
  7354  
  7355  	// The version of the bot to import the locale to. This can only be the DRAFT
  7356  	// version of the bot.
  7357  	//
  7358  	// BotVersion is a required field
  7359  	BotVersion *string `locationName:"botVersion" min:"5" type:"string" required:"true"`
  7360  
  7361  	// The identifier of the language and locale that the bot will be used in. The
  7362  	// string must match one of the supported locales. All of the intents, slot
  7363  	// types, and slots used in the bot must have the same locale. For more information,
  7364  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
  7365  	//
  7366  	// LocaleId is a required field
  7367  	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
  7368  
  7369  	// Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,
  7370  	// AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent
  7371  	// and AMAZON.KendraSearchIntent are only inserted if they are configured for
  7372  	// the bot.
  7373  	//
  7374  	// For example, suppose a bot is configured with the confidence threshold of
  7375  	// 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative
  7376  	// intents with the following confidence scores: IntentA (0.70), IntentB (0.60),
  7377  	// IntentC (0.50). The response from the PostText operation would be:
  7378  	//
  7379  	//    * AMAZON.FallbackIntent
  7380  	//
  7381  	//    * IntentA
  7382  	//
  7383  	//    * IntentB
  7384  	//
  7385  	//    * IntentC
  7386  	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
  7387  
  7388  	// Defines settings for using an Amazon Polly voice to communicate with a user.
  7389  	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
  7390  }
  7391  
  7392  // String returns the string representation.
  7393  //
  7394  // API parameter values that are decorated as "sensitive" in the API will not
  7395  // be included in the string output. The member name will be present, but the
  7396  // value will be replaced with "sensitive".
  7397  func (s BotLocaleImportSpecification) String() string {
  7398  	return awsutil.Prettify(s)
  7399  }
  7400  
  7401  // GoString returns the string representation.
  7402  //
  7403  // API parameter values that are decorated as "sensitive" in the API will not
  7404  // be included in the string output. The member name will be present, but the
  7405  // value will be replaced with "sensitive".
  7406  func (s BotLocaleImportSpecification) GoString() string {
  7407  	return s.String()
  7408  }
  7409  
  7410  // Validate inspects the fields of the type to determine if they are valid.
  7411  func (s *BotLocaleImportSpecification) Validate() error {
  7412  	invalidParams := request.ErrInvalidParams{Context: "BotLocaleImportSpecification"}
  7413  	if s.BotId == nil {
  7414  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  7415  	}
  7416  	if s.BotId != nil && len(*s.BotId) < 10 {
  7417  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  7418  	}
  7419  	if s.BotVersion == nil {
  7420  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
  7421  	}
  7422  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
  7423  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
  7424  	}
  7425  	if s.LocaleId == nil {
  7426  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
  7427  	}
  7428  	if s.VoiceSettings != nil {
  7429  		if err := s.VoiceSettings.Validate(); err != nil {
  7430  			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
  7431  		}
  7432  	}
  7433  
  7434  	if invalidParams.Len() > 0 {
  7435  		return invalidParams
  7436  	}
  7437  	return nil
  7438  }
  7439  
  7440  // SetBotId sets the BotId field's value.
  7441  func (s *BotLocaleImportSpecification) SetBotId(v string) *BotLocaleImportSpecification {
  7442  	s.BotId = &v
  7443  	return s
  7444  }
  7445  
  7446  // SetBotVersion sets the BotVersion field's value.
  7447  func (s *BotLocaleImportSpecification) SetBotVersion(v string) *BotLocaleImportSpecification {
  7448  	s.BotVersion = &v
  7449  	return s
  7450  }
  7451  
  7452  // SetLocaleId sets the LocaleId field's value.
  7453  func (s *BotLocaleImportSpecification) SetLocaleId(v string) *BotLocaleImportSpecification {
  7454  	s.LocaleId = &v
  7455  	return s
  7456  }
  7457  
  7458  // SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
  7459  func (s *BotLocaleImportSpecification) SetNluIntentConfidenceThreshold(v float64) *BotLocaleImportSpecification {
  7460  	s.NluIntentConfidenceThreshold = &v
  7461  	return s
  7462  }
  7463  
  7464  // SetVoiceSettings sets the VoiceSettings field's value.
  7465  func (s *BotLocaleImportSpecification) SetVoiceSettings(v *VoiceSettings) *BotLocaleImportSpecification {
  7466  	s.VoiceSettings = v
  7467  	return s
  7468  }
  7469  
  7470  // Specifies attributes for sorting a list of bot locales.
  7471  type BotLocaleSortBy struct {
  7472  	_ struct{} `type:"structure"`
  7473  
  7474  	// The bot locale attribute to sort by.
  7475  	//
  7476  	// Attribute is a required field
  7477  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotLocaleSortAttribute"`
  7478  
  7479  	// Specifies whether to sort the bot locales in ascending or descending order.
  7480  	//
  7481  	// Order is a required field
  7482  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
  7483  }
  7484  
  7485  // String returns the string representation.
  7486  //
  7487  // API parameter values that are decorated as "sensitive" in the API will not
  7488  // be included in the string output. The member name will be present, but the
  7489  // value will be replaced with "sensitive".
  7490  func (s BotLocaleSortBy) String() string {
  7491  	return awsutil.Prettify(s)
  7492  }
  7493  
  7494  // GoString returns the string representation.
  7495  //
  7496  // API parameter values that are decorated as "sensitive" in the API will not
  7497  // be included in the string output. The member name will be present, but the
  7498  // value will be replaced with "sensitive".
  7499  func (s BotLocaleSortBy) GoString() string {
  7500  	return s.String()
  7501  }
  7502  
  7503  // Validate inspects the fields of the type to determine if they are valid.
  7504  func (s *BotLocaleSortBy) Validate() error {
  7505  	invalidParams := request.ErrInvalidParams{Context: "BotLocaleSortBy"}
  7506  	if s.Attribute == nil {
  7507  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  7508  	}
  7509  	if s.Order == nil {
  7510  		invalidParams.Add(request.NewErrParamRequired("Order"))
  7511  	}
  7512  
  7513  	if invalidParams.Len() > 0 {
  7514  		return invalidParams
  7515  	}
  7516  	return nil
  7517  }
  7518  
  7519  // SetAttribute sets the Attribute field's value.
  7520  func (s *BotLocaleSortBy) SetAttribute(v string) *BotLocaleSortBy {
  7521  	s.Attribute = &v
  7522  	return s
  7523  }
  7524  
  7525  // SetOrder sets the Order field's value.
  7526  func (s *BotLocaleSortBy) SetOrder(v string) *BotLocaleSortBy {
  7527  	s.Order = &v
  7528  	return s
  7529  }
  7530  
  7531  // Summary information about bot locales returned by the ListBotLocales operation.
  7532  type BotLocaleSummary struct {
  7533  	_ struct{} `type:"structure"`
  7534  
  7535  	// The current status of the bot locale. When the status is Built the locale
  7536  	// is ready for use.
  7537  	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
  7538  
  7539  	// The description of the bot locale.
  7540  	Description *string `locationName:"description" type:"string"`
  7541  
  7542  	// A timestamp of the date and time that the bot locale was last built.
  7543  	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
  7544  
  7545  	// A timestamp of the date and time that the bot locale was last updated.
  7546  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
  7547  
  7548  	// The language and locale of the bot locale.
  7549  	LocaleId *string `locationName:"localeId" type:"string"`
  7550  
  7551  	// The name of the bot locale.
  7552  	LocaleName *string `locationName:"localeName" type:"string"`
  7553  }
  7554  
  7555  // String returns the string representation.
  7556  //
  7557  // API parameter values that are decorated as "sensitive" in the API will not
  7558  // be included in the string output. The member name will be present, but the
  7559  // value will be replaced with "sensitive".
  7560  func (s BotLocaleSummary) String() string {
  7561  	return awsutil.Prettify(s)
  7562  }
  7563  
  7564  // GoString returns the string representation.
  7565  //
  7566  // API parameter values that are decorated as "sensitive" in the API will not
  7567  // be included in the string output. The member name will be present, but the
  7568  // value will be replaced with "sensitive".
  7569  func (s BotLocaleSummary) GoString() string {
  7570  	return s.String()
  7571  }
  7572  
  7573  // SetBotLocaleStatus sets the BotLocaleStatus field's value.
  7574  func (s *BotLocaleSummary) SetBotLocaleStatus(v string) *BotLocaleSummary {
  7575  	s.BotLocaleStatus = &v
  7576  	return s
  7577  }
  7578  
  7579  // SetDescription sets the Description field's value.
  7580  func (s *BotLocaleSummary) SetDescription(v string) *BotLocaleSummary {
  7581  	s.Description = &v
  7582  	return s
  7583  }
  7584  
  7585  // SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
  7586  func (s *BotLocaleSummary) SetLastBuildSubmittedDateTime(v time.Time) *BotLocaleSummary {
  7587  	s.LastBuildSubmittedDateTime = &v
  7588  	return s
  7589  }
  7590  
  7591  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
  7592  func (s *BotLocaleSummary) SetLastUpdatedDateTime(v time.Time) *BotLocaleSummary {
  7593  	s.LastUpdatedDateTime = &v
  7594  	return s
  7595  }
  7596  
  7597  // SetLocaleId sets the LocaleId field's value.
  7598  func (s *BotLocaleSummary) SetLocaleId(v string) *BotLocaleSummary {
  7599  	s.LocaleId = &v
  7600  	return s
  7601  }
  7602  
  7603  // SetLocaleName sets the LocaleName field's value.
  7604  func (s *BotLocaleSummary) SetLocaleName(v string) *BotLocaleSummary {
  7605  	s.LocaleName = &v
  7606  	return s
  7607  }
  7608  
  7609  // Specifies attributes for sorting a list of bots.
  7610  type BotSortBy struct {
  7611  	_ struct{} `type:"structure"`
  7612  
  7613  	// The attribute to use to sort the list of bots.
  7614  	//
  7615  	// Attribute is a required field
  7616  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotSortAttribute"`
  7617  
  7618  	// The order to sort the list. You can choose ascending or descending.
  7619  	//
  7620  	// Order is a required field
  7621  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
  7622  }
  7623  
  7624  // String returns the string representation.
  7625  //
  7626  // API parameter values that are decorated as "sensitive" in the API will not
  7627  // be included in the string output. The member name will be present, but the
  7628  // value will be replaced with "sensitive".
  7629  func (s BotSortBy) String() string {
  7630  	return awsutil.Prettify(s)
  7631  }
  7632  
  7633  // GoString returns the string representation.
  7634  //
  7635  // API parameter values that are decorated as "sensitive" in the API will not
  7636  // be included in the string output. The member name will be present, but the
  7637  // value will be replaced with "sensitive".
  7638  func (s BotSortBy) GoString() string {
  7639  	return s.String()
  7640  }
  7641  
  7642  // Validate inspects the fields of the type to determine if they are valid.
  7643  func (s *BotSortBy) Validate() error {
  7644  	invalidParams := request.ErrInvalidParams{Context: "BotSortBy"}
  7645  	if s.Attribute == nil {
  7646  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  7647  	}
  7648  	if s.Order == nil {
  7649  		invalidParams.Add(request.NewErrParamRequired("Order"))
  7650  	}
  7651  
  7652  	if invalidParams.Len() > 0 {
  7653  		return invalidParams
  7654  	}
  7655  	return nil
  7656  }
  7657  
  7658  // SetAttribute sets the Attribute field's value.
  7659  func (s *BotSortBy) SetAttribute(v string) *BotSortBy {
  7660  	s.Attribute = &v
  7661  	return s
  7662  }
  7663  
  7664  // SetOrder sets the Order field's value.
  7665  func (s *BotSortBy) SetOrder(v string) *BotSortBy {
  7666  	s.Order = &v
  7667  	return s
  7668  }
  7669  
  7670  // Summary information about a bot returned by the ListBots operation.
  7671  type BotSummary struct {
  7672  	_ struct{} `type:"structure"`
  7673  
  7674  	// The unique identifier assigned to the bot. Use this ID to get detailed information
  7675  	// about the bot with the DescribeBot operation.
  7676  	BotId *string `locationName:"botId" min:"10" type:"string"`
  7677  
  7678  	// The name of the bot.
  7679  	BotName *string `locationName:"botName" min:"1" type:"string"`
  7680  
  7681  	// The current status of the bot. When the status is Available the bot is ready
  7682  	// for use.
  7683  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
  7684  
  7685  	// The description of the bot.
  7686  	Description *string `locationName:"description" type:"string"`
  7687  
  7688  	// The date and time that the bot was last updated.
  7689  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
  7690  
  7691  	// The latest numerical version in use for the bot.
  7692  	LatestBotVersion *string `locationName:"latestBotVersion" min:"1" type:"string"`
  7693  }
  7694  
  7695  // String returns the string representation.
  7696  //
  7697  // API parameter values that are decorated as "sensitive" in the API will not
  7698  // be included in the string output. The member name will be present, but the
  7699  // value will be replaced with "sensitive".
  7700  func (s BotSummary) String() string {
  7701  	return awsutil.Prettify(s)
  7702  }
  7703  
  7704  // GoString returns the string representation.
  7705  //
  7706  // API parameter values that are decorated as "sensitive" in the API will not
  7707  // be included in the string output. The member name will be present, but the
  7708  // value will be replaced with "sensitive".
  7709  func (s BotSummary) GoString() string {
  7710  	return s.String()
  7711  }
  7712  
  7713  // SetBotId sets the BotId field's value.
  7714  func (s *BotSummary) SetBotId(v string) *BotSummary {
  7715  	s.BotId = &v
  7716  	return s
  7717  }
  7718  
  7719  // SetBotName sets the BotName field's value.
  7720  func (s *BotSummary) SetBotName(v string) *BotSummary {
  7721  	s.BotName = &v
  7722  	return s
  7723  }
  7724  
  7725  // SetBotStatus sets the BotStatus field's value.
  7726  func (s *BotSummary) SetBotStatus(v string) *BotSummary {
  7727  	s.BotStatus = &v
  7728  	return s
  7729  }
  7730  
  7731  // SetDescription sets the Description field's value.
  7732  func (s *BotSummary) SetDescription(v string) *BotSummary {
  7733  	s.Description = &v
  7734  	return s
  7735  }
  7736  
  7737  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
  7738  func (s *BotSummary) SetLastUpdatedDateTime(v time.Time) *BotSummary {
  7739  	s.LastUpdatedDateTime = &v
  7740  	return s
  7741  }
  7742  
  7743  // SetLatestBotVersion sets the LatestBotVersion field's value.
  7744  func (s *BotSummary) SetLatestBotVersion(v string) *BotSummary {
  7745  	s.LatestBotVersion = &v
  7746  	return s
  7747  }
  7748  
  7749  // The version of a bot used for a bot locale.
  7750  type BotVersionLocaleDetails struct {
  7751  	_ struct{} `type:"structure"`
  7752  
  7753  	// The version of a bot used for a bot locale.
  7754  	//
  7755  	// SourceBotVersion is a required field
  7756  	SourceBotVersion *string `locationName:"sourceBotVersion" min:"1" type:"string" required:"true"`
  7757  }
  7758  
  7759  // String returns the string representation.
  7760  //
  7761  // API parameter values that are decorated as "sensitive" in the API will not
  7762  // be included in the string output. The member name will be present, but the
  7763  // value will be replaced with "sensitive".
  7764  func (s BotVersionLocaleDetails) String() string {
  7765  	return awsutil.Prettify(s)
  7766  }
  7767  
  7768  // GoString returns the string representation.
  7769  //
  7770  // API parameter values that are decorated as "sensitive" in the API will not
  7771  // be included in the string output. The member name will be present, but the
  7772  // value will be replaced with "sensitive".
  7773  func (s BotVersionLocaleDetails) GoString() string {
  7774  	return s.String()
  7775  }
  7776  
  7777  // Validate inspects the fields of the type to determine if they are valid.
  7778  func (s *BotVersionLocaleDetails) Validate() error {
  7779  	invalidParams := request.ErrInvalidParams{Context: "BotVersionLocaleDetails"}
  7780  	if s.SourceBotVersion == nil {
  7781  		invalidParams.Add(request.NewErrParamRequired("SourceBotVersion"))
  7782  	}
  7783  	if s.SourceBotVersion != nil && len(*s.SourceBotVersion) < 1 {
  7784  		invalidParams.Add(request.NewErrParamMinLen("SourceBotVersion", 1))
  7785  	}
  7786  
  7787  	if invalidParams.Len() > 0 {
  7788  		return invalidParams
  7789  	}
  7790  	return nil
  7791  }
  7792  
  7793  // SetSourceBotVersion sets the SourceBotVersion field's value.
  7794  func (s *BotVersionLocaleDetails) SetSourceBotVersion(v string) *BotVersionLocaleDetails {
  7795  	s.SourceBotVersion = &v
  7796  	return s
  7797  }
  7798  
  7799  // Specifies attributes for sorting a list of bot versions.
  7800  type BotVersionSortBy struct {
  7801  	_ struct{} `type:"structure"`
  7802  
  7803  	// The attribute to use to sort the list of versions.
  7804  	//
  7805  	// Attribute is a required field
  7806  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotVersionSortAttribute"`
  7807  
  7808  	// The order to sort the list. You can specify ascending or descending order.
  7809  	//
  7810  	// Order is a required field
  7811  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
  7812  }
  7813  
  7814  // String returns the string representation.
  7815  //
  7816  // API parameter values that are decorated as "sensitive" in the API will not
  7817  // be included in the string output. The member name will be present, but the
  7818  // value will be replaced with "sensitive".
  7819  func (s BotVersionSortBy) String() string {
  7820  	return awsutil.Prettify(s)
  7821  }
  7822  
  7823  // GoString returns the string representation.
  7824  //
  7825  // API parameter values that are decorated as "sensitive" in the API will not
  7826  // be included in the string output. The member name will be present, but the
  7827  // value will be replaced with "sensitive".
  7828  func (s BotVersionSortBy) GoString() string {
  7829  	return s.String()
  7830  }
  7831  
  7832  // Validate inspects the fields of the type to determine if they are valid.
  7833  func (s *BotVersionSortBy) Validate() error {
  7834  	invalidParams := request.ErrInvalidParams{Context: "BotVersionSortBy"}
  7835  	if s.Attribute == nil {
  7836  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  7837  	}
  7838  	if s.Order == nil {
  7839  		invalidParams.Add(request.NewErrParamRequired("Order"))
  7840  	}
  7841  
  7842  	if invalidParams.Len() > 0 {
  7843  		return invalidParams
  7844  	}
  7845  	return nil
  7846  }
  7847  
  7848  // SetAttribute sets the Attribute field's value.
  7849  func (s *BotVersionSortBy) SetAttribute(v string) *BotVersionSortBy {
  7850  	s.Attribute = &v
  7851  	return s
  7852  }
  7853  
  7854  // SetOrder sets the Order field's value.
  7855  func (s *BotVersionSortBy) SetOrder(v string) *BotVersionSortBy {
  7856  	s.Order = &v
  7857  	return s
  7858  }
  7859  
  7860  // Summary information about a bot version returned by the ListBotVersions operation.
  7861  type BotVersionSummary struct {
  7862  	_ struct{} `type:"structure"`
  7863  
  7864  	// The name of the bot associated with the version.
  7865  	BotName *string `locationName:"botName" min:"1" type:"string"`
  7866  
  7867  	// The status of the bot. When the status is available, the version of the bot
  7868  	// is ready for use.
  7869  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
  7870  
  7871  	// The numeric version of the bot, or DRAFT to indicate that this is the version
  7872  	// of the bot that can be updated..
  7873  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
  7874  
  7875  	// A timestamp of the date and time that the version was created.
  7876  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  7877  
  7878  	// The description of the version.
  7879  	Description *string `locationName:"description" type:"string"`
  7880  }
  7881  
  7882  // String returns the string representation.
  7883  //
  7884  // API parameter values that are decorated as "sensitive" in the API will not
  7885  // be included in the string output. The member name will be present, but the
  7886  // value will be replaced with "sensitive".
  7887  func (s BotVersionSummary) String() string {
  7888  	return awsutil.Prettify(s)
  7889  }
  7890  
  7891  // GoString returns the string representation.
  7892  //
  7893  // API parameter values that are decorated as "sensitive" in the API will not
  7894  // be included in the string output. The member name will be present, but the
  7895  // value will be replaced with "sensitive".
  7896  func (s BotVersionSummary) GoString() string {
  7897  	return s.String()
  7898  }
  7899  
  7900  // SetBotName sets the BotName field's value.
  7901  func (s *BotVersionSummary) SetBotName(v string) *BotVersionSummary {
  7902  	s.BotName = &v
  7903  	return s
  7904  }
  7905  
  7906  // SetBotStatus sets the BotStatus field's value.
  7907  func (s *BotVersionSummary) SetBotStatus(v string) *BotVersionSummary {
  7908  	s.BotStatus = &v
  7909  	return s
  7910  }
  7911  
  7912  // SetBotVersion sets the BotVersion field's value.
  7913  func (s *BotVersionSummary) SetBotVersion(v string) *BotVersionSummary {
  7914  	s.BotVersion = &v
  7915  	return s
  7916  }
  7917  
  7918  // SetCreationDateTime sets the CreationDateTime field's value.
  7919  func (s *BotVersionSummary) SetCreationDateTime(v time.Time) *BotVersionSummary {
  7920  	s.CreationDateTime = &v
  7921  	return s
  7922  }
  7923  
  7924  // SetDescription sets the Description field's value.
  7925  func (s *BotVersionSummary) SetDescription(v string) *BotVersionSummary {
  7926  	s.Description = &v
  7927  	return s
  7928  }
  7929  
  7930  type BuildBotLocaleInput struct {
  7931  	_ struct{} `type:"structure" nopayload:"true"`
  7932  
  7933  	// The identifier of the bot to build. The identifier is returned in the response
  7934  	// from the operation.
  7935  	//
  7936  	// BotId is a required field
  7937  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
  7938  
  7939  	// The version of the bot to build. This can only be the draft version of the
  7940  	// bot.
  7941  	//
  7942  	// BotVersion is a required field
  7943  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
  7944  
  7945  	// The identifier of the language and locale that the bot will be used in. The
  7946  	// string must match one of the supported locales. All of the intents, slot
  7947  	// types, and slots used in the bot must have the same locale. For more information,
  7948  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
  7949  	//
  7950  	// LocaleId is a required field
  7951  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
  7952  }
  7953  
  7954  // String returns the string representation.
  7955  //
  7956  // API parameter values that are decorated as "sensitive" in the API will not
  7957  // be included in the string output. The member name will be present, but the
  7958  // value will be replaced with "sensitive".
  7959  func (s BuildBotLocaleInput) String() string {
  7960  	return awsutil.Prettify(s)
  7961  }
  7962  
  7963  // GoString returns the string representation.
  7964  //
  7965  // API parameter values that are decorated as "sensitive" in the API will not
  7966  // be included in the string output. The member name will be present, but the
  7967  // value will be replaced with "sensitive".
  7968  func (s BuildBotLocaleInput) GoString() string {
  7969  	return s.String()
  7970  }
  7971  
  7972  // Validate inspects the fields of the type to determine if they are valid.
  7973  func (s *BuildBotLocaleInput) Validate() error {
  7974  	invalidParams := request.ErrInvalidParams{Context: "BuildBotLocaleInput"}
  7975  	if s.BotId == nil {
  7976  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  7977  	}
  7978  	if s.BotId != nil && len(*s.BotId) < 10 {
  7979  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  7980  	}
  7981  	if s.BotVersion == nil {
  7982  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
  7983  	}
  7984  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
  7985  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
  7986  	}
  7987  	if s.LocaleId == nil {
  7988  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
  7989  	}
  7990  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
  7991  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
  7992  	}
  7993  
  7994  	if invalidParams.Len() > 0 {
  7995  		return invalidParams
  7996  	}
  7997  	return nil
  7998  }
  7999  
  8000  // SetBotId sets the BotId field's value.
  8001  func (s *BuildBotLocaleInput) SetBotId(v string) *BuildBotLocaleInput {
  8002  	s.BotId = &v
  8003  	return s
  8004  }
  8005  
  8006  // SetBotVersion sets the BotVersion field's value.
  8007  func (s *BuildBotLocaleInput) SetBotVersion(v string) *BuildBotLocaleInput {
  8008  	s.BotVersion = &v
  8009  	return s
  8010  }
  8011  
  8012  // SetLocaleId sets the LocaleId field's value.
  8013  func (s *BuildBotLocaleInput) SetLocaleId(v string) *BuildBotLocaleInput {
  8014  	s.LocaleId = &v
  8015  	return s
  8016  }
  8017  
  8018  type BuildBotLocaleOutput struct {
  8019  	_ struct{} `type:"structure"`
  8020  
  8021  	// The identifier of the specified bot.
  8022  	BotId *string `locationName:"botId" min:"10" type:"string"`
  8023  
  8024  	// The bot's build status. When the status is ReadyExpressTesting you can test
  8025  	// the bot using the utterances defined for the intents and slot types. When
  8026  	// the status is Built, the bot is ready for use and can be tested using any
  8027  	// utterance.
  8028  	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
  8029  
  8030  	// The version of the bot that was built. This is only the draft version of
  8031  	// the bot.
  8032  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
  8033  
  8034  	// A timestamp indicating the date and time that the bot was last built for
  8035  	// this locale.
  8036  	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
  8037  
  8038  	// The language and locale specified of where the bot can be used.
  8039  	LocaleId *string `locationName:"localeId" type:"string"`
  8040  }
  8041  
  8042  // String returns the string representation.
  8043  //
  8044  // API parameter values that are decorated as "sensitive" in the API will not
  8045  // be included in the string output. The member name will be present, but the
  8046  // value will be replaced with "sensitive".
  8047  func (s BuildBotLocaleOutput) String() string {
  8048  	return awsutil.Prettify(s)
  8049  }
  8050  
  8051  // GoString returns the string representation.
  8052  //
  8053  // API parameter values that are decorated as "sensitive" in the API will not
  8054  // be included in the string output. The member name will be present, but the
  8055  // value will be replaced with "sensitive".
  8056  func (s BuildBotLocaleOutput) GoString() string {
  8057  	return s.String()
  8058  }
  8059  
  8060  // SetBotId sets the BotId field's value.
  8061  func (s *BuildBotLocaleOutput) SetBotId(v string) *BuildBotLocaleOutput {
  8062  	s.BotId = &v
  8063  	return s
  8064  }
  8065  
  8066  // SetBotLocaleStatus sets the BotLocaleStatus field's value.
  8067  func (s *BuildBotLocaleOutput) SetBotLocaleStatus(v string) *BuildBotLocaleOutput {
  8068  	s.BotLocaleStatus = &v
  8069  	return s
  8070  }
  8071  
  8072  // SetBotVersion sets the BotVersion field's value.
  8073  func (s *BuildBotLocaleOutput) SetBotVersion(v string) *BuildBotLocaleOutput {
  8074  	s.BotVersion = &v
  8075  	return s
  8076  }
  8077  
  8078  // SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
  8079  func (s *BuildBotLocaleOutput) SetLastBuildSubmittedDateTime(v time.Time) *BuildBotLocaleOutput {
  8080  	s.LastBuildSubmittedDateTime = &v
  8081  	return s
  8082  }
  8083  
  8084  // SetLocaleId sets the LocaleId field's value.
  8085  func (s *BuildBotLocaleOutput) SetLocaleId(v string) *BuildBotLocaleOutput {
  8086  	s.LocaleId = &v
  8087  	return s
  8088  }
  8089  
  8090  // Specifies attributes for sorting a list of built-in intents.
  8091  type BuiltInIntentSortBy struct {
  8092  	_ struct{} `type:"structure"`
  8093  
  8094  	// The attribute to use to sort the list of built-in intents.
  8095  	//
  8096  	// Attribute is a required field
  8097  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BuiltInIntentSortAttribute"`
  8098  
  8099  	// The order to sort the list. You can specify ascending or descending order.
  8100  	//
  8101  	// Order is a required field
  8102  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
  8103  }
  8104  
  8105  // String returns the string representation.
  8106  //
  8107  // API parameter values that are decorated as "sensitive" in the API will not
  8108  // be included in the string output. The member name will be present, but the
  8109  // value will be replaced with "sensitive".
  8110  func (s BuiltInIntentSortBy) String() string {
  8111  	return awsutil.Prettify(s)
  8112  }
  8113  
  8114  // GoString returns the string representation.
  8115  //
  8116  // API parameter values that are decorated as "sensitive" in the API will not
  8117  // be included in the string output. The member name will be present, but the
  8118  // value will be replaced with "sensitive".
  8119  func (s BuiltInIntentSortBy) GoString() string {
  8120  	return s.String()
  8121  }
  8122  
  8123  // Validate inspects the fields of the type to determine if they are valid.
  8124  func (s *BuiltInIntentSortBy) Validate() error {
  8125  	invalidParams := request.ErrInvalidParams{Context: "BuiltInIntentSortBy"}
  8126  	if s.Attribute == nil {
  8127  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  8128  	}
  8129  	if s.Order == nil {
  8130  		invalidParams.Add(request.NewErrParamRequired("Order"))
  8131  	}
  8132  
  8133  	if invalidParams.Len() > 0 {
  8134  		return invalidParams
  8135  	}
  8136  	return nil
  8137  }
  8138  
  8139  // SetAttribute sets the Attribute field's value.
  8140  func (s *BuiltInIntentSortBy) SetAttribute(v string) *BuiltInIntentSortBy {
  8141  	s.Attribute = &v
  8142  	return s
  8143  }
  8144  
  8145  // SetOrder sets the Order field's value.
  8146  func (s *BuiltInIntentSortBy) SetOrder(v string) *BuiltInIntentSortBy {
  8147  	s.Order = &v
  8148  	return s
  8149  }
  8150  
  8151  // Provides summary information about a built-in intent for the ListBuiltInIntents
  8152  // operation.
  8153  type BuiltInIntentSummary struct {
  8154  	_ struct{} `type:"structure"`
  8155  
  8156  	// The description of the intent.
  8157  	Description *string `locationName:"description" type:"string"`
  8158  
  8159  	// The signature of the built-in intent. Use this to specify the parent intent
  8160  	// of a derived intent.
  8161  	IntentSignature *string `locationName:"intentSignature" type:"string"`
  8162  }
  8163  
  8164  // String returns the string representation.
  8165  //
  8166  // API parameter values that are decorated as "sensitive" in the API will not
  8167  // be included in the string output. The member name will be present, but the
  8168  // value will be replaced with "sensitive".
  8169  func (s BuiltInIntentSummary) String() string {
  8170  	return awsutil.Prettify(s)
  8171  }
  8172  
  8173  // GoString returns the string representation.
  8174  //
  8175  // API parameter values that are decorated as "sensitive" in the API will not
  8176  // be included in the string output. The member name will be present, but the
  8177  // value will be replaced with "sensitive".
  8178  func (s BuiltInIntentSummary) GoString() string {
  8179  	return s.String()
  8180  }
  8181  
  8182  // SetDescription sets the Description field's value.
  8183  func (s *BuiltInIntentSummary) SetDescription(v string) *BuiltInIntentSummary {
  8184  	s.Description = &v
  8185  	return s
  8186  }
  8187  
  8188  // SetIntentSignature sets the IntentSignature field's value.
  8189  func (s *BuiltInIntentSummary) SetIntentSignature(v string) *BuiltInIntentSummary {
  8190  	s.IntentSignature = &v
  8191  	return s
  8192  }
  8193  
  8194  // Specifies attributes for sorting a list of built-in slot types.
  8195  type BuiltInSlotTypeSortBy struct {
  8196  	_ struct{} `type:"structure"`
  8197  
  8198  	// The attribute to use to sort the list of built-in intents.
  8199  	//
  8200  	// Attribute is a required field
  8201  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BuiltInSlotTypeSortAttribute"`
  8202  
  8203  	// The order to sort the list. You can choose ascending or descending.
  8204  	//
  8205  	// Order is a required field
  8206  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
  8207  }
  8208  
  8209  // String returns the string representation.
  8210  //
  8211  // API parameter values that are decorated as "sensitive" in the API will not
  8212  // be included in the string output. The member name will be present, but the
  8213  // value will be replaced with "sensitive".
  8214  func (s BuiltInSlotTypeSortBy) String() string {
  8215  	return awsutil.Prettify(s)
  8216  }
  8217  
  8218  // GoString returns the string representation.
  8219  //
  8220  // API parameter values that are decorated as "sensitive" in the API will not
  8221  // be included in the string output. The member name will be present, but the
  8222  // value will be replaced with "sensitive".
  8223  func (s BuiltInSlotTypeSortBy) GoString() string {
  8224  	return s.String()
  8225  }
  8226  
  8227  // Validate inspects the fields of the type to determine if they are valid.
  8228  func (s *BuiltInSlotTypeSortBy) Validate() error {
  8229  	invalidParams := request.ErrInvalidParams{Context: "BuiltInSlotTypeSortBy"}
  8230  	if s.Attribute == nil {
  8231  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
  8232  	}
  8233  	if s.Order == nil {
  8234  		invalidParams.Add(request.NewErrParamRequired("Order"))
  8235  	}
  8236  
  8237  	if invalidParams.Len() > 0 {
  8238  		return invalidParams
  8239  	}
  8240  	return nil
  8241  }
  8242  
  8243  // SetAttribute sets the Attribute field's value.
  8244  func (s *BuiltInSlotTypeSortBy) SetAttribute(v string) *BuiltInSlotTypeSortBy {
  8245  	s.Attribute = &v
  8246  	return s
  8247  }
  8248  
  8249  // SetOrder sets the Order field's value.
  8250  func (s *BuiltInSlotTypeSortBy) SetOrder(v string) *BuiltInSlotTypeSortBy {
  8251  	s.Order = &v
  8252  	return s
  8253  }
  8254  
  8255  // Provides summary information about a built-in slot type for the ListBuiltInSlotTypes
  8256  // operation.
  8257  type BuiltInSlotTypeSummary struct {
  8258  	_ struct{} `type:"structure"`
  8259  
  8260  	// The description of the built-in slot type.
  8261  	Description *string `locationName:"description" type:"string"`
  8262  
  8263  	// The signature of the built-in slot type. Use this to specify the parent slot
  8264  	// type of a derived slot type.
  8265  	SlotTypeSignature *string `locationName:"slotTypeSignature" type:"string"`
  8266  }
  8267  
  8268  // String returns the string representation.
  8269  //
  8270  // API parameter values that are decorated as "sensitive" in the API will not
  8271  // be included in the string output. The member name will be present, but the
  8272  // value will be replaced with "sensitive".
  8273  func (s BuiltInSlotTypeSummary) String() string {
  8274  	return awsutil.Prettify(s)
  8275  }
  8276  
  8277  // GoString returns the string representation.
  8278  //
  8279  // API parameter values that are decorated as "sensitive" in the API will not
  8280  // be included in the string output. The member name will be present, but the
  8281  // value will be replaced with "sensitive".
  8282  func (s BuiltInSlotTypeSummary) GoString() string {
  8283  	return s.String()
  8284  }
  8285  
  8286  // SetDescription sets the Description field's value.
  8287  func (s *BuiltInSlotTypeSummary) SetDescription(v string) *BuiltInSlotTypeSummary {
  8288  	s.Description = &v
  8289  	return s
  8290  }
  8291  
  8292  // SetSlotTypeSignature sets the SlotTypeSignature field's value.
  8293  func (s *BuiltInSlotTypeSummary) SetSlotTypeSignature(v string) *BuiltInSlotTypeSummary {
  8294  	s.SlotTypeSignature = &v
  8295  	return s
  8296  }
  8297  
  8298  // Describes a button to use on a response card used to gather slot values from
  8299  // a user.
  8300  type Button struct {
  8301  	_ struct{} `type:"structure"`
  8302  
  8303  	// The text that appears on the button. Use this to tell the user what value
  8304  	// is returned when they choose this button.
  8305  	//
  8306  	// Text is a required field
  8307  	Text *string `locationName:"text" min:"1" type:"string" required:"true"`
  8308  
  8309  	// The value returned to Amazon Lex when the user chooses this button. This
  8310  	// must be one of the slot values configured for the slot.
  8311  	//
  8312  	// Value is a required field
  8313  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
  8314  }
  8315  
  8316  // String returns the string representation.
  8317  //
  8318  // API parameter values that are decorated as "sensitive" in the API will not
  8319  // be included in the string output. The member name will be present, but the
  8320  // value will be replaced with "sensitive".
  8321  func (s Button) String() string {
  8322  	return awsutil.Prettify(s)
  8323  }
  8324  
  8325  // GoString returns the string representation.
  8326  //
  8327  // API parameter values that are decorated as "sensitive" in the API will not
  8328  // be included in the string output. The member name will be present, but the
  8329  // value will be replaced with "sensitive".
  8330  func (s Button) GoString() string {
  8331  	return s.String()
  8332  }
  8333  
  8334  // Validate inspects the fields of the type to determine if they are valid.
  8335  func (s *Button) Validate() error {
  8336  	invalidParams := request.ErrInvalidParams{Context: "Button"}
  8337  	if s.Text == nil {
  8338  		invalidParams.Add(request.NewErrParamRequired("Text"))
  8339  	}
  8340  	if s.Text != nil && len(*s.Text) < 1 {
  8341  		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
  8342  	}
  8343  	if s.Value == nil {
  8344  		invalidParams.Add(request.NewErrParamRequired("Value"))
  8345  	}
  8346  	if s.Value != nil && len(*s.Value) < 1 {
  8347  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
  8348  	}
  8349  
  8350  	if invalidParams.Len() > 0 {
  8351  		return invalidParams
  8352  	}
  8353  	return nil
  8354  }
  8355  
  8356  // SetText sets the Text field's value.
  8357  func (s *Button) SetText(v string) *Button {
  8358  	s.Text = &v
  8359  	return s
  8360  }
  8361  
  8362  // SetValue sets the Value field's value.
  8363  func (s *Button) SetValue(v string) *Button {
  8364  	s.Value = &v
  8365  	return s
  8366  }
  8367  
  8368  // The Amazon CloudWatch Logs log group where the text and metadata logs are
  8369  // delivered. The log group must exist before you enable logging.
  8370  type CloudWatchLogGroupLogDestination struct {
  8371  	_ struct{} `type:"structure"`
  8372  
  8373  	// The Amazon Resource Name (ARN) of the log group where text and metadata logs
  8374  	// are delivered.
  8375  	//
  8376  	// CloudWatchLogGroupArn is a required field
  8377  	CloudWatchLogGroupArn *string `locationName:"cloudWatchLogGroupArn" min:"1" type:"string" required:"true"`
  8378  
  8379  	// The prefix of the log stream name within the log group that you specified
  8380  	//
  8381  	// LogPrefix is a required field
  8382  	LogPrefix *string `locationName:"logPrefix" type:"string" required:"true"`
  8383  }
  8384  
  8385  // String returns the string representation.
  8386  //
  8387  // API parameter values that are decorated as "sensitive" in the API will not
  8388  // be included in the string output. The member name will be present, but the
  8389  // value will be replaced with "sensitive".
  8390  func (s CloudWatchLogGroupLogDestination) String() string {
  8391  	return awsutil.Prettify(s)
  8392  }
  8393  
  8394  // GoString returns the string representation.
  8395  //
  8396  // API parameter values that are decorated as "sensitive" in the API will not
  8397  // be included in the string output. The member name will be present, but the
  8398  // value will be replaced with "sensitive".
  8399  func (s CloudWatchLogGroupLogDestination) GoString() string {
  8400  	return s.String()
  8401  }
  8402  
  8403  // Validate inspects the fields of the type to determine if they are valid.
  8404  func (s *CloudWatchLogGroupLogDestination) Validate() error {
  8405  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogGroupLogDestination"}
  8406  	if s.CloudWatchLogGroupArn == nil {
  8407  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogGroupArn"))
  8408  	}
  8409  	if s.CloudWatchLogGroupArn != nil && len(*s.CloudWatchLogGroupArn) < 1 {
  8410  		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupArn", 1))
  8411  	}
  8412  	if s.LogPrefix == nil {
  8413  		invalidParams.Add(request.NewErrParamRequired("LogPrefix"))
  8414  	}
  8415  
  8416  	if invalidParams.Len() > 0 {
  8417  		return invalidParams
  8418  	}
  8419  	return nil
  8420  }
  8421  
  8422  // SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
  8423  func (s *CloudWatchLogGroupLogDestination) SetCloudWatchLogGroupArn(v string) *CloudWatchLogGroupLogDestination {
  8424  	s.CloudWatchLogGroupArn = &v
  8425  	return s
  8426  }
  8427  
  8428  // SetLogPrefix sets the LogPrefix field's value.
  8429  func (s *CloudWatchLogGroupLogDestination) SetLogPrefix(v string) *CloudWatchLogGroupLogDestination {
  8430  	s.LogPrefix = &v
  8431  	return s
  8432  }
  8433  
  8434  // Contains information about code hooks that Amazon Lex calls during a conversation.
  8435  type CodeHookSpecification struct {
  8436  	_ struct{} `type:"structure"`
  8437  
  8438  	// Specifies a Lambda function that verifies requests to a bot or fulfills the
  8439  	// user's request to a bot.
  8440  	//
  8441  	// LambdaCodeHook is a required field
  8442  	LambdaCodeHook *LambdaCodeHook `locationName:"lambdaCodeHook" type:"structure" required:"true"`
  8443  }
  8444  
  8445  // String returns the string representation.
  8446  //
  8447  // API parameter values that are decorated as "sensitive" in the API will not
  8448  // be included in the string output. The member name will be present, but the
  8449  // value will be replaced with "sensitive".
  8450  func (s CodeHookSpecification) String() string {
  8451  	return awsutil.Prettify(s)
  8452  }
  8453  
  8454  // GoString returns the string representation.
  8455  //
  8456  // API parameter values that are decorated as "sensitive" in the API will not
  8457  // be included in the string output. The member name will be present, but the
  8458  // value will be replaced with "sensitive".
  8459  func (s CodeHookSpecification) GoString() string {
  8460  	return s.String()
  8461  }
  8462  
  8463  // Validate inspects the fields of the type to determine if they are valid.
  8464  func (s *CodeHookSpecification) Validate() error {
  8465  	invalidParams := request.ErrInvalidParams{Context: "CodeHookSpecification"}
  8466  	if s.LambdaCodeHook == nil {
  8467  		invalidParams.Add(request.NewErrParamRequired("LambdaCodeHook"))
  8468  	}
  8469  	if s.LambdaCodeHook != nil {
  8470  		if err := s.LambdaCodeHook.Validate(); err != nil {
  8471  			invalidParams.AddNested("LambdaCodeHook", err.(request.ErrInvalidParams))
  8472  		}
  8473  	}
  8474  
  8475  	if invalidParams.Len() > 0 {
  8476  		return invalidParams
  8477  	}
  8478  	return nil
  8479  }
  8480  
  8481  // SetLambdaCodeHook sets the LambdaCodeHook field's value.
  8482  func (s *CodeHookSpecification) SetLambdaCodeHook(v *LambdaCodeHook) *CodeHookSpecification {
  8483  	s.LambdaCodeHook = v
  8484  	return s
  8485  }
  8486  
  8487  // The action that you tried to perform couldn't be completed because the resource
  8488  // is in a conflicting state. For example, deleting a bot that is in the CREATING
  8489  // state. Try your request again.
  8490  type ConflictException struct {
  8491  	_            struct{}                  `type:"structure"`
  8492  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8493  
  8494  	Message_ *string `locationName:"message" type:"string"`
  8495  }
  8496  
  8497  // String returns the string representation.
  8498  //
  8499  // API parameter values that are decorated as "sensitive" in the API will not
  8500  // be included in the string output. The member name will be present, but the
  8501  // value will be replaced with "sensitive".
  8502  func (s ConflictException) String() string {
  8503  	return awsutil.Prettify(s)
  8504  }
  8505  
  8506  // GoString returns the string representation.
  8507  //
  8508  // API parameter values that are decorated as "sensitive" in the API will not
  8509  // be included in the string output. The member name will be present, but the
  8510  // value will be replaced with "sensitive".
  8511  func (s ConflictException) GoString() string {
  8512  	return s.String()
  8513  }
  8514  
  8515  func newErrorConflictException(v protocol.ResponseMetadata) error {
  8516  	return &ConflictException{
  8517  		RespMetadata: v,
  8518  	}
  8519  }
  8520  
  8521  // Code returns the exception type name.
  8522  func (s *ConflictException) Code() string {
  8523  	return "ConflictException"
  8524  }
  8525  
  8526  // Message returns the exception's message.
  8527  func (s *ConflictException) Message() string {
  8528  	if s.Message_ != nil {
  8529  		return *s.Message_
  8530  	}
  8531  	return ""
  8532  }
  8533  
  8534  // OrigErr always returns nil, satisfies awserr.Error interface.
  8535  func (s *ConflictException) OrigErr() error {
  8536  	return nil
  8537  }
  8538  
  8539  func (s *ConflictException) Error() string {
  8540  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8541  }
  8542  
  8543  // Status code returns the HTTP status code for the request's response error.
  8544  func (s *ConflictException) StatusCode() int {
  8545  	return s.RespMetadata.StatusCode
  8546  }
  8547  
  8548  // RequestID returns the service's response RequestID for request.
  8549  func (s *ConflictException) RequestID() string {
  8550  	return s.RespMetadata.RequestID
  8551  }
  8552  
  8553  // Configures conversation logging that saves audio, text, and metadata for
  8554  // the conversations with your users.
  8555  type ConversationLogSettings struct {
  8556  	_ struct{} `type:"structure"`
  8557  
  8558  	// The Amazon S3 settings for logging audio to an S3 bucket.
  8559  	AudioLogSettings []*AudioLogSetting `locationName:"audioLogSettings" min:"1" type:"list"`
  8560  
  8561  	// The Amazon CloudWatch Logs settings for logging text and metadata.
  8562  	TextLogSettings []*TextLogSetting `locationName:"textLogSettings" min:"1" type:"list"`
  8563  }
  8564  
  8565  // String returns the string representation.
  8566  //
  8567  // API parameter values that are decorated as "sensitive" in the API will not
  8568  // be included in the string output. The member name will be present, but the
  8569  // value will be replaced with "sensitive".
  8570  func (s ConversationLogSettings) String() string {
  8571  	return awsutil.Prettify(s)
  8572  }
  8573  
  8574  // GoString returns the string representation.
  8575  //
  8576  // API parameter values that are decorated as "sensitive" in the API will not
  8577  // be included in the string output. The member name will be present, but the
  8578  // value will be replaced with "sensitive".
  8579  func (s ConversationLogSettings) GoString() string {
  8580  	return s.String()
  8581  }
  8582  
  8583  // Validate inspects the fields of the type to determine if they are valid.
  8584  func (s *ConversationLogSettings) Validate() error {
  8585  	invalidParams := request.ErrInvalidParams{Context: "ConversationLogSettings"}
  8586  	if s.AudioLogSettings != nil && len(s.AudioLogSettings) < 1 {
  8587  		invalidParams.Add(request.NewErrParamMinLen("AudioLogSettings", 1))
  8588  	}
  8589  	if s.TextLogSettings != nil && len(s.TextLogSettings) < 1 {
  8590  		invalidParams.Add(request.NewErrParamMinLen("TextLogSettings", 1))
  8591  	}
  8592  	if s.AudioLogSettings != nil {
  8593  		for i, v := range s.AudioLogSettings {
  8594  			if v == nil {
  8595  				continue
  8596  			}
  8597  			if err := v.Validate(); err != nil {
  8598  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioLogSettings", i), err.(request.ErrInvalidParams))
  8599  			}
  8600  		}
  8601  	}
  8602  	if s.TextLogSettings != nil {
  8603  		for i, v := range s.TextLogSettings {
  8604  			if v == nil {
  8605  				continue
  8606  			}
  8607  			if err := v.Validate(); err != nil {
  8608  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TextLogSettings", i), err.(request.ErrInvalidParams))
  8609  			}
  8610  		}
  8611  	}
  8612  
  8613  	if invalidParams.Len() > 0 {
  8614  		return invalidParams
  8615  	}
  8616  	return nil
  8617  }
  8618  
  8619  // SetAudioLogSettings sets the AudioLogSettings field's value.
  8620  func (s *ConversationLogSettings) SetAudioLogSettings(v []*AudioLogSetting) *ConversationLogSettings {
  8621  	s.AudioLogSettings = v
  8622  	return s
  8623  }
  8624  
  8625  // SetTextLogSettings sets the TextLogSettings field's value.
  8626  func (s *ConversationLogSettings) SetTextLogSettings(v []*TextLogSetting) *ConversationLogSettings {
  8627  	s.TextLogSettings = v
  8628  	return s
  8629  }
  8630  
  8631  type CreateBotAliasInput struct {
  8632  	_ struct{} `type:"structure"`
  8633  
  8634  	// Maps configuration information to a specific locale. You can use this parameter
  8635  	// to specify a specific Lambda function to run different functions in different
  8636  	// locales.
  8637  	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
  8638  
  8639  	// The alias to create. The name must be unique for the bot.
  8640  	//
  8641  	// BotAliasName is a required field
  8642  	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string" required:"true"`
  8643  
  8644  	// The unique identifier of the bot that the alias applies to.
  8645  	//
  8646  	// BotId is a required field
  8647  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
  8648  
  8649  	// The version of the bot that this alias points to. You can use the operation
  8650  	// to change the bot version associated with the alias.
  8651  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
  8652  
  8653  	// Specifies whether Amazon Lex logs text and audio for a conversation with
  8654  	// the bot. When you enable conversation logs, text logs store text input, transcripts
  8655  	// of audio input, and associated metadata in Amazon CloudWatch Logs. Audio
  8656  	// logs store audio input in Amazon S3.
  8657  	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
  8658  
  8659  	// A description of the alias. Use this description to help identify the alias.
  8660  	Description *string `locationName:"description" type:"string"`
  8661  
  8662  	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
  8663  	// of user utterances.
  8664  	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
  8665  
  8666  	// A list of tags to add to the bot alias. You can only add tags when you create
  8667  	// an alias, you can't use the UpdateBotAlias operation to update the tags on
  8668  	// a bot alias. To update tags, use the TagResource operation.
  8669  	Tags map[string]*string `locationName:"tags" type:"map"`
  8670  }
  8671  
  8672  // String returns the string representation.
  8673  //
  8674  // API parameter values that are decorated as "sensitive" in the API will not
  8675  // be included in the string output. The member name will be present, but the
  8676  // value will be replaced with "sensitive".
  8677  func (s CreateBotAliasInput) String() string {
  8678  	return awsutil.Prettify(s)
  8679  }
  8680  
  8681  // GoString returns the string representation.
  8682  //
  8683  // API parameter values that are decorated as "sensitive" in the API will not
  8684  // be included in the string output. The member name will be present, but the
  8685  // value will be replaced with "sensitive".
  8686  func (s CreateBotAliasInput) GoString() string {
  8687  	return s.String()
  8688  }
  8689  
  8690  // Validate inspects the fields of the type to determine if they are valid.
  8691  func (s *CreateBotAliasInput) Validate() error {
  8692  	invalidParams := request.ErrInvalidParams{Context: "CreateBotAliasInput"}
  8693  	if s.BotAliasLocaleSettings != nil && len(s.BotAliasLocaleSettings) < 1 {
  8694  		invalidParams.Add(request.NewErrParamMinLen("BotAliasLocaleSettings", 1))
  8695  	}
  8696  	if s.BotAliasName == nil {
  8697  		invalidParams.Add(request.NewErrParamRequired("BotAliasName"))
  8698  	}
  8699  	if s.BotAliasName != nil && len(*s.BotAliasName) < 1 {
  8700  		invalidParams.Add(request.NewErrParamMinLen("BotAliasName", 1))
  8701  	}
  8702  	if s.BotId == nil {
  8703  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  8704  	}
  8705  	if s.BotId != nil && len(*s.BotId) < 10 {
  8706  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  8707  	}
  8708  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
  8709  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
  8710  	}
  8711  	if s.BotAliasLocaleSettings != nil {
  8712  		for i, v := range s.BotAliasLocaleSettings {
  8713  			if v == nil {
  8714  				continue
  8715  			}
  8716  			if err := v.Validate(); err != nil {
  8717  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotAliasLocaleSettings", i), err.(request.ErrInvalidParams))
  8718  			}
  8719  		}
  8720  	}
  8721  	if s.ConversationLogSettings != nil {
  8722  		if err := s.ConversationLogSettings.Validate(); err != nil {
  8723  			invalidParams.AddNested("ConversationLogSettings", err.(request.ErrInvalidParams))
  8724  		}
  8725  	}
  8726  	if s.SentimentAnalysisSettings != nil {
  8727  		if err := s.SentimentAnalysisSettings.Validate(); err != nil {
  8728  			invalidParams.AddNested("SentimentAnalysisSettings", err.(request.ErrInvalidParams))
  8729  		}
  8730  	}
  8731  
  8732  	if invalidParams.Len() > 0 {
  8733  		return invalidParams
  8734  	}
  8735  	return nil
  8736  }
  8737  
  8738  // SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
  8739  func (s *CreateBotAliasInput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *CreateBotAliasInput {
  8740  	s.BotAliasLocaleSettings = v
  8741  	return s
  8742  }
  8743  
  8744  // SetBotAliasName sets the BotAliasName field's value.
  8745  func (s *CreateBotAliasInput) SetBotAliasName(v string) *CreateBotAliasInput {
  8746  	s.BotAliasName = &v
  8747  	return s
  8748  }
  8749  
  8750  // SetBotId sets the BotId field's value.
  8751  func (s *CreateBotAliasInput) SetBotId(v string) *CreateBotAliasInput {
  8752  	s.BotId = &v
  8753  	return s
  8754  }
  8755  
  8756  // SetBotVersion sets the BotVersion field's value.
  8757  func (s *CreateBotAliasInput) SetBotVersion(v string) *CreateBotAliasInput {
  8758  	s.BotVersion = &v
  8759  	return s
  8760  }
  8761  
  8762  // SetConversationLogSettings sets the ConversationLogSettings field's value.
  8763  func (s *CreateBotAliasInput) SetConversationLogSettings(v *ConversationLogSettings) *CreateBotAliasInput {
  8764  	s.ConversationLogSettings = v
  8765  	return s
  8766  }
  8767  
  8768  // SetDescription sets the Description field's value.
  8769  func (s *CreateBotAliasInput) SetDescription(v string) *CreateBotAliasInput {
  8770  	s.Description = &v
  8771  	return s
  8772  }
  8773  
  8774  // SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
  8775  func (s *CreateBotAliasInput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *CreateBotAliasInput {
  8776  	s.SentimentAnalysisSettings = v
  8777  	return s
  8778  }
  8779  
  8780  // SetTags sets the Tags field's value.
  8781  func (s *CreateBotAliasInput) SetTags(v map[string]*string) *CreateBotAliasInput {
  8782  	s.Tags = v
  8783  	return s
  8784  }
  8785  
  8786  type CreateBotAliasOutput struct {
  8787  	_ struct{} `type:"structure"`
  8788  
  8789  	// The unique identifier of the bot alias.
  8790  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
  8791  
  8792  	// Configuration information for a specific locale.
  8793  	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
  8794  
  8795  	// The name specified for the bot alias.
  8796  	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
  8797  
  8798  	// The current status of the alias. The alias is first put into the Creating
  8799  	// state. When the alias is ready to be used, it is put into the Available state.
  8800  	// You can use the DescribeBotAlias operation to get the current state of an
  8801  	// alias.
  8802  	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
  8803  
  8804  	// The unique identifier of the bot that this alias applies to.
  8805  	BotId *string `locationName:"botId" min:"10" type:"string"`
  8806  
  8807  	// The version of the bot associated with this alias.
  8808  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
  8809  
  8810  	// The conversation log settings specified for the alias.
  8811  	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
  8812  
  8813  	// A Unix timestamp indicating the date and time that the bot alias was created.
  8814  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  8815  
  8816  	// The description specified for the bot alias.
  8817  	Description *string `locationName:"description" type:"string"`
  8818  
  8819  	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
  8820  	// of user utterances.
  8821  	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
  8822  
  8823  	// A list of tags associated with the bot alias.
  8824  	Tags map[string]*string `locationName:"tags" type:"map"`
  8825  }
  8826  
  8827  // String returns the string representation.
  8828  //
  8829  // API parameter values that are decorated as "sensitive" in the API will not
  8830  // be included in the string output. The member name will be present, but the
  8831  // value will be replaced with "sensitive".
  8832  func (s CreateBotAliasOutput) String() string {
  8833  	return awsutil.Prettify(s)
  8834  }
  8835  
  8836  // GoString returns the string representation.
  8837  //
  8838  // API parameter values that are decorated as "sensitive" in the API will not
  8839  // be included in the string output. The member name will be present, but the
  8840  // value will be replaced with "sensitive".
  8841  func (s CreateBotAliasOutput) GoString() string {
  8842  	return s.String()
  8843  }
  8844  
  8845  // SetBotAliasId sets the BotAliasId field's value.
  8846  func (s *CreateBotAliasOutput) SetBotAliasId(v string) *CreateBotAliasOutput {
  8847  	s.BotAliasId = &v
  8848  	return s
  8849  }
  8850  
  8851  // SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
  8852  func (s *CreateBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *CreateBotAliasOutput {
  8853  	s.BotAliasLocaleSettings = v
  8854  	return s
  8855  }
  8856  
  8857  // SetBotAliasName sets the BotAliasName field's value.
  8858  func (s *CreateBotAliasOutput) SetBotAliasName(v string) *CreateBotAliasOutput {
  8859  	s.BotAliasName = &v
  8860  	return s
  8861  }
  8862  
  8863  // SetBotAliasStatus sets the BotAliasStatus field's value.
  8864  func (s *CreateBotAliasOutput) SetBotAliasStatus(v string) *CreateBotAliasOutput {
  8865  	s.BotAliasStatus = &v
  8866  	return s
  8867  }
  8868  
  8869  // SetBotId sets the BotId field's value.
  8870  func (s *CreateBotAliasOutput) SetBotId(v string) *CreateBotAliasOutput {
  8871  	s.BotId = &v
  8872  	return s
  8873  }
  8874  
  8875  // SetBotVersion sets the BotVersion field's value.
  8876  func (s *CreateBotAliasOutput) SetBotVersion(v string) *CreateBotAliasOutput {
  8877  	s.BotVersion = &v
  8878  	return s
  8879  }
  8880  
  8881  // SetConversationLogSettings sets the ConversationLogSettings field's value.
  8882  func (s *CreateBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *CreateBotAliasOutput {
  8883  	s.ConversationLogSettings = v
  8884  	return s
  8885  }
  8886  
  8887  // SetCreationDateTime sets the CreationDateTime field's value.
  8888  func (s *CreateBotAliasOutput) SetCreationDateTime(v time.Time) *CreateBotAliasOutput {
  8889  	s.CreationDateTime = &v
  8890  	return s
  8891  }
  8892  
  8893  // SetDescription sets the Description field's value.
  8894  func (s *CreateBotAliasOutput) SetDescription(v string) *CreateBotAliasOutput {
  8895  	s.Description = &v
  8896  	return s
  8897  }
  8898  
  8899  // SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
  8900  func (s *CreateBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *CreateBotAliasOutput {
  8901  	s.SentimentAnalysisSettings = v
  8902  	return s
  8903  }
  8904  
  8905  // SetTags sets the Tags field's value.
  8906  func (s *CreateBotAliasOutput) SetTags(v map[string]*string) *CreateBotAliasOutput {
  8907  	s.Tags = v
  8908  	return s
  8909  }
  8910  
  8911  type CreateBotInput struct {
  8912  	_ struct{} `type:"structure"`
  8913  
  8914  	// The name of the bot. The bot name must be unique in the account that creates
  8915  	// the bot.
  8916  	//
  8917  	// BotName is a required field
  8918  	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
  8919  
  8920  	// A list of tags to add to the bot. You can only add tags when you create a
  8921  	// bot. You can't use the UpdateBot operation to update tags. To update tags,
  8922  	// use the TagResource operation.
  8923  	BotTags map[string]*string `locationName:"botTags" type:"map"`
  8924  
  8925  	// Provides information on additional privacy protections Amazon Lex should
  8926  	// use with the bot's data.
  8927  	//
  8928  	// DataPrivacy is a required field
  8929  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
  8930  
  8931  	// A description of the bot. It appears in lists to help you identify a particular
  8932  	// bot.
  8933  	Description *string `locationName:"description" type:"string"`
  8934  
  8935  	// The time, in seconds, that Amazon Lex should keep information about a user's
  8936  	// conversation with the bot.
  8937  	//
  8938  	// A user interaction remains active for the amount of time specified. If no
  8939  	// conversation occurs during this time, the session expires and Amazon Lex
  8940  	// deletes any data provided before the timeout.
  8941  	//
  8942  	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
  8943  	//
  8944  	// IdleSessionTTLInSeconds is a required field
  8945  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer" required:"true"`
  8946  
  8947  	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
  8948  	// the bot.
  8949  	//
  8950  	// RoleArn is a required field
  8951  	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
  8952  
  8953  	// A list of tags to add to the test alias for a bot. You can only add tags
  8954  	// when you create a bot. You can't use the UpdateAlias operation to update
  8955  	// tags. To update tags on the test alias, use the TagResource operation.
  8956  	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
  8957  }
  8958  
  8959  // String returns the string representation.
  8960  //
  8961  // API parameter values that are decorated as "sensitive" in the API will not
  8962  // be included in the string output. The member name will be present, but the
  8963  // value will be replaced with "sensitive".
  8964  func (s CreateBotInput) String() string {
  8965  	return awsutil.Prettify(s)
  8966  }
  8967  
  8968  // GoString returns the string representation.
  8969  //
  8970  // API parameter values that are decorated as "sensitive" in the API will not
  8971  // be included in the string output. The member name will be present, but the
  8972  // value will be replaced with "sensitive".
  8973  func (s CreateBotInput) GoString() string {
  8974  	return s.String()
  8975  }
  8976  
  8977  // Validate inspects the fields of the type to determine if they are valid.
  8978  func (s *CreateBotInput) Validate() error {
  8979  	invalidParams := request.ErrInvalidParams{Context: "CreateBotInput"}
  8980  	if s.BotName == nil {
  8981  		invalidParams.Add(request.NewErrParamRequired("BotName"))
  8982  	}
  8983  	if s.BotName != nil && len(*s.BotName) < 1 {
  8984  		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
  8985  	}
  8986  	if s.DataPrivacy == nil {
  8987  		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
  8988  	}
  8989  	if s.IdleSessionTTLInSeconds == nil {
  8990  		invalidParams.Add(request.NewErrParamRequired("IdleSessionTTLInSeconds"))
  8991  	}
  8992  	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
  8993  		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
  8994  	}
  8995  	if s.RoleArn == nil {
  8996  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  8997  	}
  8998  	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
  8999  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
  9000  	}
  9001  	if s.DataPrivacy != nil {
  9002  		if err := s.DataPrivacy.Validate(); err != nil {
  9003  			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
  9004  		}
  9005  	}
  9006  
  9007  	if invalidParams.Len() > 0 {
  9008  		return invalidParams
  9009  	}
  9010  	return nil
  9011  }
  9012  
  9013  // SetBotName sets the BotName field's value.
  9014  func (s *CreateBotInput) SetBotName(v string) *CreateBotInput {
  9015  	s.BotName = &v
  9016  	return s
  9017  }
  9018  
  9019  // SetBotTags sets the BotTags field's value.
  9020  func (s *CreateBotInput) SetBotTags(v map[string]*string) *CreateBotInput {
  9021  	s.BotTags = v
  9022  	return s
  9023  }
  9024  
  9025  // SetDataPrivacy sets the DataPrivacy field's value.
  9026  func (s *CreateBotInput) SetDataPrivacy(v *DataPrivacy) *CreateBotInput {
  9027  	s.DataPrivacy = v
  9028  	return s
  9029  }
  9030  
  9031  // SetDescription sets the Description field's value.
  9032  func (s *CreateBotInput) SetDescription(v string) *CreateBotInput {
  9033  	s.Description = &v
  9034  	return s
  9035  }
  9036  
  9037  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
  9038  func (s *CreateBotInput) SetIdleSessionTTLInSeconds(v int64) *CreateBotInput {
  9039  	s.IdleSessionTTLInSeconds = &v
  9040  	return s
  9041  }
  9042  
  9043  // SetRoleArn sets the RoleArn field's value.
  9044  func (s *CreateBotInput) SetRoleArn(v string) *CreateBotInput {
  9045  	s.RoleArn = &v
  9046  	return s
  9047  }
  9048  
  9049  // SetTestBotAliasTags sets the TestBotAliasTags field's value.
  9050  func (s *CreateBotInput) SetTestBotAliasTags(v map[string]*string) *CreateBotInput {
  9051  	s.TestBotAliasTags = v
  9052  	return s
  9053  }
  9054  
  9055  type CreateBotLocaleInput struct {
  9056  	_ struct{} `type:"structure"`
  9057  
  9058  	// The identifier of the bot to create the locale for.
  9059  	//
  9060  	// BotId is a required field
  9061  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
  9062  
  9063  	// The version of the bot to create the locale for. This can only be the draft
  9064  	// version of the bot.
  9065  	//
  9066  	// BotVersion is a required field
  9067  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
  9068  
  9069  	// A description of the bot locale. Use this to help identify the bot locale
  9070  	// in lists.
  9071  	Description *string `locationName:"description" type:"string"`
  9072  
  9073  	// The identifier of the language and locale that the bot will be used in. The
  9074  	// string must match one of the supported locales. All of the intents, slot
  9075  	// types, and slots used in the bot must have the same locale. For more information,
  9076  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
  9077  	//
  9078  	// LocaleId is a required field
  9079  	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
  9080  
  9081  	// Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,
  9082  	// AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent
  9083  	// and AMAZON.KendraSearchIntent are only inserted if they are configured for
  9084  	// the bot.
  9085  	//
  9086  	// For example, suppose a bot is configured with the confidence threshold of
  9087  	// 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative
  9088  	// intents with the following confidence scores: IntentA (0.70), IntentB (0.60),
  9089  	// IntentC (0.50). The response from the RecognizeText operation would be:
  9090  	//
  9091  	//    * AMAZON.FallbackIntent
  9092  	//
  9093  	//    * IntentA
  9094  	//
  9095  	//    * IntentB
  9096  	//
  9097  	//    * IntentC
  9098  	//
  9099  	// NluIntentConfidenceThreshold is a required field
  9100  	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double" required:"true"`
  9101  
  9102  	// The Amazon Polly voice ID that Amazon Lex uses for voice interaction with
  9103  	// the user.
  9104  	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
  9105  }
  9106  
  9107  // String returns the string representation.
  9108  //
  9109  // API parameter values that are decorated as "sensitive" in the API will not
  9110  // be included in the string output. The member name will be present, but the
  9111  // value will be replaced with "sensitive".
  9112  func (s CreateBotLocaleInput) String() string {
  9113  	return awsutil.Prettify(s)
  9114  }
  9115  
  9116  // GoString returns the string representation.
  9117  //
  9118  // API parameter values that are decorated as "sensitive" in the API will not
  9119  // be included in the string output. The member name will be present, but the
  9120  // value will be replaced with "sensitive".
  9121  func (s CreateBotLocaleInput) GoString() string {
  9122  	return s.String()
  9123  }
  9124  
  9125  // Validate inspects the fields of the type to determine if they are valid.
  9126  func (s *CreateBotLocaleInput) Validate() error {
  9127  	invalidParams := request.ErrInvalidParams{Context: "CreateBotLocaleInput"}
  9128  	if s.BotId == nil {
  9129  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  9130  	}
  9131  	if s.BotId != nil && len(*s.BotId) < 10 {
  9132  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  9133  	}
  9134  	if s.BotVersion == nil {
  9135  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
  9136  	}
  9137  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
  9138  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
  9139  	}
  9140  	if s.LocaleId == nil {
  9141  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
  9142  	}
  9143  	if s.NluIntentConfidenceThreshold == nil {
  9144  		invalidParams.Add(request.NewErrParamRequired("NluIntentConfidenceThreshold"))
  9145  	}
  9146  	if s.VoiceSettings != nil {
  9147  		if err := s.VoiceSettings.Validate(); err != nil {
  9148  			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
  9149  		}
  9150  	}
  9151  
  9152  	if invalidParams.Len() > 0 {
  9153  		return invalidParams
  9154  	}
  9155  	return nil
  9156  }
  9157  
  9158  // SetBotId sets the BotId field's value.
  9159  func (s *CreateBotLocaleInput) SetBotId(v string) *CreateBotLocaleInput {
  9160  	s.BotId = &v
  9161  	return s
  9162  }
  9163  
  9164  // SetBotVersion sets the BotVersion field's value.
  9165  func (s *CreateBotLocaleInput) SetBotVersion(v string) *CreateBotLocaleInput {
  9166  	s.BotVersion = &v
  9167  	return s
  9168  }
  9169  
  9170  // SetDescription sets the Description field's value.
  9171  func (s *CreateBotLocaleInput) SetDescription(v string) *CreateBotLocaleInput {
  9172  	s.Description = &v
  9173  	return s
  9174  }
  9175  
  9176  // SetLocaleId sets the LocaleId field's value.
  9177  func (s *CreateBotLocaleInput) SetLocaleId(v string) *CreateBotLocaleInput {
  9178  	s.LocaleId = &v
  9179  	return s
  9180  }
  9181  
  9182  // SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
  9183  func (s *CreateBotLocaleInput) SetNluIntentConfidenceThreshold(v float64) *CreateBotLocaleInput {
  9184  	s.NluIntentConfidenceThreshold = &v
  9185  	return s
  9186  }
  9187  
  9188  // SetVoiceSettings sets the VoiceSettings field's value.
  9189  func (s *CreateBotLocaleInput) SetVoiceSettings(v *VoiceSettings) *CreateBotLocaleInput {
  9190  	s.VoiceSettings = v
  9191  	return s
  9192  }
  9193  
  9194  type CreateBotLocaleOutput struct {
  9195  	_ struct{} `type:"structure"`
  9196  
  9197  	// The specified bot identifier.
  9198  	BotId *string `locationName:"botId" min:"10" type:"string"`
  9199  
  9200  	// The status of the bot.
  9201  	//
  9202  	// When the status is Creating the bot locale is being configured. When the
  9203  	// status is Building Amazon Lex is building the bot for testing and use.
  9204  	//
  9205  	// If the status of the bot is ReadyExpressTesting, you can test the bot using
  9206  	// the exact utterances specified in the bots' intents. When the bot is ready
  9207  	// for full testing or to run, the status is Built.
  9208  	//
  9209  	// If there was a problem with building the bot, the status is Failed. If the
  9210  	// bot was saved but not built, the status is NotBuilt.
  9211  	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
  9212  
  9213  	// The specified bot version.
  9214  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
  9215  
  9216  	// A timestamp specifying the date and time that the bot locale was created.
  9217  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  9218  
  9219  	// The specified description of the bot locale.
  9220  	Description *string `locationName:"description" type:"string"`
  9221  
  9222  	// The specified locale identifier.
  9223  	LocaleId *string `locationName:"localeId" type:"string"`
  9224  
  9225  	// The specified locale name.
  9226  	LocaleName *string `locationName:"localeName" type:"string"`
  9227  
  9228  	// The specified confidence threshold for inserting the AMAZON.FallbackIntent
  9229  	// and AMAZON.KendraSearchIntent intents.
  9230  	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
  9231  
  9232  	// The Amazon Polly voice ID that Amazon Lex uses for voice interaction with
  9233  	// the user.
  9234  	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
  9235  }
  9236  
  9237  // String returns the string representation.
  9238  //
  9239  // API parameter values that are decorated as "sensitive" in the API will not
  9240  // be included in the string output. The member name will be present, but the
  9241  // value will be replaced with "sensitive".
  9242  func (s CreateBotLocaleOutput) String() string {
  9243  	return awsutil.Prettify(s)
  9244  }
  9245  
  9246  // GoString returns the string representation.
  9247  //
  9248  // API parameter values that are decorated as "sensitive" in the API will not
  9249  // be included in the string output. The member name will be present, but the
  9250  // value will be replaced with "sensitive".
  9251  func (s CreateBotLocaleOutput) GoString() string {
  9252  	return s.String()
  9253  }
  9254  
  9255  // SetBotId sets the BotId field's value.
  9256  func (s *CreateBotLocaleOutput) SetBotId(v string) *CreateBotLocaleOutput {
  9257  	s.BotId = &v
  9258  	return s
  9259  }
  9260  
  9261  // SetBotLocaleStatus sets the BotLocaleStatus field's value.
  9262  func (s *CreateBotLocaleOutput) SetBotLocaleStatus(v string) *CreateBotLocaleOutput {
  9263  	s.BotLocaleStatus = &v
  9264  	return s
  9265  }
  9266  
  9267  // SetBotVersion sets the BotVersion field's value.
  9268  func (s *CreateBotLocaleOutput) SetBotVersion(v string) *CreateBotLocaleOutput {
  9269  	s.BotVersion = &v
  9270  	return s
  9271  }
  9272  
  9273  // SetCreationDateTime sets the CreationDateTime field's value.
  9274  func (s *CreateBotLocaleOutput) SetCreationDateTime(v time.Time) *CreateBotLocaleOutput {
  9275  	s.CreationDateTime = &v
  9276  	return s
  9277  }
  9278  
  9279  // SetDescription sets the Description field's value.
  9280  func (s *CreateBotLocaleOutput) SetDescription(v string) *CreateBotLocaleOutput {
  9281  	s.Description = &v
  9282  	return s
  9283  }
  9284  
  9285  // SetLocaleId sets the LocaleId field's value.
  9286  func (s *CreateBotLocaleOutput) SetLocaleId(v string) *CreateBotLocaleOutput {
  9287  	s.LocaleId = &v
  9288  	return s
  9289  }
  9290  
  9291  // SetLocaleName sets the LocaleName field's value.
  9292  func (s *CreateBotLocaleOutput) SetLocaleName(v string) *CreateBotLocaleOutput {
  9293  	s.LocaleName = &v
  9294  	return s
  9295  }
  9296  
  9297  // SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
  9298  func (s *CreateBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *CreateBotLocaleOutput {
  9299  	s.NluIntentConfidenceThreshold = &v
  9300  	return s
  9301  }
  9302  
  9303  // SetVoiceSettings sets the VoiceSettings field's value.
  9304  func (s *CreateBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *CreateBotLocaleOutput {
  9305  	s.VoiceSettings = v
  9306  	return s
  9307  }
  9308  
  9309  type CreateBotOutput struct {
  9310  	_ struct{} `type:"structure"`
  9311  
  9312  	// A unique identifier for a particular bot. You use this to identify the bot
  9313  	// when you call other Amazon Lex API operations.
  9314  	BotId *string `locationName:"botId" min:"10" type:"string"`
  9315  
  9316  	// The name specified for the bot.
  9317  	BotName *string `locationName:"botName" min:"1" type:"string"`
  9318  
  9319  	// Shows the current status of the bot. The bot is first in the Creating status.
  9320  	// Once the bot is read for use, it changes to the Available status. After the
  9321  	// bot is created, you can use the Draft version of the bot.
  9322  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
  9323  
  9324  	// A list of tags associated with the bot.
  9325  	BotTags map[string]*string `locationName:"botTags" type:"map"`
  9326  
  9327  	// A timestamp indicating the date and time that the bot was created.
  9328  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  9329  
  9330  	// The data privacy settings specified for the bot.
  9331  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
  9332  
  9333  	// The description specified for the bot.
  9334  	Description *string `locationName:"description" type:"string"`
  9335  
  9336  	// The session idle time specified for the bot.
  9337  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
  9338  
  9339  	// The IAM role specified for the bot.
  9340  	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
  9341  
  9342  	// A list of tags associated with the test alias for the bot.
  9343  	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
  9344  }
  9345  
  9346  // String returns the string representation.
  9347  //
  9348  // API parameter values that are decorated as "sensitive" in the API will not
  9349  // be included in the string output. The member name will be present, but the
  9350  // value will be replaced with "sensitive".
  9351  func (s CreateBotOutput) String() string {
  9352  	return awsutil.Prettify(s)
  9353  }
  9354  
  9355  // GoString returns the string representation.
  9356  //
  9357  // API parameter values that are decorated as "sensitive" in the API will not
  9358  // be included in the string output. The member name will be present, but the
  9359  // value will be replaced with "sensitive".
  9360  func (s CreateBotOutput) GoString() string {
  9361  	return s.String()
  9362  }
  9363  
  9364  // SetBotId sets the BotId field's value.
  9365  func (s *CreateBotOutput) SetBotId(v string) *CreateBotOutput {
  9366  	s.BotId = &v
  9367  	return s
  9368  }
  9369  
  9370  // SetBotName sets the BotName field's value.
  9371  func (s *CreateBotOutput) SetBotName(v string) *CreateBotOutput {
  9372  	s.BotName = &v
  9373  	return s
  9374  }
  9375  
  9376  // SetBotStatus sets the BotStatus field's value.
  9377  func (s *CreateBotOutput) SetBotStatus(v string) *CreateBotOutput {
  9378  	s.BotStatus = &v
  9379  	return s
  9380  }
  9381  
  9382  // SetBotTags sets the BotTags field's value.
  9383  func (s *CreateBotOutput) SetBotTags(v map[string]*string) *CreateBotOutput {
  9384  	s.BotTags = v
  9385  	return s
  9386  }
  9387  
  9388  // SetCreationDateTime sets the CreationDateTime field's value.
  9389  func (s *CreateBotOutput) SetCreationDateTime(v time.Time) *CreateBotOutput {
  9390  	s.CreationDateTime = &v
  9391  	return s
  9392  }
  9393  
  9394  // SetDataPrivacy sets the DataPrivacy field's value.
  9395  func (s *CreateBotOutput) SetDataPrivacy(v *DataPrivacy) *CreateBotOutput {
  9396  	s.DataPrivacy = v
  9397  	return s
  9398  }
  9399  
  9400  // SetDescription sets the Description field's value.
  9401  func (s *CreateBotOutput) SetDescription(v string) *CreateBotOutput {
  9402  	s.Description = &v
  9403  	return s
  9404  }
  9405  
  9406  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
  9407  func (s *CreateBotOutput) SetIdleSessionTTLInSeconds(v int64) *CreateBotOutput {
  9408  	s.IdleSessionTTLInSeconds = &v
  9409  	return s
  9410  }
  9411  
  9412  // SetRoleArn sets the RoleArn field's value.
  9413  func (s *CreateBotOutput) SetRoleArn(v string) *CreateBotOutput {
  9414  	s.RoleArn = &v
  9415  	return s
  9416  }
  9417  
  9418  // SetTestBotAliasTags sets the TestBotAliasTags field's value.
  9419  func (s *CreateBotOutput) SetTestBotAliasTags(v map[string]*string) *CreateBotOutput {
  9420  	s.TestBotAliasTags = v
  9421  	return s
  9422  }
  9423  
  9424  type CreateBotVersionInput struct {
  9425  	_ struct{} `type:"structure"`
  9426  
  9427  	// The identifier of the bot to create the version for.
  9428  	//
  9429  	// BotId is a required field
  9430  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
  9431  
  9432  	// Specifies the locales that Amazon Lex adds to this version. You can choose
  9433  	// the Draft version or any other previously published version for each locale.
  9434  	// When you specify a source version, the locale data is copied from the source
  9435  	// version to the new version.
  9436  	//
  9437  	// BotVersionLocaleSpecification is a required field
  9438  	BotVersionLocaleSpecification map[string]*BotVersionLocaleDetails `locationName:"botVersionLocaleSpecification" min:"1" type:"map" required:"true"`
  9439  
  9440  	// A description of the version. Use the description to help identify the version
  9441  	// in lists.
  9442  	Description *string `locationName:"description" type:"string"`
  9443  }
  9444  
  9445  // String returns the string representation.
  9446  //
  9447  // API parameter values that are decorated as "sensitive" in the API will not
  9448  // be included in the string output. The member name will be present, but the
  9449  // value will be replaced with "sensitive".
  9450  func (s CreateBotVersionInput) String() string {
  9451  	return awsutil.Prettify(s)
  9452  }
  9453  
  9454  // GoString returns the string representation.
  9455  //
  9456  // API parameter values that are decorated as "sensitive" in the API will not
  9457  // be included in the string output. The member name will be present, but the
  9458  // value will be replaced with "sensitive".
  9459  func (s CreateBotVersionInput) GoString() string {
  9460  	return s.String()
  9461  }
  9462  
  9463  // Validate inspects the fields of the type to determine if they are valid.
  9464  func (s *CreateBotVersionInput) Validate() error {
  9465  	invalidParams := request.ErrInvalidParams{Context: "CreateBotVersionInput"}
  9466  	if s.BotId == nil {
  9467  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  9468  	}
  9469  	if s.BotId != nil && len(*s.BotId) < 10 {
  9470  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  9471  	}
  9472  	if s.BotVersionLocaleSpecification == nil {
  9473  		invalidParams.Add(request.NewErrParamRequired("BotVersionLocaleSpecification"))
  9474  	}
  9475  	if s.BotVersionLocaleSpecification != nil && len(s.BotVersionLocaleSpecification) < 1 {
  9476  		invalidParams.Add(request.NewErrParamMinLen("BotVersionLocaleSpecification", 1))
  9477  	}
  9478  	if s.BotVersionLocaleSpecification != nil {
  9479  		for i, v := range s.BotVersionLocaleSpecification {
  9480  			if v == nil {
  9481  				continue
  9482  			}
  9483  			if err := v.Validate(); err != nil {
  9484  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotVersionLocaleSpecification", i), err.(request.ErrInvalidParams))
  9485  			}
  9486  		}
  9487  	}
  9488  
  9489  	if invalidParams.Len() > 0 {
  9490  		return invalidParams
  9491  	}
  9492  	return nil
  9493  }
  9494  
  9495  // SetBotId sets the BotId field's value.
  9496  func (s *CreateBotVersionInput) SetBotId(v string) *CreateBotVersionInput {
  9497  	s.BotId = &v
  9498  	return s
  9499  }
  9500  
  9501  // SetBotVersionLocaleSpecification sets the BotVersionLocaleSpecification field's value.
  9502  func (s *CreateBotVersionInput) SetBotVersionLocaleSpecification(v map[string]*BotVersionLocaleDetails) *CreateBotVersionInput {
  9503  	s.BotVersionLocaleSpecification = v
  9504  	return s
  9505  }
  9506  
  9507  // SetDescription sets the Description field's value.
  9508  func (s *CreateBotVersionInput) SetDescription(v string) *CreateBotVersionInput {
  9509  	s.Description = &v
  9510  	return s
  9511  }
  9512  
  9513  type CreateBotVersionOutput struct {
  9514  	_ struct{} `type:"structure"`
  9515  
  9516  	// The bot identifier specified in the request.
  9517  	BotId *string `locationName:"botId" min:"10" type:"string"`
  9518  
  9519  	// When you send a request to create or update a bot, Amazon Lex sets the status
  9520  	// response element to Creating. After Amazon Lex builds the bot, it sets status
  9521  	// to Available. If Amazon Lex can't build the bot, it sets status to Failed.
  9522  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
  9523  
  9524  	// The version number assigned to the version.
  9525  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
  9526  
  9527  	// The source versions used for each locale in the new version.
  9528  	BotVersionLocaleSpecification map[string]*BotVersionLocaleDetails `locationName:"botVersionLocaleSpecification" min:"1" type:"map"`
  9529  
  9530  	// A timestamp of the date and time that the version was created.
  9531  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  9532  
  9533  	// The description of the version specified in the request.
  9534  	Description *string `locationName:"description" type:"string"`
  9535  }
  9536  
  9537  // String returns the string representation.
  9538  //
  9539  // API parameter values that are decorated as "sensitive" in the API will not
  9540  // be included in the string output. The member name will be present, but the
  9541  // value will be replaced with "sensitive".
  9542  func (s CreateBotVersionOutput) String() string {
  9543  	return awsutil.Prettify(s)
  9544  }
  9545  
  9546  // GoString returns the string representation.
  9547  //
  9548  // API parameter values that are decorated as "sensitive" in the API will not
  9549  // be included in the string output. The member name will be present, but the
  9550  // value will be replaced with "sensitive".
  9551  func (s CreateBotVersionOutput) GoString() string {
  9552  	return s.String()
  9553  }
  9554  
  9555  // SetBotId sets the BotId field's value.
  9556  func (s *CreateBotVersionOutput) SetBotId(v string) *CreateBotVersionOutput {
  9557  	s.BotId = &v
  9558  	return s
  9559  }
  9560  
  9561  // SetBotStatus sets the BotStatus field's value.
  9562  func (s *CreateBotVersionOutput) SetBotStatus(v string) *CreateBotVersionOutput {
  9563  	s.BotStatus = &v
  9564  	return s
  9565  }
  9566  
  9567  // SetBotVersion sets the BotVersion field's value.
  9568  func (s *CreateBotVersionOutput) SetBotVersion(v string) *CreateBotVersionOutput {
  9569  	s.BotVersion = &v
  9570  	return s
  9571  }
  9572  
  9573  // SetBotVersionLocaleSpecification sets the BotVersionLocaleSpecification field's value.
  9574  func (s *CreateBotVersionOutput) SetBotVersionLocaleSpecification(v map[string]*BotVersionLocaleDetails) *CreateBotVersionOutput {
  9575  	s.BotVersionLocaleSpecification = v
  9576  	return s
  9577  }
  9578  
  9579  // SetCreationDateTime sets the CreationDateTime field's value.
  9580  func (s *CreateBotVersionOutput) SetCreationDateTime(v time.Time) *CreateBotVersionOutput {
  9581  	s.CreationDateTime = &v
  9582  	return s
  9583  }
  9584  
  9585  // SetDescription sets the Description field's value.
  9586  func (s *CreateBotVersionOutput) SetDescription(v string) *CreateBotVersionOutput {
  9587  	s.Description = &v
  9588  	return s
  9589  }
  9590  
  9591  type CreateExportInput struct {
  9592  	_ struct{} `type:"structure"`
  9593  
  9594  	// The file format of the bot or bot locale definition files.
  9595  	//
  9596  	// FileFormat is a required field
  9597  	FileFormat *string `locationName:"fileFormat" type:"string" required:"true" enum:"ImportExportFileFormat"`
  9598  
  9599  	// An password to use to encrypt the exported archive. Using a password is optional,
  9600  	// but you should encrypt the archive to protect the data in transit between
  9601  	// Amazon Lex and your local computer.
  9602  	//
  9603  	// FilePassword is a sensitive parameter and its value will be
  9604  	// replaced with "sensitive" in string returned by CreateExportInput's
  9605  	// String and GoString methods.
  9606  	FilePassword *string `locationName:"filePassword" min:"1" type:"string" sensitive:"true"`
  9607  
  9608  	// Specifies the type of resource to export, either a bot or a bot locale. You
  9609  	// can only specify one type of resource to export.
  9610  	//
  9611  	// ResourceSpecification is a required field
  9612  	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
  9613  }
  9614  
  9615  // String returns the string representation.
  9616  //
  9617  // API parameter values that are decorated as "sensitive" in the API will not
  9618  // be included in the string output. The member name will be present, but the
  9619  // value will be replaced with "sensitive".
  9620  func (s CreateExportInput) String() string {
  9621  	return awsutil.Prettify(s)
  9622  }
  9623  
  9624  // GoString returns the string representation.
  9625  //
  9626  // API parameter values that are decorated as "sensitive" in the API will not
  9627  // be included in the string output. The member name will be present, but the
  9628  // value will be replaced with "sensitive".
  9629  func (s CreateExportInput) GoString() string {
  9630  	return s.String()
  9631  }
  9632  
  9633  // Validate inspects the fields of the type to determine if they are valid.
  9634  func (s *CreateExportInput) Validate() error {
  9635  	invalidParams := request.ErrInvalidParams{Context: "CreateExportInput"}
  9636  	if s.FileFormat == nil {
  9637  		invalidParams.Add(request.NewErrParamRequired("FileFormat"))
  9638  	}
  9639  	if s.FilePassword != nil && len(*s.FilePassword) < 1 {
  9640  		invalidParams.Add(request.NewErrParamMinLen("FilePassword", 1))
  9641  	}
  9642  	if s.ResourceSpecification == nil {
  9643  		invalidParams.Add(request.NewErrParamRequired("ResourceSpecification"))
  9644  	}
  9645  	if s.ResourceSpecification != nil {
  9646  		if err := s.ResourceSpecification.Validate(); err != nil {
  9647  			invalidParams.AddNested("ResourceSpecification", err.(request.ErrInvalidParams))
  9648  		}
  9649  	}
  9650  
  9651  	if invalidParams.Len() > 0 {
  9652  		return invalidParams
  9653  	}
  9654  	return nil
  9655  }
  9656  
  9657  // SetFileFormat sets the FileFormat field's value.
  9658  func (s *CreateExportInput) SetFileFormat(v string) *CreateExportInput {
  9659  	s.FileFormat = &v
  9660  	return s
  9661  }
  9662  
  9663  // SetFilePassword sets the FilePassword field's value.
  9664  func (s *CreateExportInput) SetFilePassword(v string) *CreateExportInput {
  9665  	s.FilePassword = &v
  9666  	return s
  9667  }
  9668  
  9669  // SetResourceSpecification sets the ResourceSpecification field's value.
  9670  func (s *CreateExportInput) SetResourceSpecification(v *ExportResourceSpecification) *CreateExportInput {
  9671  	s.ResourceSpecification = v
  9672  	return s
  9673  }
  9674  
  9675  type CreateExportOutput struct {
  9676  	_ struct{} `type:"structure"`
  9677  
  9678  	// The date and time that the request to export a bot was created.
  9679  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
  9680  
  9681  	// An identifier for a specific request to create an export.
  9682  	ExportId *string `locationName:"exportId" min:"10" type:"string"`
  9683  
  9684  	// The status of the export. When the status is Completed, you can use the operation
  9685  	// to get the pre-signed S3 URL link to your exported bot or bot locale.
  9686  	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
  9687  
  9688  	// The file format used for the bot or bot locale definition files.
  9689  	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
  9690  
  9691  	// A description of the type of resource that was exported, either a bot or
  9692  	// a bot locale.
  9693  	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
  9694  }
  9695  
  9696  // String returns the string representation.
  9697  //
  9698  // API parameter values that are decorated as "sensitive" in the API will not
  9699  // be included in the string output. The member name will be present, but the
  9700  // value will be replaced with "sensitive".
  9701  func (s CreateExportOutput) String() string {
  9702  	return awsutil.Prettify(s)
  9703  }
  9704  
  9705  // GoString returns the string representation.
  9706  //
  9707  // API parameter values that are decorated as "sensitive" in the API will not
  9708  // be included in the string output. The member name will be present, but the
  9709  // value will be replaced with "sensitive".
  9710  func (s CreateExportOutput) GoString() string {
  9711  	return s.String()
  9712  }
  9713  
  9714  // SetCreationDateTime sets the CreationDateTime field's value.
  9715  func (s *CreateExportOutput) SetCreationDateTime(v time.Time) *CreateExportOutput {
  9716  	s.CreationDateTime = &v
  9717  	return s
  9718  }
  9719  
  9720  // SetExportId sets the ExportId field's value.
  9721  func (s *CreateExportOutput) SetExportId(v string) *CreateExportOutput {
  9722  	s.ExportId = &v
  9723  	return s
  9724  }
  9725  
  9726  // SetExportStatus sets the ExportStatus field's value.
  9727  func (s *CreateExportOutput) SetExportStatus(v string) *CreateExportOutput {
  9728  	s.ExportStatus = &v
  9729  	return s
  9730  }
  9731  
  9732  // SetFileFormat sets the FileFormat field's value.
  9733  func (s *CreateExportOutput) SetFileFormat(v string) *CreateExportOutput {
  9734  	s.FileFormat = &v
  9735  	return s
  9736  }
  9737  
  9738  // SetResourceSpecification sets the ResourceSpecification field's value.
  9739  func (s *CreateExportOutput) SetResourceSpecification(v *ExportResourceSpecification) *CreateExportOutput {
  9740  	s.ResourceSpecification = v
  9741  	return s
  9742  }
  9743  
  9744  type CreateIntentInput struct {
  9745  	_ struct{} `type:"structure"`
  9746  
  9747  	// The identifier of the bot associated with this intent.
  9748  	//
  9749  	// BotId is a required field
  9750  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
  9751  
  9752  	// The identifier of the version of the bot associated with this intent.
  9753  	//
  9754  	// BotVersion is a required field
  9755  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
  9756  
  9757  	// A description of the intent. Use the description to help identify the intent
  9758  	// in lists.
  9759  	Description *string `locationName:"description" type:"string"`
  9760  
  9761  	// Specifies that Amazon Lex invokes the alias Lambda function for each user
  9762  	// input. You can invoke this Lambda function to personalize user interaction.
  9763  	//
  9764  	// For example, suppose that your bot determines that the user's name is John.
  9765  	// You Lambda function might retrieve John's information from a backend database
  9766  	// and prepopulate some of the values. For example, if you find that John is
  9767  	// gluten intolerant, you might set the corresponding intent slot, glutenIntolerant
  9768  	// to true. You might find John's phone number and set the corresponding session
  9769  	// attribute.
  9770  	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
  9771  
  9772  	// Specifies that Amazon Lex invokes the alias Lambda function when the intent
  9773  	// is ready for fulfillment. You can invoke this function to complete the bot's
  9774  	// transaction with the user.
  9775  	//
  9776  	// For example, in a pizza ordering bot, the Lambda function can look up the
  9777  	// closest pizza restaurant to the customer's location and then place an order
  9778  	// on the customer's behalf.
  9779  	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
  9780  
  9781  	// A list of contexts that must be active for this intent to be considered by
  9782  	// Amazon Lex.
  9783  	//
  9784  	// When an intent has an input context list, Amazon Lex only considers using
  9785  	// the intent in an interaction with the user when the specified contexts are
  9786  	// included in the active context list for the session. If the contexts are
  9787  	// not active, then Amazon Lex will not use the intent.
  9788  	//
  9789  	// A context can be automatically activated using the outputContexts property
  9790  	// or it can be set at runtime.
  9791  	//
  9792  	// For example, if there are two intents with different input contexts that
  9793  	// respond to the same utterances, only the intent with the active context will
  9794  	// respond.
  9795  	//
  9796  	// An intent may have up to 5 input contexts. If an intent has multiple input
  9797  	// contexts, all of the contexts must be active to consider the intent.
  9798  	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
  9799  
  9800  	// Sets the response that Amazon Lex sends to the user when the intent is closed.
  9801  	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
  9802  
  9803  	// Provides prompts that Amazon Lex sends to the user to confirm the completion
  9804  	// of an intent. If the user answers "no," the settings contain a statement
  9805  	// that is sent to the user to end the intent.
  9806  	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
  9807  
  9808  	// The name of the intent. Intent names must be unique in the locale that contains
  9809  	// the intent and cannot match the name of any built-in intent.
  9810  	//
  9811  	// IntentName is a required field
  9812  	IntentName *string `locationName:"intentName" min:"1" type:"string" required:"true"`
  9813  
  9814  	// Configuration information required to use the AMAZON.KendraSearchIntent intent
  9815  	// to connect to an Amazon Kendra index. The AMAZON.KendraSearchIntent intent
  9816  	// is called when Amazon Lex can't determine another intent to invoke.
  9817  	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
  9818  
  9819  	// The identifier of the language and locale where this intent is used. All
  9820  	// of the bots, slot types, and slots used by the intent must have the same
  9821  	// locale. For more information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
  9822  	//
  9823  	// LocaleId is a required field
  9824  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
  9825  
  9826  	// A lists of contexts that the intent activates when it is fulfilled.
  9827  	//
  9828  	// You can use an output context to indicate the intents that Amazon Lex should
  9829  	// consider for the next turn of the conversation with a customer.
  9830  	//
  9831  	// When you use the outputContextsList property, all of the contexts specified
  9832  	// in the list are activated when the intent is fulfilled. You can set up to
  9833  	// 10 output contexts. You can also set the number of conversation turns that
  9834  	// the context should be active, or the length of time that the context should
  9835  	// be active.
  9836  	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
  9837  
  9838  	// A unique identifier for the built-in intent to base this intent on.
  9839  	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
  9840  
  9841  	// An array of strings that a user might say to signal the intent. For example,
  9842  	// "I want a pizza", or "I want a {PizzaSize} pizza".
  9843  	//
  9844  	// In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate
  9845  	// where they should be displayed in the utterance shown to the user..
  9846  	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
  9847  }
  9848  
  9849  // String returns the string representation.
  9850  //
  9851  // API parameter values that are decorated as "sensitive" in the API will not
  9852  // be included in the string output. The member name will be present, but the
  9853  // value will be replaced with "sensitive".
  9854  func (s CreateIntentInput) String() string {
  9855  	return awsutil.Prettify(s)
  9856  }
  9857  
  9858  // GoString returns the string representation.
  9859  //
  9860  // API parameter values that are decorated as "sensitive" in the API will not
  9861  // be included in the string output. The member name will be present, but the
  9862  // value will be replaced with "sensitive".
  9863  func (s CreateIntentInput) GoString() string {
  9864  	return s.String()
  9865  }
  9866  
  9867  // Validate inspects the fields of the type to determine if they are valid.
  9868  func (s *CreateIntentInput) Validate() error {
  9869  	invalidParams := request.ErrInvalidParams{Context: "CreateIntentInput"}
  9870  	if s.BotId == nil {
  9871  		invalidParams.Add(request.NewErrParamRequired("BotId"))
  9872  	}
  9873  	if s.BotId != nil && len(*s.BotId) < 10 {
  9874  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
  9875  	}
  9876  	if s.BotVersion == nil {
  9877  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
  9878  	}
  9879  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
  9880  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
  9881  	}
  9882  	if s.IntentName == nil {
  9883  		invalidParams.Add(request.NewErrParamRequired("IntentName"))
  9884  	}
  9885  	if s.IntentName != nil && len(*s.IntentName) < 1 {
  9886  		invalidParams.Add(request.NewErrParamMinLen("IntentName", 1))
  9887  	}
  9888  	if s.LocaleId == nil {
  9889  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
  9890  	}
  9891  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
  9892  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
  9893  	}
  9894  	if s.DialogCodeHook != nil {
  9895  		if err := s.DialogCodeHook.Validate(); err != nil {
  9896  			invalidParams.AddNested("DialogCodeHook", err.(request.ErrInvalidParams))
  9897  		}
  9898  	}
  9899  	if s.FulfillmentCodeHook != nil {
  9900  		if err := s.FulfillmentCodeHook.Validate(); err != nil {
  9901  			invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams))
  9902  		}
  9903  	}
  9904  	if s.InputContexts != nil {
  9905  		for i, v := range s.InputContexts {
  9906  			if v == nil {
  9907  				continue
  9908  			}
  9909  			if err := v.Validate(); err != nil {
  9910  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputContexts", i), err.(request.ErrInvalidParams))
  9911  			}
  9912  		}
  9913  	}
  9914  	if s.IntentClosingSetting != nil {
  9915  		if err := s.IntentClosingSetting.Validate(); err != nil {
  9916  			invalidParams.AddNested("IntentClosingSetting", err.(request.ErrInvalidParams))
  9917  		}
  9918  	}
  9919  	if s.IntentConfirmationSetting != nil {
  9920  		if err := s.IntentConfirmationSetting.Validate(); err != nil {
  9921  			invalidParams.AddNested("IntentConfirmationSetting", err.(request.ErrInvalidParams))
  9922  		}
  9923  	}
  9924  	if s.KendraConfiguration != nil {
  9925  		if err := s.KendraConfiguration.Validate(); err != nil {
  9926  			invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams))
  9927  		}
  9928  	}
  9929  	if s.OutputContexts != nil {
  9930  		for i, v := range s.OutputContexts {
  9931  			if v == nil {
  9932  				continue
  9933  			}
  9934  			if err := v.Validate(); err != nil {
  9935  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputContexts", i), err.(request.ErrInvalidParams))
  9936  			}
  9937  		}
  9938  	}
  9939  	if s.SampleUtterances != nil {
  9940  		for i, v := range s.SampleUtterances {
  9941  			if v == nil {
  9942  				continue
  9943  			}
  9944  			if err := v.Validate(); err != nil {
  9945  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
  9946  			}
  9947  		}
  9948  	}
  9949  
  9950  	if invalidParams.Len() > 0 {
  9951  		return invalidParams
  9952  	}
  9953  	return nil
  9954  }
  9955  
  9956  // SetBotId sets the BotId field's value.
  9957  func (s *CreateIntentInput) SetBotId(v string) *CreateIntentInput {
  9958  	s.BotId = &v
  9959  	return s
  9960  }
  9961  
  9962  // SetBotVersion sets the BotVersion field's value.
  9963  func (s *CreateIntentInput) SetBotVersion(v string) *CreateIntentInput {
  9964  	s.BotVersion = &v
  9965  	return s
  9966  }
  9967  
  9968  // SetDescription sets the Description field's value.
  9969  func (s *CreateIntentInput) SetDescription(v string) *CreateIntentInput {
  9970  	s.Description = &v
  9971  	return s
  9972  }
  9973  
  9974  // SetDialogCodeHook sets the DialogCodeHook field's value.
  9975  func (s *CreateIntentInput) SetDialogCodeHook(v *DialogCodeHookSettings) *CreateIntentInput {
  9976  	s.DialogCodeHook = v
  9977  	return s
  9978  }
  9979  
  9980  // SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
  9981  func (s *CreateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *CreateIntentInput {
  9982  	s.FulfillmentCodeHook = v
  9983  	return s
  9984  }
  9985  
  9986  // SetInputContexts sets the InputContexts field's value.
  9987  func (s *CreateIntentInput) SetInputContexts(v []*InputContext) *CreateIntentInput {
  9988  	s.InputContexts = v
  9989  	return s
  9990  }
  9991  
  9992  // SetIntentClosingSetting sets the IntentClosingSetting field's value.
  9993  func (s *CreateIntentInput) SetIntentClosingSetting(v *IntentClosingSetting) *CreateIntentInput {
  9994  	s.IntentClosingSetting = v
  9995  	return s
  9996  }
  9997  
  9998  // SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
  9999  func (s *CreateIntentInput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *CreateIntentInput {
 10000  	s.IntentConfirmationSetting = v
 10001  	return s
 10002  }
 10003  
 10004  // SetIntentName sets the IntentName field's value.
 10005  func (s *CreateIntentInput) SetIntentName(v string) *CreateIntentInput {
 10006  	s.IntentName = &v
 10007  	return s
 10008  }
 10009  
 10010  // SetKendraConfiguration sets the KendraConfiguration field's value.
 10011  func (s *CreateIntentInput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentInput {
 10012  	s.KendraConfiguration = v
 10013  	return s
 10014  }
 10015  
 10016  // SetLocaleId sets the LocaleId field's value.
 10017  func (s *CreateIntentInput) SetLocaleId(v string) *CreateIntentInput {
 10018  	s.LocaleId = &v
 10019  	return s
 10020  }
 10021  
 10022  // SetOutputContexts sets the OutputContexts field's value.
 10023  func (s *CreateIntentInput) SetOutputContexts(v []*OutputContext) *CreateIntentInput {
 10024  	s.OutputContexts = v
 10025  	return s
 10026  }
 10027  
 10028  // SetParentIntentSignature sets the ParentIntentSignature field's value.
 10029  func (s *CreateIntentInput) SetParentIntentSignature(v string) *CreateIntentInput {
 10030  	s.ParentIntentSignature = &v
 10031  	return s
 10032  }
 10033  
 10034  // SetSampleUtterances sets the SampleUtterances field's value.
 10035  func (s *CreateIntentInput) SetSampleUtterances(v []*SampleUtterance) *CreateIntentInput {
 10036  	s.SampleUtterances = v
 10037  	return s
 10038  }
 10039  
 10040  type CreateIntentOutput struct {
 10041  	_ struct{} `type:"structure"`
 10042  
 10043  	// The identifier of the bot associated with the intent.
 10044  	BotId *string `locationName:"botId" min:"10" type:"string"`
 10045  
 10046  	// The identifier of the version of the bot associated with the intent.
 10047  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 10048  
 10049  	// A timestamp of the date and time that the intent was created.
 10050  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 10051  
 10052  	// The description specified for the intent.
 10053  	Description *string `locationName:"description" type:"string"`
 10054  
 10055  	// The dialog Lambda function specified for the intent.
 10056  	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
 10057  
 10058  	// The fulfillment Lambda function specified for the intent.
 10059  	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
 10060  
 10061  	// The list of input contexts specified for the intent.
 10062  	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
 10063  
 10064  	// The closing setting specified for the intent.
 10065  	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
 10066  
 10067  	// The confirmation setting specified for the intent.
 10068  	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
 10069  
 10070  	// A unique identifier for the intent.
 10071  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 10072  
 10073  	// The name specified for the intent.
 10074  	IntentName *string `locationName:"intentName" min:"1" type:"string"`
 10075  
 10076  	// Configuration for searching a Amazon Kendra index specified for the intent.
 10077  	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
 10078  
 10079  	// The locale that the intent is specified to use.
 10080  	LocaleId *string `locationName:"localeId" type:"string"`
 10081  
 10082  	// The list of output contexts specified for the intent.
 10083  	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
 10084  
 10085  	// The signature of the parent intent specified for the intent.
 10086  	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
 10087  
 10088  	// The sample utterances specified for the intent.
 10089  	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
 10090  }
 10091  
 10092  // String returns the string representation.
 10093  //
 10094  // API parameter values that are decorated as "sensitive" in the API will not
 10095  // be included in the string output. The member name will be present, but the
 10096  // value will be replaced with "sensitive".
 10097  func (s CreateIntentOutput) String() string {
 10098  	return awsutil.Prettify(s)
 10099  }
 10100  
 10101  // GoString returns the string representation.
 10102  //
 10103  // API parameter values that are decorated as "sensitive" in the API will not
 10104  // be included in the string output. The member name will be present, but the
 10105  // value will be replaced with "sensitive".
 10106  func (s CreateIntentOutput) GoString() string {
 10107  	return s.String()
 10108  }
 10109  
 10110  // SetBotId sets the BotId field's value.
 10111  func (s *CreateIntentOutput) SetBotId(v string) *CreateIntentOutput {
 10112  	s.BotId = &v
 10113  	return s
 10114  }
 10115  
 10116  // SetBotVersion sets the BotVersion field's value.
 10117  func (s *CreateIntentOutput) SetBotVersion(v string) *CreateIntentOutput {
 10118  	s.BotVersion = &v
 10119  	return s
 10120  }
 10121  
 10122  // SetCreationDateTime sets the CreationDateTime field's value.
 10123  func (s *CreateIntentOutput) SetCreationDateTime(v time.Time) *CreateIntentOutput {
 10124  	s.CreationDateTime = &v
 10125  	return s
 10126  }
 10127  
 10128  // SetDescription sets the Description field's value.
 10129  func (s *CreateIntentOutput) SetDescription(v string) *CreateIntentOutput {
 10130  	s.Description = &v
 10131  	return s
 10132  }
 10133  
 10134  // SetDialogCodeHook sets the DialogCodeHook field's value.
 10135  func (s *CreateIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *CreateIntentOutput {
 10136  	s.DialogCodeHook = v
 10137  	return s
 10138  }
 10139  
 10140  // SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
 10141  func (s *CreateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *CreateIntentOutput {
 10142  	s.FulfillmentCodeHook = v
 10143  	return s
 10144  }
 10145  
 10146  // SetInputContexts sets the InputContexts field's value.
 10147  func (s *CreateIntentOutput) SetInputContexts(v []*InputContext) *CreateIntentOutput {
 10148  	s.InputContexts = v
 10149  	return s
 10150  }
 10151  
 10152  // SetIntentClosingSetting sets the IntentClosingSetting field's value.
 10153  func (s *CreateIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *CreateIntentOutput {
 10154  	s.IntentClosingSetting = v
 10155  	return s
 10156  }
 10157  
 10158  // SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
 10159  func (s *CreateIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *CreateIntentOutput {
 10160  	s.IntentConfirmationSetting = v
 10161  	return s
 10162  }
 10163  
 10164  // SetIntentId sets the IntentId field's value.
 10165  func (s *CreateIntentOutput) SetIntentId(v string) *CreateIntentOutput {
 10166  	s.IntentId = &v
 10167  	return s
 10168  }
 10169  
 10170  // SetIntentName sets the IntentName field's value.
 10171  func (s *CreateIntentOutput) SetIntentName(v string) *CreateIntentOutput {
 10172  	s.IntentName = &v
 10173  	return s
 10174  }
 10175  
 10176  // SetKendraConfiguration sets the KendraConfiguration field's value.
 10177  func (s *CreateIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentOutput {
 10178  	s.KendraConfiguration = v
 10179  	return s
 10180  }
 10181  
 10182  // SetLocaleId sets the LocaleId field's value.
 10183  func (s *CreateIntentOutput) SetLocaleId(v string) *CreateIntentOutput {
 10184  	s.LocaleId = &v
 10185  	return s
 10186  }
 10187  
 10188  // SetOutputContexts sets the OutputContexts field's value.
 10189  func (s *CreateIntentOutput) SetOutputContexts(v []*OutputContext) *CreateIntentOutput {
 10190  	s.OutputContexts = v
 10191  	return s
 10192  }
 10193  
 10194  // SetParentIntentSignature sets the ParentIntentSignature field's value.
 10195  func (s *CreateIntentOutput) SetParentIntentSignature(v string) *CreateIntentOutput {
 10196  	s.ParentIntentSignature = &v
 10197  	return s
 10198  }
 10199  
 10200  // SetSampleUtterances sets the SampleUtterances field's value.
 10201  func (s *CreateIntentOutput) SetSampleUtterances(v []*SampleUtterance) *CreateIntentOutput {
 10202  	s.SampleUtterances = v
 10203  	return s
 10204  }
 10205  
 10206  type CreateResourcePolicyInput struct {
 10207  	_ struct{} `type:"structure"`
 10208  
 10209  	// A resource policy to add to the resource. The policy is a JSON structure
 10210  	// that contains one or more statements that define the policy. The policy must
 10211  	// follow the IAM syntax. For more information about the contents of a JSON
 10212  	// policy document, see IAM JSON policy reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html).
 10213  	//
 10214  	// If the policy isn't valid, Amazon Lex returns a validation exception.
 10215  	//
 10216  	// Policy is a required field
 10217  	Policy *string `locationName:"policy" min:"2" type:"string" required:"true"`
 10218  
 10219  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 10220  	// policy is attached to.
 10221  	//
 10222  	// ResourceArn is a required field
 10223  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 10224  }
 10225  
 10226  // String returns the string representation.
 10227  //
 10228  // API parameter values that are decorated as "sensitive" in the API will not
 10229  // be included in the string output. The member name will be present, but the
 10230  // value will be replaced with "sensitive".
 10231  func (s CreateResourcePolicyInput) String() string {
 10232  	return awsutil.Prettify(s)
 10233  }
 10234  
 10235  // GoString returns the string representation.
 10236  //
 10237  // API parameter values that are decorated as "sensitive" in the API will not
 10238  // be included in the string output. The member name will be present, but the
 10239  // value will be replaced with "sensitive".
 10240  func (s CreateResourcePolicyInput) GoString() string {
 10241  	return s.String()
 10242  }
 10243  
 10244  // Validate inspects the fields of the type to determine if they are valid.
 10245  func (s *CreateResourcePolicyInput) Validate() error {
 10246  	invalidParams := request.ErrInvalidParams{Context: "CreateResourcePolicyInput"}
 10247  	if s.Policy == nil {
 10248  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 10249  	}
 10250  	if s.Policy != nil && len(*s.Policy) < 2 {
 10251  		invalidParams.Add(request.NewErrParamMinLen("Policy", 2))
 10252  	}
 10253  	if s.ResourceArn == nil {
 10254  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10255  	}
 10256  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10257  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10258  	}
 10259  
 10260  	if invalidParams.Len() > 0 {
 10261  		return invalidParams
 10262  	}
 10263  	return nil
 10264  }
 10265  
 10266  // SetPolicy sets the Policy field's value.
 10267  func (s *CreateResourcePolicyInput) SetPolicy(v string) *CreateResourcePolicyInput {
 10268  	s.Policy = &v
 10269  	return s
 10270  }
 10271  
 10272  // SetResourceArn sets the ResourceArn field's value.
 10273  func (s *CreateResourcePolicyInput) SetResourceArn(v string) *CreateResourcePolicyInput {
 10274  	s.ResourceArn = &v
 10275  	return s
 10276  }
 10277  
 10278  type CreateResourcePolicyOutput struct {
 10279  	_ struct{} `type:"structure"`
 10280  
 10281  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 10282  	// policy was attached to.
 10283  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 10284  
 10285  	// The current revision of the resource policy. Use the revision ID to make
 10286  	// sure that you are updating the most current version of a resource policy
 10287  	// when you add a policy statement to a resource, delete a resource, or update
 10288  	// a resource.
 10289  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 10290  }
 10291  
 10292  // String returns the string representation.
 10293  //
 10294  // API parameter values that are decorated as "sensitive" in the API will not
 10295  // be included in the string output. The member name will be present, but the
 10296  // value will be replaced with "sensitive".
 10297  func (s CreateResourcePolicyOutput) String() string {
 10298  	return awsutil.Prettify(s)
 10299  }
 10300  
 10301  // GoString returns the string representation.
 10302  //
 10303  // API parameter values that are decorated as "sensitive" in the API will not
 10304  // be included in the string output. The member name will be present, but the
 10305  // value will be replaced with "sensitive".
 10306  func (s CreateResourcePolicyOutput) GoString() string {
 10307  	return s.String()
 10308  }
 10309  
 10310  // SetResourceArn sets the ResourceArn field's value.
 10311  func (s *CreateResourcePolicyOutput) SetResourceArn(v string) *CreateResourcePolicyOutput {
 10312  	s.ResourceArn = &v
 10313  	return s
 10314  }
 10315  
 10316  // SetRevisionId sets the RevisionId field's value.
 10317  func (s *CreateResourcePolicyOutput) SetRevisionId(v string) *CreateResourcePolicyOutput {
 10318  	s.RevisionId = &v
 10319  	return s
 10320  }
 10321  
 10322  type CreateResourcePolicyStatementInput struct {
 10323  	_ struct{} `type:"structure"`
 10324  
 10325  	// The Amazon Lex action that this policy either allows or denies. The action
 10326  	// must apply to the resource type of the specified ARN. For more information,
 10327  	// see Actions, resources, and condition keys for Amazon Lex V2 (https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlexv2.html).
 10328  	//
 10329  	// Action is a required field
 10330  	Action []*string `locationName:"action" type:"list" required:"true"`
 10331  
 10332  	// Specifies a condition when the policy is in effect. If the principal of the
 10333  	// policy is a service principal, you must provide two condition blocks, one
 10334  	// with a SourceAccount global condition key and one with a SourceArn global
 10335  	// condition key.
 10336  	//
 10337  	// For more information, see IAM JSON policy elements: Condition (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html).
 10338  	Condition map[string]map[string]*string `locationName:"condition" type:"map"`
 10339  
 10340  	// Determines whether the statement allows or denies access to the resource.
 10341  	//
 10342  	// Effect is a required field
 10343  	Effect *string `locationName:"effect" type:"string" required:"true" enum:"Effect"`
 10344  
 10345  	// The identifier of the revision of the policy to edit. If this revision ID
 10346  	// doesn't match the current revision ID, Amazon Lex throws an exception.
 10347  	//
 10348  	// If you don't specify a revision, Amazon Lex overwrites the contents of the
 10349  	// policy with the new values.
 10350  	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
 10351  
 10352  	// An IAM principal, such as an IAM users, IAM roles, or AWS services that is
 10353  	// allowed or denied access to a resource. For more information, see AWS JSON
 10354  	// policy elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).
 10355  	//
 10356  	// Principal is a required field
 10357  	Principal []*Principal `locationName:"principal" type:"list" required:"true"`
 10358  
 10359  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 10360  	// policy is attached to.
 10361  	//
 10362  	// ResourceArn is a required field
 10363  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 10364  
 10365  	// The name of the statement. The ID is the same as the Sid IAM property. The
 10366  	// statement name must be unique within the policy. For more information, see
 10367  	// IAM JSON policy elements: Sid (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html).
 10368  	//
 10369  	// StatementId is a required field
 10370  	StatementId *string `locationName:"statementId" min:"1" type:"string" required:"true"`
 10371  }
 10372  
 10373  // String returns the string representation.
 10374  //
 10375  // API parameter values that are decorated as "sensitive" in the API will not
 10376  // be included in the string output. The member name will be present, but the
 10377  // value will be replaced with "sensitive".
 10378  func (s CreateResourcePolicyStatementInput) String() string {
 10379  	return awsutil.Prettify(s)
 10380  }
 10381  
 10382  // GoString returns the string representation.
 10383  //
 10384  // API parameter values that are decorated as "sensitive" in the API will not
 10385  // be included in the string output. The member name will be present, but the
 10386  // value will be replaced with "sensitive".
 10387  func (s CreateResourcePolicyStatementInput) GoString() string {
 10388  	return s.String()
 10389  }
 10390  
 10391  // Validate inspects the fields of the type to determine if they are valid.
 10392  func (s *CreateResourcePolicyStatementInput) Validate() error {
 10393  	invalidParams := request.ErrInvalidParams{Context: "CreateResourcePolicyStatementInput"}
 10394  	if s.Action == nil {
 10395  		invalidParams.Add(request.NewErrParamRequired("Action"))
 10396  	}
 10397  	if s.Effect == nil {
 10398  		invalidParams.Add(request.NewErrParamRequired("Effect"))
 10399  	}
 10400  	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
 10401  		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
 10402  	}
 10403  	if s.Principal == nil {
 10404  		invalidParams.Add(request.NewErrParamRequired("Principal"))
 10405  	}
 10406  	if s.ResourceArn == nil {
 10407  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10408  	}
 10409  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10410  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10411  	}
 10412  	if s.StatementId == nil {
 10413  		invalidParams.Add(request.NewErrParamRequired("StatementId"))
 10414  	}
 10415  	if s.StatementId != nil && len(*s.StatementId) < 1 {
 10416  		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
 10417  	}
 10418  	if s.Principal != nil {
 10419  		for i, v := range s.Principal {
 10420  			if v == nil {
 10421  				continue
 10422  			}
 10423  			if err := v.Validate(); err != nil {
 10424  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Principal", i), err.(request.ErrInvalidParams))
 10425  			}
 10426  		}
 10427  	}
 10428  
 10429  	if invalidParams.Len() > 0 {
 10430  		return invalidParams
 10431  	}
 10432  	return nil
 10433  }
 10434  
 10435  // SetAction sets the Action field's value.
 10436  func (s *CreateResourcePolicyStatementInput) SetAction(v []*string) *CreateResourcePolicyStatementInput {
 10437  	s.Action = v
 10438  	return s
 10439  }
 10440  
 10441  // SetCondition sets the Condition field's value.
 10442  func (s *CreateResourcePolicyStatementInput) SetCondition(v map[string]map[string]*string) *CreateResourcePolicyStatementInput {
 10443  	s.Condition = v
 10444  	return s
 10445  }
 10446  
 10447  // SetEffect sets the Effect field's value.
 10448  func (s *CreateResourcePolicyStatementInput) SetEffect(v string) *CreateResourcePolicyStatementInput {
 10449  	s.Effect = &v
 10450  	return s
 10451  }
 10452  
 10453  // SetExpectedRevisionId sets the ExpectedRevisionId field's value.
 10454  func (s *CreateResourcePolicyStatementInput) SetExpectedRevisionId(v string) *CreateResourcePolicyStatementInput {
 10455  	s.ExpectedRevisionId = &v
 10456  	return s
 10457  }
 10458  
 10459  // SetPrincipal sets the Principal field's value.
 10460  func (s *CreateResourcePolicyStatementInput) SetPrincipal(v []*Principal) *CreateResourcePolicyStatementInput {
 10461  	s.Principal = v
 10462  	return s
 10463  }
 10464  
 10465  // SetResourceArn sets the ResourceArn field's value.
 10466  func (s *CreateResourcePolicyStatementInput) SetResourceArn(v string) *CreateResourcePolicyStatementInput {
 10467  	s.ResourceArn = &v
 10468  	return s
 10469  }
 10470  
 10471  // SetStatementId sets the StatementId field's value.
 10472  func (s *CreateResourcePolicyStatementInput) SetStatementId(v string) *CreateResourcePolicyStatementInput {
 10473  	s.StatementId = &v
 10474  	return s
 10475  }
 10476  
 10477  type CreateResourcePolicyStatementOutput struct {
 10478  	_ struct{} `type:"structure"`
 10479  
 10480  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 10481  	// policy is attached to.
 10482  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 10483  
 10484  	// The current revision of the resource policy. Use the revision ID to make
 10485  	// sure that you are updating the most current version of a resource policy
 10486  	// when you add a policy statement to a resource, delete a resource, or update
 10487  	// a resource.
 10488  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 10489  }
 10490  
 10491  // String returns the string representation.
 10492  //
 10493  // API parameter values that are decorated as "sensitive" in the API will not
 10494  // be included in the string output. The member name will be present, but the
 10495  // value will be replaced with "sensitive".
 10496  func (s CreateResourcePolicyStatementOutput) String() string {
 10497  	return awsutil.Prettify(s)
 10498  }
 10499  
 10500  // GoString returns the string representation.
 10501  //
 10502  // API parameter values that are decorated as "sensitive" in the API will not
 10503  // be included in the string output. The member name will be present, but the
 10504  // value will be replaced with "sensitive".
 10505  func (s CreateResourcePolicyStatementOutput) GoString() string {
 10506  	return s.String()
 10507  }
 10508  
 10509  // SetResourceArn sets the ResourceArn field's value.
 10510  func (s *CreateResourcePolicyStatementOutput) SetResourceArn(v string) *CreateResourcePolicyStatementOutput {
 10511  	s.ResourceArn = &v
 10512  	return s
 10513  }
 10514  
 10515  // SetRevisionId sets the RevisionId field's value.
 10516  func (s *CreateResourcePolicyStatementOutput) SetRevisionId(v string) *CreateResourcePolicyStatementOutput {
 10517  	s.RevisionId = &v
 10518  	return s
 10519  }
 10520  
 10521  type CreateSlotInput struct {
 10522  	_ struct{} `type:"structure"`
 10523  
 10524  	// The identifier of the bot associated with the slot.
 10525  	//
 10526  	// BotId is a required field
 10527  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 10528  
 10529  	// The version of the bot associated with the slot.
 10530  	//
 10531  	// BotVersion is a required field
 10532  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 10533  
 10534  	// A description of the slot. Use this to help identify the slot in lists.
 10535  	Description *string `locationName:"description" type:"string"`
 10536  
 10537  	// The identifier of the intent that contains the slot.
 10538  	//
 10539  	// IntentId is a required field
 10540  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 10541  
 10542  	// The identifier of the language and locale that the slot will be used in.
 10543  	// The string must match one of the supported locales. All of the bots, intents,
 10544  	// slot types used by the slot must have the same locale. For more information,
 10545  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 10546  	//
 10547  	// LocaleId is a required field
 10548  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 10549  
 10550  	// Indicates whether the slot returns multiple values in one response. Multi-value
 10551  	// slots are only available in the en-US locale. If you set this value to true
 10552  	// in any other locale, Amazon Lex throws a ValidationException.
 10553  	//
 10554  	// If the multipleValuesSetting is not set, the default value is false.
 10555  	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
 10556  
 10557  	// Determines how slot values are used in Amazon CloudWatch logs. If the value
 10558  	// of the obfuscationSetting parameter is DefaultObfuscation, slot values are
 10559  	// obfuscated in the log output. If the value is None, the actual value is present
 10560  	// in the log output.
 10561  	//
 10562  	// The default is to obfuscate values in the CloudWatch logs.
 10563  	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
 10564  
 10565  	// The name of the slot. Slot names must be unique within the bot that contains
 10566  	// the slot.
 10567  	//
 10568  	// SlotName is a required field
 10569  	SlotName *string `locationName:"slotName" min:"1" type:"string" required:"true"`
 10570  
 10571  	// The unique identifier for the slot type associated with this slot. The slot
 10572  	// type determines the values that can be entered into the slot.
 10573  	//
 10574  	// SlotTypeId is a required field
 10575  	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string" required:"true"`
 10576  
 10577  	// Specifies prompts that Amazon Lex sends to the user to elicit a response
 10578  	// that provides the value for the slot.
 10579  	//
 10580  	// ValueElicitationSetting is a required field
 10581  	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure" required:"true"`
 10582  }
 10583  
 10584  // String returns the string representation.
 10585  //
 10586  // API parameter values that are decorated as "sensitive" in the API will not
 10587  // be included in the string output. The member name will be present, but the
 10588  // value will be replaced with "sensitive".
 10589  func (s CreateSlotInput) String() string {
 10590  	return awsutil.Prettify(s)
 10591  }
 10592  
 10593  // GoString returns the string representation.
 10594  //
 10595  // API parameter values that are decorated as "sensitive" in the API will not
 10596  // be included in the string output. The member name will be present, but the
 10597  // value will be replaced with "sensitive".
 10598  func (s CreateSlotInput) GoString() string {
 10599  	return s.String()
 10600  }
 10601  
 10602  // Validate inspects the fields of the type to determine if they are valid.
 10603  func (s *CreateSlotInput) Validate() error {
 10604  	invalidParams := request.ErrInvalidParams{Context: "CreateSlotInput"}
 10605  	if s.BotId == nil {
 10606  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 10607  	}
 10608  	if s.BotId != nil && len(*s.BotId) < 10 {
 10609  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 10610  	}
 10611  	if s.BotVersion == nil {
 10612  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 10613  	}
 10614  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 10615  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 10616  	}
 10617  	if s.IntentId == nil {
 10618  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 10619  	}
 10620  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 10621  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 10622  	}
 10623  	if s.LocaleId == nil {
 10624  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 10625  	}
 10626  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 10627  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 10628  	}
 10629  	if s.SlotName == nil {
 10630  		invalidParams.Add(request.NewErrParamRequired("SlotName"))
 10631  	}
 10632  	if s.SlotName != nil && len(*s.SlotName) < 1 {
 10633  		invalidParams.Add(request.NewErrParamMinLen("SlotName", 1))
 10634  	}
 10635  	if s.SlotTypeId == nil {
 10636  		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
 10637  	}
 10638  	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 1 {
 10639  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 1))
 10640  	}
 10641  	if s.ValueElicitationSetting == nil {
 10642  		invalidParams.Add(request.NewErrParamRequired("ValueElicitationSetting"))
 10643  	}
 10644  	if s.ObfuscationSetting != nil {
 10645  		if err := s.ObfuscationSetting.Validate(); err != nil {
 10646  			invalidParams.AddNested("ObfuscationSetting", err.(request.ErrInvalidParams))
 10647  		}
 10648  	}
 10649  	if s.ValueElicitationSetting != nil {
 10650  		if err := s.ValueElicitationSetting.Validate(); err != nil {
 10651  			invalidParams.AddNested("ValueElicitationSetting", err.(request.ErrInvalidParams))
 10652  		}
 10653  	}
 10654  
 10655  	if invalidParams.Len() > 0 {
 10656  		return invalidParams
 10657  	}
 10658  	return nil
 10659  }
 10660  
 10661  // SetBotId sets the BotId field's value.
 10662  func (s *CreateSlotInput) SetBotId(v string) *CreateSlotInput {
 10663  	s.BotId = &v
 10664  	return s
 10665  }
 10666  
 10667  // SetBotVersion sets the BotVersion field's value.
 10668  func (s *CreateSlotInput) SetBotVersion(v string) *CreateSlotInput {
 10669  	s.BotVersion = &v
 10670  	return s
 10671  }
 10672  
 10673  // SetDescription sets the Description field's value.
 10674  func (s *CreateSlotInput) SetDescription(v string) *CreateSlotInput {
 10675  	s.Description = &v
 10676  	return s
 10677  }
 10678  
 10679  // SetIntentId sets the IntentId field's value.
 10680  func (s *CreateSlotInput) SetIntentId(v string) *CreateSlotInput {
 10681  	s.IntentId = &v
 10682  	return s
 10683  }
 10684  
 10685  // SetLocaleId sets the LocaleId field's value.
 10686  func (s *CreateSlotInput) SetLocaleId(v string) *CreateSlotInput {
 10687  	s.LocaleId = &v
 10688  	return s
 10689  }
 10690  
 10691  // SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
 10692  func (s *CreateSlotInput) SetMultipleValuesSetting(v *MultipleValuesSetting) *CreateSlotInput {
 10693  	s.MultipleValuesSetting = v
 10694  	return s
 10695  }
 10696  
 10697  // SetObfuscationSetting sets the ObfuscationSetting field's value.
 10698  func (s *CreateSlotInput) SetObfuscationSetting(v *ObfuscationSetting) *CreateSlotInput {
 10699  	s.ObfuscationSetting = v
 10700  	return s
 10701  }
 10702  
 10703  // SetSlotName sets the SlotName field's value.
 10704  func (s *CreateSlotInput) SetSlotName(v string) *CreateSlotInput {
 10705  	s.SlotName = &v
 10706  	return s
 10707  }
 10708  
 10709  // SetSlotTypeId sets the SlotTypeId field's value.
 10710  func (s *CreateSlotInput) SetSlotTypeId(v string) *CreateSlotInput {
 10711  	s.SlotTypeId = &v
 10712  	return s
 10713  }
 10714  
 10715  // SetValueElicitationSetting sets the ValueElicitationSetting field's value.
 10716  func (s *CreateSlotInput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *CreateSlotInput {
 10717  	s.ValueElicitationSetting = v
 10718  	return s
 10719  }
 10720  
 10721  type CreateSlotOutput struct {
 10722  	_ struct{} `type:"structure"`
 10723  
 10724  	// The unique identifier of the bot associated with the slot.
 10725  	BotId *string `locationName:"botId" min:"10" type:"string"`
 10726  
 10727  	// The version of the bot associated with the slot.
 10728  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 10729  
 10730  	// The timestamp of the date and time that the slot was created.
 10731  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 10732  
 10733  	// The description associated with the slot.
 10734  	Description *string `locationName:"description" type:"string"`
 10735  
 10736  	// The unique identifier of the intent associated with the slot.
 10737  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 10738  
 10739  	// The language and local specified for the slot.
 10740  	LocaleId *string `locationName:"localeId" type:"string"`
 10741  
 10742  	// Indicates whether the slot returns multiple values in one response.
 10743  	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
 10744  
 10745  	// Indicates whether the slot is configured to obfuscate values in Amazon CloudWatch
 10746  	// logs.
 10747  	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
 10748  
 10749  	// The unique identifier associated with the slot. Use this to identify the
 10750  	// slot when you update or delete it.
 10751  	SlotId *string `locationName:"slotId" min:"10" type:"string"`
 10752  
 10753  	// The name specified for the slot.
 10754  	SlotName *string `locationName:"slotName" min:"1" type:"string"`
 10755  
 10756  	// The unique identifier of the slot type associated with this slot.
 10757  	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
 10758  
 10759  	// The value elicitation settings specified for the slot.
 10760  	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
 10761  }
 10762  
 10763  // String returns the string representation.
 10764  //
 10765  // API parameter values that are decorated as "sensitive" in the API will not
 10766  // be included in the string output. The member name will be present, but the
 10767  // value will be replaced with "sensitive".
 10768  func (s CreateSlotOutput) String() string {
 10769  	return awsutil.Prettify(s)
 10770  }
 10771  
 10772  // GoString returns the string representation.
 10773  //
 10774  // API parameter values that are decorated as "sensitive" in the API will not
 10775  // be included in the string output. The member name will be present, but the
 10776  // value will be replaced with "sensitive".
 10777  func (s CreateSlotOutput) GoString() string {
 10778  	return s.String()
 10779  }
 10780  
 10781  // SetBotId sets the BotId field's value.
 10782  func (s *CreateSlotOutput) SetBotId(v string) *CreateSlotOutput {
 10783  	s.BotId = &v
 10784  	return s
 10785  }
 10786  
 10787  // SetBotVersion sets the BotVersion field's value.
 10788  func (s *CreateSlotOutput) SetBotVersion(v string) *CreateSlotOutput {
 10789  	s.BotVersion = &v
 10790  	return s
 10791  }
 10792  
 10793  // SetCreationDateTime sets the CreationDateTime field's value.
 10794  func (s *CreateSlotOutput) SetCreationDateTime(v time.Time) *CreateSlotOutput {
 10795  	s.CreationDateTime = &v
 10796  	return s
 10797  }
 10798  
 10799  // SetDescription sets the Description field's value.
 10800  func (s *CreateSlotOutput) SetDescription(v string) *CreateSlotOutput {
 10801  	s.Description = &v
 10802  	return s
 10803  }
 10804  
 10805  // SetIntentId sets the IntentId field's value.
 10806  func (s *CreateSlotOutput) SetIntentId(v string) *CreateSlotOutput {
 10807  	s.IntentId = &v
 10808  	return s
 10809  }
 10810  
 10811  // SetLocaleId sets the LocaleId field's value.
 10812  func (s *CreateSlotOutput) SetLocaleId(v string) *CreateSlotOutput {
 10813  	s.LocaleId = &v
 10814  	return s
 10815  }
 10816  
 10817  // SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
 10818  func (s *CreateSlotOutput) SetMultipleValuesSetting(v *MultipleValuesSetting) *CreateSlotOutput {
 10819  	s.MultipleValuesSetting = v
 10820  	return s
 10821  }
 10822  
 10823  // SetObfuscationSetting sets the ObfuscationSetting field's value.
 10824  func (s *CreateSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *CreateSlotOutput {
 10825  	s.ObfuscationSetting = v
 10826  	return s
 10827  }
 10828  
 10829  // SetSlotId sets the SlotId field's value.
 10830  func (s *CreateSlotOutput) SetSlotId(v string) *CreateSlotOutput {
 10831  	s.SlotId = &v
 10832  	return s
 10833  }
 10834  
 10835  // SetSlotName sets the SlotName field's value.
 10836  func (s *CreateSlotOutput) SetSlotName(v string) *CreateSlotOutput {
 10837  	s.SlotName = &v
 10838  	return s
 10839  }
 10840  
 10841  // SetSlotTypeId sets the SlotTypeId field's value.
 10842  func (s *CreateSlotOutput) SetSlotTypeId(v string) *CreateSlotOutput {
 10843  	s.SlotTypeId = &v
 10844  	return s
 10845  }
 10846  
 10847  // SetValueElicitationSetting sets the ValueElicitationSetting field's value.
 10848  func (s *CreateSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *CreateSlotOutput {
 10849  	s.ValueElicitationSetting = v
 10850  	return s
 10851  }
 10852  
 10853  type CreateSlotTypeInput struct {
 10854  	_ struct{} `type:"structure"`
 10855  
 10856  	// The identifier of the bot associated with this slot type.
 10857  	//
 10858  	// BotId is a required field
 10859  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 10860  
 10861  	// The identifier of the bot version associated with this slot type.
 10862  	//
 10863  	// BotVersion is a required field
 10864  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 10865  
 10866  	// A description of the slot type. Use the description to help identify the
 10867  	// slot type in lists.
 10868  	Description *string `locationName:"description" type:"string"`
 10869  
 10870  	// The identifier of the language and locale that the slot type will be used
 10871  	// in. The string must match one of the supported locales. All of the bots,
 10872  	// intents, and slots used by the slot type must have the same locale. For more
 10873  	// information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 10874  	//
 10875  	// LocaleId is a required field
 10876  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 10877  
 10878  	// The built-in slot type used as a parent of this slot type. When you define
 10879  	// a parent slot type, the new slot type has the configuration of the parent
 10880  	// slot type.
 10881  	//
 10882  	// Only AMAZON.AlphaNumeric is supported.
 10883  	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
 10884  
 10885  	// The name for the slot. A slot type name must be unique within the account.
 10886  	//
 10887  	// SlotTypeName is a required field
 10888  	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string" required:"true"`
 10889  
 10890  	// A list of SlotTypeValue objects that defines the values that the slot type
 10891  	// can take. Each value can have a list of synonyms, additional values that
 10892  	// help train the machine learning model about the values that it resolves for
 10893  	// a slot.
 10894  	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
 10895  
 10896  	// Determines the strategy that Amazon Lex uses to select a value from the list
 10897  	// of possible values. The field can be set to one of the following values:
 10898  	//
 10899  	//    * OriginalValue - Returns the value entered by the user, if the user value
 10900  	//    is similar to the slot value.
 10901  	//
 10902  	//    * TopResolution - If there is a resolution list for the slot, return the
 10903  	//    first value in the resolution list. If there is no resolution list, return
 10904  	//    null.
 10905  	//
 10906  	// If you don't specify the valueSelectionSetting parameter, the default is
 10907  	// OriginalValue.
 10908  	//
 10909  	// ValueSelectionSetting is a required field
 10910  	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure" required:"true"`
 10911  }
 10912  
 10913  // String returns the string representation.
 10914  //
 10915  // API parameter values that are decorated as "sensitive" in the API will not
 10916  // be included in the string output. The member name will be present, but the
 10917  // value will be replaced with "sensitive".
 10918  func (s CreateSlotTypeInput) String() string {
 10919  	return awsutil.Prettify(s)
 10920  }
 10921  
 10922  // GoString returns the string representation.
 10923  //
 10924  // API parameter values that are decorated as "sensitive" in the API will not
 10925  // be included in the string output. The member name will be present, but the
 10926  // value will be replaced with "sensitive".
 10927  func (s CreateSlotTypeInput) GoString() string {
 10928  	return s.String()
 10929  }
 10930  
 10931  // Validate inspects the fields of the type to determine if they are valid.
 10932  func (s *CreateSlotTypeInput) Validate() error {
 10933  	invalidParams := request.ErrInvalidParams{Context: "CreateSlotTypeInput"}
 10934  	if s.BotId == nil {
 10935  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 10936  	}
 10937  	if s.BotId != nil && len(*s.BotId) < 10 {
 10938  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 10939  	}
 10940  	if s.BotVersion == nil {
 10941  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 10942  	}
 10943  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 10944  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 10945  	}
 10946  	if s.LocaleId == nil {
 10947  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 10948  	}
 10949  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 10950  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 10951  	}
 10952  	if s.SlotTypeName == nil {
 10953  		invalidParams.Add(request.NewErrParamRequired("SlotTypeName"))
 10954  	}
 10955  	if s.SlotTypeName != nil && len(*s.SlotTypeName) < 1 {
 10956  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeName", 1))
 10957  	}
 10958  	if s.SlotTypeValues != nil && len(s.SlotTypeValues) < 1 {
 10959  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeValues", 1))
 10960  	}
 10961  	if s.ValueSelectionSetting == nil {
 10962  		invalidParams.Add(request.NewErrParamRequired("ValueSelectionSetting"))
 10963  	}
 10964  	if s.SlotTypeValues != nil {
 10965  		for i, v := range s.SlotTypeValues {
 10966  			if v == nil {
 10967  				continue
 10968  			}
 10969  			if err := v.Validate(); err != nil {
 10970  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotTypeValues", i), err.(request.ErrInvalidParams))
 10971  			}
 10972  		}
 10973  	}
 10974  	if s.ValueSelectionSetting != nil {
 10975  		if err := s.ValueSelectionSetting.Validate(); err != nil {
 10976  			invalidParams.AddNested("ValueSelectionSetting", err.(request.ErrInvalidParams))
 10977  		}
 10978  	}
 10979  
 10980  	if invalidParams.Len() > 0 {
 10981  		return invalidParams
 10982  	}
 10983  	return nil
 10984  }
 10985  
 10986  // SetBotId sets the BotId field's value.
 10987  func (s *CreateSlotTypeInput) SetBotId(v string) *CreateSlotTypeInput {
 10988  	s.BotId = &v
 10989  	return s
 10990  }
 10991  
 10992  // SetBotVersion sets the BotVersion field's value.
 10993  func (s *CreateSlotTypeInput) SetBotVersion(v string) *CreateSlotTypeInput {
 10994  	s.BotVersion = &v
 10995  	return s
 10996  }
 10997  
 10998  // SetDescription sets the Description field's value.
 10999  func (s *CreateSlotTypeInput) SetDescription(v string) *CreateSlotTypeInput {
 11000  	s.Description = &v
 11001  	return s
 11002  }
 11003  
 11004  // SetLocaleId sets the LocaleId field's value.
 11005  func (s *CreateSlotTypeInput) SetLocaleId(v string) *CreateSlotTypeInput {
 11006  	s.LocaleId = &v
 11007  	return s
 11008  }
 11009  
 11010  // SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
 11011  func (s *CreateSlotTypeInput) SetParentSlotTypeSignature(v string) *CreateSlotTypeInput {
 11012  	s.ParentSlotTypeSignature = &v
 11013  	return s
 11014  }
 11015  
 11016  // SetSlotTypeName sets the SlotTypeName field's value.
 11017  func (s *CreateSlotTypeInput) SetSlotTypeName(v string) *CreateSlotTypeInput {
 11018  	s.SlotTypeName = &v
 11019  	return s
 11020  }
 11021  
 11022  // SetSlotTypeValues sets the SlotTypeValues field's value.
 11023  func (s *CreateSlotTypeInput) SetSlotTypeValues(v []*SlotTypeValue) *CreateSlotTypeInput {
 11024  	s.SlotTypeValues = v
 11025  	return s
 11026  }
 11027  
 11028  // SetValueSelectionSetting sets the ValueSelectionSetting field's value.
 11029  func (s *CreateSlotTypeInput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *CreateSlotTypeInput {
 11030  	s.ValueSelectionSetting = v
 11031  	return s
 11032  }
 11033  
 11034  type CreateSlotTypeOutput struct {
 11035  	_ struct{} `type:"structure"`
 11036  
 11037  	// The identifier for the bot associated with the slot type.
 11038  	BotId *string `locationName:"botId" min:"10" type:"string"`
 11039  
 11040  	// The version of the bot associated with the slot type.
 11041  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 11042  
 11043  	// A timestamp of the date and time that the slot type was created.
 11044  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 11045  
 11046  	// The description specified for the slot type.
 11047  	Description *string `locationName:"description" type:"string"`
 11048  
 11049  	// The specified language and local specified for the slot type.
 11050  	LocaleId *string `locationName:"localeId" type:"string"`
 11051  
 11052  	// The signature of the base slot type specified for the slot type.
 11053  	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
 11054  
 11055  	// The unique identifier assigned to the slot type. Use this to identify the
 11056  	// slot type in the UpdateSlotType and DeleteSlotType operations.
 11057  	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
 11058  
 11059  	// The name specified for the slot type.
 11060  	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
 11061  
 11062  	// The list of values that the slot type can assume.
 11063  	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
 11064  
 11065  	// The strategy that Amazon Lex uses to select a value from the list of possible
 11066  	// values.
 11067  	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
 11068  }
 11069  
 11070  // String returns the string representation.
 11071  //
 11072  // API parameter values that are decorated as "sensitive" in the API will not
 11073  // be included in the string output. The member name will be present, but the
 11074  // value will be replaced with "sensitive".
 11075  func (s CreateSlotTypeOutput) String() string {
 11076  	return awsutil.Prettify(s)
 11077  }
 11078  
 11079  // GoString returns the string representation.
 11080  //
 11081  // API parameter values that are decorated as "sensitive" in the API will not
 11082  // be included in the string output. The member name will be present, but the
 11083  // value will be replaced with "sensitive".
 11084  func (s CreateSlotTypeOutput) GoString() string {
 11085  	return s.String()
 11086  }
 11087  
 11088  // SetBotId sets the BotId field's value.
 11089  func (s *CreateSlotTypeOutput) SetBotId(v string) *CreateSlotTypeOutput {
 11090  	s.BotId = &v
 11091  	return s
 11092  }
 11093  
 11094  // SetBotVersion sets the BotVersion field's value.
 11095  func (s *CreateSlotTypeOutput) SetBotVersion(v string) *CreateSlotTypeOutput {
 11096  	s.BotVersion = &v
 11097  	return s
 11098  }
 11099  
 11100  // SetCreationDateTime sets the CreationDateTime field's value.
 11101  func (s *CreateSlotTypeOutput) SetCreationDateTime(v time.Time) *CreateSlotTypeOutput {
 11102  	s.CreationDateTime = &v
 11103  	return s
 11104  }
 11105  
 11106  // SetDescription sets the Description field's value.
 11107  func (s *CreateSlotTypeOutput) SetDescription(v string) *CreateSlotTypeOutput {
 11108  	s.Description = &v
 11109  	return s
 11110  }
 11111  
 11112  // SetLocaleId sets the LocaleId field's value.
 11113  func (s *CreateSlotTypeOutput) SetLocaleId(v string) *CreateSlotTypeOutput {
 11114  	s.LocaleId = &v
 11115  	return s
 11116  }
 11117  
 11118  // SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
 11119  func (s *CreateSlotTypeOutput) SetParentSlotTypeSignature(v string) *CreateSlotTypeOutput {
 11120  	s.ParentSlotTypeSignature = &v
 11121  	return s
 11122  }
 11123  
 11124  // SetSlotTypeId sets the SlotTypeId field's value.
 11125  func (s *CreateSlotTypeOutput) SetSlotTypeId(v string) *CreateSlotTypeOutput {
 11126  	s.SlotTypeId = &v
 11127  	return s
 11128  }
 11129  
 11130  // SetSlotTypeName sets the SlotTypeName field's value.
 11131  func (s *CreateSlotTypeOutput) SetSlotTypeName(v string) *CreateSlotTypeOutput {
 11132  	s.SlotTypeName = &v
 11133  	return s
 11134  }
 11135  
 11136  // SetSlotTypeValues sets the SlotTypeValues field's value.
 11137  func (s *CreateSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *CreateSlotTypeOutput {
 11138  	s.SlotTypeValues = v
 11139  	return s
 11140  }
 11141  
 11142  // SetValueSelectionSetting sets the ValueSelectionSetting field's value.
 11143  func (s *CreateSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *CreateSlotTypeOutput {
 11144  	s.ValueSelectionSetting = v
 11145  	return s
 11146  }
 11147  
 11148  type CreateUploadUrlInput struct {
 11149  	_ struct{} `type:"structure" nopayload:"true"`
 11150  }
 11151  
 11152  // String returns the string representation.
 11153  //
 11154  // API parameter values that are decorated as "sensitive" in the API will not
 11155  // be included in the string output. The member name will be present, but the
 11156  // value will be replaced with "sensitive".
 11157  func (s CreateUploadUrlInput) String() string {
 11158  	return awsutil.Prettify(s)
 11159  }
 11160  
 11161  // GoString returns the string representation.
 11162  //
 11163  // API parameter values that are decorated as "sensitive" in the API will not
 11164  // be included in the string output. The member name will be present, but the
 11165  // value will be replaced with "sensitive".
 11166  func (s CreateUploadUrlInput) GoString() string {
 11167  	return s.String()
 11168  }
 11169  
 11170  type CreateUploadUrlOutput struct {
 11171  	_ struct{} `type:"structure"`
 11172  
 11173  	// An identifier for a unique import job. Use it when you call the operation.
 11174  	ImportId *string `locationName:"importId" min:"10" type:"string"`
 11175  
 11176  	// A pre-signed S3 write URL. Upload the zip archive file that contains the
 11177  	// definition of your bot or bot locale.
 11178  	UploadUrl *string `locationName:"uploadUrl" min:"1" type:"string"`
 11179  }
 11180  
 11181  // String returns the string representation.
 11182  //
 11183  // API parameter values that are decorated as "sensitive" in the API will not
 11184  // be included in the string output. The member name will be present, but the
 11185  // value will be replaced with "sensitive".
 11186  func (s CreateUploadUrlOutput) String() string {
 11187  	return awsutil.Prettify(s)
 11188  }
 11189  
 11190  // GoString returns the string representation.
 11191  //
 11192  // API parameter values that are decorated as "sensitive" in the API will not
 11193  // be included in the string output. The member name will be present, but the
 11194  // value will be replaced with "sensitive".
 11195  func (s CreateUploadUrlOutput) GoString() string {
 11196  	return s.String()
 11197  }
 11198  
 11199  // SetImportId sets the ImportId field's value.
 11200  func (s *CreateUploadUrlOutput) SetImportId(v string) *CreateUploadUrlOutput {
 11201  	s.ImportId = &v
 11202  	return s
 11203  }
 11204  
 11205  // SetUploadUrl sets the UploadUrl field's value.
 11206  func (s *CreateUploadUrlOutput) SetUploadUrl(v string) *CreateUploadUrlOutput {
 11207  	s.UploadUrl = &v
 11208  	return s
 11209  }
 11210  
 11211  // A custom response string that Amazon Lex sends to your application. You define
 11212  // the content and structure the string.
 11213  type CustomPayload struct {
 11214  	_ struct{} `type:"structure"`
 11215  
 11216  	// The string that is sent to your application.
 11217  	//
 11218  	// Value is a required field
 11219  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
 11220  }
 11221  
 11222  // String returns the string representation.
 11223  //
 11224  // API parameter values that are decorated as "sensitive" in the API will not
 11225  // be included in the string output. The member name will be present, but the
 11226  // value will be replaced with "sensitive".
 11227  func (s CustomPayload) String() string {
 11228  	return awsutil.Prettify(s)
 11229  }
 11230  
 11231  // GoString returns the string representation.
 11232  //
 11233  // API parameter values that are decorated as "sensitive" in the API will not
 11234  // be included in the string output. The member name will be present, but the
 11235  // value will be replaced with "sensitive".
 11236  func (s CustomPayload) GoString() string {
 11237  	return s.String()
 11238  }
 11239  
 11240  // Validate inspects the fields of the type to determine if they are valid.
 11241  func (s *CustomPayload) Validate() error {
 11242  	invalidParams := request.ErrInvalidParams{Context: "CustomPayload"}
 11243  	if s.Value == nil {
 11244  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11245  	}
 11246  	if s.Value != nil && len(*s.Value) < 1 {
 11247  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 11248  	}
 11249  
 11250  	if invalidParams.Len() > 0 {
 11251  		return invalidParams
 11252  	}
 11253  	return nil
 11254  }
 11255  
 11256  // SetValue sets the Value field's value.
 11257  func (s *CustomPayload) SetValue(v string) *CustomPayload {
 11258  	s.Value = &v
 11259  	return s
 11260  }
 11261  
 11262  // By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
 11263  // provides settings that determine how Amazon Lex handles special cases of
 11264  // securing the data for your bot.
 11265  type DataPrivacy struct {
 11266  	_ struct{} `type:"structure"`
 11267  
 11268  	// For each Amazon Lex bot created with the Amazon Lex Model Building Service,
 11269  	// you must specify whether your use of Amazon Lex is related to a website,
 11270  	// program, or other application that is directed or targeted, in whole or in
 11271  	// part, to children under age 13 and subject to the Children's Online Privacy
 11272  	// Protection Act (COPPA) by specifying true or false in the childDirected field.
 11273  	// By specifying true in the childDirected field, you confirm that your use
 11274  	// of Amazon Lex is related to a website, program, or other application that
 11275  	// is directed or targeted, in whole or in part, to children under age 13 and
 11276  	// subject to COPPA. By specifying false in the childDirected field, you confirm
 11277  	// that your use of Amazon Lex is not related to a website, program, or other
 11278  	// application that is directed or targeted, in whole or in part, to children
 11279  	// under age 13 and subject to COPPA. You may not specify a default value for
 11280  	// the childDirected field that does not accurately reflect whether your use
 11281  	// of Amazon Lex is related to a website, program, or other application that
 11282  	// is directed or targeted, in whole or in part, to children under age 13 and
 11283  	// subject to COPPA. If your use of Amazon Lex relates to a website, program,
 11284  	// or other application that is directed in whole or in part, to children under
 11285  	// age 13, you must obtain any required verifiable parental consent under COPPA.
 11286  	// For information regarding the use of Amazon Lex in connection with websites,
 11287  	// programs, or other applications that are directed or targeted, in whole or
 11288  	// in part, to children under age 13, see the Amazon Lex FAQ (https://aws.amazon.com/lex/faqs#data-security).
 11289  	//
 11290  	// ChildDirected is a required field
 11291  	ChildDirected *bool `locationName:"childDirected" type:"boolean" required:"true"`
 11292  }
 11293  
 11294  // String returns the string representation.
 11295  //
 11296  // API parameter values that are decorated as "sensitive" in the API will not
 11297  // be included in the string output. The member name will be present, but the
 11298  // value will be replaced with "sensitive".
 11299  func (s DataPrivacy) String() string {
 11300  	return awsutil.Prettify(s)
 11301  }
 11302  
 11303  // GoString returns the string representation.
 11304  //
 11305  // API parameter values that are decorated as "sensitive" in the API will not
 11306  // be included in the string output. The member name will be present, but the
 11307  // value will be replaced with "sensitive".
 11308  func (s DataPrivacy) GoString() string {
 11309  	return s.String()
 11310  }
 11311  
 11312  // Validate inspects the fields of the type to determine if they are valid.
 11313  func (s *DataPrivacy) Validate() error {
 11314  	invalidParams := request.ErrInvalidParams{Context: "DataPrivacy"}
 11315  	if s.ChildDirected == nil {
 11316  		invalidParams.Add(request.NewErrParamRequired("ChildDirected"))
 11317  	}
 11318  
 11319  	if invalidParams.Len() > 0 {
 11320  		return invalidParams
 11321  	}
 11322  	return nil
 11323  }
 11324  
 11325  // SetChildDirected sets the ChildDirected field's value.
 11326  func (s *DataPrivacy) SetChildDirected(v bool) *DataPrivacy {
 11327  	s.ChildDirected = &v
 11328  	return s
 11329  }
 11330  
 11331  type DeleteBotAliasInput struct {
 11332  	_ struct{} `type:"structure" nopayload:"true"`
 11333  
 11334  	// The unique identifier of the bot alias to delete.
 11335  	//
 11336  	// BotAliasId is a required field
 11337  	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
 11338  
 11339  	// The unique identifier of the bot associated with the alias to delete.
 11340  	//
 11341  	// BotId is a required field
 11342  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 11343  
 11344  	// When this parameter is true, Amazon Lex doesn't check to see if any other
 11345  	// resource is using the alias before it is deleted.
 11346  	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
 11347  }
 11348  
 11349  // String returns the string representation.
 11350  //
 11351  // API parameter values that are decorated as "sensitive" in the API will not
 11352  // be included in the string output. The member name will be present, but the
 11353  // value will be replaced with "sensitive".
 11354  func (s DeleteBotAliasInput) String() string {
 11355  	return awsutil.Prettify(s)
 11356  }
 11357  
 11358  // GoString returns the string representation.
 11359  //
 11360  // API parameter values that are decorated as "sensitive" in the API will not
 11361  // be included in the string output. The member name will be present, but the
 11362  // value will be replaced with "sensitive".
 11363  func (s DeleteBotAliasInput) GoString() string {
 11364  	return s.String()
 11365  }
 11366  
 11367  // Validate inspects the fields of the type to determine if they are valid.
 11368  func (s *DeleteBotAliasInput) Validate() error {
 11369  	invalidParams := request.ErrInvalidParams{Context: "DeleteBotAliasInput"}
 11370  	if s.BotAliasId == nil {
 11371  		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
 11372  	}
 11373  	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
 11374  		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
 11375  	}
 11376  	if s.BotId == nil {
 11377  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 11378  	}
 11379  	if s.BotId != nil && len(*s.BotId) < 10 {
 11380  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 11381  	}
 11382  
 11383  	if invalidParams.Len() > 0 {
 11384  		return invalidParams
 11385  	}
 11386  	return nil
 11387  }
 11388  
 11389  // SetBotAliasId sets the BotAliasId field's value.
 11390  func (s *DeleteBotAliasInput) SetBotAliasId(v string) *DeleteBotAliasInput {
 11391  	s.BotAliasId = &v
 11392  	return s
 11393  }
 11394  
 11395  // SetBotId sets the BotId field's value.
 11396  func (s *DeleteBotAliasInput) SetBotId(v string) *DeleteBotAliasInput {
 11397  	s.BotId = &v
 11398  	return s
 11399  }
 11400  
 11401  // SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
 11402  func (s *DeleteBotAliasInput) SetSkipResourceInUseCheck(v bool) *DeleteBotAliasInput {
 11403  	s.SkipResourceInUseCheck = &v
 11404  	return s
 11405  }
 11406  
 11407  type DeleteBotAliasOutput struct {
 11408  	_ struct{} `type:"structure"`
 11409  
 11410  	// The unique identifier of the bot alias to delete.
 11411  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
 11412  
 11413  	// The current status of the alias. The status is Deleting while the alias is
 11414  	// in the process of being deleted. Once the alias is deleted, it will no longer
 11415  	// appear in the list of aliases returned by the ListBotAliases operation.
 11416  	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
 11417  
 11418  	// The unique identifier of the bot that contains the alias to delete.
 11419  	BotId *string `locationName:"botId" min:"10" type:"string"`
 11420  }
 11421  
 11422  // String returns the string representation.
 11423  //
 11424  // API parameter values that are decorated as "sensitive" in the API will not
 11425  // be included in the string output. The member name will be present, but the
 11426  // value will be replaced with "sensitive".
 11427  func (s DeleteBotAliasOutput) String() string {
 11428  	return awsutil.Prettify(s)
 11429  }
 11430  
 11431  // GoString returns the string representation.
 11432  //
 11433  // API parameter values that are decorated as "sensitive" in the API will not
 11434  // be included in the string output. The member name will be present, but the
 11435  // value will be replaced with "sensitive".
 11436  func (s DeleteBotAliasOutput) GoString() string {
 11437  	return s.String()
 11438  }
 11439  
 11440  // SetBotAliasId sets the BotAliasId field's value.
 11441  func (s *DeleteBotAliasOutput) SetBotAliasId(v string) *DeleteBotAliasOutput {
 11442  	s.BotAliasId = &v
 11443  	return s
 11444  }
 11445  
 11446  // SetBotAliasStatus sets the BotAliasStatus field's value.
 11447  func (s *DeleteBotAliasOutput) SetBotAliasStatus(v string) *DeleteBotAliasOutput {
 11448  	s.BotAliasStatus = &v
 11449  	return s
 11450  }
 11451  
 11452  // SetBotId sets the BotId field's value.
 11453  func (s *DeleteBotAliasOutput) SetBotId(v string) *DeleteBotAliasOutput {
 11454  	s.BotId = &v
 11455  	return s
 11456  }
 11457  
 11458  type DeleteBotInput struct {
 11459  	_ struct{} `type:"structure" nopayload:"true"`
 11460  
 11461  	// The identifier of the bot to delete.
 11462  	//
 11463  	// BotId is a required field
 11464  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 11465  
 11466  	// When true, Amazon Lex doesn't check to see if another resource, such as an
 11467  	// alias, is using the bot before it is deleted.
 11468  	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
 11469  }
 11470  
 11471  // String returns the string representation.
 11472  //
 11473  // API parameter values that are decorated as "sensitive" in the API will not
 11474  // be included in the string output. The member name will be present, but the
 11475  // value will be replaced with "sensitive".
 11476  func (s DeleteBotInput) String() string {
 11477  	return awsutil.Prettify(s)
 11478  }
 11479  
 11480  // GoString returns the string representation.
 11481  //
 11482  // API parameter values that are decorated as "sensitive" in the API will not
 11483  // be included in the string output. The member name will be present, but the
 11484  // value will be replaced with "sensitive".
 11485  func (s DeleteBotInput) GoString() string {
 11486  	return s.String()
 11487  }
 11488  
 11489  // Validate inspects the fields of the type to determine if they are valid.
 11490  func (s *DeleteBotInput) Validate() error {
 11491  	invalidParams := request.ErrInvalidParams{Context: "DeleteBotInput"}
 11492  	if s.BotId == nil {
 11493  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 11494  	}
 11495  	if s.BotId != nil && len(*s.BotId) < 10 {
 11496  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 11497  	}
 11498  
 11499  	if invalidParams.Len() > 0 {
 11500  		return invalidParams
 11501  	}
 11502  	return nil
 11503  }
 11504  
 11505  // SetBotId sets the BotId field's value.
 11506  func (s *DeleteBotInput) SetBotId(v string) *DeleteBotInput {
 11507  	s.BotId = &v
 11508  	return s
 11509  }
 11510  
 11511  // SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
 11512  func (s *DeleteBotInput) SetSkipResourceInUseCheck(v bool) *DeleteBotInput {
 11513  	s.SkipResourceInUseCheck = &v
 11514  	return s
 11515  }
 11516  
 11517  type DeleteBotLocaleInput struct {
 11518  	_ struct{} `type:"structure" nopayload:"true"`
 11519  
 11520  	// The unique identifier of the bot that contains the locale.
 11521  	//
 11522  	// BotId is a required field
 11523  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 11524  
 11525  	// The version of the bot that contains the locale.
 11526  	//
 11527  	// BotVersion is a required field
 11528  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 11529  
 11530  	// The identifier of the language and locale that will be deleted. The string
 11531  	// must match one of the supported locales. For more information, see Supported
 11532  	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 11533  	//
 11534  	// LocaleId is a required field
 11535  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 11536  }
 11537  
 11538  // String returns the string representation.
 11539  //
 11540  // API parameter values that are decorated as "sensitive" in the API will not
 11541  // be included in the string output. The member name will be present, but the
 11542  // value will be replaced with "sensitive".
 11543  func (s DeleteBotLocaleInput) String() string {
 11544  	return awsutil.Prettify(s)
 11545  }
 11546  
 11547  // GoString returns the string representation.
 11548  //
 11549  // API parameter values that are decorated as "sensitive" in the API will not
 11550  // be included in the string output. The member name will be present, but the
 11551  // value will be replaced with "sensitive".
 11552  func (s DeleteBotLocaleInput) GoString() string {
 11553  	return s.String()
 11554  }
 11555  
 11556  // Validate inspects the fields of the type to determine if they are valid.
 11557  func (s *DeleteBotLocaleInput) Validate() error {
 11558  	invalidParams := request.ErrInvalidParams{Context: "DeleteBotLocaleInput"}
 11559  	if s.BotId == nil {
 11560  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 11561  	}
 11562  	if s.BotId != nil && len(*s.BotId) < 10 {
 11563  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 11564  	}
 11565  	if s.BotVersion == nil {
 11566  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 11567  	}
 11568  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 11569  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 11570  	}
 11571  	if s.LocaleId == nil {
 11572  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 11573  	}
 11574  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 11575  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 11576  	}
 11577  
 11578  	if invalidParams.Len() > 0 {
 11579  		return invalidParams
 11580  	}
 11581  	return nil
 11582  }
 11583  
 11584  // SetBotId sets the BotId field's value.
 11585  func (s *DeleteBotLocaleInput) SetBotId(v string) *DeleteBotLocaleInput {
 11586  	s.BotId = &v
 11587  	return s
 11588  }
 11589  
 11590  // SetBotVersion sets the BotVersion field's value.
 11591  func (s *DeleteBotLocaleInput) SetBotVersion(v string) *DeleteBotLocaleInput {
 11592  	s.BotVersion = &v
 11593  	return s
 11594  }
 11595  
 11596  // SetLocaleId sets the LocaleId field's value.
 11597  func (s *DeleteBotLocaleInput) SetLocaleId(v string) *DeleteBotLocaleInput {
 11598  	s.LocaleId = &v
 11599  	return s
 11600  }
 11601  
 11602  type DeleteBotLocaleOutput struct {
 11603  	_ struct{} `type:"structure"`
 11604  
 11605  	// The identifier of the bot that contained the deleted locale.
 11606  	BotId *string `locationName:"botId" min:"10" type:"string"`
 11607  
 11608  	// The status of deleting the bot locale. The locale first enters the Deleting
 11609  	// status. Once the locale is deleted it no longer appears in the list of locales
 11610  	// for the bot.
 11611  	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
 11612  
 11613  	// The version of the bot that contained the deleted locale.
 11614  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 11615  
 11616  	// The language and locale of the deleted locale.
 11617  	LocaleId *string `locationName:"localeId" type:"string"`
 11618  }
 11619  
 11620  // String returns the string representation.
 11621  //
 11622  // API parameter values that are decorated as "sensitive" in the API will not
 11623  // be included in the string output. The member name will be present, but the
 11624  // value will be replaced with "sensitive".
 11625  func (s DeleteBotLocaleOutput) String() string {
 11626  	return awsutil.Prettify(s)
 11627  }
 11628  
 11629  // GoString returns the string representation.
 11630  //
 11631  // API parameter values that are decorated as "sensitive" in the API will not
 11632  // be included in the string output. The member name will be present, but the
 11633  // value will be replaced with "sensitive".
 11634  func (s DeleteBotLocaleOutput) GoString() string {
 11635  	return s.String()
 11636  }
 11637  
 11638  // SetBotId sets the BotId field's value.
 11639  func (s *DeleteBotLocaleOutput) SetBotId(v string) *DeleteBotLocaleOutput {
 11640  	s.BotId = &v
 11641  	return s
 11642  }
 11643  
 11644  // SetBotLocaleStatus sets the BotLocaleStatus field's value.
 11645  func (s *DeleteBotLocaleOutput) SetBotLocaleStatus(v string) *DeleteBotLocaleOutput {
 11646  	s.BotLocaleStatus = &v
 11647  	return s
 11648  }
 11649  
 11650  // SetBotVersion sets the BotVersion field's value.
 11651  func (s *DeleteBotLocaleOutput) SetBotVersion(v string) *DeleteBotLocaleOutput {
 11652  	s.BotVersion = &v
 11653  	return s
 11654  }
 11655  
 11656  // SetLocaleId sets the LocaleId field's value.
 11657  func (s *DeleteBotLocaleOutput) SetLocaleId(v string) *DeleteBotLocaleOutput {
 11658  	s.LocaleId = &v
 11659  	return s
 11660  }
 11661  
 11662  type DeleteBotOutput struct {
 11663  	_ struct{} `type:"structure"`
 11664  
 11665  	// The unique identifier of the bot that Amazon Lex is deleting.
 11666  	BotId *string `locationName:"botId" min:"10" type:"string"`
 11667  
 11668  	// The current status of the bot. The status is Deleting while the bot and its
 11669  	// associated resources are being deleted.
 11670  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
 11671  }
 11672  
 11673  // String returns the string representation.
 11674  //
 11675  // API parameter values that are decorated as "sensitive" in the API will not
 11676  // be included in the string output. The member name will be present, but the
 11677  // value will be replaced with "sensitive".
 11678  func (s DeleteBotOutput) String() string {
 11679  	return awsutil.Prettify(s)
 11680  }
 11681  
 11682  // GoString returns the string representation.
 11683  //
 11684  // API parameter values that are decorated as "sensitive" in the API will not
 11685  // be included in the string output. The member name will be present, but the
 11686  // value will be replaced with "sensitive".
 11687  func (s DeleteBotOutput) GoString() string {
 11688  	return s.String()
 11689  }
 11690  
 11691  // SetBotId sets the BotId field's value.
 11692  func (s *DeleteBotOutput) SetBotId(v string) *DeleteBotOutput {
 11693  	s.BotId = &v
 11694  	return s
 11695  }
 11696  
 11697  // SetBotStatus sets the BotStatus field's value.
 11698  func (s *DeleteBotOutput) SetBotStatus(v string) *DeleteBotOutput {
 11699  	s.BotStatus = &v
 11700  	return s
 11701  }
 11702  
 11703  type DeleteBotVersionInput struct {
 11704  	_ struct{} `type:"structure" nopayload:"true"`
 11705  
 11706  	// The identifier of the bot that contains the version.
 11707  	//
 11708  	// BotId is a required field
 11709  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 11710  
 11711  	// The version of the bot to delete.
 11712  	//
 11713  	// BotVersion is a required field
 11714  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 11715  
 11716  	// By default, the DeleteBotVersion operations throws a ResourceInUseException
 11717  	// exception if you try to delete a bot version that has an alias pointing at
 11718  	// it. Set the skipResourceInUseCheck parameter to true to skip this check and
 11719  	// remove the version even if an alias points to it.
 11720  	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
 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 DeleteBotVersionInput) 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 DeleteBotVersionInput) 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 *DeleteBotVersionInput) Validate() error {
 11743  	invalidParams := request.ErrInvalidParams{Context: "DeleteBotVersionInput"}
 11744  	if s.BotId == nil {
 11745  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 11746  	}
 11747  	if s.BotId != nil && len(*s.BotId) < 10 {
 11748  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 11749  	}
 11750  	if s.BotVersion == nil {
 11751  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 11752  	}
 11753  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 11754  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 11755  	}
 11756  
 11757  	if invalidParams.Len() > 0 {
 11758  		return invalidParams
 11759  	}
 11760  	return nil
 11761  }
 11762  
 11763  // SetBotId sets the BotId field's value.
 11764  func (s *DeleteBotVersionInput) SetBotId(v string) *DeleteBotVersionInput {
 11765  	s.BotId = &v
 11766  	return s
 11767  }
 11768  
 11769  // SetBotVersion sets the BotVersion field's value.
 11770  func (s *DeleteBotVersionInput) SetBotVersion(v string) *DeleteBotVersionInput {
 11771  	s.BotVersion = &v
 11772  	return s
 11773  }
 11774  
 11775  // SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
 11776  func (s *DeleteBotVersionInput) SetSkipResourceInUseCheck(v bool) *DeleteBotVersionInput {
 11777  	s.SkipResourceInUseCheck = &v
 11778  	return s
 11779  }
 11780  
 11781  type DeleteBotVersionOutput struct {
 11782  	_ struct{} `type:"structure"`
 11783  
 11784  	// The identifier of the bot that is being deleted.
 11785  	BotId *string `locationName:"botId" min:"10" type:"string"`
 11786  
 11787  	// The current status of the bot.
 11788  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
 11789  
 11790  	// The version of the bot that is being deleted.
 11791  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 11792  }
 11793  
 11794  // String returns the string representation.
 11795  //
 11796  // API parameter values that are decorated as "sensitive" in the API will not
 11797  // be included in the string output. The member name will be present, but the
 11798  // value will be replaced with "sensitive".
 11799  func (s DeleteBotVersionOutput) String() string {
 11800  	return awsutil.Prettify(s)
 11801  }
 11802  
 11803  // GoString returns the string representation.
 11804  //
 11805  // API parameter values that are decorated as "sensitive" in the API will not
 11806  // be included in the string output. The member name will be present, but the
 11807  // value will be replaced with "sensitive".
 11808  func (s DeleteBotVersionOutput) GoString() string {
 11809  	return s.String()
 11810  }
 11811  
 11812  // SetBotId sets the BotId field's value.
 11813  func (s *DeleteBotVersionOutput) SetBotId(v string) *DeleteBotVersionOutput {
 11814  	s.BotId = &v
 11815  	return s
 11816  }
 11817  
 11818  // SetBotStatus sets the BotStatus field's value.
 11819  func (s *DeleteBotVersionOutput) SetBotStatus(v string) *DeleteBotVersionOutput {
 11820  	s.BotStatus = &v
 11821  	return s
 11822  }
 11823  
 11824  // SetBotVersion sets the BotVersion field's value.
 11825  func (s *DeleteBotVersionOutput) SetBotVersion(v string) *DeleteBotVersionOutput {
 11826  	s.BotVersion = &v
 11827  	return s
 11828  }
 11829  
 11830  type DeleteExportInput struct {
 11831  	_ struct{} `type:"structure" nopayload:"true"`
 11832  
 11833  	// The unique identifier of the export to delete.
 11834  	//
 11835  	// ExportId is a required field
 11836  	ExportId *string `location:"uri" locationName:"exportId" min:"10" type:"string" required:"true"`
 11837  }
 11838  
 11839  // String returns the string representation.
 11840  //
 11841  // API parameter values that are decorated as "sensitive" in the API will not
 11842  // be included in the string output. The member name will be present, but the
 11843  // value will be replaced with "sensitive".
 11844  func (s DeleteExportInput) String() string {
 11845  	return awsutil.Prettify(s)
 11846  }
 11847  
 11848  // GoString returns the string representation.
 11849  //
 11850  // API parameter values that are decorated as "sensitive" in the API will not
 11851  // be included in the string output. The member name will be present, but the
 11852  // value will be replaced with "sensitive".
 11853  func (s DeleteExportInput) GoString() string {
 11854  	return s.String()
 11855  }
 11856  
 11857  // Validate inspects the fields of the type to determine if they are valid.
 11858  func (s *DeleteExportInput) Validate() error {
 11859  	invalidParams := request.ErrInvalidParams{Context: "DeleteExportInput"}
 11860  	if s.ExportId == nil {
 11861  		invalidParams.Add(request.NewErrParamRequired("ExportId"))
 11862  	}
 11863  	if s.ExportId != nil && len(*s.ExportId) < 10 {
 11864  		invalidParams.Add(request.NewErrParamMinLen("ExportId", 10))
 11865  	}
 11866  
 11867  	if invalidParams.Len() > 0 {
 11868  		return invalidParams
 11869  	}
 11870  	return nil
 11871  }
 11872  
 11873  // SetExportId sets the ExportId field's value.
 11874  func (s *DeleteExportInput) SetExportId(v string) *DeleteExportInput {
 11875  	s.ExportId = &v
 11876  	return s
 11877  }
 11878  
 11879  type DeleteExportOutput struct {
 11880  	_ struct{} `type:"structure"`
 11881  
 11882  	// The unique identifier of the deleted export.
 11883  	ExportId *string `locationName:"exportId" min:"10" type:"string"`
 11884  
 11885  	// The current status of the deletion. When the deletion is complete, the export
 11886  	// will no longer be returned by the operation and calls to the with the export
 11887  	// identifier will fail.
 11888  	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
 11889  }
 11890  
 11891  // String returns the string representation.
 11892  //
 11893  // API parameter values that are decorated as "sensitive" in the API will not
 11894  // be included in the string output. The member name will be present, but the
 11895  // value will be replaced with "sensitive".
 11896  func (s DeleteExportOutput) String() string {
 11897  	return awsutil.Prettify(s)
 11898  }
 11899  
 11900  // GoString returns the string representation.
 11901  //
 11902  // API parameter values that are decorated as "sensitive" in the API will not
 11903  // be included in the string output. The member name will be present, but the
 11904  // value will be replaced with "sensitive".
 11905  func (s DeleteExportOutput) GoString() string {
 11906  	return s.String()
 11907  }
 11908  
 11909  // SetExportId sets the ExportId field's value.
 11910  func (s *DeleteExportOutput) SetExportId(v string) *DeleteExportOutput {
 11911  	s.ExportId = &v
 11912  	return s
 11913  }
 11914  
 11915  // SetExportStatus sets the ExportStatus field's value.
 11916  func (s *DeleteExportOutput) SetExportStatus(v string) *DeleteExportOutput {
 11917  	s.ExportStatus = &v
 11918  	return s
 11919  }
 11920  
 11921  type DeleteImportInput struct {
 11922  	_ struct{} `type:"structure" nopayload:"true"`
 11923  
 11924  	// The unique identifier of the import to delete.
 11925  	//
 11926  	// ImportId is a required field
 11927  	ImportId *string `location:"uri" locationName:"importId" min:"10" type:"string" required:"true"`
 11928  }
 11929  
 11930  // String returns the string representation.
 11931  //
 11932  // API parameter values that are decorated as "sensitive" in the API will not
 11933  // be included in the string output. The member name will be present, but the
 11934  // value will be replaced with "sensitive".
 11935  func (s DeleteImportInput) String() string {
 11936  	return awsutil.Prettify(s)
 11937  }
 11938  
 11939  // GoString returns the string representation.
 11940  //
 11941  // API parameter values that are decorated as "sensitive" in the API will not
 11942  // be included in the string output. The member name will be present, but the
 11943  // value will be replaced with "sensitive".
 11944  func (s DeleteImportInput) GoString() string {
 11945  	return s.String()
 11946  }
 11947  
 11948  // Validate inspects the fields of the type to determine if they are valid.
 11949  func (s *DeleteImportInput) Validate() error {
 11950  	invalidParams := request.ErrInvalidParams{Context: "DeleteImportInput"}
 11951  	if s.ImportId == nil {
 11952  		invalidParams.Add(request.NewErrParamRequired("ImportId"))
 11953  	}
 11954  	if s.ImportId != nil && len(*s.ImportId) < 10 {
 11955  		invalidParams.Add(request.NewErrParamMinLen("ImportId", 10))
 11956  	}
 11957  
 11958  	if invalidParams.Len() > 0 {
 11959  		return invalidParams
 11960  	}
 11961  	return nil
 11962  }
 11963  
 11964  // SetImportId sets the ImportId field's value.
 11965  func (s *DeleteImportInput) SetImportId(v string) *DeleteImportInput {
 11966  	s.ImportId = &v
 11967  	return s
 11968  }
 11969  
 11970  type DeleteImportOutput struct {
 11971  	_ struct{} `type:"structure"`
 11972  
 11973  	// The unique identifier of the deleted import.
 11974  	ImportId *string `locationName:"importId" min:"10" type:"string"`
 11975  
 11976  	// The current status of the deletion. When the deletion is complete, the import
 11977  	// will no longer be returned by the operation and calls to the with the import
 11978  	// identifier will fail.
 11979  	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
 11980  }
 11981  
 11982  // String returns the string representation.
 11983  //
 11984  // API parameter values that are decorated as "sensitive" in the API will not
 11985  // be included in the string output. The member name will be present, but the
 11986  // value will be replaced with "sensitive".
 11987  func (s DeleteImportOutput) String() string {
 11988  	return awsutil.Prettify(s)
 11989  }
 11990  
 11991  // GoString returns the string representation.
 11992  //
 11993  // API parameter values that are decorated as "sensitive" in the API will not
 11994  // be included in the string output. The member name will be present, but the
 11995  // value will be replaced with "sensitive".
 11996  func (s DeleteImportOutput) GoString() string {
 11997  	return s.String()
 11998  }
 11999  
 12000  // SetImportId sets the ImportId field's value.
 12001  func (s *DeleteImportOutput) SetImportId(v string) *DeleteImportOutput {
 12002  	s.ImportId = &v
 12003  	return s
 12004  }
 12005  
 12006  // SetImportStatus sets the ImportStatus field's value.
 12007  func (s *DeleteImportOutput) SetImportStatus(v string) *DeleteImportOutput {
 12008  	s.ImportStatus = &v
 12009  	return s
 12010  }
 12011  
 12012  type DeleteIntentInput struct {
 12013  	_ struct{} `type:"structure" nopayload:"true"`
 12014  
 12015  	// The identifier of the bot associated with the intent.
 12016  	//
 12017  	// BotId is a required field
 12018  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 12019  
 12020  	// The version of the bot associated with the intent.
 12021  	//
 12022  	// BotVersion is a required field
 12023  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 12024  
 12025  	// The unique identifier of the intent to delete.
 12026  	//
 12027  	// IntentId is a required field
 12028  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 12029  
 12030  	// The identifier of the language and locale where the bot will be deleted.
 12031  	// The string must match one of the supported locales. For more information,
 12032  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 12033  	//
 12034  	// LocaleId is a required field
 12035  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 12036  }
 12037  
 12038  // String returns the string representation.
 12039  //
 12040  // API parameter values that are decorated as "sensitive" in the API will not
 12041  // be included in the string output. The member name will be present, but the
 12042  // value will be replaced with "sensitive".
 12043  func (s DeleteIntentInput) String() string {
 12044  	return awsutil.Prettify(s)
 12045  }
 12046  
 12047  // GoString returns the string representation.
 12048  //
 12049  // API parameter values that are decorated as "sensitive" in the API will not
 12050  // be included in the string output. The member name will be present, but the
 12051  // value will be replaced with "sensitive".
 12052  func (s DeleteIntentInput) GoString() string {
 12053  	return s.String()
 12054  }
 12055  
 12056  // Validate inspects the fields of the type to determine if they are valid.
 12057  func (s *DeleteIntentInput) Validate() error {
 12058  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntentInput"}
 12059  	if s.BotId == nil {
 12060  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 12061  	}
 12062  	if s.BotId != nil && len(*s.BotId) < 10 {
 12063  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 12064  	}
 12065  	if s.BotVersion == nil {
 12066  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 12067  	}
 12068  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 12069  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 12070  	}
 12071  	if s.IntentId == nil {
 12072  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 12073  	}
 12074  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 12075  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 12076  	}
 12077  	if s.LocaleId == nil {
 12078  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 12079  	}
 12080  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 12081  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 12082  	}
 12083  
 12084  	if invalidParams.Len() > 0 {
 12085  		return invalidParams
 12086  	}
 12087  	return nil
 12088  }
 12089  
 12090  // SetBotId sets the BotId field's value.
 12091  func (s *DeleteIntentInput) SetBotId(v string) *DeleteIntentInput {
 12092  	s.BotId = &v
 12093  	return s
 12094  }
 12095  
 12096  // SetBotVersion sets the BotVersion field's value.
 12097  func (s *DeleteIntentInput) SetBotVersion(v string) *DeleteIntentInput {
 12098  	s.BotVersion = &v
 12099  	return s
 12100  }
 12101  
 12102  // SetIntentId sets the IntentId field's value.
 12103  func (s *DeleteIntentInput) SetIntentId(v string) *DeleteIntentInput {
 12104  	s.IntentId = &v
 12105  	return s
 12106  }
 12107  
 12108  // SetLocaleId sets the LocaleId field's value.
 12109  func (s *DeleteIntentInput) SetLocaleId(v string) *DeleteIntentInput {
 12110  	s.LocaleId = &v
 12111  	return s
 12112  }
 12113  
 12114  type DeleteIntentOutput struct {
 12115  	_ struct{} `type:"structure" nopayload:"true"`
 12116  }
 12117  
 12118  // String returns the string representation.
 12119  //
 12120  // API parameter values that are decorated as "sensitive" in the API will not
 12121  // be included in the string output. The member name will be present, but the
 12122  // value will be replaced with "sensitive".
 12123  func (s DeleteIntentOutput) String() string {
 12124  	return awsutil.Prettify(s)
 12125  }
 12126  
 12127  // GoString returns the string representation.
 12128  //
 12129  // API parameter values that are decorated as "sensitive" in the API will not
 12130  // be included in the string output. The member name will be present, but the
 12131  // value will be replaced with "sensitive".
 12132  func (s DeleteIntentOutput) GoString() string {
 12133  	return s.String()
 12134  }
 12135  
 12136  type DeleteResourcePolicyInput struct {
 12137  	_ struct{} `type:"structure" nopayload:"true"`
 12138  
 12139  	// The identifier of the revision to edit. If this ID doesn't match the current
 12140  	// revision number, Amazon Lex returns an exception
 12141  	//
 12142  	// If you don't specify a revision ID, Amazon Lex will delete the current policy.
 12143  	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
 12144  
 12145  	// The Amazon Resource Name (ARN) of the bot or bot alias that has the resource
 12146  	// policy attached.
 12147  	//
 12148  	// ResourceArn is a required field
 12149  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 12150  }
 12151  
 12152  // String returns the string representation.
 12153  //
 12154  // API parameter values that are decorated as "sensitive" in the API will not
 12155  // be included in the string output. The member name will be present, but the
 12156  // value will be replaced with "sensitive".
 12157  func (s DeleteResourcePolicyInput) String() string {
 12158  	return awsutil.Prettify(s)
 12159  }
 12160  
 12161  // GoString returns the string representation.
 12162  //
 12163  // API parameter values that are decorated as "sensitive" in the API will not
 12164  // be included in the string output. The member name will be present, but the
 12165  // value will be replaced with "sensitive".
 12166  func (s DeleteResourcePolicyInput) GoString() string {
 12167  	return s.String()
 12168  }
 12169  
 12170  // Validate inspects the fields of the type to determine if they are valid.
 12171  func (s *DeleteResourcePolicyInput) Validate() error {
 12172  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"}
 12173  	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
 12174  		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
 12175  	}
 12176  	if s.ResourceArn == nil {
 12177  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12178  	}
 12179  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12180  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12181  	}
 12182  
 12183  	if invalidParams.Len() > 0 {
 12184  		return invalidParams
 12185  	}
 12186  	return nil
 12187  }
 12188  
 12189  // SetExpectedRevisionId sets the ExpectedRevisionId field's value.
 12190  func (s *DeleteResourcePolicyInput) SetExpectedRevisionId(v string) *DeleteResourcePolicyInput {
 12191  	s.ExpectedRevisionId = &v
 12192  	return s
 12193  }
 12194  
 12195  // SetResourceArn sets the ResourceArn field's value.
 12196  func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput {
 12197  	s.ResourceArn = &v
 12198  	return s
 12199  }
 12200  
 12201  type DeleteResourcePolicyOutput struct {
 12202  	_ struct{} `type:"structure"`
 12203  
 12204  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 12205  	// policy was deleted from.
 12206  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 12207  
 12208  	// The current revision of the resource policy. Use the revision ID to make
 12209  	// sure that you are updating the most current version of a resource policy
 12210  	// when you add a policy statement to a resource, delete a resource, or update
 12211  	// a resource.
 12212  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 12213  }
 12214  
 12215  // String returns the string representation.
 12216  //
 12217  // API parameter values that are decorated as "sensitive" in the API will not
 12218  // be included in the string output. The member name will be present, but the
 12219  // value will be replaced with "sensitive".
 12220  func (s DeleteResourcePolicyOutput) String() string {
 12221  	return awsutil.Prettify(s)
 12222  }
 12223  
 12224  // GoString returns the string representation.
 12225  //
 12226  // API parameter values that are decorated as "sensitive" in the API will not
 12227  // be included in the string output. The member name will be present, but the
 12228  // value will be replaced with "sensitive".
 12229  func (s DeleteResourcePolicyOutput) GoString() string {
 12230  	return s.String()
 12231  }
 12232  
 12233  // SetResourceArn sets the ResourceArn field's value.
 12234  func (s *DeleteResourcePolicyOutput) SetResourceArn(v string) *DeleteResourcePolicyOutput {
 12235  	s.ResourceArn = &v
 12236  	return s
 12237  }
 12238  
 12239  // SetRevisionId sets the RevisionId field's value.
 12240  func (s *DeleteResourcePolicyOutput) SetRevisionId(v string) *DeleteResourcePolicyOutput {
 12241  	s.RevisionId = &v
 12242  	return s
 12243  }
 12244  
 12245  type DeleteResourcePolicyStatementInput struct {
 12246  	_ struct{} `type:"structure" nopayload:"true"`
 12247  
 12248  	// The identifier of the revision of the policy to delete the statement from.
 12249  	// If this revision ID doesn't match the current revision ID, Amazon Lex throws
 12250  	// an exception.
 12251  	//
 12252  	// If you don't specify a revision, Amazon Lex removes the current contents
 12253  	// of the statement.
 12254  	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
 12255  
 12256  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 12257  	// policy is attached to.
 12258  	//
 12259  	// ResourceArn is a required field
 12260  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 12261  
 12262  	// The name of the statement (SID) to delete from the policy.
 12263  	//
 12264  	// StatementId is a required field
 12265  	StatementId *string `location:"uri" locationName:"statementId" min:"1" type:"string" required:"true"`
 12266  }
 12267  
 12268  // String returns the string representation.
 12269  //
 12270  // API parameter values that are decorated as "sensitive" in the API will not
 12271  // be included in the string output. The member name will be present, but the
 12272  // value will be replaced with "sensitive".
 12273  func (s DeleteResourcePolicyStatementInput) String() string {
 12274  	return awsutil.Prettify(s)
 12275  }
 12276  
 12277  // GoString returns the string representation.
 12278  //
 12279  // API parameter values that are decorated as "sensitive" in the API will not
 12280  // be included in the string output. The member name will be present, but the
 12281  // value will be replaced with "sensitive".
 12282  func (s DeleteResourcePolicyStatementInput) GoString() string {
 12283  	return s.String()
 12284  }
 12285  
 12286  // Validate inspects the fields of the type to determine if they are valid.
 12287  func (s *DeleteResourcePolicyStatementInput) Validate() error {
 12288  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyStatementInput"}
 12289  	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
 12290  		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
 12291  	}
 12292  	if s.ResourceArn == nil {
 12293  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12294  	}
 12295  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12296  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12297  	}
 12298  	if s.StatementId == nil {
 12299  		invalidParams.Add(request.NewErrParamRequired("StatementId"))
 12300  	}
 12301  	if s.StatementId != nil && len(*s.StatementId) < 1 {
 12302  		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
 12303  	}
 12304  
 12305  	if invalidParams.Len() > 0 {
 12306  		return invalidParams
 12307  	}
 12308  	return nil
 12309  }
 12310  
 12311  // SetExpectedRevisionId sets the ExpectedRevisionId field's value.
 12312  func (s *DeleteResourcePolicyStatementInput) SetExpectedRevisionId(v string) *DeleteResourcePolicyStatementInput {
 12313  	s.ExpectedRevisionId = &v
 12314  	return s
 12315  }
 12316  
 12317  // SetResourceArn sets the ResourceArn field's value.
 12318  func (s *DeleteResourcePolicyStatementInput) SetResourceArn(v string) *DeleteResourcePolicyStatementInput {
 12319  	s.ResourceArn = &v
 12320  	return s
 12321  }
 12322  
 12323  // SetStatementId sets the StatementId field's value.
 12324  func (s *DeleteResourcePolicyStatementInput) SetStatementId(v string) *DeleteResourcePolicyStatementInput {
 12325  	s.StatementId = &v
 12326  	return s
 12327  }
 12328  
 12329  type DeleteResourcePolicyStatementOutput struct {
 12330  	_ struct{} `type:"structure"`
 12331  
 12332  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 12333  	// policy statement was removed from.
 12334  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 12335  
 12336  	// The current revision of the resource policy. Use the revision ID to make
 12337  	// sure that you are updating the most current version of a resource policy
 12338  	// when you add a policy statement to a resource, delete a resource, or update
 12339  	// a resource.
 12340  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 12341  }
 12342  
 12343  // String returns the string representation.
 12344  //
 12345  // API parameter values that are decorated as "sensitive" in the API will not
 12346  // be included in the string output. The member name will be present, but the
 12347  // value will be replaced with "sensitive".
 12348  func (s DeleteResourcePolicyStatementOutput) String() string {
 12349  	return awsutil.Prettify(s)
 12350  }
 12351  
 12352  // GoString returns the string representation.
 12353  //
 12354  // API parameter values that are decorated as "sensitive" in the API will not
 12355  // be included in the string output. The member name will be present, but the
 12356  // value will be replaced with "sensitive".
 12357  func (s DeleteResourcePolicyStatementOutput) GoString() string {
 12358  	return s.String()
 12359  }
 12360  
 12361  // SetResourceArn sets the ResourceArn field's value.
 12362  func (s *DeleteResourcePolicyStatementOutput) SetResourceArn(v string) *DeleteResourcePolicyStatementOutput {
 12363  	s.ResourceArn = &v
 12364  	return s
 12365  }
 12366  
 12367  // SetRevisionId sets the RevisionId field's value.
 12368  func (s *DeleteResourcePolicyStatementOutput) SetRevisionId(v string) *DeleteResourcePolicyStatementOutput {
 12369  	s.RevisionId = &v
 12370  	return s
 12371  }
 12372  
 12373  type DeleteSlotInput struct {
 12374  	_ struct{} `type:"structure" nopayload:"true"`
 12375  
 12376  	// The identifier of the bot associated with the slot to delete.
 12377  	//
 12378  	// BotId is a required field
 12379  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 12380  
 12381  	// The version of the bot associated with the slot to delete.
 12382  	//
 12383  	// BotVersion is a required field
 12384  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 12385  
 12386  	// The identifier of the intent associated with the slot.
 12387  	//
 12388  	// IntentId is a required field
 12389  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 12390  
 12391  	// The identifier of the language and locale that the slot will be deleted from.
 12392  	// The string must match one of the supported locales. For more information,
 12393  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 12394  	//
 12395  	// LocaleId is a required field
 12396  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 12397  
 12398  	// The identifier of the slot to delete.
 12399  	//
 12400  	// SlotId is a required field
 12401  	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
 12402  }
 12403  
 12404  // String returns the string representation.
 12405  //
 12406  // API parameter values that are decorated as "sensitive" in the API will not
 12407  // be included in the string output. The member name will be present, but the
 12408  // value will be replaced with "sensitive".
 12409  func (s DeleteSlotInput) String() string {
 12410  	return awsutil.Prettify(s)
 12411  }
 12412  
 12413  // GoString returns the string representation.
 12414  //
 12415  // API parameter values that are decorated as "sensitive" in the API will not
 12416  // be included in the string output. The member name will be present, but the
 12417  // value will be replaced with "sensitive".
 12418  func (s DeleteSlotInput) GoString() string {
 12419  	return s.String()
 12420  }
 12421  
 12422  // Validate inspects the fields of the type to determine if they are valid.
 12423  func (s *DeleteSlotInput) Validate() error {
 12424  	invalidParams := request.ErrInvalidParams{Context: "DeleteSlotInput"}
 12425  	if s.BotId == nil {
 12426  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 12427  	}
 12428  	if s.BotId != nil && len(*s.BotId) < 10 {
 12429  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 12430  	}
 12431  	if s.BotVersion == nil {
 12432  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 12433  	}
 12434  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 12435  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 12436  	}
 12437  	if s.IntentId == nil {
 12438  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 12439  	}
 12440  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 12441  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 12442  	}
 12443  	if s.LocaleId == nil {
 12444  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 12445  	}
 12446  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 12447  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 12448  	}
 12449  	if s.SlotId == nil {
 12450  		invalidParams.Add(request.NewErrParamRequired("SlotId"))
 12451  	}
 12452  	if s.SlotId != nil && len(*s.SlotId) < 10 {
 12453  		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
 12454  	}
 12455  
 12456  	if invalidParams.Len() > 0 {
 12457  		return invalidParams
 12458  	}
 12459  	return nil
 12460  }
 12461  
 12462  // SetBotId sets the BotId field's value.
 12463  func (s *DeleteSlotInput) SetBotId(v string) *DeleteSlotInput {
 12464  	s.BotId = &v
 12465  	return s
 12466  }
 12467  
 12468  // SetBotVersion sets the BotVersion field's value.
 12469  func (s *DeleteSlotInput) SetBotVersion(v string) *DeleteSlotInput {
 12470  	s.BotVersion = &v
 12471  	return s
 12472  }
 12473  
 12474  // SetIntentId sets the IntentId field's value.
 12475  func (s *DeleteSlotInput) SetIntentId(v string) *DeleteSlotInput {
 12476  	s.IntentId = &v
 12477  	return s
 12478  }
 12479  
 12480  // SetLocaleId sets the LocaleId field's value.
 12481  func (s *DeleteSlotInput) SetLocaleId(v string) *DeleteSlotInput {
 12482  	s.LocaleId = &v
 12483  	return s
 12484  }
 12485  
 12486  // SetSlotId sets the SlotId field's value.
 12487  func (s *DeleteSlotInput) SetSlotId(v string) *DeleteSlotInput {
 12488  	s.SlotId = &v
 12489  	return s
 12490  }
 12491  
 12492  type DeleteSlotOutput struct {
 12493  	_ struct{} `type:"structure" nopayload:"true"`
 12494  }
 12495  
 12496  // String returns the string representation.
 12497  //
 12498  // API parameter values that are decorated as "sensitive" in the API will not
 12499  // be included in the string output. The member name will be present, but the
 12500  // value will be replaced with "sensitive".
 12501  func (s DeleteSlotOutput) String() string {
 12502  	return awsutil.Prettify(s)
 12503  }
 12504  
 12505  // GoString returns the string representation.
 12506  //
 12507  // API parameter values that are decorated as "sensitive" in the API will not
 12508  // be included in the string output. The member name will be present, but the
 12509  // value will be replaced with "sensitive".
 12510  func (s DeleteSlotOutput) GoString() string {
 12511  	return s.String()
 12512  }
 12513  
 12514  type DeleteSlotTypeInput struct {
 12515  	_ struct{} `type:"structure" nopayload:"true"`
 12516  
 12517  	// The identifier of the bot associated with the slot type.
 12518  	//
 12519  	// BotId is a required field
 12520  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 12521  
 12522  	// The version of the bot associated with the slot type.
 12523  	//
 12524  	// BotVersion is a required field
 12525  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 12526  
 12527  	// The identifier of the language and locale that the slot type will be deleted
 12528  	// from. The string must match one of the supported locales. For more information,
 12529  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 12530  	//
 12531  	// LocaleId is a required field
 12532  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 12533  
 12534  	// By default, the DeleteSlotType operations throws a ResourceInUseException
 12535  	// exception if you try to delete a slot type used by a slot. Set the skipResourceInUseCheck
 12536  	// parameter to true to skip this check and remove the slot type even if a slot
 12537  	// uses it.
 12538  	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
 12539  
 12540  	// The identifier of the slot type to delete.
 12541  	//
 12542  	// SlotTypeId is a required field
 12543  	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
 12544  }
 12545  
 12546  // String returns the string representation.
 12547  //
 12548  // API parameter values that are decorated as "sensitive" in the API will not
 12549  // be included in the string output. The member name will be present, but the
 12550  // value will be replaced with "sensitive".
 12551  func (s DeleteSlotTypeInput) String() string {
 12552  	return awsutil.Prettify(s)
 12553  }
 12554  
 12555  // GoString returns the string representation.
 12556  //
 12557  // API parameter values that are decorated as "sensitive" in the API will not
 12558  // be included in the string output. The member name will be present, but the
 12559  // value will be replaced with "sensitive".
 12560  func (s DeleteSlotTypeInput) GoString() string {
 12561  	return s.String()
 12562  }
 12563  
 12564  // Validate inspects the fields of the type to determine if they are valid.
 12565  func (s *DeleteSlotTypeInput) Validate() error {
 12566  	invalidParams := request.ErrInvalidParams{Context: "DeleteSlotTypeInput"}
 12567  	if s.BotId == nil {
 12568  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 12569  	}
 12570  	if s.BotId != nil && len(*s.BotId) < 10 {
 12571  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 12572  	}
 12573  	if s.BotVersion == nil {
 12574  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 12575  	}
 12576  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 12577  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 12578  	}
 12579  	if s.LocaleId == nil {
 12580  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 12581  	}
 12582  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 12583  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 12584  	}
 12585  	if s.SlotTypeId == nil {
 12586  		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
 12587  	}
 12588  	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
 12589  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
 12590  	}
 12591  
 12592  	if invalidParams.Len() > 0 {
 12593  		return invalidParams
 12594  	}
 12595  	return nil
 12596  }
 12597  
 12598  // SetBotId sets the BotId field's value.
 12599  func (s *DeleteSlotTypeInput) SetBotId(v string) *DeleteSlotTypeInput {
 12600  	s.BotId = &v
 12601  	return s
 12602  }
 12603  
 12604  // SetBotVersion sets the BotVersion field's value.
 12605  func (s *DeleteSlotTypeInput) SetBotVersion(v string) *DeleteSlotTypeInput {
 12606  	s.BotVersion = &v
 12607  	return s
 12608  }
 12609  
 12610  // SetLocaleId sets the LocaleId field's value.
 12611  func (s *DeleteSlotTypeInput) SetLocaleId(v string) *DeleteSlotTypeInput {
 12612  	s.LocaleId = &v
 12613  	return s
 12614  }
 12615  
 12616  // SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
 12617  func (s *DeleteSlotTypeInput) SetSkipResourceInUseCheck(v bool) *DeleteSlotTypeInput {
 12618  	s.SkipResourceInUseCheck = &v
 12619  	return s
 12620  }
 12621  
 12622  // SetSlotTypeId sets the SlotTypeId field's value.
 12623  func (s *DeleteSlotTypeInput) SetSlotTypeId(v string) *DeleteSlotTypeInput {
 12624  	s.SlotTypeId = &v
 12625  	return s
 12626  }
 12627  
 12628  type DeleteSlotTypeOutput struct {
 12629  	_ struct{} `type:"structure" nopayload:"true"`
 12630  }
 12631  
 12632  // String returns the string representation.
 12633  //
 12634  // API parameter values that are decorated as "sensitive" in the API will not
 12635  // be included in the string output. The member name will be present, but the
 12636  // value will be replaced with "sensitive".
 12637  func (s DeleteSlotTypeOutput) String() string {
 12638  	return awsutil.Prettify(s)
 12639  }
 12640  
 12641  // GoString returns the string representation.
 12642  //
 12643  // API parameter values that are decorated as "sensitive" in the API will not
 12644  // be included in the string output. The member name will be present, but the
 12645  // value will be replaced with "sensitive".
 12646  func (s DeleteSlotTypeOutput) GoString() string {
 12647  	return s.String()
 12648  }
 12649  
 12650  type DeleteUtterancesInput struct {
 12651  	_ struct{} `type:"structure" nopayload:"true"`
 12652  
 12653  	// The unique identifier of the bot that contains the utterances.
 12654  	//
 12655  	// BotId is a required field
 12656  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 12657  
 12658  	// The identifier of the language and locale where the utterances were collected.
 12659  	// The string must match one of the supported locales. For more information,
 12660  	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 12661  	LocaleId *string `location:"querystring" locationName:"localeId" type:"string"`
 12662  
 12663  	// The unique identifier of the session with the user. The ID is returned in
 12664  	// the response from the and operations.
 12665  	SessionId *string `location:"querystring" locationName:"sessionId" min:"2" type:"string"`
 12666  }
 12667  
 12668  // String returns the string representation.
 12669  //
 12670  // API parameter values that are decorated as "sensitive" in the API will not
 12671  // be included in the string output. The member name will be present, but the
 12672  // value will be replaced with "sensitive".
 12673  func (s DeleteUtterancesInput) String() string {
 12674  	return awsutil.Prettify(s)
 12675  }
 12676  
 12677  // GoString returns the string representation.
 12678  //
 12679  // API parameter values that are decorated as "sensitive" in the API will not
 12680  // be included in the string output. The member name will be present, but the
 12681  // value will be replaced with "sensitive".
 12682  func (s DeleteUtterancesInput) GoString() string {
 12683  	return s.String()
 12684  }
 12685  
 12686  // Validate inspects the fields of the type to determine if they are valid.
 12687  func (s *DeleteUtterancesInput) Validate() error {
 12688  	invalidParams := request.ErrInvalidParams{Context: "DeleteUtterancesInput"}
 12689  	if s.BotId == nil {
 12690  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 12691  	}
 12692  	if s.BotId != nil && len(*s.BotId) < 10 {
 12693  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 12694  	}
 12695  	if s.SessionId != nil && len(*s.SessionId) < 2 {
 12696  		invalidParams.Add(request.NewErrParamMinLen("SessionId", 2))
 12697  	}
 12698  
 12699  	if invalidParams.Len() > 0 {
 12700  		return invalidParams
 12701  	}
 12702  	return nil
 12703  }
 12704  
 12705  // SetBotId sets the BotId field's value.
 12706  func (s *DeleteUtterancesInput) SetBotId(v string) *DeleteUtterancesInput {
 12707  	s.BotId = &v
 12708  	return s
 12709  }
 12710  
 12711  // SetLocaleId sets the LocaleId field's value.
 12712  func (s *DeleteUtterancesInput) SetLocaleId(v string) *DeleteUtterancesInput {
 12713  	s.LocaleId = &v
 12714  	return s
 12715  }
 12716  
 12717  // SetSessionId sets the SessionId field's value.
 12718  func (s *DeleteUtterancesInput) SetSessionId(v string) *DeleteUtterancesInput {
 12719  	s.SessionId = &v
 12720  	return s
 12721  }
 12722  
 12723  type DeleteUtterancesOutput struct {
 12724  	_ struct{} `type:"structure" nopayload:"true"`
 12725  }
 12726  
 12727  // String returns the string representation.
 12728  //
 12729  // API parameter values that are decorated as "sensitive" in the API will not
 12730  // be included in the string output. The member name will be present, but the
 12731  // value will be replaced with "sensitive".
 12732  func (s DeleteUtterancesOutput) String() string {
 12733  	return awsutil.Prettify(s)
 12734  }
 12735  
 12736  // GoString returns the string representation.
 12737  //
 12738  // API parameter values that are decorated as "sensitive" in the API will not
 12739  // be included in the string output. The member name will be present, but the
 12740  // value will be replaced with "sensitive".
 12741  func (s DeleteUtterancesOutput) GoString() string {
 12742  	return s.String()
 12743  }
 12744  
 12745  type DescribeBotAliasInput struct {
 12746  	_ struct{} `type:"structure" nopayload:"true"`
 12747  
 12748  	// The identifier of the bot alias to describe.
 12749  	//
 12750  	// BotAliasId is a required field
 12751  	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
 12752  
 12753  	// The identifier of the bot associated with the bot alias to describe.
 12754  	//
 12755  	// BotId is a required field
 12756  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 12757  }
 12758  
 12759  // String returns the string representation.
 12760  //
 12761  // API parameter values that are decorated as "sensitive" in the API will not
 12762  // be included in the string output. The member name will be present, but the
 12763  // value will be replaced with "sensitive".
 12764  func (s DescribeBotAliasInput) String() string {
 12765  	return awsutil.Prettify(s)
 12766  }
 12767  
 12768  // GoString returns the string representation.
 12769  //
 12770  // API parameter values that are decorated as "sensitive" in the API will not
 12771  // be included in the string output. The member name will be present, but the
 12772  // value will be replaced with "sensitive".
 12773  func (s DescribeBotAliasInput) GoString() string {
 12774  	return s.String()
 12775  }
 12776  
 12777  // Validate inspects the fields of the type to determine if they are valid.
 12778  func (s *DescribeBotAliasInput) Validate() error {
 12779  	invalidParams := request.ErrInvalidParams{Context: "DescribeBotAliasInput"}
 12780  	if s.BotAliasId == nil {
 12781  		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
 12782  	}
 12783  	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
 12784  		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
 12785  	}
 12786  	if s.BotId == nil {
 12787  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 12788  	}
 12789  	if s.BotId != nil && len(*s.BotId) < 10 {
 12790  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 12791  	}
 12792  
 12793  	if invalidParams.Len() > 0 {
 12794  		return invalidParams
 12795  	}
 12796  	return nil
 12797  }
 12798  
 12799  // SetBotAliasId sets the BotAliasId field's value.
 12800  func (s *DescribeBotAliasInput) SetBotAliasId(v string) *DescribeBotAliasInput {
 12801  	s.BotAliasId = &v
 12802  	return s
 12803  }
 12804  
 12805  // SetBotId sets the BotId field's value.
 12806  func (s *DescribeBotAliasInput) SetBotId(v string) *DescribeBotAliasInput {
 12807  	s.BotId = &v
 12808  	return s
 12809  }
 12810  
 12811  type DescribeBotAliasOutput struct {
 12812  	_ struct{} `type:"structure"`
 12813  
 12814  	// A list of events that affect a bot alias. For example, an event is recorded
 12815  	// when the version that the alias points to changes.
 12816  	BotAliasHistoryEvents []*BotAliasHistoryEvent `locationName:"botAliasHistoryEvents" type:"list"`
 12817  
 12818  	// The identifier of the bot alias.
 12819  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
 12820  
 12821  	// The locale settings that are unique to the alias.
 12822  	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
 12823  
 12824  	// The name of the bot alias.
 12825  	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
 12826  
 12827  	// The current status of the alias. When the alias is Available, the alias is
 12828  	// ready for use with your bot.
 12829  	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
 12830  
 12831  	// The identifier of the bot associated with the bot alias.
 12832  	BotId *string `locationName:"botId" min:"10" type:"string"`
 12833  
 12834  	// The version of the bot associated with the bot alias.
 12835  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 12836  
 12837  	// Specifics of how Amazon Lex logs text and audio conversations with the bot
 12838  	// associated with the alias.
 12839  	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
 12840  
 12841  	// A timestamp of the date and time that the alias was created.
 12842  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 12843  
 12844  	// The description of the bot alias.
 12845  	Description *string `locationName:"description" type:"string"`
 12846  
 12847  	// A timestamp of the date and time that the alias was last updated.
 12848  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 12849  
 12850  	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
 12851  	// of user utterances.
 12852  	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
 12853  }
 12854  
 12855  // String returns the string representation.
 12856  //
 12857  // API parameter values that are decorated as "sensitive" in the API will not
 12858  // be included in the string output. The member name will be present, but the
 12859  // value will be replaced with "sensitive".
 12860  func (s DescribeBotAliasOutput) String() string {
 12861  	return awsutil.Prettify(s)
 12862  }
 12863  
 12864  // GoString returns the string representation.
 12865  //
 12866  // API parameter values that are decorated as "sensitive" in the API will not
 12867  // be included in the string output. The member name will be present, but the
 12868  // value will be replaced with "sensitive".
 12869  func (s DescribeBotAliasOutput) GoString() string {
 12870  	return s.String()
 12871  }
 12872  
 12873  // SetBotAliasHistoryEvents sets the BotAliasHistoryEvents field's value.
 12874  func (s *DescribeBotAliasOutput) SetBotAliasHistoryEvents(v []*BotAliasHistoryEvent) *DescribeBotAliasOutput {
 12875  	s.BotAliasHistoryEvents = v
 12876  	return s
 12877  }
 12878  
 12879  // SetBotAliasId sets the BotAliasId field's value.
 12880  func (s *DescribeBotAliasOutput) SetBotAliasId(v string) *DescribeBotAliasOutput {
 12881  	s.BotAliasId = &v
 12882  	return s
 12883  }
 12884  
 12885  // SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
 12886  func (s *DescribeBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *DescribeBotAliasOutput {
 12887  	s.BotAliasLocaleSettings = v
 12888  	return s
 12889  }
 12890  
 12891  // SetBotAliasName sets the BotAliasName field's value.
 12892  func (s *DescribeBotAliasOutput) SetBotAliasName(v string) *DescribeBotAliasOutput {
 12893  	s.BotAliasName = &v
 12894  	return s
 12895  }
 12896  
 12897  // SetBotAliasStatus sets the BotAliasStatus field's value.
 12898  func (s *DescribeBotAliasOutput) SetBotAliasStatus(v string) *DescribeBotAliasOutput {
 12899  	s.BotAliasStatus = &v
 12900  	return s
 12901  }
 12902  
 12903  // SetBotId sets the BotId field's value.
 12904  func (s *DescribeBotAliasOutput) SetBotId(v string) *DescribeBotAliasOutput {
 12905  	s.BotId = &v
 12906  	return s
 12907  }
 12908  
 12909  // SetBotVersion sets the BotVersion field's value.
 12910  func (s *DescribeBotAliasOutput) SetBotVersion(v string) *DescribeBotAliasOutput {
 12911  	s.BotVersion = &v
 12912  	return s
 12913  }
 12914  
 12915  // SetConversationLogSettings sets the ConversationLogSettings field's value.
 12916  func (s *DescribeBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *DescribeBotAliasOutput {
 12917  	s.ConversationLogSettings = v
 12918  	return s
 12919  }
 12920  
 12921  // SetCreationDateTime sets the CreationDateTime field's value.
 12922  func (s *DescribeBotAliasOutput) SetCreationDateTime(v time.Time) *DescribeBotAliasOutput {
 12923  	s.CreationDateTime = &v
 12924  	return s
 12925  }
 12926  
 12927  // SetDescription sets the Description field's value.
 12928  func (s *DescribeBotAliasOutput) SetDescription(v string) *DescribeBotAliasOutput {
 12929  	s.Description = &v
 12930  	return s
 12931  }
 12932  
 12933  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 12934  func (s *DescribeBotAliasOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotAliasOutput {
 12935  	s.LastUpdatedDateTime = &v
 12936  	return s
 12937  }
 12938  
 12939  // SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
 12940  func (s *DescribeBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *DescribeBotAliasOutput {
 12941  	s.SentimentAnalysisSettings = v
 12942  	return s
 12943  }
 12944  
 12945  type DescribeBotInput struct {
 12946  	_ struct{} `type:"structure" nopayload:"true"`
 12947  
 12948  	// The unique identifier of the bot to describe.
 12949  	//
 12950  	// BotId is a required field
 12951  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 12952  }
 12953  
 12954  // String returns the string representation.
 12955  //
 12956  // API parameter values that are decorated as "sensitive" in the API will not
 12957  // be included in the string output. The member name will be present, but the
 12958  // value will be replaced with "sensitive".
 12959  func (s DescribeBotInput) String() string {
 12960  	return awsutil.Prettify(s)
 12961  }
 12962  
 12963  // GoString returns the string representation.
 12964  //
 12965  // API parameter values that are decorated as "sensitive" in the API will not
 12966  // be included in the string output. The member name will be present, but the
 12967  // value will be replaced with "sensitive".
 12968  func (s DescribeBotInput) GoString() string {
 12969  	return s.String()
 12970  }
 12971  
 12972  // Validate inspects the fields of the type to determine if they are valid.
 12973  func (s *DescribeBotInput) Validate() error {
 12974  	invalidParams := request.ErrInvalidParams{Context: "DescribeBotInput"}
 12975  	if s.BotId == nil {
 12976  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 12977  	}
 12978  	if s.BotId != nil && len(*s.BotId) < 10 {
 12979  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 12980  	}
 12981  
 12982  	if invalidParams.Len() > 0 {
 12983  		return invalidParams
 12984  	}
 12985  	return nil
 12986  }
 12987  
 12988  // SetBotId sets the BotId field's value.
 12989  func (s *DescribeBotInput) SetBotId(v string) *DescribeBotInput {
 12990  	s.BotId = &v
 12991  	return s
 12992  }
 12993  
 12994  type DescribeBotLocaleInput struct {
 12995  	_ struct{} `type:"structure" nopayload:"true"`
 12996  
 12997  	// The identifier of the bot associated with the locale.
 12998  	//
 12999  	// BotId is a required field
 13000  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 13001  
 13002  	// The identifier of the version of the bot associated with the locale.
 13003  	//
 13004  	// BotVersion is a required field
 13005  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 13006  
 13007  	// The unique identifier of the locale to describe. The string must match one
 13008  	// of the supported locales. For more information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 13009  	//
 13010  	// LocaleId is a required field
 13011  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 13012  }
 13013  
 13014  // String returns the string representation.
 13015  //
 13016  // API parameter values that are decorated as "sensitive" in the API will not
 13017  // be included in the string output. The member name will be present, but the
 13018  // value will be replaced with "sensitive".
 13019  func (s DescribeBotLocaleInput) String() string {
 13020  	return awsutil.Prettify(s)
 13021  }
 13022  
 13023  // GoString returns the string representation.
 13024  //
 13025  // API parameter values that are decorated as "sensitive" in the API will not
 13026  // be included in the string output. The member name will be present, but the
 13027  // value will be replaced with "sensitive".
 13028  func (s DescribeBotLocaleInput) GoString() string {
 13029  	return s.String()
 13030  }
 13031  
 13032  // Validate inspects the fields of the type to determine if they are valid.
 13033  func (s *DescribeBotLocaleInput) Validate() error {
 13034  	invalidParams := request.ErrInvalidParams{Context: "DescribeBotLocaleInput"}
 13035  	if s.BotId == nil {
 13036  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 13037  	}
 13038  	if s.BotId != nil && len(*s.BotId) < 10 {
 13039  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 13040  	}
 13041  	if s.BotVersion == nil {
 13042  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 13043  	}
 13044  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 13045  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 13046  	}
 13047  	if s.LocaleId == nil {
 13048  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 13049  	}
 13050  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 13051  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 13052  	}
 13053  
 13054  	if invalidParams.Len() > 0 {
 13055  		return invalidParams
 13056  	}
 13057  	return nil
 13058  }
 13059  
 13060  // SetBotId sets the BotId field's value.
 13061  func (s *DescribeBotLocaleInput) SetBotId(v string) *DescribeBotLocaleInput {
 13062  	s.BotId = &v
 13063  	return s
 13064  }
 13065  
 13066  // SetBotVersion sets the BotVersion field's value.
 13067  func (s *DescribeBotLocaleInput) SetBotVersion(v string) *DescribeBotLocaleInput {
 13068  	s.BotVersion = &v
 13069  	return s
 13070  }
 13071  
 13072  // SetLocaleId sets the LocaleId field's value.
 13073  func (s *DescribeBotLocaleInput) SetLocaleId(v string) *DescribeBotLocaleInput {
 13074  	s.LocaleId = &v
 13075  	return s
 13076  }
 13077  
 13078  type DescribeBotLocaleOutput struct {
 13079  	_ struct{} `type:"structure"`
 13080  
 13081  	// The identifier of the bot associated with the locale.
 13082  	BotId *string `locationName:"botId" min:"10" type:"string"`
 13083  
 13084  	// History of changes, such as when a locale is used in an alias, that have
 13085  	// taken place for the locale.
 13086  	BotLocaleHistoryEvents []*BotLocaleHistoryEvent `locationName:"botLocaleHistoryEvents" type:"list"`
 13087  
 13088  	// The status of the bot. If the status is Failed, the reasons for the failure
 13089  	// are listed in the failureReasons field.
 13090  	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
 13091  
 13092  	// The identifier of the version of the bot associated with the locale.
 13093  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 13094  
 13095  	// The date and time that the locale was created.
 13096  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 13097  
 13098  	// The description of the locale.
 13099  	Description *string `locationName:"description" type:"string"`
 13100  
 13101  	// if botLocaleStatus is Failed, Amazon Lex explains why it failed to build
 13102  	// the bot.
 13103  	FailureReasons []*string `locationName:"failureReasons" type:"list"`
 13104  
 13105  	// The number of intents defined for the locale.
 13106  	IntentsCount *int64 `locationName:"intentsCount" type:"integer"`
 13107  
 13108  	// The date and time that the locale was last submitted for building.
 13109  	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
 13110  
 13111  	// The date and time that the locale was last updated.
 13112  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 13113  
 13114  	// The unique identifier of the described locale.
 13115  	LocaleId *string `locationName:"localeId" type:"string"`
 13116  
 13117  	// The name of the locale.
 13118  	LocaleName *string `locationName:"localeName" type:"string"`
 13119  
 13120  	// The confidence threshold where Amazon Lex inserts the AMAZON.FallbackIntent
 13121  	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
 13122  	// an utterance.
 13123  	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
 13124  
 13125  	// The number of slot types defined for the locale.
 13126  	SlotTypesCount *int64 `locationName:"slotTypesCount" type:"integer"`
 13127  
 13128  	// The Amazon Polly voice Amazon Lex uses for voice interaction with the user.
 13129  	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
 13130  }
 13131  
 13132  // String returns the string representation.
 13133  //
 13134  // API parameter values that are decorated as "sensitive" in the API will not
 13135  // be included in the string output. The member name will be present, but the
 13136  // value will be replaced with "sensitive".
 13137  func (s DescribeBotLocaleOutput) String() string {
 13138  	return awsutil.Prettify(s)
 13139  }
 13140  
 13141  // GoString returns the string representation.
 13142  //
 13143  // API parameter values that are decorated as "sensitive" in the API will not
 13144  // be included in the string output. The member name will be present, but the
 13145  // value will be replaced with "sensitive".
 13146  func (s DescribeBotLocaleOutput) GoString() string {
 13147  	return s.String()
 13148  }
 13149  
 13150  // SetBotId sets the BotId field's value.
 13151  func (s *DescribeBotLocaleOutput) SetBotId(v string) *DescribeBotLocaleOutput {
 13152  	s.BotId = &v
 13153  	return s
 13154  }
 13155  
 13156  // SetBotLocaleHistoryEvents sets the BotLocaleHistoryEvents field's value.
 13157  func (s *DescribeBotLocaleOutput) SetBotLocaleHistoryEvents(v []*BotLocaleHistoryEvent) *DescribeBotLocaleOutput {
 13158  	s.BotLocaleHistoryEvents = v
 13159  	return s
 13160  }
 13161  
 13162  // SetBotLocaleStatus sets the BotLocaleStatus field's value.
 13163  func (s *DescribeBotLocaleOutput) SetBotLocaleStatus(v string) *DescribeBotLocaleOutput {
 13164  	s.BotLocaleStatus = &v
 13165  	return s
 13166  }
 13167  
 13168  // SetBotVersion sets the BotVersion field's value.
 13169  func (s *DescribeBotLocaleOutput) SetBotVersion(v string) *DescribeBotLocaleOutput {
 13170  	s.BotVersion = &v
 13171  	return s
 13172  }
 13173  
 13174  // SetCreationDateTime sets the CreationDateTime field's value.
 13175  func (s *DescribeBotLocaleOutput) SetCreationDateTime(v time.Time) *DescribeBotLocaleOutput {
 13176  	s.CreationDateTime = &v
 13177  	return s
 13178  }
 13179  
 13180  // SetDescription sets the Description field's value.
 13181  func (s *DescribeBotLocaleOutput) SetDescription(v string) *DescribeBotLocaleOutput {
 13182  	s.Description = &v
 13183  	return s
 13184  }
 13185  
 13186  // SetFailureReasons sets the FailureReasons field's value.
 13187  func (s *DescribeBotLocaleOutput) SetFailureReasons(v []*string) *DescribeBotLocaleOutput {
 13188  	s.FailureReasons = v
 13189  	return s
 13190  }
 13191  
 13192  // SetIntentsCount sets the IntentsCount field's value.
 13193  func (s *DescribeBotLocaleOutput) SetIntentsCount(v int64) *DescribeBotLocaleOutput {
 13194  	s.IntentsCount = &v
 13195  	return s
 13196  }
 13197  
 13198  // SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
 13199  func (s *DescribeBotLocaleOutput) SetLastBuildSubmittedDateTime(v time.Time) *DescribeBotLocaleOutput {
 13200  	s.LastBuildSubmittedDateTime = &v
 13201  	return s
 13202  }
 13203  
 13204  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 13205  func (s *DescribeBotLocaleOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotLocaleOutput {
 13206  	s.LastUpdatedDateTime = &v
 13207  	return s
 13208  }
 13209  
 13210  // SetLocaleId sets the LocaleId field's value.
 13211  func (s *DescribeBotLocaleOutput) SetLocaleId(v string) *DescribeBotLocaleOutput {
 13212  	s.LocaleId = &v
 13213  	return s
 13214  }
 13215  
 13216  // SetLocaleName sets the LocaleName field's value.
 13217  func (s *DescribeBotLocaleOutput) SetLocaleName(v string) *DescribeBotLocaleOutput {
 13218  	s.LocaleName = &v
 13219  	return s
 13220  }
 13221  
 13222  // SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
 13223  func (s *DescribeBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *DescribeBotLocaleOutput {
 13224  	s.NluIntentConfidenceThreshold = &v
 13225  	return s
 13226  }
 13227  
 13228  // SetSlotTypesCount sets the SlotTypesCount field's value.
 13229  func (s *DescribeBotLocaleOutput) SetSlotTypesCount(v int64) *DescribeBotLocaleOutput {
 13230  	s.SlotTypesCount = &v
 13231  	return s
 13232  }
 13233  
 13234  // SetVoiceSettings sets the VoiceSettings field's value.
 13235  func (s *DescribeBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *DescribeBotLocaleOutput {
 13236  	s.VoiceSettings = v
 13237  	return s
 13238  }
 13239  
 13240  type DescribeBotOutput struct {
 13241  	_ struct{} `type:"structure"`
 13242  
 13243  	// The unique identifier of the bot.
 13244  	BotId *string `locationName:"botId" min:"10" type:"string"`
 13245  
 13246  	// The name of the bot.
 13247  	BotName *string `locationName:"botName" min:"1" type:"string"`
 13248  
 13249  	// The current status of the bot. When the status is Available the bot is ready
 13250  	// to be used in conversations with users.
 13251  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
 13252  
 13253  	// A timestamp of the date and time that the bot was created.
 13254  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 13255  
 13256  	// Settings for managing data privacy of the bot and its conversations with
 13257  	// users.
 13258  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
 13259  
 13260  	// The description of the bot.
 13261  	Description *string `locationName:"description" type:"string"`
 13262  
 13263  	// The maximum time in seconds that Amazon Lex retains the data gathered in
 13264  	// a conversation.
 13265  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
 13266  
 13267  	// A timestamp of the date and time that the bot was last updated.
 13268  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 13269  
 13270  	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
 13271  	// the bot.
 13272  	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
 13273  }
 13274  
 13275  // String returns the string representation.
 13276  //
 13277  // API parameter values that are decorated as "sensitive" in the API will not
 13278  // be included in the string output. The member name will be present, but the
 13279  // value will be replaced with "sensitive".
 13280  func (s DescribeBotOutput) String() string {
 13281  	return awsutil.Prettify(s)
 13282  }
 13283  
 13284  // GoString returns the string representation.
 13285  //
 13286  // API parameter values that are decorated as "sensitive" in the API will not
 13287  // be included in the string output. The member name will be present, but the
 13288  // value will be replaced with "sensitive".
 13289  func (s DescribeBotOutput) GoString() string {
 13290  	return s.String()
 13291  }
 13292  
 13293  // SetBotId sets the BotId field's value.
 13294  func (s *DescribeBotOutput) SetBotId(v string) *DescribeBotOutput {
 13295  	s.BotId = &v
 13296  	return s
 13297  }
 13298  
 13299  // SetBotName sets the BotName field's value.
 13300  func (s *DescribeBotOutput) SetBotName(v string) *DescribeBotOutput {
 13301  	s.BotName = &v
 13302  	return s
 13303  }
 13304  
 13305  // SetBotStatus sets the BotStatus field's value.
 13306  func (s *DescribeBotOutput) SetBotStatus(v string) *DescribeBotOutput {
 13307  	s.BotStatus = &v
 13308  	return s
 13309  }
 13310  
 13311  // SetCreationDateTime sets the CreationDateTime field's value.
 13312  func (s *DescribeBotOutput) SetCreationDateTime(v time.Time) *DescribeBotOutput {
 13313  	s.CreationDateTime = &v
 13314  	return s
 13315  }
 13316  
 13317  // SetDataPrivacy sets the DataPrivacy field's value.
 13318  func (s *DescribeBotOutput) SetDataPrivacy(v *DataPrivacy) *DescribeBotOutput {
 13319  	s.DataPrivacy = v
 13320  	return s
 13321  }
 13322  
 13323  // SetDescription sets the Description field's value.
 13324  func (s *DescribeBotOutput) SetDescription(v string) *DescribeBotOutput {
 13325  	s.Description = &v
 13326  	return s
 13327  }
 13328  
 13329  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
 13330  func (s *DescribeBotOutput) SetIdleSessionTTLInSeconds(v int64) *DescribeBotOutput {
 13331  	s.IdleSessionTTLInSeconds = &v
 13332  	return s
 13333  }
 13334  
 13335  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 13336  func (s *DescribeBotOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotOutput {
 13337  	s.LastUpdatedDateTime = &v
 13338  	return s
 13339  }
 13340  
 13341  // SetRoleArn sets the RoleArn field's value.
 13342  func (s *DescribeBotOutput) SetRoleArn(v string) *DescribeBotOutput {
 13343  	s.RoleArn = &v
 13344  	return s
 13345  }
 13346  
 13347  type DescribeBotVersionInput struct {
 13348  	_ struct{} `type:"structure" nopayload:"true"`
 13349  
 13350  	// The identifier of the bot containing the version to return metadata for.
 13351  	//
 13352  	// BotId is a required field
 13353  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 13354  
 13355  	// The version of the bot to return metadata for.
 13356  	//
 13357  	// BotVersion is a required field
 13358  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 13359  }
 13360  
 13361  // String returns the string representation.
 13362  //
 13363  // API parameter values that are decorated as "sensitive" in the API will not
 13364  // be included in the string output. The member name will be present, but the
 13365  // value will be replaced with "sensitive".
 13366  func (s DescribeBotVersionInput) String() string {
 13367  	return awsutil.Prettify(s)
 13368  }
 13369  
 13370  // GoString returns the string representation.
 13371  //
 13372  // API parameter values that are decorated as "sensitive" in the API will not
 13373  // be included in the string output. The member name will be present, but the
 13374  // value will be replaced with "sensitive".
 13375  func (s DescribeBotVersionInput) GoString() string {
 13376  	return s.String()
 13377  }
 13378  
 13379  // Validate inspects the fields of the type to determine if they are valid.
 13380  func (s *DescribeBotVersionInput) Validate() error {
 13381  	invalidParams := request.ErrInvalidParams{Context: "DescribeBotVersionInput"}
 13382  	if s.BotId == nil {
 13383  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 13384  	}
 13385  	if s.BotId != nil && len(*s.BotId) < 10 {
 13386  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 13387  	}
 13388  	if s.BotVersion == nil {
 13389  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 13390  	}
 13391  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 13392  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 13393  	}
 13394  
 13395  	if invalidParams.Len() > 0 {
 13396  		return invalidParams
 13397  	}
 13398  	return nil
 13399  }
 13400  
 13401  // SetBotId sets the BotId field's value.
 13402  func (s *DescribeBotVersionInput) SetBotId(v string) *DescribeBotVersionInput {
 13403  	s.BotId = &v
 13404  	return s
 13405  }
 13406  
 13407  // SetBotVersion sets the BotVersion field's value.
 13408  func (s *DescribeBotVersionInput) SetBotVersion(v string) *DescribeBotVersionInput {
 13409  	s.BotVersion = &v
 13410  	return s
 13411  }
 13412  
 13413  type DescribeBotVersionOutput struct {
 13414  	_ struct{} `type:"structure"`
 13415  
 13416  	// The identifier of the bot that contains the version.
 13417  	BotId *string `locationName:"botId" min:"10" type:"string"`
 13418  
 13419  	// The name of the bot that contains the version.
 13420  	BotName *string `locationName:"botName" min:"1" type:"string"`
 13421  
 13422  	// The current status of the bot. When the status is Available, the bot version
 13423  	// is ready for use.
 13424  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
 13425  
 13426  	// The version of the bot to describe.
 13427  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 13428  
 13429  	// A timestamp of the date and time that the bot version was created.
 13430  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 13431  
 13432  	// Data privacy settings for the bot version.
 13433  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
 13434  
 13435  	// The description specified for the bot.
 13436  	Description *string `locationName:"description" type:"string"`
 13437  
 13438  	// If the botStatus is Failed, this contains a list of reasons that the version
 13439  	// couldn't be built.
 13440  	FailureReasons []*string `locationName:"failureReasons" type:"list"`
 13441  
 13442  	// The number of seconds that a session with the bot remains active before it
 13443  	// is discarded by Amazon Lex.
 13444  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
 13445  
 13446  	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
 13447  	// the bot version.
 13448  	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
 13449  }
 13450  
 13451  // String returns the string representation.
 13452  //
 13453  // API parameter values that are decorated as "sensitive" in the API will not
 13454  // be included in the string output. The member name will be present, but the
 13455  // value will be replaced with "sensitive".
 13456  func (s DescribeBotVersionOutput) String() string {
 13457  	return awsutil.Prettify(s)
 13458  }
 13459  
 13460  // GoString returns the string representation.
 13461  //
 13462  // API parameter values that are decorated as "sensitive" in the API will not
 13463  // be included in the string output. The member name will be present, but the
 13464  // value will be replaced with "sensitive".
 13465  func (s DescribeBotVersionOutput) GoString() string {
 13466  	return s.String()
 13467  }
 13468  
 13469  // SetBotId sets the BotId field's value.
 13470  func (s *DescribeBotVersionOutput) SetBotId(v string) *DescribeBotVersionOutput {
 13471  	s.BotId = &v
 13472  	return s
 13473  }
 13474  
 13475  // SetBotName sets the BotName field's value.
 13476  func (s *DescribeBotVersionOutput) SetBotName(v string) *DescribeBotVersionOutput {
 13477  	s.BotName = &v
 13478  	return s
 13479  }
 13480  
 13481  // SetBotStatus sets the BotStatus field's value.
 13482  func (s *DescribeBotVersionOutput) SetBotStatus(v string) *DescribeBotVersionOutput {
 13483  	s.BotStatus = &v
 13484  	return s
 13485  }
 13486  
 13487  // SetBotVersion sets the BotVersion field's value.
 13488  func (s *DescribeBotVersionOutput) SetBotVersion(v string) *DescribeBotVersionOutput {
 13489  	s.BotVersion = &v
 13490  	return s
 13491  }
 13492  
 13493  // SetCreationDateTime sets the CreationDateTime field's value.
 13494  func (s *DescribeBotVersionOutput) SetCreationDateTime(v time.Time) *DescribeBotVersionOutput {
 13495  	s.CreationDateTime = &v
 13496  	return s
 13497  }
 13498  
 13499  // SetDataPrivacy sets the DataPrivacy field's value.
 13500  func (s *DescribeBotVersionOutput) SetDataPrivacy(v *DataPrivacy) *DescribeBotVersionOutput {
 13501  	s.DataPrivacy = v
 13502  	return s
 13503  }
 13504  
 13505  // SetDescription sets the Description field's value.
 13506  func (s *DescribeBotVersionOutput) SetDescription(v string) *DescribeBotVersionOutput {
 13507  	s.Description = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetFailureReasons sets the FailureReasons field's value.
 13512  func (s *DescribeBotVersionOutput) SetFailureReasons(v []*string) *DescribeBotVersionOutput {
 13513  	s.FailureReasons = v
 13514  	return s
 13515  }
 13516  
 13517  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
 13518  func (s *DescribeBotVersionOutput) SetIdleSessionTTLInSeconds(v int64) *DescribeBotVersionOutput {
 13519  	s.IdleSessionTTLInSeconds = &v
 13520  	return s
 13521  }
 13522  
 13523  // SetRoleArn sets the RoleArn field's value.
 13524  func (s *DescribeBotVersionOutput) SetRoleArn(v string) *DescribeBotVersionOutput {
 13525  	s.RoleArn = &v
 13526  	return s
 13527  }
 13528  
 13529  type DescribeExportInput struct {
 13530  	_ struct{} `type:"structure" nopayload:"true"`
 13531  
 13532  	// The unique identifier of the export to describe.
 13533  	//
 13534  	// ExportId is a required field
 13535  	ExportId *string `location:"uri" locationName:"exportId" min:"10" type:"string" required:"true"`
 13536  }
 13537  
 13538  // String returns the string representation.
 13539  //
 13540  // API parameter values that are decorated as "sensitive" in the API will not
 13541  // be included in the string output. The member name will be present, but the
 13542  // value will be replaced with "sensitive".
 13543  func (s DescribeExportInput) String() string {
 13544  	return awsutil.Prettify(s)
 13545  }
 13546  
 13547  // GoString returns the string representation.
 13548  //
 13549  // API parameter values that are decorated as "sensitive" in the API will not
 13550  // be included in the string output. The member name will be present, but the
 13551  // value will be replaced with "sensitive".
 13552  func (s DescribeExportInput) GoString() string {
 13553  	return s.String()
 13554  }
 13555  
 13556  // Validate inspects the fields of the type to determine if they are valid.
 13557  func (s *DescribeExportInput) Validate() error {
 13558  	invalidParams := request.ErrInvalidParams{Context: "DescribeExportInput"}
 13559  	if s.ExportId == nil {
 13560  		invalidParams.Add(request.NewErrParamRequired("ExportId"))
 13561  	}
 13562  	if s.ExportId != nil && len(*s.ExportId) < 10 {
 13563  		invalidParams.Add(request.NewErrParamMinLen("ExportId", 10))
 13564  	}
 13565  
 13566  	if invalidParams.Len() > 0 {
 13567  		return invalidParams
 13568  	}
 13569  	return nil
 13570  }
 13571  
 13572  // SetExportId sets the ExportId field's value.
 13573  func (s *DescribeExportInput) SetExportId(v string) *DescribeExportInput {
 13574  	s.ExportId = &v
 13575  	return s
 13576  }
 13577  
 13578  type DescribeExportOutput struct {
 13579  	_ struct{} `type:"structure"`
 13580  
 13581  	// The date and time that the export was created.
 13582  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 13583  
 13584  	// A pre-signed S3 URL that points to the bot or bot locale archive. The URL
 13585  	// is only available for 5 minutes after calling the DescribeExport operation.
 13586  	DownloadUrl *string `locationName:"downloadUrl" min:"1" type:"string"`
 13587  
 13588  	// The unique identifier of the described export.
 13589  	ExportId *string `locationName:"exportId" min:"10" type:"string"`
 13590  
 13591  	// The status of the export. When the status is Complete the export archive
 13592  	// file is available for download.
 13593  	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
 13594  
 13595  	// If the exportStatus is failed, contains one or more reasons why the export
 13596  	// could not be completed.
 13597  	FailureReasons []*string `locationName:"failureReasons" type:"list"`
 13598  
 13599  	// The file format used in the files that describe the bot or bot locale.
 13600  	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
 13601  
 13602  	// The last date and time that the export was updated.
 13603  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 13604  
 13605  	// The bot, bot ID, and optional locale ID of the exported bot or bot locale.
 13606  	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
 13607  }
 13608  
 13609  // String returns the string representation.
 13610  //
 13611  // API parameter values that are decorated as "sensitive" in the API will not
 13612  // be included in the string output. The member name will be present, but the
 13613  // value will be replaced with "sensitive".
 13614  func (s DescribeExportOutput) String() string {
 13615  	return awsutil.Prettify(s)
 13616  }
 13617  
 13618  // GoString returns the string representation.
 13619  //
 13620  // API parameter values that are decorated as "sensitive" in the API will not
 13621  // be included in the string output. The member name will be present, but the
 13622  // value will be replaced with "sensitive".
 13623  func (s DescribeExportOutput) GoString() string {
 13624  	return s.String()
 13625  }
 13626  
 13627  // SetCreationDateTime sets the CreationDateTime field's value.
 13628  func (s *DescribeExportOutput) SetCreationDateTime(v time.Time) *DescribeExportOutput {
 13629  	s.CreationDateTime = &v
 13630  	return s
 13631  }
 13632  
 13633  // SetDownloadUrl sets the DownloadUrl field's value.
 13634  func (s *DescribeExportOutput) SetDownloadUrl(v string) *DescribeExportOutput {
 13635  	s.DownloadUrl = &v
 13636  	return s
 13637  }
 13638  
 13639  // SetExportId sets the ExportId field's value.
 13640  func (s *DescribeExportOutput) SetExportId(v string) *DescribeExportOutput {
 13641  	s.ExportId = &v
 13642  	return s
 13643  }
 13644  
 13645  // SetExportStatus sets the ExportStatus field's value.
 13646  func (s *DescribeExportOutput) SetExportStatus(v string) *DescribeExportOutput {
 13647  	s.ExportStatus = &v
 13648  	return s
 13649  }
 13650  
 13651  // SetFailureReasons sets the FailureReasons field's value.
 13652  func (s *DescribeExportOutput) SetFailureReasons(v []*string) *DescribeExportOutput {
 13653  	s.FailureReasons = v
 13654  	return s
 13655  }
 13656  
 13657  // SetFileFormat sets the FileFormat field's value.
 13658  func (s *DescribeExportOutput) SetFileFormat(v string) *DescribeExportOutput {
 13659  	s.FileFormat = &v
 13660  	return s
 13661  }
 13662  
 13663  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 13664  func (s *DescribeExportOutput) SetLastUpdatedDateTime(v time.Time) *DescribeExportOutput {
 13665  	s.LastUpdatedDateTime = &v
 13666  	return s
 13667  }
 13668  
 13669  // SetResourceSpecification sets the ResourceSpecification field's value.
 13670  func (s *DescribeExportOutput) SetResourceSpecification(v *ExportResourceSpecification) *DescribeExportOutput {
 13671  	s.ResourceSpecification = v
 13672  	return s
 13673  }
 13674  
 13675  type DescribeImportInput struct {
 13676  	_ struct{} `type:"structure" nopayload:"true"`
 13677  
 13678  	// The unique identifier of the import to describe.
 13679  	//
 13680  	// ImportId is a required field
 13681  	ImportId *string `location:"uri" locationName:"importId" min:"10" type:"string" required:"true"`
 13682  }
 13683  
 13684  // String returns the string representation.
 13685  //
 13686  // API parameter values that are decorated as "sensitive" in the API will not
 13687  // be included in the string output. The member name will be present, but the
 13688  // value will be replaced with "sensitive".
 13689  func (s DescribeImportInput) String() string {
 13690  	return awsutil.Prettify(s)
 13691  }
 13692  
 13693  // GoString returns the string representation.
 13694  //
 13695  // API parameter values that are decorated as "sensitive" in the API will not
 13696  // be included in the string output. The member name will be present, but the
 13697  // value will be replaced with "sensitive".
 13698  func (s DescribeImportInput) GoString() string {
 13699  	return s.String()
 13700  }
 13701  
 13702  // Validate inspects the fields of the type to determine if they are valid.
 13703  func (s *DescribeImportInput) Validate() error {
 13704  	invalidParams := request.ErrInvalidParams{Context: "DescribeImportInput"}
 13705  	if s.ImportId == nil {
 13706  		invalidParams.Add(request.NewErrParamRequired("ImportId"))
 13707  	}
 13708  	if s.ImportId != nil && len(*s.ImportId) < 10 {
 13709  		invalidParams.Add(request.NewErrParamMinLen("ImportId", 10))
 13710  	}
 13711  
 13712  	if invalidParams.Len() > 0 {
 13713  		return invalidParams
 13714  	}
 13715  	return nil
 13716  }
 13717  
 13718  // SetImportId sets the ImportId field's value.
 13719  func (s *DescribeImportInput) SetImportId(v string) *DescribeImportInput {
 13720  	s.ImportId = &v
 13721  	return s
 13722  }
 13723  
 13724  type DescribeImportOutput struct {
 13725  	_ struct{} `type:"structure"`
 13726  
 13727  	// The date and time that the import was created.
 13728  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 13729  
 13730  	// If the importStatus field is Failed, this provides one or more reasons for
 13731  	// the failure.
 13732  	FailureReasons []*string `locationName:"failureReasons" type:"list"`
 13733  
 13734  	// The unique identifier of the described import.
 13735  	ImportId *string `locationName:"importId" min:"10" type:"string"`
 13736  
 13737  	// The status of the import process. When the status is Completed the resource
 13738  	// is imported and ready for use.
 13739  	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
 13740  
 13741  	// The unique identifier that Amazon Lex assigned to the resource created by
 13742  	// the import.
 13743  	ImportedResourceId *string `locationName:"importedResourceId" min:"5" type:"string"`
 13744  
 13745  	// The name of the imported resource.
 13746  	ImportedResourceName *string `locationName:"importedResourceName" min:"1" type:"string"`
 13747  
 13748  	// The date and time that the import was last updated.
 13749  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 13750  
 13751  	// The strategy used when there was a name conflict between the imported resource
 13752  	// and an existing resource. When the merge strategy is FailOnConflict existing
 13753  	// resources are not overwritten and the import fails.
 13754  	MergeStrategy *string `locationName:"mergeStrategy" type:"string" enum:"MergeStrategy"`
 13755  
 13756  	// The specifications of the imported bot or bot locale.
 13757  	ResourceSpecification *ImportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
 13758  }
 13759  
 13760  // String returns the string representation.
 13761  //
 13762  // API parameter values that are decorated as "sensitive" in the API will not
 13763  // be included in the string output. The member name will be present, but the
 13764  // value will be replaced with "sensitive".
 13765  func (s DescribeImportOutput) String() string {
 13766  	return awsutil.Prettify(s)
 13767  }
 13768  
 13769  // GoString returns the string representation.
 13770  //
 13771  // API parameter values that are decorated as "sensitive" in the API will not
 13772  // be included in the string output. The member name will be present, but the
 13773  // value will be replaced with "sensitive".
 13774  func (s DescribeImportOutput) GoString() string {
 13775  	return s.String()
 13776  }
 13777  
 13778  // SetCreationDateTime sets the CreationDateTime field's value.
 13779  func (s *DescribeImportOutput) SetCreationDateTime(v time.Time) *DescribeImportOutput {
 13780  	s.CreationDateTime = &v
 13781  	return s
 13782  }
 13783  
 13784  // SetFailureReasons sets the FailureReasons field's value.
 13785  func (s *DescribeImportOutput) SetFailureReasons(v []*string) *DescribeImportOutput {
 13786  	s.FailureReasons = v
 13787  	return s
 13788  }
 13789  
 13790  // SetImportId sets the ImportId field's value.
 13791  func (s *DescribeImportOutput) SetImportId(v string) *DescribeImportOutput {
 13792  	s.ImportId = &v
 13793  	return s
 13794  }
 13795  
 13796  // SetImportStatus sets the ImportStatus field's value.
 13797  func (s *DescribeImportOutput) SetImportStatus(v string) *DescribeImportOutput {
 13798  	s.ImportStatus = &v
 13799  	return s
 13800  }
 13801  
 13802  // SetImportedResourceId sets the ImportedResourceId field's value.
 13803  func (s *DescribeImportOutput) SetImportedResourceId(v string) *DescribeImportOutput {
 13804  	s.ImportedResourceId = &v
 13805  	return s
 13806  }
 13807  
 13808  // SetImportedResourceName sets the ImportedResourceName field's value.
 13809  func (s *DescribeImportOutput) SetImportedResourceName(v string) *DescribeImportOutput {
 13810  	s.ImportedResourceName = &v
 13811  	return s
 13812  }
 13813  
 13814  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 13815  func (s *DescribeImportOutput) SetLastUpdatedDateTime(v time.Time) *DescribeImportOutput {
 13816  	s.LastUpdatedDateTime = &v
 13817  	return s
 13818  }
 13819  
 13820  // SetMergeStrategy sets the MergeStrategy field's value.
 13821  func (s *DescribeImportOutput) SetMergeStrategy(v string) *DescribeImportOutput {
 13822  	s.MergeStrategy = &v
 13823  	return s
 13824  }
 13825  
 13826  // SetResourceSpecification sets the ResourceSpecification field's value.
 13827  func (s *DescribeImportOutput) SetResourceSpecification(v *ImportResourceSpecification) *DescribeImportOutput {
 13828  	s.ResourceSpecification = v
 13829  	return s
 13830  }
 13831  
 13832  type DescribeIntentInput struct {
 13833  	_ struct{} `type:"structure" nopayload:"true"`
 13834  
 13835  	// The identifier of the bot associated with the intent.
 13836  	//
 13837  	// BotId is a required field
 13838  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 13839  
 13840  	// The version of the bot associated with the intent.
 13841  	//
 13842  	// BotVersion is a required field
 13843  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 13844  
 13845  	// The identifier of the intent to describe.
 13846  	//
 13847  	// IntentId is a required field
 13848  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 13849  
 13850  	// The identifier of the language and locale of the intent to describe. The
 13851  	// string must match one of the supported locales. For more information, see
 13852  	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 13853  	//
 13854  	// LocaleId is a required field
 13855  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 13856  }
 13857  
 13858  // String returns the string representation.
 13859  //
 13860  // API parameter values that are decorated as "sensitive" in the API will not
 13861  // be included in the string output. The member name will be present, but the
 13862  // value will be replaced with "sensitive".
 13863  func (s DescribeIntentInput) String() string {
 13864  	return awsutil.Prettify(s)
 13865  }
 13866  
 13867  // GoString returns the string representation.
 13868  //
 13869  // API parameter values that are decorated as "sensitive" in the API will not
 13870  // be included in the string output. The member name will be present, but the
 13871  // value will be replaced with "sensitive".
 13872  func (s DescribeIntentInput) GoString() string {
 13873  	return s.String()
 13874  }
 13875  
 13876  // Validate inspects the fields of the type to determine if they are valid.
 13877  func (s *DescribeIntentInput) Validate() error {
 13878  	invalidParams := request.ErrInvalidParams{Context: "DescribeIntentInput"}
 13879  	if s.BotId == nil {
 13880  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 13881  	}
 13882  	if s.BotId != nil && len(*s.BotId) < 10 {
 13883  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 13884  	}
 13885  	if s.BotVersion == nil {
 13886  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 13887  	}
 13888  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 13889  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 13890  	}
 13891  	if s.IntentId == nil {
 13892  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 13893  	}
 13894  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 13895  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 13896  	}
 13897  	if s.LocaleId == nil {
 13898  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 13899  	}
 13900  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 13901  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 13902  	}
 13903  
 13904  	if invalidParams.Len() > 0 {
 13905  		return invalidParams
 13906  	}
 13907  	return nil
 13908  }
 13909  
 13910  // SetBotId sets the BotId field's value.
 13911  func (s *DescribeIntentInput) SetBotId(v string) *DescribeIntentInput {
 13912  	s.BotId = &v
 13913  	return s
 13914  }
 13915  
 13916  // SetBotVersion sets the BotVersion field's value.
 13917  func (s *DescribeIntentInput) SetBotVersion(v string) *DescribeIntentInput {
 13918  	s.BotVersion = &v
 13919  	return s
 13920  }
 13921  
 13922  // SetIntentId sets the IntentId field's value.
 13923  func (s *DescribeIntentInput) SetIntentId(v string) *DescribeIntentInput {
 13924  	s.IntentId = &v
 13925  	return s
 13926  }
 13927  
 13928  // SetLocaleId sets the LocaleId field's value.
 13929  func (s *DescribeIntentInput) SetLocaleId(v string) *DescribeIntentInput {
 13930  	s.LocaleId = &v
 13931  	return s
 13932  }
 13933  
 13934  type DescribeIntentOutput struct {
 13935  	_ struct{} `type:"structure"`
 13936  
 13937  	// The identifier of the bot associated with the intent.
 13938  	BotId *string `locationName:"botId" min:"10" type:"string"`
 13939  
 13940  	// The version of the bot associated with the intent.
 13941  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 13942  
 13943  	// A timestamp of the date and time that the intent was created.
 13944  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 13945  
 13946  	// The description of the intent.
 13947  	Description *string `locationName:"description" type:"string"`
 13948  
 13949  	// The Lambda function called during each turn of a conversation with the intent.
 13950  	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
 13951  
 13952  	// The Lambda function called when the intent is complete and ready for fulfillment.
 13953  	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
 13954  
 13955  	// A list of contexts that must be active for the intent to be considered for
 13956  	// sending to the user.
 13957  	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
 13958  
 13959  	// The response that Amazon Lex sends to when the intent is closed.
 13960  	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
 13961  
 13962  	// Prompts that Amazon Lex sends to the user to confirm completion of an intent.
 13963  	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
 13964  
 13965  	// The unique identifier assigned to the intent when it was created.
 13966  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 13967  
 13968  	// The name specified for the intent.
 13969  	IntentName *string `locationName:"intentName" min:"1" type:"string"`
 13970  
 13971  	// Configuration information required to use the AMAZON.KendraSearchIntent intent.
 13972  	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
 13973  
 13974  	// A timestamp of the date and time that the intent was last updated.
 13975  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 13976  
 13977  	// The language and locale specified for the intent.
 13978  	LocaleId *string `locationName:"localeId" type:"string"`
 13979  
 13980  	// A list of contexts that are activated when the intent is fulfilled.
 13981  	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
 13982  
 13983  	// The identifier of the built-in intent that this intent is derived from, if
 13984  	// any.
 13985  	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
 13986  
 13987  	// User utterances that trigger this intent.
 13988  	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
 13989  
 13990  	// The list that determines the priority that slots should be elicited from
 13991  	// the user.
 13992  	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
 13993  }
 13994  
 13995  // String returns the string representation.
 13996  //
 13997  // API parameter values that are decorated as "sensitive" in the API will not
 13998  // be included in the string output. The member name will be present, but the
 13999  // value will be replaced with "sensitive".
 14000  func (s DescribeIntentOutput) String() string {
 14001  	return awsutil.Prettify(s)
 14002  }
 14003  
 14004  // GoString returns the string representation.
 14005  //
 14006  // API parameter values that are decorated as "sensitive" in the API will not
 14007  // be included in the string output. The member name will be present, but the
 14008  // value will be replaced with "sensitive".
 14009  func (s DescribeIntentOutput) GoString() string {
 14010  	return s.String()
 14011  }
 14012  
 14013  // SetBotId sets the BotId field's value.
 14014  func (s *DescribeIntentOutput) SetBotId(v string) *DescribeIntentOutput {
 14015  	s.BotId = &v
 14016  	return s
 14017  }
 14018  
 14019  // SetBotVersion sets the BotVersion field's value.
 14020  func (s *DescribeIntentOutput) SetBotVersion(v string) *DescribeIntentOutput {
 14021  	s.BotVersion = &v
 14022  	return s
 14023  }
 14024  
 14025  // SetCreationDateTime sets the CreationDateTime field's value.
 14026  func (s *DescribeIntentOutput) SetCreationDateTime(v time.Time) *DescribeIntentOutput {
 14027  	s.CreationDateTime = &v
 14028  	return s
 14029  }
 14030  
 14031  // SetDescription sets the Description field's value.
 14032  func (s *DescribeIntentOutput) SetDescription(v string) *DescribeIntentOutput {
 14033  	s.Description = &v
 14034  	return s
 14035  }
 14036  
 14037  // SetDialogCodeHook sets the DialogCodeHook field's value.
 14038  func (s *DescribeIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *DescribeIntentOutput {
 14039  	s.DialogCodeHook = v
 14040  	return s
 14041  }
 14042  
 14043  // SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
 14044  func (s *DescribeIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *DescribeIntentOutput {
 14045  	s.FulfillmentCodeHook = v
 14046  	return s
 14047  }
 14048  
 14049  // SetInputContexts sets the InputContexts field's value.
 14050  func (s *DescribeIntentOutput) SetInputContexts(v []*InputContext) *DescribeIntentOutput {
 14051  	s.InputContexts = v
 14052  	return s
 14053  }
 14054  
 14055  // SetIntentClosingSetting sets the IntentClosingSetting field's value.
 14056  func (s *DescribeIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *DescribeIntentOutput {
 14057  	s.IntentClosingSetting = v
 14058  	return s
 14059  }
 14060  
 14061  // SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
 14062  func (s *DescribeIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *DescribeIntentOutput {
 14063  	s.IntentConfirmationSetting = v
 14064  	return s
 14065  }
 14066  
 14067  // SetIntentId sets the IntentId field's value.
 14068  func (s *DescribeIntentOutput) SetIntentId(v string) *DescribeIntentOutput {
 14069  	s.IntentId = &v
 14070  	return s
 14071  }
 14072  
 14073  // SetIntentName sets the IntentName field's value.
 14074  func (s *DescribeIntentOutput) SetIntentName(v string) *DescribeIntentOutput {
 14075  	s.IntentName = &v
 14076  	return s
 14077  }
 14078  
 14079  // SetKendraConfiguration sets the KendraConfiguration field's value.
 14080  func (s *DescribeIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *DescribeIntentOutput {
 14081  	s.KendraConfiguration = v
 14082  	return s
 14083  }
 14084  
 14085  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 14086  func (s *DescribeIntentOutput) SetLastUpdatedDateTime(v time.Time) *DescribeIntentOutput {
 14087  	s.LastUpdatedDateTime = &v
 14088  	return s
 14089  }
 14090  
 14091  // SetLocaleId sets the LocaleId field's value.
 14092  func (s *DescribeIntentOutput) SetLocaleId(v string) *DescribeIntentOutput {
 14093  	s.LocaleId = &v
 14094  	return s
 14095  }
 14096  
 14097  // SetOutputContexts sets the OutputContexts field's value.
 14098  func (s *DescribeIntentOutput) SetOutputContexts(v []*OutputContext) *DescribeIntentOutput {
 14099  	s.OutputContexts = v
 14100  	return s
 14101  }
 14102  
 14103  // SetParentIntentSignature sets the ParentIntentSignature field's value.
 14104  func (s *DescribeIntentOutput) SetParentIntentSignature(v string) *DescribeIntentOutput {
 14105  	s.ParentIntentSignature = &v
 14106  	return s
 14107  }
 14108  
 14109  // SetSampleUtterances sets the SampleUtterances field's value.
 14110  func (s *DescribeIntentOutput) SetSampleUtterances(v []*SampleUtterance) *DescribeIntentOutput {
 14111  	s.SampleUtterances = v
 14112  	return s
 14113  }
 14114  
 14115  // SetSlotPriorities sets the SlotPriorities field's value.
 14116  func (s *DescribeIntentOutput) SetSlotPriorities(v []*SlotPriority) *DescribeIntentOutput {
 14117  	s.SlotPriorities = v
 14118  	return s
 14119  }
 14120  
 14121  type DescribeResourcePolicyInput struct {
 14122  	_ struct{} `type:"structure" nopayload:"true"`
 14123  
 14124  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 14125  	// policy is attached to.
 14126  	//
 14127  	// ResourceArn is a required field
 14128  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 14129  }
 14130  
 14131  // String returns the string representation.
 14132  //
 14133  // API parameter values that are decorated as "sensitive" in the API will not
 14134  // be included in the string output. The member name will be present, but the
 14135  // value will be replaced with "sensitive".
 14136  func (s DescribeResourcePolicyInput) String() string {
 14137  	return awsutil.Prettify(s)
 14138  }
 14139  
 14140  // GoString returns the string representation.
 14141  //
 14142  // API parameter values that are decorated as "sensitive" in the API will not
 14143  // be included in the string output. The member name will be present, but the
 14144  // value will be replaced with "sensitive".
 14145  func (s DescribeResourcePolicyInput) GoString() string {
 14146  	return s.String()
 14147  }
 14148  
 14149  // Validate inspects the fields of the type to determine if they are valid.
 14150  func (s *DescribeResourcePolicyInput) Validate() error {
 14151  	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePolicyInput"}
 14152  	if s.ResourceArn == nil {
 14153  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14154  	}
 14155  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14156  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14157  	}
 14158  
 14159  	if invalidParams.Len() > 0 {
 14160  		return invalidParams
 14161  	}
 14162  	return nil
 14163  }
 14164  
 14165  // SetResourceArn sets the ResourceArn field's value.
 14166  func (s *DescribeResourcePolicyInput) SetResourceArn(v string) *DescribeResourcePolicyInput {
 14167  	s.ResourceArn = &v
 14168  	return s
 14169  }
 14170  
 14171  type DescribeResourcePolicyOutput struct {
 14172  	_ struct{} `type:"structure"`
 14173  
 14174  	// The JSON structure that contains the resource policy. For more information
 14175  	// about the contents of a JSON policy document, see IAM JSON policy reference
 14176  	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html).
 14177  	Policy *string `locationName:"policy" min:"2" type:"string"`
 14178  
 14179  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 14180  	// policy is attached to.
 14181  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 14182  
 14183  	// The current revision of the resource policy. Use the revision ID to make
 14184  	// sure that you are updating the most current version of a resource policy
 14185  	// when you add a policy statement to a resource, delete a resource, or update
 14186  	// a resource.
 14187  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 14188  }
 14189  
 14190  // String returns the string representation.
 14191  //
 14192  // API parameter values that are decorated as "sensitive" in the API will not
 14193  // be included in the string output. The member name will be present, but the
 14194  // value will be replaced with "sensitive".
 14195  func (s DescribeResourcePolicyOutput) String() string {
 14196  	return awsutil.Prettify(s)
 14197  }
 14198  
 14199  // GoString returns the string representation.
 14200  //
 14201  // API parameter values that are decorated as "sensitive" in the API will not
 14202  // be included in the string output. The member name will be present, but the
 14203  // value will be replaced with "sensitive".
 14204  func (s DescribeResourcePolicyOutput) GoString() string {
 14205  	return s.String()
 14206  }
 14207  
 14208  // SetPolicy sets the Policy field's value.
 14209  func (s *DescribeResourcePolicyOutput) SetPolicy(v string) *DescribeResourcePolicyOutput {
 14210  	s.Policy = &v
 14211  	return s
 14212  }
 14213  
 14214  // SetResourceArn sets the ResourceArn field's value.
 14215  func (s *DescribeResourcePolicyOutput) SetResourceArn(v string) *DescribeResourcePolicyOutput {
 14216  	s.ResourceArn = &v
 14217  	return s
 14218  }
 14219  
 14220  // SetRevisionId sets the RevisionId field's value.
 14221  func (s *DescribeResourcePolicyOutput) SetRevisionId(v string) *DescribeResourcePolicyOutput {
 14222  	s.RevisionId = &v
 14223  	return s
 14224  }
 14225  
 14226  type DescribeSlotInput struct {
 14227  	_ struct{} `type:"structure" nopayload:"true"`
 14228  
 14229  	// The identifier of the bot associated with the slot.
 14230  	//
 14231  	// BotId is a required field
 14232  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 14233  
 14234  	// The version of the bot associated with the slot.
 14235  	//
 14236  	// BotVersion is a required field
 14237  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 14238  
 14239  	// The identifier of the intent that contains the slot.
 14240  	//
 14241  	// IntentId is a required field
 14242  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 14243  
 14244  	// The identifier of the language and locale of the slot to describe. The string
 14245  	// must match one of the supported locales. For more information, see Supported
 14246  	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 14247  	//
 14248  	// LocaleId is a required field
 14249  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 14250  
 14251  	// The unique identifier for the slot.
 14252  	//
 14253  	// SlotId is a required field
 14254  	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
 14255  }
 14256  
 14257  // String returns the string representation.
 14258  //
 14259  // API parameter values that are decorated as "sensitive" in the API will not
 14260  // be included in the string output. The member name will be present, but the
 14261  // value will be replaced with "sensitive".
 14262  func (s DescribeSlotInput) String() string {
 14263  	return awsutil.Prettify(s)
 14264  }
 14265  
 14266  // GoString returns the string representation.
 14267  //
 14268  // API parameter values that are decorated as "sensitive" in the API will not
 14269  // be included in the string output. The member name will be present, but the
 14270  // value will be replaced with "sensitive".
 14271  func (s DescribeSlotInput) GoString() string {
 14272  	return s.String()
 14273  }
 14274  
 14275  // Validate inspects the fields of the type to determine if they are valid.
 14276  func (s *DescribeSlotInput) Validate() error {
 14277  	invalidParams := request.ErrInvalidParams{Context: "DescribeSlotInput"}
 14278  	if s.BotId == nil {
 14279  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 14280  	}
 14281  	if s.BotId != nil && len(*s.BotId) < 10 {
 14282  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 14283  	}
 14284  	if s.BotVersion == nil {
 14285  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 14286  	}
 14287  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 14288  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 14289  	}
 14290  	if s.IntentId == nil {
 14291  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 14292  	}
 14293  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 14294  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 14295  	}
 14296  	if s.LocaleId == nil {
 14297  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 14298  	}
 14299  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 14300  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 14301  	}
 14302  	if s.SlotId == nil {
 14303  		invalidParams.Add(request.NewErrParamRequired("SlotId"))
 14304  	}
 14305  	if s.SlotId != nil && len(*s.SlotId) < 10 {
 14306  		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
 14307  	}
 14308  
 14309  	if invalidParams.Len() > 0 {
 14310  		return invalidParams
 14311  	}
 14312  	return nil
 14313  }
 14314  
 14315  // SetBotId sets the BotId field's value.
 14316  func (s *DescribeSlotInput) SetBotId(v string) *DescribeSlotInput {
 14317  	s.BotId = &v
 14318  	return s
 14319  }
 14320  
 14321  // SetBotVersion sets the BotVersion field's value.
 14322  func (s *DescribeSlotInput) SetBotVersion(v string) *DescribeSlotInput {
 14323  	s.BotVersion = &v
 14324  	return s
 14325  }
 14326  
 14327  // SetIntentId sets the IntentId field's value.
 14328  func (s *DescribeSlotInput) SetIntentId(v string) *DescribeSlotInput {
 14329  	s.IntentId = &v
 14330  	return s
 14331  }
 14332  
 14333  // SetLocaleId sets the LocaleId field's value.
 14334  func (s *DescribeSlotInput) SetLocaleId(v string) *DescribeSlotInput {
 14335  	s.LocaleId = &v
 14336  	return s
 14337  }
 14338  
 14339  // SetSlotId sets the SlotId field's value.
 14340  func (s *DescribeSlotInput) SetSlotId(v string) *DescribeSlotInput {
 14341  	s.SlotId = &v
 14342  	return s
 14343  }
 14344  
 14345  type DescribeSlotOutput struct {
 14346  	_ struct{} `type:"structure"`
 14347  
 14348  	// The identifier of the bot associated with the slot.
 14349  	BotId *string `locationName:"botId" min:"10" type:"string"`
 14350  
 14351  	// The version of the bot associated with the slot.
 14352  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 14353  
 14354  	// A timestamp of the date and time that the slot was created.
 14355  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 14356  
 14357  	// The description specified for the slot.
 14358  	Description *string `locationName:"description" type:"string"`
 14359  
 14360  	// The identifier of the intent associated with the slot.
 14361  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 14362  
 14363  	// A timestamp of the date and time that the slot was last updated.
 14364  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 14365  
 14366  	// The language and locale specified for the slot.
 14367  	LocaleId *string `locationName:"localeId" type:"string"`
 14368  
 14369  	// Indicates whether the slot accepts multiple values in a single utterance.
 14370  	//
 14371  	// If the multipleValuesSetting is not set, the default value is false.
 14372  	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
 14373  
 14374  	// Whether slot values are shown in Amazon CloudWatch logs. If the value is
 14375  	// None, the actual value of the slot is shown in logs.
 14376  	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
 14377  
 14378  	// The unique identifier generated for the slot.
 14379  	SlotId *string `locationName:"slotId" min:"10" type:"string"`
 14380  
 14381  	// The name specified for the slot.
 14382  	SlotName *string `locationName:"slotName" min:"1" type:"string"`
 14383  
 14384  	// The identifier of the slot type that determines the values entered into the
 14385  	// slot.
 14386  	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
 14387  
 14388  	// Prompts that Amazon Lex uses to elicit a value for the slot.
 14389  	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
 14390  }
 14391  
 14392  // String returns the string representation.
 14393  //
 14394  // API parameter values that are decorated as "sensitive" in the API will not
 14395  // be included in the string output. The member name will be present, but the
 14396  // value will be replaced with "sensitive".
 14397  func (s DescribeSlotOutput) String() string {
 14398  	return awsutil.Prettify(s)
 14399  }
 14400  
 14401  // GoString returns the string representation.
 14402  //
 14403  // API parameter values that are decorated as "sensitive" in the API will not
 14404  // be included in the string output. The member name will be present, but the
 14405  // value will be replaced with "sensitive".
 14406  func (s DescribeSlotOutput) GoString() string {
 14407  	return s.String()
 14408  }
 14409  
 14410  // SetBotId sets the BotId field's value.
 14411  func (s *DescribeSlotOutput) SetBotId(v string) *DescribeSlotOutput {
 14412  	s.BotId = &v
 14413  	return s
 14414  }
 14415  
 14416  // SetBotVersion sets the BotVersion field's value.
 14417  func (s *DescribeSlotOutput) SetBotVersion(v string) *DescribeSlotOutput {
 14418  	s.BotVersion = &v
 14419  	return s
 14420  }
 14421  
 14422  // SetCreationDateTime sets the CreationDateTime field's value.
 14423  func (s *DescribeSlotOutput) SetCreationDateTime(v time.Time) *DescribeSlotOutput {
 14424  	s.CreationDateTime = &v
 14425  	return s
 14426  }
 14427  
 14428  // SetDescription sets the Description field's value.
 14429  func (s *DescribeSlotOutput) SetDescription(v string) *DescribeSlotOutput {
 14430  	s.Description = &v
 14431  	return s
 14432  }
 14433  
 14434  // SetIntentId sets the IntentId field's value.
 14435  func (s *DescribeSlotOutput) SetIntentId(v string) *DescribeSlotOutput {
 14436  	s.IntentId = &v
 14437  	return s
 14438  }
 14439  
 14440  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 14441  func (s *DescribeSlotOutput) SetLastUpdatedDateTime(v time.Time) *DescribeSlotOutput {
 14442  	s.LastUpdatedDateTime = &v
 14443  	return s
 14444  }
 14445  
 14446  // SetLocaleId sets the LocaleId field's value.
 14447  func (s *DescribeSlotOutput) SetLocaleId(v string) *DescribeSlotOutput {
 14448  	s.LocaleId = &v
 14449  	return s
 14450  }
 14451  
 14452  // SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
 14453  func (s *DescribeSlotOutput) SetMultipleValuesSetting(v *MultipleValuesSetting) *DescribeSlotOutput {
 14454  	s.MultipleValuesSetting = v
 14455  	return s
 14456  }
 14457  
 14458  // SetObfuscationSetting sets the ObfuscationSetting field's value.
 14459  func (s *DescribeSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *DescribeSlotOutput {
 14460  	s.ObfuscationSetting = v
 14461  	return s
 14462  }
 14463  
 14464  // SetSlotId sets the SlotId field's value.
 14465  func (s *DescribeSlotOutput) SetSlotId(v string) *DescribeSlotOutput {
 14466  	s.SlotId = &v
 14467  	return s
 14468  }
 14469  
 14470  // SetSlotName sets the SlotName field's value.
 14471  func (s *DescribeSlotOutput) SetSlotName(v string) *DescribeSlotOutput {
 14472  	s.SlotName = &v
 14473  	return s
 14474  }
 14475  
 14476  // SetSlotTypeId sets the SlotTypeId field's value.
 14477  func (s *DescribeSlotOutput) SetSlotTypeId(v string) *DescribeSlotOutput {
 14478  	s.SlotTypeId = &v
 14479  	return s
 14480  }
 14481  
 14482  // SetValueElicitationSetting sets the ValueElicitationSetting field's value.
 14483  func (s *DescribeSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *DescribeSlotOutput {
 14484  	s.ValueElicitationSetting = v
 14485  	return s
 14486  }
 14487  
 14488  type DescribeSlotTypeInput struct {
 14489  	_ struct{} `type:"structure" nopayload:"true"`
 14490  
 14491  	// The identifier of the bot associated with the slot type.
 14492  	//
 14493  	// BotId is a required field
 14494  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 14495  
 14496  	// The version of the bot associated with the slot type.
 14497  	//
 14498  	// BotVersion is a required field
 14499  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 14500  
 14501  	// The identifier of the language and locale of the slot type to describe. The
 14502  	// string must match one of the supported locales. For more information, see
 14503  	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 14504  	//
 14505  	// LocaleId is a required field
 14506  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 14507  
 14508  	// The identifier of the slot type.
 14509  	//
 14510  	// SlotTypeId is a required field
 14511  	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
 14512  }
 14513  
 14514  // String returns the string representation.
 14515  //
 14516  // API parameter values that are decorated as "sensitive" in the API will not
 14517  // be included in the string output. The member name will be present, but the
 14518  // value will be replaced with "sensitive".
 14519  func (s DescribeSlotTypeInput) String() string {
 14520  	return awsutil.Prettify(s)
 14521  }
 14522  
 14523  // GoString returns the string representation.
 14524  //
 14525  // API parameter values that are decorated as "sensitive" in the API will not
 14526  // be included in the string output. The member name will be present, but the
 14527  // value will be replaced with "sensitive".
 14528  func (s DescribeSlotTypeInput) GoString() string {
 14529  	return s.String()
 14530  }
 14531  
 14532  // Validate inspects the fields of the type to determine if they are valid.
 14533  func (s *DescribeSlotTypeInput) Validate() error {
 14534  	invalidParams := request.ErrInvalidParams{Context: "DescribeSlotTypeInput"}
 14535  	if s.BotId == nil {
 14536  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 14537  	}
 14538  	if s.BotId != nil && len(*s.BotId) < 10 {
 14539  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 14540  	}
 14541  	if s.BotVersion == nil {
 14542  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 14543  	}
 14544  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 14545  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 14546  	}
 14547  	if s.LocaleId == nil {
 14548  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 14549  	}
 14550  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 14551  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 14552  	}
 14553  	if s.SlotTypeId == nil {
 14554  		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
 14555  	}
 14556  	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
 14557  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
 14558  	}
 14559  
 14560  	if invalidParams.Len() > 0 {
 14561  		return invalidParams
 14562  	}
 14563  	return nil
 14564  }
 14565  
 14566  // SetBotId sets the BotId field's value.
 14567  func (s *DescribeSlotTypeInput) SetBotId(v string) *DescribeSlotTypeInput {
 14568  	s.BotId = &v
 14569  	return s
 14570  }
 14571  
 14572  // SetBotVersion sets the BotVersion field's value.
 14573  func (s *DescribeSlotTypeInput) SetBotVersion(v string) *DescribeSlotTypeInput {
 14574  	s.BotVersion = &v
 14575  	return s
 14576  }
 14577  
 14578  // SetLocaleId sets the LocaleId field's value.
 14579  func (s *DescribeSlotTypeInput) SetLocaleId(v string) *DescribeSlotTypeInput {
 14580  	s.LocaleId = &v
 14581  	return s
 14582  }
 14583  
 14584  // SetSlotTypeId sets the SlotTypeId field's value.
 14585  func (s *DescribeSlotTypeInput) SetSlotTypeId(v string) *DescribeSlotTypeInput {
 14586  	s.SlotTypeId = &v
 14587  	return s
 14588  }
 14589  
 14590  type DescribeSlotTypeOutput struct {
 14591  	_ struct{} `type:"structure"`
 14592  
 14593  	// The identifier of the bot associated with the slot type.
 14594  	BotId *string `locationName:"botId" min:"10" type:"string"`
 14595  
 14596  	// The version of the bot associated with the slot type.
 14597  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 14598  
 14599  	// A timestamp of the date and time that the slot type was created.
 14600  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 14601  
 14602  	// The description specified for the slot type.
 14603  	Description *string `locationName:"description" type:"string"`
 14604  
 14605  	// A timestamp of the date and time that the slot type was last updated.
 14606  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 14607  
 14608  	// The language and locale specified for the slot type.
 14609  	LocaleId *string `locationName:"localeId" type:"string"`
 14610  
 14611  	// The built in slot type used as a parent to this slot type.
 14612  	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
 14613  
 14614  	// The unique identifier for the slot type.
 14615  	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
 14616  
 14617  	// The name specified for the slot type.
 14618  	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
 14619  
 14620  	// The values that the slot type can take. Includes any synonyms for the slot
 14621  	// type values.
 14622  	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
 14623  
 14624  	// The strategy that Amazon Lex uses to choose a value from a list of possible
 14625  	// values.
 14626  	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
 14627  }
 14628  
 14629  // String returns the string representation.
 14630  //
 14631  // API parameter values that are decorated as "sensitive" in the API will not
 14632  // be included in the string output. The member name will be present, but the
 14633  // value will be replaced with "sensitive".
 14634  func (s DescribeSlotTypeOutput) String() string {
 14635  	return awsutil.Prettify(s)
 14636  }
 14637  
 14638  // GoString 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 DescribeSlotTypeOutput) GoString() string {
 14644  	return s.String()
 14645  }
 14646  
 14647  // SetBotId sets the BotId field's value.
 14648  func (s *DescribeSlotTypeOutput) SetBotId(v string) *DescribeSlotTypeOutput {
 14649  	s.BotId = &v
 14650  	return s
 14651  }
 14652  
 14653  // SetBotVersion sets the BotVersion field's value.
 14654  func (s *DescribeSlotTypeOutput) SetBotVersion(v string) *DescribeSlotTypeOutput {
 14655  	s.BotVersion = &v
 14656  	return s
 14657  }
 14658  
 14659  // SetCreationDateTime sets the CreationDateTime field's value.
 14660  func (s *DescribeSlotTypeOutput) SetCreationDateTime(v time.Time) *DescribeSlotTypeOutput {
 14661  	s.CreationDateTime = &v
 14662  	return s
 14663  }
 14664  
 14665  // SetDescription sets the Description field's value.
 14666  func (s *DescribeSlotTypeOutput) SetDescription(v string) *DescribeSlotTypeOutput {
 14667  	s.Description = &v
 14668  	return s
 14669  }
 14670  
 14671  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 14672  func (s *DescribeSlotTypeOutput) SetLastUpdatedDateTime(v time.Time) *DescribeSlotTypeOutput {
 14673  	s.LastUpdatedDateTime = &v
 14674  	return s
 14675  }
 14676  
 14677  // SetLocaleId sets the LocaleId field's value.
 14678  func (s *DescribeSlotTypeOutput) SetLocaleId(v string) *DescribeSlotTypeOutput {
 14679  	s.LocaleId = &v
 14680  	return s
 14681  }
 14682  
 14683  // SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
 14684  func (s *DescribeSlotTypeOutput) SetParentSlotTypeSignature(v string) *DescribeSlotTypeOutput {
 14685  	s.ParentSlotTypeSignature = &v
 14686  	return s
 14687  }
 14688  
 14689  // SetSlotTypeId sets the SlotTypeId field's value.
 14690  func (s *DescribeSlotTypeOutput) SetSlotTypeId(v string) *DescribeSlotTypeOutput {
 14691  	s.SlotTypeId = &v
 14692  	return s
 14693  }
 14694  
 14695  // SetSlotTypeName sets the SlotTypeName field's value.
 14696  func (s *DescribeSlotTypeOutput) SetSlotTypeName(v string) *DescribeSlotTypeOutput {
 14697  	s.SlotTypeName = &v
 14698  	return s
 14699  }
 14700  
 14701  // SetSlotTypeValues sets the SlotTypeValues field's value.
 14702  func (s *DescribeSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *DescribeSlotTypeOutput {
 14703  	s.SlotTypeValues = v
 14704  	return s
 14705  }
 14706  
 14707  // SetValueSelectionSetting sets the ValueSelectionSetting field's value.
 14708  func (s *DescribeSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *DescribeSlotTypeOutput {
 14709  	s.ValueSelectionSetting = v
 14710  	return s
 14711  }
 14712  
 14713  // Settings that determine the Lambda function that Amazon Lex uses for processing
 14714  // user responses.
 14715  type DialogCodeHookSettings struct {
 14716  	_ struct{} `type:"structure"`
 14717  
 14718  	// Enables the dialog code hook so that it processes user requests.
 14719  	//
 14720  	// Enabled is a required field
 14721  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
 14722  }
 14723  
 14724  // String returns the string representation.
 14725  //
 14726  // API parameter values that are decorated as "sensitive" in the API will not
 14727  // be included in the string output. The member name will be present, but the
 14728  // value will be replaced with "sensitive".
 14729  func (s DialogCodeHookSettings) String() string {
 14730  	return awsutil.Prettify(s)
 14731  }
 14732  
 14733  // GoString returns the string representation.
 14734  //
 14735  // API parameter values that are decorated as "sensitive" in the API will not
 14736  // be included in the string output. The member name will be present, but the
 14737  // value will be replaced with "sensitive".
 14738  func (s DialogCodeHookSettings) GoString() string {
 14739  	return s.String()
 14740  }
 14741  
 14742  // Validate inspects the fields of the type to determine if they are valid.
 14743  func (s *DialogCodeHookSettings) Validate() error {
 14744  	invalidParams := request.ErrInvalidParams{Context: "DialogCodeHookSettings"}
 14745  	if s.Enabled == nil {
 14746  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
 14747  	}
 14748  
 14749  	if invalidParams.Len() > 0 {
 14750  		return invalidParams
 14751  	}
 14752  	return nil
 14753  }
 14754  
 14755  // SetEnabled sets the Enabled field's value.
 14756  func (s *DialogCodeHookSettings) SetEnabled(v bool) *DialogCodeHookSettings {
 14757  	s.Enabled = &v
 14758  	return s
 14759  }
 14760  
 14761  // Filters the response form the operation
 14762  type ExportFilter struct {
 14763  	_ struct{} `type:"structure"`
 14764  
 14765  	// The name of the field to use for filtering.
 14766  	//
 14767  	// Name is a required field
 14768  	Name *string `locationName:"name" type:"string" required:"true" enum:"ExportFilterName"`
 14769  
 14770  	// The operator to use for the filter. Specify EQ when the ListExports operation
 14771  	// should return only resource types that equal the specified value. Specify
 14772  	// CO when the ListExports operation should return resource types that contain
 14773  	// the specified value.
 14774  	//
 14775  	// Operator is a required field
 14776  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"ExportFilterOperator"`
 14777  
 14778  	// The values to use to filter the response.
 14779  	//
 14780  	// Values is a required field
 14781  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
 14782  }
 14783  
 14784  // String returns the string representation.
 14785  //
 14786  // API parameter values that are decorated as "sensitive" in the API will not
 14787  // be included in the string output. The member name will be present, but the
 14788  // value will be replaced with "sensitive".
 14789  func (s ExportFilter) String() string {
 14790  	return awsutil.Prettify(s)
 14791  }
 14792  
 14793  // GoString returns the string representation.
 14794  //
 14795  // API parameter values that are decorated as "sensitive" in the API will not
 14796  // be included in the string output. The member name will be present, but the
 14797  // value will be replaced with "sensitive".
 14798  func (s ExportFilter) GoString() string {
 14799  	return s.String()
 14800  }
 14801  
 14802  // Validate inspects the fields of the type to determine if they are valid.
 14803  func (s *ExportFilter) Validate() error {
 14804  	invalidParams := request.ErrInvalidParams{Context: "ExportFilter"}
 14805  	if s.Name == nil {
 14806  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14807  	}
 14808  	if s.Operator == nil {
 14809  		invalidParams.Add(request.NewErrParamRequired("Operator"))
 14810  	}
 14811  	if s.Values == nil {
 14812  		invalidParams.Add(request.NewErrParamRequired("Values"))
 14813  	}
 14814  	if s.Values != nil && len(s.Values) < 1 {
 14815  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
 14816  	}
 14817  
 14818  	if invalidParams.Len() > 0 {
 14819  		return invalidParams
 14820  	}
 14821  	return nil
 14822  }
 14823  
 14824  // SetName sets the Name field's value.
 14825  func (s *ExportFilter) SetName(v string) *ExportFilter {
 14826  	s.Name = &v
 14827  	return s
 14828  }
 14829  
 14830  // SetOperator sets the Operator field's value.
 14831  func (s *ExportFilter) SetOperator(v string) *ExportFilter {
 14832  	s.Operator = &v
 14833  	return s
 14834  }
 14835  
 14836  // SetValues sets the Values field's value.
 14837  func (s *ExportFilter) SetValues(v []*string) *ExportFilter {
 14838  	s.Values = v
 14839  	return s
 14840  }
 14841  
 14842  // Provides information about the bot or bot locale that you want to export.
 14843  // You can specify the botExportSpecification or the botLocaleExportSpecification,
 14844  // but not both.
 14845  type ExportResourceSpecification struct {
 14846  	_ struct{} `type:"structure"`
 14847  
 14848  	// Parameters for exporting a bot.
 14849  	BotExportSpecification *BotExportSpecification `locationName:"botExportSpecification" type:"structure"`
 14850  
 14851  	// Parameters for exporting a bot locale.
 14852  	BotLocaleExportSpecification *BotLocaleExportSpecification `locationName:"botLocaleExportSpecification" type:"structure"`
 14853  }
 14854  
 14855  // String returns the string representation.
 14856  //
 14857  // API parameter values that are decorated as "sensitive" in the API will not
 14858  // be included in the string output. The member name will be present, but the
 14859  // value will be replaced with "sensitive".
 14860  func (s ExportResourceSpecification) String() string {
 14861  	return awsutil.Prettify(s)
 14862  }
 14863  
 14864  // GoString returns the string representation.
 14865  //
 14866  // API parameter values that are decorated as "sensitive" in the API will not
 14867  // be included in the string output. The member name will be present, but the
 14868  // value will be replaced with "sensitive".
 14869  func (s ExportResourceSpecification) GoString() string {
 14870  	return s.String()
 14871  }
 14872  
 14873  // Validate inspects the fields of the type to determine if they are valid.
 14874  func (s *ExportResourceSpecification) Validate() error {
 14875  	invalidParams := request.ErrInvalidParams{Context: "ExportResourceSpecification"}
 14876  	if s.BotExportSpecification != nil {
 14877  		if err := s.BotExportSpecification.Validate(); err != nil {
 14878  			invalidParams.AddNested("BotExportSpecification", err.(request.ErrInvalidParams))
 14879  		}
 14880  	}
 14881  	if s.BotLocaleExportSpecification != nil {
 14882  		if err := s.BotLocaleExportSpecification.Validate(); err != nil {
 14883  			invalidParams.AddNested("BotLocaleExportSpecification", err.(request.ErrInvalidParams))
 14884  		}
 14885  	}
 14886  
 14887  	if invalidParams.Len() > 0 {
 14888  		return invalidParams
 14889  	}
 14890  	return nil
 14891  }
 14892  
 14893  // SetBotExportSpecification sets the BotExportSpecification field's value.
 14894  func (s *ExportResourceSpecification) SetBotExportSpecification(v *BotExportSpecification) *ExportResourceSpecification {
 14895  	s.BotExportSpecification = v
 14896  	return s
 14897  }
 14898  
 14899  // SetBotLocaleExportSpecification sets the BotLocaleExportSpecification field's value.
 14900  func (s *ExportResourceSpecification) SetBotLocaleExportSpecification(v *BotLocaleExportSpecification) *ExportResourceSpecification {
 14901  	s.BotLocaleExportSpecification = v
 14902  	return s
 14903  }
 14904  
 14905  // Provides information about sorting a list of exports.
 14906  type ExportSortBy struct {
 14907  	_ struct{} `type:"structure"`
 14908  
 14909  	// The export field to use for sorting.
 14910  	//
 14911  	// Attribute is a required field
 14912  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"ExportSortAttribute"`
 14913  
 14914  	// The order to sort the list.
 14915  	//
 14916  	// Order is a required field
 14917  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
 14918  }
 14919  
 14920  // String returns the string representation.
 14921  //
 14922  // API parameter values that are decorated as "sensitive" in the API will not
 14923  // be included in the string output. The member name will be present, but the
 14924  // value will be replaced with "sensitive".
 14925  func (s ExportSortBy) String() string {
 14926  	return awsutil.Prettify(s)
 14927  }
 14928  
 14929  // GoString returns the string representation.
 14930  //
 14931  // API parameter values that are decorated as "sensitive" in the API will not
 14932  // be included in the string output. The member name will be present, but the
 14933  // value will be replaced with "sensitive".
 14934  func (s ExportSortBy) GoString() string {
 14935  	return s.String()
 14936  }
 14937  
 14938  // Validate inspects the fields of the type to determine if they are valid.
 14939  func (s *ExportSortBy) Validate() error {
 14940  	invalidParams := request.ErrInvalidParams{Context: "ExportSortBy"}
 14941  	if s.Attribute == nil {
 14942  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
 14943  	}
 14944  	if s.Order == nil {
 14945  		invalidParams.Add(request.NewErrParamRequired("Order"))
 14946  	}
 14947  
 14948  	if invalidParams.Len() > 0 {
 14949  		return invalidParams
 14950  	}
 14951  	return nil
 14952  }
 14953  
 14954  // SetAttribute sets the Attribute field's value.
 14955  func (s *ExportSortBy) SetAttribute(v string) *ExportSortBy {
 14956  	s.Attribute = &v
 14957  	return s
 14958  }
 14959  
 14960  // SetOrder sets the Order field's value.
 14961  func (s *ExportSortBy) SetOrder(v string) *ExportSortBy {
 14962  	s.Order = &v
 14963  	return s
 14964  }
 14965  
 14966  // Provides summary information about an export in an export list.
 14967  type ExportSummary struct {
 14968  	_ struct{} `type:"structure"`
 14969  
 14970  	// The date and time that the export was created.
 14971  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 14972  
 14973  	// The unique identifier that Amazon Lex assigned to the export.
 14974  	ExportId *string `locationName:"exportId" min:"10" type:"string"`
 14975  
 14976  	// The status of the export. When the status is Completed the export is ready
 14977  	// to download.
 14978  	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
 14979  
 14980  	// The file format used in the export files.
 14981  	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
 14982  
 14983  	// The date and time that the export was last updated.
 14984  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 14985  
 14986  	// Information about the bot or bot locale that was exported.
 14987  	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
 14988  }
 14989  
 14990  // String returns the string representation.
 14991  //
 14992  // API parameter values that are decorated as "sensitive" in the API will not
 14993  // be included in the string output. The member name will be present, but the
 14994  // value will be replaced with "sensitive".
 14995  func (s ExportSummary) String() string {
 14996  	return awsutil.Prettify(s)
 14997  }
 14998  
 14999  // GoString returns the string representation.
 15000  //
 15001  // API parameter values that are decorated as "sensitive" in the API will not
 15002  // be included in the string output. The member name will be present, but the
 15003  // value will be replaced with "sensitive".
 15004  func (s ExportSummary) GoString() string {
 15005  	return s.String()
 15006  }
 15007  
 15008  // SetCreationDateTime sets the CreationDateTime field's value.
 15009  func (s *ExportSummary) SetCreationDateTime(v time.Time) *ExportSummary {
 15010  	s.CreationDateTime = &v
 15011  	return s
 15012  }
 15013  
 15014  // SetExportId sets the ExportId field's value.
 15015  func (s *ExportSummary) SetExportId(v string) *ExportSummary {
 15016  	s.ExportId = &v
 15017  	return s
 15018  }
 15019  
 15020  // SetExportStatus sets the ExportStatus field's value.
 15021  func (s *ExportSummary) SetExportStatus(v string) *ExportSummary {
 15022  	s.ExportStatus = &v
 15023  	return s
 15024  }
 15025  
 15026  // SetFileFormat sets the FileFormat field's value.
 15027  func (s *ExportSummary) SetFileFormat(v string) *ExportSummary {
 15028  	s.FileFormat = &v
 15029  	return s
 15030  }
 15031  
 15032  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 15033  func (s *ExportSummary) SetLastUpdatedDateTime(v time.Time) *ExportSummary {
 15034  	s.LastUpdatedDateTime = &v
 15035  	return s
 15036  }
 15037  
 15038  // SetResourceSpecification sets the ResourceSpecification field's value.
 15039  func (s *ExportSummary) SetResourceSpecification(v *ExportResourceSpecification) *ExportSummary {
 15040  	s.ResourceSpecification = v
 15041  	return s
 15042  }
 15043  
 15044  // Determines if a Lambda function should be invoked for a specific intent.
 15045  type FulfillmentCodeHookSettings struct {
 15046  	_ struct{} `type:"structure"`
 15047  
 15048  	// Indicates whether a Lambda function should be invoked to fulfill a specific
 15049  	// intent.
 15050  	//
 15051  	// Enabled is a required field
 15052  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
 15053  
 15054  	// Provides settings for update messages sent to the user for long-running Lambda
 15055  	// fulfillment functions. Fulfillment updates can be used only with streaming
 15056  	// conversations.
 15057  	FulfillmentUpdatesSpecification *FulfillmentUpdatesSpecification `locationName:"fulfillmentUpdatesSpecification" type:"structure"`
 15058  
 15059  	// Provides settings for messages sent to the user for after the Lambda fulfillment
 15060  	// function completes. Post-fulfillment messages can be sent for both streaming
 15061  	// and non-streaming conversations.
 15062  	PostFulfillmentStatusSpecification *PostFulfillmentStatusSpecification `locationName:"postFulfillmentStatusSpecification" type:"structure"`
 15063  }
 15064  
 15065  // String returns the string representation.
 15066  //
 15067  // API parameter values that are decorated as "sensitive" in the API will not
 15068  // be included in the string output. The member name will be present, but the
 15069  // value will be replaced with "sensitive".
 15070  func (s FulfillmentCodeHookSettings) String() string {
 15071  	return awsutil.Prettify(s)
 15072  }
 15073  
 15074  // GoString returns the string representation.
 15075  //
 15076  // API parameter values that are decorated as "sensitive" in the API will not
 15077  // be included in the string output. The member name will be present, but the
 15078  // value will be replaced with "sensitive".
 15079  func (s FulfillmentCodeHookSettings) GoString() string {
 15080  	return s.String()
 15081  }
 15082  
 15083  // Validate inspects the fields of the type to determine if they are valid.
 15084  func (s *FulfillmentCodeHookSettings) Validate() error {
 15085  	invalidParams := request.ErrInvalidParams{Context: "FulfillmentCodeHookSettings"}
 15086  	if s.Enabled == nil {
 15087  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
 15088  	}
 15089  	if s.FulfillmentUpdatesSpecification != nil {
 15090  		if err := s.FulfillmentUpdatesSpecification.Validate(); err != nil {
 15091  			invalidParams.AddNested("FulfillmentUpdatesSpecification", err.(request.ErrInvalidParams))
 15092  		}
 15093  	}
 15094  	if s.PostFulfillmentStatusSpecification != nil {
 15095  		if err := s.PostFulfillmentStatusSpecification.Validate(); err != nil {
 15096  			invalidParams.AddNested("PostFulfillmentStatusSpecification", err.(request.ErrInvalidParams))
 15097  		}
 15098  	}
 15099  
 15100  	if invalidParams.Len() > 0 {
 15101  		return invalidParams
 15102  	}
 15103  	return nil
 15104  }
 15105  
 15106  // SetEnabled sets the Enabled field's value.
 15107  func (s *FulfillmentCodeHookSettings) SetEnabled(v bool) *FulfillmentCodeHookSettings {
 15108  	s.Enabled = &v
 15109  	return s
 15110  }
 15111  
 15112  // SetFulfillmentUpdatesSpecification sets the FulfillmentUpdatesSpecification field's value.
 15113  func (s *FulfillmentCodeHookSettings) SetFulfillmentUpdatesSpecification(v *FulfillmentUpdatesSpecification) *FulfillmentCodeHookSettings {
 15114  	s.FulfillmentUpdatesSpecification = v
 15115  	return s
 15116  }
 15117  
 15118  // SetPostFulfillmentStatusSpecification sets the PostFulfillmentStatusSpecification field's value.
 15119  func (s *FulfillmentCodeHookSettings) SetPostFulfillmentStatusSpecification(v *PostFulfillmentStatusSpecification) *FulfillmentCodeHookSettings {
 15120  	s.PostFulfillmentStatusSpecification = v
 15121  	return s
 15122  }
 15123  
 15124  // Provides settings for a message that is sent to the user when a fulfillment
 15125  // Lambda function starts running.
 15126  type FulfillmentStartResponseSpecification struct {
 15127  	_ struct{} `type:"structure"`
 15128  
 15129  	// Determines whether the user can interrupt the start message while it is playing.
 15130  	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
 15131  
 15132  	// The delay between when the Lambda fulfillment function starts running and
 15133  	// the start message is played. If the Lambda function returns before the delay
 15134  	// is over, the start message isn't played.
 15135  	//
 15136  	// DelayInSeconds is a required field
 15137  	DelayInSeconds *int64 `locationName:"delayInSeconds" min:"1" type:"integer" required:"true"`
 15138  
 15139  	// One to 5 message groups that contain start messages. Amazon Lex chooses one
 15140  	// of the messages to play to the user.
 15141  	//
 15142  	// MessageGroups is a required field
 15143  	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
 15144  }
 15145  
 15146  // String returns the string representation.
 15147  //
 15148  // API parameter values that are decorated as "sensitive" in the API will not
 15149  // be included in the string output. The member name will be present, but the
 15150  // value will be replaced with "sensitive".
 15151  func (s FulfillmentStartResponseSpecification) String() string {
 15152  	return awsutil.Prettify(s)
 15153  }
 15154  
 15155  // GoString returns the string representation.
 15156  //
 15157  // API parameter values that are decorated as "sensitive" in the API will not
 15158  // be included in the string output. The member name will be present, but the
 15159  // value will be replaced with "sensitive".
 15160  func (s FulfillmentStartResponseSpecification) GoString() string {
 15161  	return s.String()
 15162  }
 15163  
 15164  // Validate inspects the fields of the type to determine if they are valid.
 15165  func (s *FulfillmentStartResponseSpecification) Validate() error {
 15166  	invalidParams := request.ErrInvalidParams{Context: "FulfillmentStartResponseSpecification"}
 15167  	if s.DelayInSeconds == nil {
 15168  		invalidParams.Add(request.NewErrParamRequired("DelayInSeconds"))
 15169  	}
 15170  	if s.DelayInSeconds != nil && *s.DelayInSeconds < 1 {
 15171  		invalidParams.Add(request.NewErrParamMinValue("DelayInSeconds", 1))
 15172  	}
 15173  	if s.MessageGroups == nil {
 15174  		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
 15175  	}
 15176  	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
 15177  		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
 15178  	}
 15179  	if s.MessageGroups != nil {
 15180  		for i, v := range s.MessageGroups {
 15181  			if v == nil {
 15182  				continue
 15183  			}
 15184  			if err := v.Validate(); err != nil {
 15185  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
 15186  			}
 15187  		}
 15188  	}
 15189  
 15190  	if invalidParams.Len() > 0 {
 15191  		return invalidParams
 15192  	}
 15193  	return nil
 15194  }
 15195  
 15196  // SetAllowInterrupt sets the AllowInterrupt field's value.
 15197  func (s *FulfillmentStartResponseSpecification) SetAllowInterrupt(v bool) *FulfillmentStartResponseSpecification {
 15198  	s.AllowInterrupt = &v
 15199  	return s
 15200  }
 15201  
 15202  // SetDelayInSeconds sets the DelayInSeconds field's value.
 15203  func (s *FulfillmentStartResponseSpecification) SetDelayInSeconds(v int64) *FulfillmentStartResponseSpecification {
 15204  	s.DelayInSeconds = &v
 15205  	return s
 15206  }
 15207  
 15208  // SetMessageGroups sets the MessageGroups field's value.
 15209  func (s *FulfillmentStartResponseSpecification) SetMessageGroups(v []*MessageGroup) *FulfillmentStartResponseSpecification {
 15210  	s.MessageGroups = v
 15211  	return s
 15212  }
 15213  
 15214  // Provides settings for a message that is sent periodically to the user while
 15215  // a fulfillment Lambda function is running.
 15216  type FulfillmentUpdateResponseSpecification struct {
 15217  	_ struct{} `type:"structure"`
 15218  
 15219  	// Determines whether the user can interrupt an update message while it is playing.
 15220  	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
 15221  
 15222  	// The frequency that a message is sent to the user. When the period ends, Amazon
 15223  	// Lex chooses a message from the message groups and plays it to the user. If
 15224  	// the fulfillment Lambda returns before the first period ends, an update message
 15225  	// is not played to the user.
 15226  	//
 15227  	// FrequencyInSeconds is a required field
 15228  	FrequencyInSeconds *int64 `locationName:"frequencyInSeconds" min:"1" type:"integer" required:"true"`
 15229  
 15230  	// One to 5 message groups that contain update messages. Amazon Lex chooses
 15231  	// one of the messages to play to the user.
 15232  	//
 15233  	// MessageGroups is a required field
 15234  	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
 15235  }
 15236  
 15237  // String returns the string representation.
 15238  //
 15239  // API parameter values that are decorated as "sensitive" in the API will not
 15240  // be included in the string output. The member name will be present, but the
 15241  // value will be replaced with "sensitive".
 15242  func (s FulfillmentUpdateResponseSpecification) String() string {
 15243  	return awsutil.Prettify(s)
 15244  }
 15245  
 15246  // GoString returns the string representation.
 15247  //
 15248  // API parameter values that are decorated as "sensitive" in the API will not
 15249  // be included in the string output. The member name will be present, but the
 15250  // value will be replaced with "sensitive".
 15251  func (s FulfillmentUpdateResponseSpecification) GoString() string {
 15252  	return s.String()
 15253  }
 15254  
 15255  // Validate inspects the fields of the type to determine if they are valid.
 15256  func (s *FulfillmentUpdateResponseSpecification) Validate() error {
 15257  	invalidParams := request.ErrInvalidParams{Context: "FulfillmentUpdateResponseSpecification"}
 15258  	if s.FrequencyInSeconds == nil {
 15259  		invalidParams.Add(request.NewErrParamRequired("FrequencyInSeconds"))
 15260  	}
 15261  	if s.FrequencyInSeconds != nil && *s.FrequencyInSeconds < 1 {
 15262  		invalidParams.Add(request.NewErrParamMinValue("FrequencyInSeconds", 1))
 15263  	}
 15264  	if s.MessageGroups == nil {
 15265  		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
 15266  	}
 15267  	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
 15268  		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
 15269  	}
 15270  	if s.MessageGroups != nil {
 15271  		for i, v := range s.MessageGroups {
 15272  			if v == nil {
 15273  				continue
 15274  			}
 15275  			if err := v.Validate(); err != nil {
 15276  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
 15277  			}
 15278  		}
 15279  	}
 15280  
 15281  	if invalidParams.Len() > 0 {
 15282  		return invalidParams
 15283  	}
 15284  	return nil
 15285  }
 15286  
 15287  // SetAllowInterrupt sets the AllowInterrupt field's value.
 15288  func (s *FulfillmentUpdateResponseSpecification) SetAllowInterrupt(v bool) *FulfillmentUpdateResponseSpecification {
 15289  	s.AllowInterrupt = &v
 15290  	return s
 15291  }
 15292  
 15293  // SetFrequencyInSeconds sets the FrequencyInSeconds field's value.
 15294  func (s *FulfillmentUpdateResponseSpecification) SetFrequencyInSeconds(v int64) *FulfillmentUpdateResponseSpecification {
 15295  	s.FrequencyInSeconds = &v
 15296  	return s
 15297  }
 15298  
 15299  // SetMessageGroups sets the MessageGroups field's value.
 15300  func (s *FulfillmentUpdateResponseSpecification) SetMessageGroups(v []*MessageGroup) *FulfillmentUpdateResponseSpecification {
 15301  	s.MessageGroups = v
 15302  	return s
 15303  }
 15304  
 15305  // Provides information for updating the user on the progress of fulfilling
 15306  // an intent.
 15307  type FulfillmentUpdatesSpecification struct {
 15308  	_ struct{} `type:"structure"`
 15309  
 15310  	// Determines whether fulfillment updates are sent to the user. When this field
 15311  	// is true, updates are sent.
 15312  	//
 15313  	// If the active field is set to true, the startResponse, updateResponse, and
 15314  	// timeoutInSeconds fields are required.
 15315  	//
 15316  	// Active is a required field
 15317  	Active *bool `locationName:"active" type:"boolean" required:"true"`
 15318  
 15319  	// Provides configuration information for the message sent to users when the
 15320  	// fulfillment Lambda functions starts running.
 15321  	StartResponse *FulfillmentStartResponseSpecification `locationName:"startResponse" type:"structure"`
 15322  
 15323  	// The length of time that the fulfillment Lambda function should run before
 15324  	// it times out.
 15325  	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" min:"1" type:"integer"`
 15326  
 15327  	// Provides configuration information for messages sent periodically to the
 15328  	// user while the fulfillment Lambda function is running.
 15329  	UpdateResponse *FulfillmentUpdateResponseSpecification `locationName:"updateResponse" type:"structure"`
 15330  }
 15331  
 15332  // String returns the string representation.
 15333  //
 15334  // API parameter values that are decorated as "sensitive" in the API will not
 15335  // be included in the string output. The member name will be present, but the
 15336  // value will be replaced with "sensitive".
 15337  func (s FulfillmentUpdatesSpecification) String() string {
 15338  	return awsutil.Prettify(s)
 15339  }
 15340  
 15341  // GoString returns the string representation.
 15342  //
 15343  // API parameter values that are decorated as "sensitive" in the API will not
 15344  // be included in the string output. The member name will be present, but the
 15345  // value will be replaced with "sensitive".
 15346  func (s FulfillmentUpdatesSpecification) GoString() string {
 15347  	return s.String()
 15348  }
 15349  
 15350  // Validate inspects the fields of the type to determine if they are valid.
 15351  func (s *FulfillmentUpdatesSpecification) Validate() error {
 15352  	invalidParams := request.ErrInvalidParams{Context: "FulfillmentUpdatesSpecification"}
 15353  	if s.Active == nil {
 15354  		invalidParams.Add(request.NewErrParamRequired("Active"))
 15355  	}
 15356  	if s.TimeoutInSeconds != nil && *s.TimeoutInSeconds < 1 {
 15357  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInSeconds", 1))
 15358  	}
 15359  	if s.StartResponse != nil {
 15360  		if err := s.StartResponse.Validate(); err != nil {
 15361  			invalidParams.AddNested("StartResponse", err.(request.ErrInvalidParams))
 15362  		}
 15363  	}
 15364  	if s.UpdateResponse != nil {
 15365  		if err := s.UpdateResponse.Validate(); err != nil {
 15366  			invalidParams.AddNested("UpdateResponse", err.(request.ErrInvalidParams))
 15367  		}
 15368  	}
 15369  
 15370  	if invalidParams.Len() > 0 {
 15371  		return invalidParams
 15372  	}
 15373  	return nil
 15374  }
 15375  
 15376  // SetActive sets the Active field's value.
 15377  func (s *FulfillmentUpdatesSpecification) SetActive(v bool) *FulfillmentUpdatesSpecification {
 15378  	s.Active = &v
 15379  	return s
 15380  }
 15381  
 15382  // SetStartResponse sets the StartResponse field's value.
 15383  func (s *FulfillmentUpdatesSpecification) SetStartResponse(v *FulfillmentStartResponseSpecification) *FulfillmentUpdatesSpecification {
 15384  	s.StartResponse = v
 15385  	return s
 15386  }
 15387  
 15388  // SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
 15389  func (s *FulfillmentUpdatesSpecification) SetTimeoutInSeconds(v int64) *FulfillmentUpdatesSpecification {
 15390  	s.TimeoutInSeconds = &v
 15391  	return s
 15392  }
 15393  
 15394  // SetUpdateResponse sets the UpdateResponse field's value.
 15395  func (s *FulfillmentUpdatesSpecification) SetUpdateResponse(v *FulfillmentUpdateResponseSpecification) *FulfillmentUpdatesSpecification {
 15396  	s.UpdateResponse = v
 15397  	return s
 15398  }
 15399  
 15400  // A card that is shown to the user by a messaging platform. You define the
 15401  // contents of the card, the card is displayed by the platform.
 15402  //
 15403  // When you use a response card, the response from the user is constrained to
 15404  // the text associated with a button on the card.
 15405  type ImageResponseCard struct {
 15406  	_ struct{} `type:"structure"`
 15407  
 15408  	// A list of buttons that should be displayed on the response card. The arrangement
 15409  	// of the buttons is determined by the platform that displays the button.
 15410  	Buttons []*Button `locationName:"buttons" type:"list"`
 15411  
 15412  	// The URL of an image to display on the response card. The image URL must be
 15413  	// publicly available so that the platform displaying the response card has
 15414  	// access to the image.
 15415  	ImageUrl *string `locationName:"imageUrl" min:"1" type:"string"`
 15416  
 15417  	// The subtitle to display on the response card. The format of the subtitle
 15418  	// is determined by the platform displaying the response card.
 15419  	Subtitle *string `locationName:"subtitle" min:"1" type:"string"`
 15420  
 15421  	// The title to display on the response card. The format of the title is determined
 15422  	// by the platform displaying the response card.
 15423  	//
 15424  	// Title is a required field
 15425  	Title *string `locationName:"title" min:"1" type:"string" required:"true"`
 15426  }
 15427  
 15428  // String returns the string representation.
 15429  //
 15430  // API parameter values that are decorated as "sensitive" in the API will not
 15431  // be included in the string output. The member name will be present, but the
 15432  // value will be replaced with "sensitive".
 15433  func (s ImageResponseCard) String() string {
 15434  	return awsutil.Prettify(s)
 15435  }
 15436  
 15437  // GoString returns the string representation.
 15438  //
 15439  // API parameter values that are decorated as "sensitive" in the API will not
 15440  // be included in the string output. The member name will be present, but the
 15441  // value will be replaced with "sensitive".
 15442  func (s ImageResponseCard) GoString() string {
 15443  	return s.String()
 15444  }
 15445  
 15446  // Validate inspects the fields of the type to determine if they are valid.
 15447  func (s *ImageResponseCard) Validate() error {
 15448  	invalidParams := request.ErrInvalidParams{Context: "ImageResponseCard"}
 15449  	if s.ImageUrl != nil && len(*s.ImageUrl) < 1 {
 15450  		invalidParams.Add(request.NewErrParamMinLen("ImageUrl", 1))
 15451  	}
 15452  	if s.Subtitle != nil && len(*s.Subtitle) < 1 {
 15453  		invalidParams.Add(request.NewErrParamMinLen("Subtitle", 1))
 15454  	}
 15455  	if s.Title == nil {
 15456  		invalidParams.Add(request.NewErrParamRequired("Title"))
 15457  	}
 15458  	if s.Title != nil && len(*s.Title) < 1 {
 15459  		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
 15460  	}
 15461  	if s.Buttons != nil {
 15462  		for i, v := range s.Buttons {
 15463  			if v == nil {
 15464  				continue
 15465  			}
 15466  			if err := v.Validate(); err != nil {
 15467  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Buttons", i), err.(request.ErrInvalidParams))
 15468  			}
 15469  		}
 15470  	}
 15471  
 15472  	if invalidParams.Len() > 0 {
 15473  		return invalidParams
 15474  	}
 15475  	return nil
 15476  }
 15477  
 15478  // SetButtons sets the Buttons field's value.
 15479  func (s *ImageResponseCard) SetButtons(v []*Button) *ImageResponseCard {
 15480  	s.Buttons = v
 15481  	return s
 15482  }
 15483  
 15484  // SetImageUrl sets the ImageUrl field's value.
 15485  func (s *ImageResponseCard) SetImageUrl(v string) *ImageResponseCard {
 15486  	s.ImageUrl = &v
 15487  	return s
 15488  }
 15489  
 15490  // SetSubtitle sets the Subtitle field's value.
 15491  func (s *ImageResponseCard) SetSubtitle(v string) *ImageResponseCard {
 15492  	s.Subtitle = &v
 15493  	return s
 15494  }
 15495  
 15496  // SetTitle sets the Title field's value.
 15497  func (s *ImageResponseCard) SetTitle(v string) *ImageResponseCard {
 15498  	s.Title = &v
 15499  	return s
 15500  }
 15501  
 15502  // Filters the response from the operation.
 15503  type ImportFilter struct {
 15504  	_ struct{} `type:"structure"`
 15505  
 15506  	// The name of the field to use for filtering.
 15507  	//
 15508  	// Name is a required field
 15509  	Name *string `locationName:"name" type:"string" required:"true" enum:"ImportFilterName"`
 15510  
 15511  	// The operator to use for the filter. Specify EQ when the ListImports operation
 15512  	// should return only resource types that equal the specified value. Specify
 15513  	// CO when the ListImports operation should return resource types that contain
 15514  	// the specified value.
 15515  	//
 15516  	// Operator is a required field
 15517  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"ImportFilterOperator"`
 15518  
 15519  	// The values to use to filter the response.
 15520  	//
 15521  	// Values is a required field
 15522  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
 15523  }
 15524  
 15525  // String returns the string representation.
 15526  //
 15527  // API parameter values that are decorated as "sensitive" in the API will not
 15528  // be included in the string output. The member name will be present, but the
 15529  // value will be replaced with "sensitive".
 15530  func (s ImportFilter) String() string {
 15531  	return awsutil.Prettify(s)
 15532  }
 15533  
 15534  // GoString returns the string representation.
 15535  //
 15536  // API parameter values that are decorated as "sensitive" in the API will not
 15537  // be included in the string output. The member name will be present, but the
 15538  // value will be replaced with "sensitive".
 15539  func (s ImportFilter) GoString() string {
 15540  	return s.String()
 15541  }
 15542  
 15543  // Validate inspects the fields of the type to determine if they are valid.
 15544  func (s *ImportFilter) Validate() error {
 15545  	invalidParams := request.ErrInvalidParams{Context: "ImportFilter"}
 15546  	if s.Name == nil {
 15547  		invalidParams.Add(request.NewErrParamRequired("Name"))
 15548  	}
 15549  	if s.Operator == nil {
 15550  		invalidParams.Add(request.NewErrParamRequired("Operator"))
 15551  	}
 15552  	if s.Values == nil {
 15553  		invalidParams.Add(request.NewErrParamRequired("Values"))
 15554  	}
 15555  	if s.Values != nil && len(s.Values) < 1 {
 15556  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
 15557  	}
 15558  
 15559  	if invalidParams.Len() > 0 {
 15560  		return invalidParams
 15561  	}
 15562  	return nil
 15563  }
 15564  
 15565  // SetName sets the Name field's value.
 15566  func (s *ImportFilter) SetName(v string) *ImportFilter {
 15567  	s.Name = &v
 15568  	return s
 15569  }
 15570  
 15571  // SetOperator sets the Operator field's value.
 15572  func (s *ImportFilter) SetOperator(v string) *ImportFilter {
 15573  	s.Operator = &v
 15574  	return s
 15575  }
 15576  
 15577  // SetValues sets the Values field's value.
 15578  func (s *ImportFilter) SetValues(v []*string) *ImportFilter {
 15579  	s.Values = v
 15580  	return s
 15581  }
 15582  
 15583  // Provides information about the bot or bot locale that you want to import.
 15584  // You can specify the botImportSpecification or the botLocaleImportSpecification,
 15585  // but not both.
 15586  type ImportResourceSpecification struct {
 15587  	_ struct{} `type:"structure"`
 15588  
 15589  	// Parameters for importing a bot.
 15590  	BotImportSpecification *BotImportSpecification `locationName:"botImportSpecification" type:"structure"`
 15591  
 15592  	// Parameters for importing a bot locale.
 15593  	BotLocaleImportSpecification *BotLocaleImportSpecification `locationName:"botLocaleImportSpecification" type:"structure"`
 15594  }
 15595  
 15596  // String returns the string representation.
 15597  //
 15598  // API parameter values that are decorated as "sensitive" in the API will not
 15599  // be included in the string output. The member name will be present, but the
 15600  // value will be replaced with "sensitive".
 15601  func (s ImportResourceSpecification) String() string {
 15602  	return awsutil.Prettify(s)
 15603  }
 15604  
 15605  // GoString returns the string representation.
 15606  //
 15607  // API parameter values that are decorated as "sensitive" in the API will not
 15608  // be included in the string output. The member name will be present, but the
 15609  // value will be replaced with "sensitive".
 15610  func (s ImportResourceSpecification) GoString() string {
 15611  	return s.String()
 15612  }
 15613  
 15614  // Validate inspects the fields of the type to determine if they are valid.
 15615  func (s *ImportResourceSpecification) Validate() error {
 15616  	invalidParams := request.ErrInvalidParams{Context: "ImportResourceSpecification"}
 15617  	if s.BotImportSpecification != nil {
 15618  		if err := s.BotImportSpecification.Validate(); err != nil {
 15619  			invalidParams.AddNested("BotImportSpecification", err.(request.ErrInvalidParams))
 15620  		}
 15621  	}
 15622  	if s.BotLocaleImportSpecification != nil {
 15623  		if err := s.BotLocaleImportSpecification.Validate(); err != nil {
 15624  			invalidParams.AddNested("BotLocaleImportSpecification", err.(request.ErrInvalidParams))
 15625  		}
 15626  	}
 15627  
 15628  	if invalidParams.Len() > 0 {
 15629  		return invalidParams
 15630  	}
 15631  	return nil
 15632  }
 15633  
 15634  // SetBotImportSpecification sets the BotImportSpecification field's value.
 15635  func (s *ImportResourceSpecification) SetBotImportSpecification(v *BotImportSpecification) *ImportResourceSpecification {
 15636  	s.BotImportSpecification = v
 15637  	return s
 15638  }
 15639  
 15640  // SetBotLocaleImportSpecification sets the BotLocaleImportSpecification field's value.
 15641  func (s *ImportResourceSpecification) SetBotLocaleImportSpecification(v *BotLocaleImportSpecification) *ImportResourceSpecification {
 15642  	s.BotLocaleImportSpecification = v
 15643  	return s
 15644  }
 15645  
 15646  // Provides information for sorting a list of imports.
 15647  type ImportSortBy struct {
 15648  	_ struct{} `type:"structure"`
 15649  
 15650  	// The export field to use for sorting.
 15651  	//
 15652  	// Attribute is a required field
 15653  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"ImportSortAttribute"`
 15654  
 15655  	// The order to sort the list.
 15656  	//
 15657  	// Order is a required field
 15658  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
 15659  }
 15660  
 15661  // String 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 ImportSortBy) String() string {
 15667  	return awsutil.Prettify(s)
 15668  }
 15669  
 15670  // GoString returns the string representation.
 15671  //
 15672  // API parameter values that are decorated as "sensitive" in the API will not
 15673  // be included in the string output. The member name will be present, but the
 15674  // value will be replaced with "sensitive".
 15675  func (s ImportSortBy) GoString() string {
 15676  	return s.String()
 15677  }
 15678  
 15679  // Validate inspects the fields of the type to determine if they are valid.
 15680  func (s *ImportSortBy) Validate() error {
 15681  	invalidParams := request.ErrInvalidParams{Context: "ImportSortBy"}
 15682  	if s.Attribute == nil {
 15683  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
 15684  	}
 15685  	if s.Order == nil {
 15686  		invalidParams.Add(request.NewErrParamRequired("Order"))
 15687  	}
 15688  
 15689  	if invalidParams.Len() > 0 {
 15690  		return invalidParams
 15691  	}
 15692  	return nil
 15693  }
 15694  
 15695  // SetAttribute sets the Attribute field's value.
 15696  func (s *ImportSortBy) SetAttribute(v string) *ImportSortBy {
 15697  	s.Attribute = &v
 15698  	return s
 15699  }
 15700  
 15701  // SetOrder sets the Order field's value.
 15702  func (s *ImportSortBy) SetOrder(v string) *ImportSortBy {
 15703  	s.Order = &v
 15704  	return s
 15705  }
 15706  
 15707  // Provides summary information about an import in an import list.
 15708  type ImportSummary struct {
 15709  	_ struct{} `type:"structure"`
 15710  
 15711  	// The date and time that the import was created.
 15712  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 15713  
 15714  	// The unique identifier that Amazon Lex assigned to the import.
 15715  	ImportId *string `locationName:"importId" min:"10" type:"string"`
 15716  
 15717  	// The status of the resource. When the status is Completed the resource is
 15718  	// ready to build.
 15719  	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
 15720  
 15721  	// The unique identifier that Amazon Lex assigned to the imported resource.
 15722  	ImportedResourceId *string `locationName:"importedResourceId" min:"5" type:"string"`
 15723  
 15724  	// The name that you gave the imported resource.
 15725  	ImportedResourceName *string `locationName:"importedResourceName" min:"1" type:"string"`
 15726  
 15727  	// The date and time that the import was last updated.
 15728  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 15729  
 15730  	// The strategy used to merge existing bot or bot locale definitions with the
 15731  	// imported definition.
 15732  	MergeStrategy *string `locationName:"mergeStrategy" type:"string" enum:"MergeStrategy"`
 15733  }
 15734  
 15735  // String returns the string representation.
 15736  //
 15737  // API parameter values that are decorated as "sensitive" in the API will not
 15738  // be included in the string output. The member name will be present, but the
 15739  // value will be replaced with "sensitive".
 15740  func (s ImportSummary) String() string {
 15741  	return awsutil.Prettify(s)
 15742  }
 15743  
 15744  // GoString returns the string representation.
 15745  //
 15746  // API parameter values that are decorated as "sensitive" in the API will not
 15747  // be included in the string output. The member name will be present, but the
 15748  // value will be replaced with "sensitive".
 15749  func (s ImportSummary) GoString() string {
 15750  	return s.String()
 15751  }
 15752  
 15753  // SetCreationDateTime sets the CreationDateTime field's value.
 15754  func (s *ImportSummary) SetCreationDateTime(v time.Time) *ImportSummary {
 15755  	s.CreationDateTime = &v
 15756  	return s
 15757  }
 15758  
 15759  // SetImportId sets the ImportId field's value.
 15760  func (s *ImportSummary) SetImportId(v string) *ImportSummary {
 15761  	s.ImportId = &v
 15762  	return s
 15763  }
 15764  
 15765  // SetImportStatus sets the ImportStatus field's value.
 15766  func (s *ImportSummary) SetImportStatus(v string) *ImportSummary {
 15767  	s.ImportStatus = &v
 15768  	return s
 15769  }
 15770  
 15771  // SetImportedResourceId sets the ImportedResourceId field's value.
 15772  func (s *ImportSummary) SetImportedResourceId(v string) *ImportSummary {
 15773  	s.ImportedResourceId = &v
 15774  	return s
 15775  }
 15776  
 15777  // SetImportedResourceName sets the ImportedResourceName field's value.
 15778  func (s *ImportSummary) SetImportedResourceName(v string) *ImportSummary {
 15779  	s.ImportedResourceName = &v
 15780  	return s
 15781  }
 15782  
 15783  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 15784  func (s *ImportSummary) SetLastUpdatedDateTime(v time.Time) *ImportSummary {
 15785  	s.LastUpdatedDateTime = &v
 15786  	return s
 15787  }
 15788  
 15789  // SetMergeStrategy sets the MergeStrategy field's value.
 15790  func (s *ImportSummary) SetMergeStrategy(v string) *ImportSummary {
 15791  	s.MergeStrategy = &v
 15792  	return s
 15793  }
 15794  
 15795  // The name of a context that must be active for an intent to be selected by
 15796  // Amazon Lex.
 15797  type InputContext struct {
 15798  	_ struct{} `type:"structure"`
 15799  
 15800  	// The name of the context.
 15801  	//
 15802  	// Name is a required field
 15803  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 15804  }
 15805  
 15806  // String returns the string representation.
 15807  //
 15808  // API parameter values that are decorated as "sensitive" in the API will not
 15809  // be included in the string output. The member name will be present, but the
 15810  // value will be replaced with "sensitive".
 15811  func (s InputContext) String() string {
 15812  	return awsutil.Prettify(s)
 15813  }
 15814  
 15815  // GoString returns the string representation.
 15816  //
 15817  // API parameter values that are decorated as "sensitive" in the API will not
 15818  // be included in the string output. The member name will be present, but the
 15819  // value will be replaced with "sensitive".
 15820  func (s InputContext) GoString() string {
 15821  	return s.String()
 15822  }
 15823  
 15824  // Validate inspects the fields of the type to determine if they are valid.
 15825  func (s *InputContext) Validate() error {
 15826  	invalidParams := request.ErrInvalidParams{Context: "InputContext"}
 15827  	if s.Name == nil {
 15828  		invalidParams.Add(request.NewErrParamRequired("Name"))
 15829  	}
 15830  	if s.Name != nil && len(*s.Name) < 1 {
 15831  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15832  	}
 15833  
 15834  	if invalidParams.Len() > 0 {
 15835  		return invalidParams
 15836  	}
 15837  	return nil
 15838  }
 15839  
 15840  // SetName sets the Name field's value.
 15841  func (s *InputContext) SetName(v string) *InputContext {
 15842  	s.Name = &v
 15843  	return s
 15844  }
 15845  
 15846  // Provides a statement the Amazon Lex conveys to the user when the intent is
 15847  // successfully fulfilled.
 15848  type IntentClosingSetting struct {
 15849  	_ struct{} `type:"structure"`
 15850  
 15851  	// Specifies whether an intent's closing response is used. When this field is
 15852  	// false, the closing response isn't sent to the user. If the active field isn't
 15853  	// specified, the default is true.
 15854  	Active *bool `locationName:"active" type:"boolean"`
 15855  
 15856  	// The response that Amazon Lex sends to the user when the intent is complete.
 15857  	//
 15858  	// ClosingResponse is a required field
 15859  	ClosingResponse *ResponseSpecification `locationName:"closingResponse" type:"structure" required:"true"`
 15860  }
 15861  
 15862  // String returns the string representation.
 15863  //
 15864  // API parameter values that are decorated as "sensitive" in the API will not
 15865  // be included in the string output. The member name will be present, but the
 15866  // value will be replaced with "sensitive".
 15867  func (s IntentClosingSetting) String() string {
 15868  	return awsutil.Prettify(s)
 15869  }
 15870  
 15871  // GoString returns the string representation.
 15872  //
 15873  // API parameter values that are decorated as "sensitive" in the API will not
 15874  // be included in the string output. The member name will be present, but the
 15875  // value will be replaced with "sensitive".
 15876  func (s IntentClosingSetting) GoString() string {
 15877  	return s.String()
 15878  }
 15879  
 15880  // Validate inspects the fields of the type to determine if they are valid.
 15881  func (s *IntentClosingSetting) Validate() error {
 15882  	invalidParams := request.ErrInvalidParams{Context: "IntentClosingSetting"}
 15883  	if s.ClosingResponse == nil {
 15884  		invalidParams.Add(request.NewErrParamRequired("ClosingResponse"))
 15885  	}
 15886  	if s.ClosingResponse != nil {
 15887  		if err := s.ClosingResponse.Validate(); err != nil {
 15888  			invalidParams.AddNested("ClosingResponse", err.(request.ErrInvalidParams))
 15889  		}
 15890  	}
 15891  
 15892  	if invalidParams.Len() > 0 {
 15893  		return invalidParams
 15894  	}
 15895  	return nil
 15896  }
 15897  
 15898  // SetActive sets the Active field's value.
 15899  func (s *IntentClosingSetting) SetActive(v bool) *IntentClosingSetting {
 15900  	s.Active = &v
 15901  	return s
 15902  }
 15903  
 15904  // SetClosingResponse sets the ClosingResponse field's value.
 15905  func (s *IntentClosingSetting) SetClosingResponse(v *ResponseSpecification) *IntentClosingSetting {
 15906  	s.ClosingResponse = v
 15907  	return s
 15908  }
 15909  
 15910  // Provides a prompt for making sure that the user is ready for the intent to
 15911  // be fulfilled.
 15912  type IntentConfirmationSetting struct {
 15913  	_ struct{} `type:"structure"`
 15914  
 15915  	// Specifies whether the intent's confirmation is sent to the user. When this
 15916  	// field is false, confirmation and declination responses aren't sent. If the
 15917  	// active field isn't specified, the default is true.
 15918  	Active *bool `locationName:"active" type:"boolean"`
 15919  
 15920  	// When the user answers "no" to the question defined in promptSpecification,
 15921  	// Amazon Lex responds with this response to acknowledge that the intent was
 15922  	// canceled.
 15923  	//
 15924  	// DeclinationResponse is a required field
 15925  	DeclinationResponse *ResponseSpecification `locationName:"declinationResponse" type:"structure" required:"true"`
 15926  
 15927  	// Prompts the user to confirm the intent. This question should have a yes or
 15928  	// no answer.
 15929  	//
 15930  	// Amazon Lex uses this prompt to ensure that the user acknowledges that the
 15931  	// intent is ready for fulfillment. For example, with the OrderPizza intent,
 15932  	// you might want to confirm that the order is correct before placing it. For
 15933  	// other intents, such as intents that simply respond to user questions, you
 15934  	// might not need to ask the user for confirmation before providing the information.
 15935  	//
 15936  	// PromptSpecification is a required field
 15937  	PromptSpecification *PromptSpecification `locationName:"promptSpecification" type:"structure" required:"true"`
 15938  }
 15939  
 15940  // String returns the string representation.
 15941  //
 15942  // API parameter values that are decorated as "sensitive" in the API will not
 15943  // be included in the string output. The member name will be present, but the
 15944  // value will be replaced with "sensitive".
 15945  func (s IntentConfirmationSetting) String() string {
 15946  	return awsutil.Prettify(s)
 15947  }
 15948  
 15949  // GoString returns the string representation.
 15950  //
 15951  // API parameter values that are decorated as "sensitive" in the API will not
 15952  // be included in the string output. The member name will be present, but the
 15953  // value will be replaced with "sensitive".
 15954  func (s IntentConfirmationSetting) GoString() string {
 15955  	return s.String()
 15956  }
 15957  
 15958  // Validate inspects the fields of the type to determine if they are valid.
 15959  func (s *IntentConfirmationSetting) Validate() error {
 15960  	invalidParams := request.ErrInvalidParams{Context: "IntentConfirmationSetting"}
 15961  	if s.DeclinationResponse == nil {
 15962  		invalidParams.Add(request.NewErrParamRequired("DeclinationResponse"))
 15963  	}
 15964  	if s.PromptSpecification == nil {
 15965  		invalidParams.Add(request.NewErrParamRequired("PromptSpecification"))
 15966  	}
 15967  	if s.DeclinationResponse != nil {
 15968  		if err := s.DeclinationResponse.Validate(); err != nil {
 15969  			invalidParams.AddNested("DeclinationResponse", err.(request.ErrInvalidParams))
 15970  		}
 15971  	}
 15972  	if s.PromptSpecification != nil {
 15973  		if err := s.PromptSpecification.Validate(); err != nil {
 15974  			invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams))
 15975  		}
 15976  	}
 15977  
 15978  	if invalidParams.Len() > 0 {
 15979  		return invalidParams
 15980  	}
 15981  	return nil
 15982  }
 15983  
 15984  // SetActive sets the Active field's value.
 15985  func (s *IntentConfirmationSetting) SetActive(v bool) *IntentConfirmationSetting {
 15986  	s.Active = &v
 15987  	return s
 15988  }
 15989  
 15990  // SetDeclinationResponse sets the DeclinationResponse field's value.
 15991  func (s *IntentConfirmationSetting) SetDeclinationResponse(v *ResponseSpecification) *IntentConfirmationSetting {
 15992  	s.DeclinationResponse = v
 15993  	return s
 15994  }
 15995  
 15996  // SetPromptSpecification sets the PromptSpecification field's value.
 15997  func (s *IntentConfirmationSetting) SetPromptSpecification(v *PromptSpecification) *IntentConfirmationSetting {
 15998  	s.PromptSpecification = v
 15999  	return s
 16000  }
 16001  
 16002  // Filters the response from the ListIntents operation.
 16003  type IntentFilter struct {
 16004  	_ struct{} `type:"structure"`
 16005  
 16006  	// The name of the field to use for the filter.
 16007  	//
 16008  	// Name is a required field
 16009  	Name *string `locationName:"name" type:"string" required:"true" enum:"IntentFilterName"`
 16010  
 16011  	// The operator to use for the filter. Specify EQ when the ListIntents operation
 16012  	// should return only aliases that equal the specified value. Specify CO when
 16013  	// the ListIntents operation should return aliases that contain the specified
 16014  	// value.
 16015  	//
 16016  	// Operator is a required field
 16017  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"IntentFilterOperator"`
 16018  
 16019  	// The value to use for the filter.
 16020  	//
 16021  	// Values is a required field
 16022  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
 16023  }
 16024  
 16025  // String returns the string representation.
 16026  //
 16027  // API parameter values that are decorated as "sensitive" in the API will not
 16028  // be included in the string output. The member name will be present, but the
 16029  // value will be replaced with "sensitive".
 16030  func (s IntentFilter) String() string {
 16031  	return awsutil.Prettify(s)
 16032  }
 16033  
 16034  // GoString returns the string representation.
 16035  //
 16036  // API parameter values that are decorated as "sensitive" in the API will not
 16037  // be included in the string output. The member name will be present, but the
 16038  // value will be replaced with "sensitive".
 16039  func (s IntentFilter) GoString() string {
 16040  	return s.String()
 16041  }
 16042  
 16043  // Validate inspects the fields of the type to determine if they are valid.
 16044  func (s *IntentFilter) Validate() error {
 16045  	invalidParams := request.ErrInvalidParams{Context: "IntentFilter"}
 16046  	if s.Name == nil {
 16047  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16048  	}
 16049  	if s.Operator == nil {
 16050  		invalidParams.Add(request.NewErrParamRequired("Operator"))
 16051  	}
 16052  	if s.Values == nil {
 16053  		invalidParams.Add(request.NewErrParamRequired("Values"))
 16054  	}
 16055  	if s.Values != nil && len(s.Values) < 1 {
 16056  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
 16057  	}
 16058  
 16059  	if invalidParams.Len() > 0 {
 16060  		return invalidParams
 16061  	}
 16062  	return nil
 16063  }
 16064  
 16065  // SetName sets the Name field's value.
 16066  func (s *IntentFilter) SetName(v string) *IntentFilter {
 16067  	s.Name = &v
 16068  	return s
 16069  }
 16070  
 16071  // SetOperator sets the Operator field's value.
 16072  func (s *IntentFilter) SetOperator(v string) *IntentFilter {
 16073  	s.Operator = &v
 16074  	return s
 16075  }
 16076  
 16077  // SetValues sets the Values field's value.
 16078  func (s *IntentFilter) SetValues(v []*string) *IntentFilter {
 16079  	s.Values = v
 16080  	return s
 16081  }
 16082  
 16083  // Specifies attributes for sorting a list of intents.
 16084  type IntentSortBy struct {
 16085  	_ struct{} `type:"structure"`
 16086  
 16087  	// The attribute to use to sort the list of intents.
 16088  	//
 16089  	// Attribute is a required field
 16090  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"IntentSortAttribute"`
 16091  
 16092  	// The order to sort the list. You can choose ascending or descending.
 16093  	//
 16094  	// Order is a required field
 16095  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
 16096  }
 16097  
 16098  // String 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 IntentSortBy) String() string {
 16104  	return awsutil.Prettify(s)
 16105  }
 16106  
 16107  // GoString returns the string representation.
 16108  //
 16109  // API parameter values that are decorated as "sensitive" in the API will not
 16110  // be included in the string output. The member name will be present, but the
 16111  // value will be replaced with "sensitive".
 16112  func (s IntentSortBy) GoString() string {
 16113  	return s.String()
 16114  }
 16115  
 16116  // Validate inspects the fields of the type to determine if they are valid.
 16117  func (s *IntentSortBy) Validate() error {
 16118  	invalidParams := request.ErrInvalidParams{Context: "IntentSortBy"}
 16119  	if s.Attribute == nil {
 16120  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
 16121  	}
 16122  	if s.Order == nil {
 16123  		invalidParams.Add(request.NewErrParamRequired("Order"))
 16124  	}
 16125  
 16126  	if invalidParams.Len() > 0 {
 16127  		return invalidParams
 16128  	}
 16129  	return nil
 16130  }
 16131  
 16132  // SetAttribute sets the Attribute field's value.
 16133  func (s *IntentSortBy) SetAttribute(v string) *IntentSortBy {
 16134  	s.Attribute = &v
 16135  	return s
 16136  }
 16137  
 16138  // SetOrder sets the Order field's value.
 16139  func (s *IntentSortBy) SetOrder(v string) *IntentSortBy {
 16140  	s.Order = &v
 16141  	return s
 16142  }
 16143  
 16144  // Summary information about an intent returned by the ListIntents operation.
 16145  type IntentSummary struct {
 16146  	_ struct{} `type:"structure"`
 16147  
 16148  	// The description of the intent.
 16149  	Description *string `locationName:"description" type:"string"`
 16150  
 16151  	// The input contexts that must be active for this intent to be considered for
 16152  	// recognition.
 16153  	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
 16154  
 16155  	// The unique identifier assigned to the intent. Use this ID to get detailed
 16156  	// information about the intent with the DescribeIntent operation.
 16157  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 16158  
 16159  	// The name of the intent.
 16160  	IntentName *string `locationName:"intentName" min:"1" type:"string"`
 16161  
 16162  	// The timestamp of the date and time that the intent was last updated.
 16163  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 16164  
 16165  	// The output contexts that are activated when this intent is fulfilled.
 16166  	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
 16167  
 16168  	// If this intent is derived from a built-in intent, the name of the parent
 16169  	// intent.
 16170  	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
 16171  }
 16172  
 16173  // String returns the string representation.
 16174  //
 16175  // API parameter values that are decorated as "sensitive" in the API will not
 16176  // be included in the string output. The member name will be present, but the
 16177  // value will be replaced with "sensitive".
 16178  func (s IntentSummary) String() string {
 16179  	return awsutil.Prettify(s)
 16180  }
 16181  
 16182  // GoString returns the string representation.
 16183  //
 16184  // API parameter values that are decorated as "sensitive" in the API will not
 16185  // be included in the string output. The member name will be present, but the
 16186  // value will be replaced with "sensitive".
 16187  func (s IntentSummary) GoString() string {
 16188  	return s.String()
 16189  }
 16190  
 16191  // SetDescription sets the Description field's value.
 16192  func (s *IntentSummary) SetDescription(v string) *IntentSummary {
 16193  	s.Description = &v
 16194  	return s
 16195  }
 16196  
 16197  // SetInputContexts sets the InputContexts field's value.
 16198  func (s *IntentSummary) SetInputContexts(v []*InputContext) *IntentSummary {
 16199  	s.InputContexts = v
 16200  	return s
 16201  }
 16202  
 16203  // SetIntentId sets the IntentId field's value.
 16204  func (s *IntentSummary) SetIntentId(v string) *IntentSummary {
 16205  	s.IntentId = &v
 16206  	return s
 16207  }
 16208  
 16209  // SetIntentName sets the IntentName field's value.
 16210  func (s *IntentSummary) SetIntentName(v string) *IntentSummary {
 16211  	s.IntentName = &v
 16212  	return s
 16213  }
 16214  
 16215  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 16216  func (s *IntentSummary) SetLastUpdatedDateTime(v time.Time) *IntentSummary {
 16217  	s.LastUpdatedDateTime = &v
 16218  	return s
 16219  }
 16220  
 16221  // SetOutputContexts sets the OutputContexts field's value.
 16222  func (s *IntentSummary) SetOutputContexts(v []*OutputContext) *IntentSummary {
 16223  	s.OutputContexts = v
 16224  	return s
 16225  }
 16226  
 16227  // SetParentIntentSignature sets the ParentIntentSignature field's value.
 16228  func (s *IntentSummary) SetParentIntentSignature(v string) *IntentSummary {
 16229  	s.ParentIntentSignature = &v
 16230  	return s
 16231  }
 16232  
 16233  // The service encountered an unexpected condition. Try your request again.
 16234  type InternalServerException struct {
 16235  	_            struct{}                  `type:"structure"`
 16236  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16237  
 16238  	Message_ *string `locationName:"message" type:"string"`
 16239  }
 16240  
 16241  // String returns the string representation.
 16242  //
 16243  // API parameter values that are decorated as "sensitive" in the API will not
 16244  // be included in the string output. The member name will be present, but the
 16245  // value will be replaced with "sensitive".
 16246  func (s InternalServerException) String() string {
 16247  	return awsutil.Prettify(s)
 16248  }
 16249  
 16250  // GoString returns the string representation.
 16251  //
 16252  // API parameter values that are decorated as "sensitive" in the API will not
 16253  // be included in the string output. The member name will be present, but the
 16254  // value will be replaced with "sensitive".
 16255  func (s InternalServerException) GoString() string {
 16256  	return s.String()
 16257  }
 16258  
 16259  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
 16260  	return &InternalServerException{
 16261  		RespMetadata: v,
 16262  	}
 16263  }
 16264  
 16265  // Code returns the exception type name.
 16266  func (s *InternalServerException) Code() string {
 16267  	return "InternalServerException"
 16268  }
 16269  
 16270  // Message returns the exception's message.
 16271  func (s *InternalServerException) Message() string {
 16272  	if s.Message_ != nil {
 16273  		return *s.Message_
 16274  	}
 16275  	return ""
 16276  }
 16277  
 16278  // OrigErr always returns nil, satisfies awserr.Error interface.
 16279  func (s *InternalServerException) OrigErr() error {
 16280  	return nil
 16281  }
 16282  
 16283  func (s *InternalServerException) Error() string {
 16284  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16285  }
 16286  
 16287  // Status code returns the HTTP status code for the request's response error.
 16288  func (s *InternalServerException) StatusCode() int {
 16289  	return s.RespMetadata.StatusCode
 16290  }
 16291  
 16292  // RequestID returns the service's response RequestID for request.
 16293  func (s *InternalServerException) RequestID() string {
 16294  	return s.RespMetadata.RequestID
 16295  }
 16296  
 16297  // Provides configuration information for the AMAZON.KendraSearchIntent intent.
 16298  // When you use this intent, Amazon Lex searches the specified Amazon Kendra
 16299  // index and returns documents from the index that match the user's utterance.
 16300  type KendraConfiguration struct {
 16301  	_ struct{} `type:"structure"`
 16302  
 16303  	// The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the
 16304  	// AMAZON.KendraSearchIntent intent to search. The index must be in the same
 16305  	// account and Region as the Amazon Lex bot.
 16306  	//
 16307  	// KendraIndex is a required field
 16308  	KendraIndex *string `locationName:"kendraIndex" min:"32" type:"string" required:"true"`
 16309  
 16310  	// A query filter that Amazon Lex sends to Amazon Kendra to filter the response
 16311  	// from a query. The filter is in the format defined by Amazon Kendra. For more
 16312  	// information, see Filtering queries (https://docs.aws.amazon.com/kendra/latest/dg/filtering.html).
 16313  	QueryFilterString *string `locationName:"queryFilterString" min:"1" type:"string"`
 16314  
 16315  	// Determines whether the AMAZON.KendraSearchIntent intent uses a custom query
 16316  	// string to query the Amazon Kendra index.
 16317  	QueryFilterStringEnabled *bool `locationName:"queryFilterStringEnabled" type:"boolean"`
 16318  }
 16319  
 16320  // String returns the string representation.
 16321  //
 16322  // API parameter values that are decorated as "sensitive" in the API will not
 16323  // be included in the string output. The member name will be present, but the
 16324  // value will be replaced with "sensitive".
 16325  func (s KendraConfiguration) String() string {
 16326  	return awsutil.Prettify(s)
 16327  }
 16328  
 16329  // GoString returns the string representation.
 16330  //
 16331  // API parameter values that are decorated as "sensitive" in the API will not
 16332  // be included in the string output. The member name will be present, but the
 16333  // value will be replaced with "sensitive".
 16334  func (s KendraConfiguration) GoString() string {
 16335  	return s.String()
 16336  }
 16337  
 16338  // Validate inspects the fields of the type to determine if they are valid.
 16339  func (s *KendraConfiguration) Validate() error {
 16340  	invalidParams := request.ErrInvalidParams{Context: "KendraConfiguration"}
 16341  	if s.KendraIndex == nil {
 16342  		invalidParams.Add(request.NewErrParamRequired("KendraIndex"))
 16343  	}
 16344  	if s.KendraIndex != nil && len(*s.KendraIndex) < 32 {
 16345  		invalidParams.Add(request.NewErrParamMinLen("KendraIndex", 32))
 16346  	}
 16347  	if s.QueryFilterString != nil && len(*s.QueryFilterString) < 1 {
 16348  		invalidParams.Add(request.NewErrParamMinLen("QueryFilterString", 1))
 16349  	}
 16350  
 16351  	if invalidParams.Len() > 0 {
 16352  		return invalidParams
 16353  	}
 16354  	return nil
 16355  }
 16356  
 16357  // SetKendraIndex sets the KendraIndex field's value.
 16358  func (s *KendraConfiguration) SetKendraIndex(v string) *KendraConfiguration {
 16359  	s.KendraIndex = &v
 16360  	return s
 16361  }
 16362  
 16363  // SetQueryFilterString sets the QueryFilterString field's value.
 16364  func (s *KendraConfiguration) SetQueryFilterString(v string) *KendraConfiguration {
 16365  	s.QueryFilterString = &v
 16366  	return s
 16367  }
 16368  
 16369  // SetQueryFilterStringEnabled sets the QueryFilterStringEnabled field's value.
 16370  func (s *KendraConfiguration) SetQueryFilterStringEnabled(v bool) *KendraConfiguration {
 16371  	s.QueryFilterStringEnabled = &v
 16372  	return s
 16373  }
 16374  
 16375  // Specifies a Lambda function that verifies requests to a bot or fulfills the
 16376  // user's request to a bot.
 16377  type LambdaCodeHook struct {
 16378  	_ struct{} `type:"structure"`
 16379  
 16380  	// The version of the request-response that you want Amazon Lex to use to invoke
 16381  	// your Lambda function.
 16382  	//
 16383  	// CodeHookInterfaceVersion is a required field
 16384  	CodeHookInterfaceVersion *string `locationName:"codeHookInterfaceVersion" min:"1" type:"string" required:"true"`
 16385  
 16386  	// The Amazon Resource Name (ARN) of the Lambda function.
 16387  	//
 16388  	// LambdaARN is a required field
 16389  	LambdaARN *string `locationName:"lambdaARN" min:"20" type:"string" required:"true"`
 16390  }
 16391  
 16392  // String returns the string representation.
 16393  //
 16394  // API parameter values that are decorated as "sensitive" in the API will not
 16395  // be included in the string output. The member name will be present, but the
 16396  // value will be replaced with "sensitive".
 16397  func (s LambdaCodeHook) String() string {
 16398  	return awsutil.Prettify(s)
 16399  }
 16400  
 16401  // GoString returns the string representation.
 16402  //
 16403  // API parameter values that are decorated as "sensitive" in the API will not
 16404  // be included in the string output. The member name will be present, but the
 16405  // value will be replaced with "sensitive".
 16406  func (s LambdaCodeHook) GoString() string {
 16407  	return s.String()
 16408  }
 16409  
 16410  // Validate inspects the fields of the type to determine if they are valid.
 16411  func (s *LambdaCodeHook) Validate() error {
 16412  	invalidParams := request.ErrInvalidParams{Context: "LambdaCodeHook"}
 16413  	if s.CodeHookInterfaceVersion == nil {
 16414  		invalidParams.Add(request.NewErrParamRequired("CodeHookInterfaceVersion"))
 16415  	}
 16416  	if s.CodeHookInterfaceVersion != nil && len(*s.CodeHookInterfaceVersion) < 1 {
 16417  		invalidParams.Add(request.NewErrParamMinLen("CodeHookInterfaceVersion", 1))
 16418  	}
 16419  	if s.LambdaARN == nil {
 16420  		invalidParams.Add(request.NewErrParamRequired("LambdaARN"))
 16421  	}
 16422  	if s.LambdaARN != nil && len(*s.LambdaARN) < 20 {
 16423  		invalidParams.Add(request.NewErrParamMinLen("LambdaARN", 20))
 16424  	}
 16425  
 16426  	if invalidParams.Len() > 0 {
 16427  		return invalidParams
 16428  	}
 16429  	return nil
 16430  }
 16431  
 16432  // SetCodeHookInterfaceVersion sets the CodeHookInterfaceVersion field's value.
 16433  func (s *LambdaCodeHook) SetCodeHookInterfaceVersion(v string) *LambdaCodeHook {
 16434  	s.CodeHookInterfaceVersion = &v
 16435  	return s
 16436  }
 16437  
 16438  // SetLambdaARN sets the LambdaARN field's value.
 16439  func (s *LambdaCodeHook) SetLambdaARN(v string) *LambdaCodeHook {
 16440  	s.LambdaARN = &v
 16441  	return s
 16442  }
 16443  
 16444  type ListAggregatedUtterancesInput struct {
 16445  	_ struct{} `type:"structure"`
 16446  
 16447  	// The time window for aggregating the utterance information. You can specify
 16448  	// a time between one hour and two weeks.
 16449  	//
 16450  	// AggregationDuration is a required field
 16451  	AggregationDuration *UtteranceAggregationDuration `locationName:"aggregationDuration" type:"structure" required:"true"`
 16452  
 16453  	// The identifier of the bot alias associated with this request. If you specify
 16454  	// the bot alias, you can't specify the bot version.
 16455  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
 16456  
 16457  	// The unique identifier of the bot associated with this request.
 16458  	//
 16459  	// BotId is a required field
 16460  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 16461  
 16462  	// The identifier of the bot version associated with this request. If you specify
 16463  	// the bot version, you can't specify the bot alias.
 16464  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 16465  
 16466  	// Provides the specification of a filter used to limit the utterances in the
 16467  	// response to only those that match the filter specification. You can only
 16468  	// specify one filter and one string to filter on.
 16469  	Filters []*AggregatedUtterancesFilter `locationName:"filters" min:"1" type:"list"`
 16470  
 16471  	// The identifier of the language and locale where the utterances were collected.
 16472  	// For more information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 16473  	//
 16474  	// LocaleId is a required field
 16475  	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
 16476  
 16477  	// The maximum number of utterances to return in each page of results. If there
 16478  	// are fewer results than the maximum page size, only the actual number of results
 16479  	// are returned. If you don't specify the maxResults parameter, 1,000 results
 16480  	// are returned.
 16481  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 16482  
 16483  	// If the response from the ListAggregatedUtterances operation contains more
 16484  	// results that specified in the maxResults parameter, a token is returned in
 16485  	// the response. Use that token in the nextToken parameter to return the next
 16486  	// page of results.
 16487  	NextToken *string `locationName:"nextToken" type:"string"`
 16488  
 16489  	// Specifies sorting parameters for the list of utterances. You can sort by
 16490  	// the hit count, the missed count, or the number of distinct sessions the utterance
 16491  	// appeared in.
 16492  	SortBy *AggregatedUtterancesSortBy `locationName:"sortBy" type:"structure"`
 16493  }
 16494  
 16495  // String returns the string representation.
 16496  //
 16497  // API parameter values that are decorated as "sensitive" in the API will not
 16498  // be included in the string output. The member name will be present, but the
 16499  // value will be replaced with "sensitive".
 16500  func (s ListAggregatedUtterancesInput) String() string {
 16501  	return awsutil.Prettify(s)
 16502  }
 16503  
 16504  // GoString returns the string representation.
 16505  //
 16506  // API parameter values that are decorated as "sensitive" in the API will not
 16507  // be included in the string output. The member name will be present, but the
 16508  // value will be replaced with "sensitive".
 16509  func (s ListAggregatedUtterancesInput) GoString() string {
 16510  	return s.String()
 16511  }
 16512  
 16513  // Validate inspects the fields of the type to determine if they are valid.
 16514  func (s *ListAggregatedUtterancesInput) Validate() error {
 16515  	invalidParams := request.ErrInvalidParams{Context: "ListAggregatedUtterancesInput"}
 16516  	if s.AggregationDuration == nil {
 16517  		invalidParams.Add(request.NewErrParamRequired("AggregationDuration"))
 16518  	}
 16519  	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
 16520  		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
 16521  	}
 16522  	if s.BotId == nil {
 16523  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 16524  	}
 16525  	if s.BotId != nil && len(*s.BotId) < 10 {
 16526  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 16527  	}
 16528  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 16529  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 16530  	}
 16531  	if s.Filters != nil && len(s.Filters) < 1 {
 16532  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 16533  	}
 16534  	if s.LocaleId == nil {
 16535  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 16536  	}
 16537  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16538  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16539  	}
 16540  	if s.AggregationDuration != nil {
 16541  		if err := s.AggregationDuration.Validate(); err != nil {
 16542  			invalidParams.AddNested("AggregationDuration", err.(request.ErrInvalidParams))
 16543  		}
 16544  	}
 16545  	if s.Filters != nil {
 16546  		for i, v := range s.Filters {
 16547  			if v == nil {
 16548  				continue
 16549  			}
 16550  			if err := v.Validate(); err != nil {
 16551  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 16552  			}
 16553  		}
 16554  	}
 16555  	if s.SortBy != nil {
 16556  		if err := s.SortBy.Validate(); err != nil {
 16557  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 16558  		}
 16559  	}
 16560  
 16561  	if invalidParams.Len() > 0 {
 16562  		return invalidParams
 16563  	}
 16564  	return nil
 16565  }
 16566  
 16567  // SetAggregationDuration sets the AggregationDuration field's value.
 16568  func (s *ListAggregatedUtterancesInput) SetAggregationDuration(v *UtteranceAggregationDuration) *ListAggregatedUtterancesInput {
 16569  	s.AggregationDuration = v
 16570  	return s
 16571  }
 16572  
 16573  // SetBotAliasId sets the BotAliasId field's value.
 16574  func (s *ListAggregatedUtterancesInput) SetBotAliasId(v string) *ListAggregatedUtterancesInput {
 16575  	s.BotAliasId = &v
 16576  	return s
 16577  }
 16578  
 16579  // SetBotId sets the BotId field's value.
 16580  func (s *ListAggregatedUtterancesInput) SetBotId(v string) *ListAggregatedUtterancesInput {
 16581  	s.BotId = &v
 16582  	return s
 16583  }
 16584  
 16585  // SetBotVersion sets the BotVersion field's value.
 16586  func (s *ListAggregatedUtterancesInput) SetBotVersion(v string) *ListAggregatedUtterancesInput {
 16587  	s.BotVersion = &v
 16588  	return s
 16589  }
 16590  
 16591  // SetFilters sets the Filters field's value.
 16592  func (s *ListAggregatedUtterancesInput) SetFilters(v []*AggregatedUtterancesFilter) *ListAggregatedUtterancesInput {
 16593  	s.Filters = v
 16594  	return s
 16595  }
 16596  
 16597  // SetLocaleId sets the LocaleId field's value.
 16598  func (s *ListAggregatedUtterancesInput) SetLocaleId(v string) *ListAggregatedUtterancesInput {
 16599  	s.LocaleId = &v
 16600  	return s
 16601  }
 16602  
 16603  // SetMaxResults sets the MaxResults field's value.
 16604  func (s *ListAggregatedUtterancesInput) SetMaxResults(v int64) *ListAggregatedUtterancesInput {
 16605  	s.MaxResults = &v
 16606  	return s
 16607  }
 16608  
 16609  // SetNextToken sets the NextToken field's value.
 16610  func (s *ListAggregatedUtterancesInput) SetNextToken(v string) *ListAggregatedUtterancesInput {
 16611  	s.NextToken = &v
 16612  	return s
 16613  }
 16614  
 16615  // SetSortBy sets the SortBy field's value.
 16616  func (s *ListAggregatedUtterancesInput) SetSortBy(v *AggregatedUtterancesSortBy) *ListAggregatedUtterancesInput {
 16617  	s.SortBy = v
 16618  	return s
 16619  }
 16620  
 16621  type ListAggregatedUtterancesOutput struct {
 16622  	_ struct{} `type:"structure"`
 16623  
 16624  	// Summaries of the aggregated utterance data. Each response contains information
 16625  	// about the number of times that the utterance was seen during the time period,
 16626  	// whether it was detected or missed, and when it was seen during the time period.
 16627  	AggregatedUtterancesSummaries []*AggregatedUtterancesSummary `locationName:"aggregatedUtterancesSummaries" type:"list"`
 16628  
 16629  	// The time period used to aggregate the utterance data.
 16630  	AggregationDuration *UtteranceAggregationDuration `locationName:"aggregationDuration" type:"structure"`
 16631  
 16632  	// The last date and time that the aggregated data was collected. The time period
 16633  	// depends on the length of the aggregation window.
 16634  	//
 16635  	//    * Hours - for 1 hour time window, every half hour; otherwise every hour.
 16636  	//
 16637  	//    * Days - every 6 hours
 16638  	//
 16639  	//    * Weeks - for a one week time window, every 12 hours; otherwise, every
 16640  	//    day
 16641  	AggregationLastRefreshedDateTime *time.Time `locationName:"aggregationLastRefreshedDateTime" type:"timestamp"`
 16642  
 16643  	// The date and time that the aggregation window ends. Only data collected between
 16644  	// the start time and the end time are returned in the results.
 16645  	AggregationWindowEndTime *time.Time `locationName:"aggregationWindowEndTime" type:"timestamp"`
 16646  
 16647  	// The date and time that the aggregation window begins. Only data collected
 16648  	// after this time is returned in the results.
 16649  	AggregationWindowStartTime *time.Time `locationName:"aggregationWindowStartTime" type:"timestamp"`
 16650  
 16651  	// The identifier of the bot alias that contains the utterances. If you specified
 16652  	// the bot version, the bot alias ID isn't returned.
 16653  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
 16654  
 16655  	// The identifier of the bot that contains the utterances.
 16656  	BotId *string `locationName:"botId" min:"10" type:"string"`
 16657  
 16658  	// The identifier of the bot version that contains the utterances. If you specified
 16659  	// the bot alias, the bot version isn't returned.
 16660  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 16661  
 16662  	// The identifier of the language and locale that the utterances are in.
 16663  	LocaleId *string `locationName:"localeId" type:"string"`
 16664  
 16665  	// A token that indicates whether there are more results to return in a response
 16666  	// to the ListAggregatedUtterances operation. If the nextToken field is present,
 16667  	// you send the contents as the nextToken parameter of a ListAggregatedUtterances
 16668  	// operation request to get the next page of results.
 16669  	NextToken *string `locationName:"nextToken" type:"string"`
 16670  }
 16671  
 16672  // String returns the string representation.
 16673  //
 16674  // API parameter values that are decorated as "sensitive" in the API will not
 16675  // be included in the string output. The member name will be present, but the
 16676  // value will be replaced with "sensitive".
 16677  func (s ListAggregatedUtterancesOutput) String() string {
 16678  	return awsutil.Prettify(s)
 16679  }
 16680  
 16681  // GoString returns the string representation.
 16682  //
 16683  // API parameter values that are decorated as "sensitive" in the API will not
 16684  // be included in the string output. The member name will be present, but the
 16685  // value will be replaced with "sensitive".
 16686  func (s ListAggregatedUtterancesOutput) GoString() string {
 16687  	return s.String()
 16688  }
 16689  
 16690  // SetAggregatedUtterancesSummaries sets the AggregatedUtterancesSummaries field's value.
 16691  func (s *ListAggregatedUtterancesOutput) SetAggregatedUtterancesSummaries(v []*AggregatedUtterancesSummary) *ListAggregatedUtterancesOutput {
 16692  	s.AggregatedUtterancesSummaries = v
 16693  	return s
 16694  }
 16695  
 16696  // SetAggregationDuration sets the AggregationDuration field's value.
 16697  func (s *ListAggregatedUtterancesOutput) SetAggregationDuration(v *UtteranceAggregationDuration) *ListAggregatedUtterancesOutput {
 16698  	s.AggregationDuration = v
 16699  	return s
 16700  }
 16701  
 16702  // SetAggregationLastRefreshedDateTime sets the AggregationLastRefreshedDateTime field's value.
 16703  func (s *ListAggregatedUtterancesOutput) SetAggregationLastRefreshedDateTime(v time.Time) *ListAggregatedUtterancesOutput {
 16704  	s.AggregationLastRefreshedDateTime = &v
 16705  	return s
 16706  }
 16707  
 16708  // SetAggregationWindowEndTime sets the AggregationWindowEndTime field's value.
 16709  func (s *ListAggregatedUtterancesOutput) SetAggregationWindowEndTime(v time.Time) *ListAggregatedUtterancesOutput {
 16710  	s.AggregationWindowEndTime = &v
 16711  	return s
 16712  }
 16713  
 16714  // SetAggregationWindowStartTime sets the AggregationWindowStartTime field's value.
 16715  func (s *ListAggregatedUtterancesOutput) SetAggregationWindowStartTime(v time.Time) *ListAggregatedUtterancesOutput {
 16716  	s.AggregationWindowStartTime = &v
 16717  	return s
 16718  }
 16719  
 16720  // SetBotAliasId sets the BotAliasId field's value.
 16721  func (s *ListAggregatedUtterancesOutput) SetBotAliasId(v string) *ListAggregatedUtterancesOutput {
 16722  	s.BotAliasId = &v
 16723  	return s
 16724  }
 16725  
 16726  // SetBotId sets the BotId field's value.
 16727  func (s *ListAggregatedUtterancesOutput) SetBotId(v string) *ListAggregatedUtterancesOutput {
 16728  	s.BotId = &v
 16729  	return s
 16730  }
 16731  
 16732  // SetBotVersion sets the BotVersion field's value.
 16733  func (s *ListAggregatedUtterancesOutput) SetBotVersion(v string) *ListAggregatedUtterancesOutput {
 16734  	s.BotVersion = &v
 16735  	return s
 16736  }
 16737  
 16738  // SetLocaleId sets the LocaleId field's value.
 16739  func (s *ListAggregatedUtterancesOutput) SetLocaleId(v string) *ListAggregatedUtterancesOutput {
 16740  	s.LocaleId = &v
 16741  	return s
 16742  }
 16743  
 16744  // SetNextToken sets the NextToken field's value.
 16745  func (s *ListAggregatedUtterancesOutput) SetNextToken(v string) *ListAggregatedUtterancesOutput {
 16746  	s.NextToken = &v
 16747  	return s
 16748  }
 16749  
 16750  type ListBotAliasesInput struct {
 16751  	_ struct{} `type:"structure"`
 16752  
 16753  	// The identifier of the bot to list aliases for.
 16754  	//
 16755  	// BotId is a required field
 16756  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 16757  
 16758  	// The maximum number of aliases to return in each page of results. If there
 16759  	// are fewer results than the max page size, only the actual number of results
 16760  	// are returned.
 16761  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 16762  
 16763  	// If the response from the ListBotAliases operation contains more results than
 16764  	// specified in the maxResults parameter, a token is returned in the response.
 16765  	// Use that token in the nextToken parameter to return the next page of results.
 16766  	NextToken *string `locationName:"nextToken" type:"string"`
 16767  }
 16768  
 16769  // String returns the string representation.
 16770  //
 16771  // API parameter values that are decorated as "sensitive" in the API will not
 16772  // be included in the string output. The member name will be present, but the
 16773  // value will be replaced with "sensitive".
 16774  func (s ListBotAliasesInput) String() string {
 16775  	return awsutil.Prettify(s)
 16776  }
 16777  
 16778  // GoString returns the string representation.
 16779  //
 16780  // API parameter values that are decorated as "sensitive" in the API will not
 16781  // be included in the string output. The member name will be present, but the
 16782  // value will be replaced with "sensitive".
 16783  func (s ListBotAliasesInput) GoString() string {
 16784  	return s.String()
 16785  }
 16786  
 16787  // Validate inspects the fields of the type to determine if they are valid.
 16788  func (s *ListBotAliasesInput) Validate() error {
 16789  	invalidParams := request.ErrInvalidParams{Context: "ListBotAliasesInput"}
 16790  	if s.BotId == nil {
 16791  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 16792  	}
 16793  	if s.BotId != nil && len(*s.BotId) < 10 {
 16794  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 16795  	}
 16796  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16797  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16798  	}
 16799  
 16800  	if invalidParams.Len() > 0 {
 16801  		return invalidParams
 16802  	}
 16803  	return nil
 16804  }
 16805  
 16806  // SetBotId sets the BotId field's value.
 16807  func (s *ListBotAliasesInput) SetBotId(v string) *ListBotAliasesInput {
 16808  	s.BotId = &v
 16809  	return s
 16810  }
 16811  
 16812  // SetMaxResults sets the MaxResults field's value.
 16813  func (s *ListBotAliasesInput) SetMaxResults(v int64) *ListBotAliasesInput {
 16814  	s.MaxResults = &v
 16815  	return s
 16816  }
 16817  
 16818  // SetNextToken sets the NextToken field's value.
 16819  func (s *ListBotAliasesInput) SetNextToken(v string) *ListBotAliasesInput {
 16820  	s.NextToken = &v
 16821  	return s
 16822  }
 16823  
 16824  type ListBotAliasesOutput struct {
 16825  	_ struct{} `type:"structure"`
 16826  
 16827  	// Summary information for the bot aliases that meet the filter criteria specified
 16828  	// in the request. The length of the list is specified in the maxResults parameter
 16829  	// of the request. If there are more aliases available, the nextToken field
 16830  	// contains a token to get the next page of results.
 16831  	BotAliasSummaries []*BotAliasSummary `locationName:"botAliasSummaries" type:"list"`
 16832  
 16833  	// The identifier of the bot associated with the aliases.
 16834  	BotId *string `locationName:"botId" min:"10" type:"string"`
 16835  
 16836  	// A token that indicates whether there are more results to return in a response
 16837  	// to the ListBotAliases operation. If the nextToken field is present, you send
 16838  	// the contents as the nextToken parameter of a ListBotAliases operation request
 16839  	// to get the next page of results.
 16840  	NextToken *string `locationName:"nextToken" type:"string"`
 16841  }
 16842  
 16843  // String returns the string representation.
 16844  //
 16845  // API parameter values that are decorated as "sensitive" in the API will not
 16846  // be included in the string output. The member name will be present, but the
 16847  // value will be replaced with "sensitive".
 16848  func (s ListBotAliasesOutput) String() string {
 16849  	return awsutil.Prettify(s)
 16850  }
 16851  
 16852  // GoString returns the string representation.
 16853  //
 16854  // API parameter values that are decorated as "sensitive" in the API will not
 16855  // be included in the string output. The member name will be present, but the
 16856  // value will be replaced with "sensitive".
 16857  func (s ListBotAliasesOutput) GoString() string {
 16858  	return s.String()
 16859  }
 16860  
 16861  // SetBotAliasSummaries sets the BotAliasSummaries field's value.
 16862  func (s *ListBotAliasesOutput) SetBotAliasSummaries(v []*BotAliasSummary) *ListBotAliasesOutput {
 16863  	s.BotAliasSummaries = v
 16864  	return s
 16865  }
 16866  
 16867  // SetBotId sets the BotId field's value.
 16868  func (s *ListBotAliasesOutput) SetBotId(v string) *ListBotAliasesOutput {
 16869  	s.BotId = &v
 16870  	return s
 16871  }
 16872  
 16873  // SetNextToken sets the NextToken field's value.
 16874  func (s *ListBotAliasesOutput) SetNextToken(v string) *ListBotAliasesOutput {
 16875  	s.NextToken = &v
 16876  	return s
 16877  }
 16878  
 16879  type ListBotLocalesInput struct {
 16880  	_ struct{} `type:"structure"`
 16881  
 16882  	// The identifier of the bot to list locales for.
 16883  	//
 16884  	// BotId is a required field
 16885  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 16886  
 16887  	// The version of the bot to list locales for.
 16888  	//
 16889  	// BotVersion is a required field
 16890  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 16891  
 16892  	// Provides the specification for a filter used to limit the response to only
 16893  	// those locales that match the filter specification. You can only specify one
 16894  	// filter and one value to filter on.
 16895  	Filters []*BotLocaleFilter `locationName:"filters" min:"1" type:"list"`
 16896  
 16897  	// The maximum number of aliases to return in each page of results. If there
 16898  	// are fewer results than the max page size, only the actual number of results
 16899  	// are returned.
 16900  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 16901  
 16902  	// If the response from the ListBotLocales operation contains more results than
 16903  	// specified in the maxResults parameter, a token is returned in the response.
 16904  	// Use that token as the nextToken parameter to return the next page of results.
 16905  	NextToken *string `locationName:"nextToken" type:"string"`
 16906  
 16907  	// Specifies sorting parameters for the list of locales. You can sort by locale
 16908  	// name in ascending or descending order.
 16909  	SortBy *BotLocaleSortBy `locationName:"sortBy" type:"structure"`
 16910  }
 16911  
 16912  // String returns the string representation.
 16913  //
 16914  // API parameter values that are decorated as "sensitive" in the API will not
 16915  // be included in the string output. The member name will be present, but the
 16916  // value will be replaced with "sensitive".
 16917  func (s ListBotLocalesInput) String() string {
 16918  	return awsutil.Prettify(s)
 16919  }
 16920  
 16921  // GoString returns the string representation.
 16922  //
 16923  // API parameter values that are decorated as "sensitive" in the API will not
 16924  // be included in the string output. The member name will be present, but the
 16925  // value will be replaced with "sensitive".
 16926  func (s ListBotLocalesInput) GoString() string {
 16927  	return s.String()
 16928  }
 16929  
 16930  // Validate inspects the fields of the type to determine if they are valid.
 16931  func (s *ListBotLocalesInput) Validate() error {
 16932  	invalidParams := request.ErrInvalidParams{Context: "ListBotLocalesInput"}
 16933  	if s.BotId == nil {
 16934  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 16935  	}
 16936  	if s.BotId != nil && len(*s.BotId) < 10 {
 16937  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 16938  	}
 16939  	if s.BotVersion == nil {
 16940  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 16941  	}
 16942  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 16943  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 16944  	}
 16945  	if s.Filters != nil && len(s.Filters) < 1 {
 16946  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 16947  	}
 16948  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16949  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16950  	}
 16951  	if s.Filters != nil {
 16952  		for i, v := range s.Filters {
 16953  			if v == nil {
 16954  				continue
 16955  			}
 16956  			if err := v.Validate(); err != nil {
 16957  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 16958  			}
 16959  		}
 16960  	}
 16961  	if s.SortBy != nil {
 16962  		if err := s.SortBy.Validate(); err != nil {
 16963  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 16964  		}
 16965  	}
 16966  
 16967  	if invalidParams.Len() > 0 {
 16968  		return invalidParams
 16969  	}
 16970  	return nil
 16971  }
 16972  
 16973  // SetBotId sets the BotId field's value.
 16974  func (s *ListBotLocalesInput) SetBotId(v string) *ListBotLocalesInput {
 16975  	s.BotId = &v
 16976  	return s
 16977  }
 16978  
 16979  // SetBotVersion sets the BotVersion field's value.
 16980  func (s *ListBotLocalesInput) SetBotVersion(v string) *ListBotLocalesInput {
 16981  	s.BotVersion = &v
 16982  	return s
 16983  }
 16984  
 16985  // SetFilters sets the Filters field's value.
 16986  func (s *ListBotLocalesInput) SetFilters(v []*BotLocaleFilter) *ListBotLocalesInput {
 16987  	s.Filters = v
 16988  	return s
 16989  }
 16990  
 16991  // SetMaxResults sets the MaxResults field's value.
 16992  func (s *ListBotLocalesInput) SetMaxResults(v int64) *ListBotLocalesInput {
 16993  	s.MaxResults = &v
 16994  	return s
 16995  }
 16996  
 16997  // SetNextToken sets the NextToken field's value.
 16998  func (s *ListBotLocalesInput) SetNextToken(v string) *ListBotLocalesInput {
 16999  	s.NextToken = &v
 17000  	return s
 17001  }
 17002  
 17003  // SetSortBy sets the SortBy field's value.
 17004  func (s *ListBotLocalesInput) SetSortBy(v *BotLocaleSortBy) *ListBotLocalesInput {
 17005  	s.SortBy = v
 17006  	return s
 17007  }
 17008  
 17009  type ListBotLocalesOutput struct {
 17010  	_ struct{} `type:"structure"`
 17011  
 17012  	// The identifier of the bot to list locales for.
 17013  	BotId *string `locationName:"botId" min:"10" type:"string"`
 17014  
 17015  	// Summary information for the locales that meet the filter criteria specified
 17016  	// in the request. The length of the list is specified in the maxResults parameter
 17017  	// of the request. If there are more locales available, the nextToken field
 17018  	// contains a token to get the next page of results.
 17019  	BotLocaleSummaries []*BotLocaleSummary `locationName:"botLocaleSummaries" type:"list"`
 17020  
 17021  	// The version of the bot.
 17022  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 17023  
 17024  	// A token that indicates whether there are more results to return in a response
 17025  	// to the ListBotLocales operation. If the nextToken field is present, you send
 17026  	// the contents as the nextToken parameter of a ListBotLocales operation request
 17027  	// to get the next page of results.
 17028  	NextToken *string `locationName:"nextToken" type:"string"`
 17029  }
 17030  
 17031  // String returns the string representation.
 17032  //
 17033  // API parameter values that are decorated as "sensitive" in the API will not
 17034  // be included in the string output. The member name will be present, but the
 17035  // value will be replaced with "sensitive".
 17036  func (s ListBotLocalesOutput) String() string {
 17037  	return awsutil.Prettify(s)
 17038  }
 17039  
 17040  // GoString returns the string representation.
 17041  //
 17042  // API parameter values that are decorated as "sensitive" in the API will not
 17043  // be included in the string output. The member name will be present, but the
 17044  // value will be replaced with "sensitive".
 17045  func (s ListBotLocalesOutput) GoString() string {
 17046  	return s.String()
 17047  }
 17048  
 17049  // SetBotId sets the BotId field's value.
 17050  func (s *ListBotLocalesOutput) SetBotId(v string) *ListBotLocalesOutput {
 17051  	s.BotId = &v
 17052  	return s
 17053  }
 17054  
 17055  // SetBotLocaleSummaries sets the BotLocaleSummaries field's value.
 17056  func (s *ListBotLocalesOutput) SetBotLocaleSummaries(v []*BotLocaleSummary) *ListBotLocalesOutput {
 17057  	s.BotLocaleSummaries = v
 17058  	return s
 17059  }
 17060  
 17061  // SetBotVersion sets the BotVersion field's value.
 17062  func (s *ListBotLocalesOutput) SetBotVersion(v string) *ListBotLocalesOutput {
 17063  	s.BotVersion = &v
 17064  	return s
 17065  }
 17066  
 17067  // SetNextToken sets the NextToken field's value.
 17068  func (s *ListBotLocalesOutput) SetNextToken(v string) *ListBotLocalesOutput {
 17069  	s.NextToken = &v
 17070  	return s
 17071  }
 17072  
 17073  type ListBotVersionsInput struct {
 17074  	_ struct{} `type:"structure"`
 17075  
 17076  	// The identifier of the bot to list versions for.
 17077  	//
 17078  	// BotId is a required field
 17079  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 17080  
 17081  	// The maximum number of versions to return in each page of results. If there
 17082  	// are fewer results than the max page size, only the actual number of results
 17083  	// are returned.
 17084  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 17085  
 17086  	// If the response to the ListBotVersion operation contains more results than
 17087  	// specified in the maxResults parameter, a token is returned in the response.
 17088  	// Use that token in the nextToken parameter to return the next page of results.
 17089  	NextToken *string `locationName:"nextToken" type:"string"`
 17090  
 17091  	// Specifies sorting parameters for the list of versions. You can specify that
 17092  	// the list be sorted by version name in either ascending or descending order.
 17093  	SortBy *BotVersionSortBy `locationName:"sortBy" type:"structure"`
 17094  }
 17095  
 17096  // String returns the string representation.
 17097  //
 17098  // API parameter values that are decorated as "sensitive" in the API will not
 17099  // be included in the string output. The member name will be present, but the
 17100  // value will be replaced with "sensitive".
 17101  func (s ListBotVersionsInput) String() string {
 17102  	return awsutil.Prettify(s)
 17103  }
 17104  
 17105  // GoString returns the string representation.
 17106  //
 17107  // API parameter values that are decorated as "sensitive" in the API will not
 17108  // be included in the string output. The member name will be present, but the
 17109  // value will be replaced with "sensitive".
 17110  func (s ListBotVersionsInput) GoString() string {
 17111  	return s.String()
 17112  }
 17113  
 17114  // Validate inspects the fields of the type to determine if they are valid.
 17115  func (s *ListBotVersionsInput) Validate() error {
 17116  	invalidParams := request.ErrInvalidParams{Context: "ListBotVersionsInput"}
 17117  	if s.BotId == nil {
 17118  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 17119  	}
 17120  	if s.BotId != nil && len(*s.BotId) < 10 {
 17121  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 17122  	}
 17123  	if s.MaxResults != nil && *s.MaxResults < 1 {
 17124  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 17125  	}
 17126  	if s.SortBy != nil {
 17127  		if err := s.SortBy.Validate(); err != nil {
 17128  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 17129  		}
 17130  	}
 17131  
 17132  	if invalidParams.Len() > 0 {
 17133  		return invalidParams
 17134  	}
 17135  	return nil
 17136  }
 17137  
 17138  // SetBotId sets the BotId field's value.
 17139  func (s *ListBotVersionsInput) SetBotId(v string) *ListBotVersionsInput {
 17140  	s.BotId = &v
 17141  	return s
 17142  }
 17143  
 17144  // SetMaxResults sets the MaxResults field's value.
 17145  func (s *ListBotVersionsInput) SetMaxResults(v int64) *ListBotVersionsInput {
 17146  	s.MaxResults = &v
 17147  	return s
 17148  }
 17149  
 17150  // SetNextToken sets the NextToken field's value.
 17151  func (s *ListBotVersionsInput) SetNextToken(v string) *ListBotVersionsInput {
 17152  	s.NextToken = &v
 17153  	return s
 17154  }
 17155  
 17156  // SetSortBy sets the SortBy field's value.
 17157  func (s *ListBotVersionsInput) SetSortBy(v *BotVersionSortBy) *ListBotVersionsInput {
 17158  	s.SortBy = v
 17159  	return s
 17160  }
 17161  
 17162  type ListBotVersionsOutput struct {
 17163  	_ struct{} `type:"structure"`
 17164  
 17165  	// The identifier of the bot to list versions for.
 17166  	BotId *string `locationName:"botId" min:"10" type:"string"`
 17167  
 17168  	// Summary information for the bot versions that meet the filter criteria specified
 17169  	// in the request. The length of the list is specified in the maxResults parameter
 17170  	// of the request. If there are more versions available, the nextToken field
 17171  	// contains a token to get the next page of results.
 17172  	BotVersionSummaries []*BotVersionSummary `locationName:"botVersionSummaries" type:"list"`
 17173  
 17174  	// A token that indicates whether there are more results to return in a response
 17175  	// to the ListBotVersions operation. If the nextToken field is present, you
 17176  	// send the contents as the nextToken parameter of a ListBotAliases operation
 17177  	// request to get the next page of results.
 17178  	NextToken *string `locationName:"nextToken" type:"string"`
 17179  }
 17180  
 17181  // String returns the string representation.
 17182  //
 17183  // API parameter values that are decorated as "sensitive" in the API will not
 17184  // be included in the string output. The member name will be present, but the
 17185  // value will be replaced with "sensitive".
 17186  func (s ListBotVersionsOutput) String() string {
 17187  	return awsutil.Prettify(s)
 17188  }
 17189  
 17190  // GoString returns the string representation.
 17191  //
 17192  // API parameter values that are decorated as "sensitive" in the API will not
 17193  // be included in the string output. The member name will be present, but the
 17194  // value will be replaced with "sensitive".
 17195  func (s ListBotVersionsOutput) GoString() string {
 17196  	return s.String()
 17197  }
 17198  
 17199  // SetBotId sets the BotId field's value.
 17200  func (s *ListBotVersionsOutput) SetBotId(v string) *ListBotVersionsOutput {
 17201  	s.BotId = &v
 17202  	return s
 17203  }
 17204  
 17205  // SetBotVersionSummaries sets the BotVersionSummaries field's value.
 17206  func (s *ListBotVersionsOutput) SetBotVersionSummaries(v []*BotVersionSummary) *ListBotVersionsOutput {
 17207  	s.BotVersionSummaries = v
 17208  	return s
 17209  }
 17210  
 17211  // SetNextToken sets the NextToken field's value.
 17212  func (s *ListBotVersionsOutput) SetNextToken(v string) *ListBotVersionsOutput {
 17213  	s.NextToken = &v
 17214  	return s
 17215  }
 17216  
 17217  type ListBotsInput struct {
 17218  	_ struct{} `type:"structure"`
 17219  
 17220  	// Provides the specification of a filter used to limit the bots in the response
 17221  	// to only those that match the filter specification. You can only specify one
 17222  	// filter and one string to filter on.
 17223  	Filters []*BotFilter `locationName:"filters" min:"1" type:"list"`
 17224  
 17225  	// The maximum number of bots to return in each page of results. If there are
 17226  	// fewer results than the maximum page size, only the actual number of results
 17227  	// are returned.
 17228  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 17229  
 17230  	// If the response from the ListBots operation contains more results than specified
 17231  	// in the maxResults parameter, a token is returned in the response. Use that
 17232  	// token in the nextToken parameter to return the next page of results.
 17233  	NextToken *string `locationName:"nextToken" type:"string"`
 17234  
 17235  	// Specifies sorting parameters for the list of bots. You can specify that the
 17236  	// list be sorted by bot name in ascending or descending order.
 17237  	SortBy *BotSortBy `locationName:"sortBy" type:"structure"`
 17238  }
 17239  
 17240  // String returns the string representation.
 17241  //
 17242  // API parameter values that are decorated as "sensitive" in the API will not
 17243  // be included in the string output. The member name will be present, but the
 17244  // value will be replaced with "sensitive".
 17245  func (s ListBotsInput) String() string {
 17246  	return awsutil.Prettify(s)
 17247  }
 17248  
 17249  // GoString returns the string representation.
 17250  //
 17251  // API parameter values that are decorated as "sensitive" in the API will not
 17252  // be included in the string output. The member name will be present, but the
 17253  // value will be replaced with "sensitive".
 17254  func (s ListBotsInput) GoString() string {
 17255  	return s.String()
 17256  }
 17257  
 17258  // Validate inspects the fields of the type to determine if they are valid.
 17259  func (s *ListBotsInput) Validate() error {
 17260  	invalidParams := request.ErrInvalidParams{Context: "ListBotsInput"}
 17261  	if s.Filters != nil && len(s.Filters) < 1 {
 17262  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 17263  	}
 17264  	if s.MaxResults != nil && *s.MaxResults < 1 {
 17265  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 17266  	}
 17267  	if s.Filters != nil {
 17268  		for i, v := range s.Filters {
 17269  			if v == nil {
 17270  				continue
 17271  			}
 17272  			if err := v.Validate(); err != nil {
 17273  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 17274  			}
 17275  		}
 17276  	}
 17277  	if s.SortBy != nil {
 17278  		if err := s.SortBy.Validate(); err != nil {
 17279  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 17280  		}
 17281  	}
 17282  
 17283  	if invalidParams.Len() > 0 {
 17284  		return invalidParams
 17285  	}
 17286  	return nil
 17287  }
 17288  
 17289  // SetFilters sets the Filters field's value.
 17290  func (s *ListBotsInput) SetFilters(v []*BotFilter) *ListBotsInput {
 17291  	s.Filters = v
 17292  	return s
 17293  }
 17294  
 17295  // SetMaxResults sets the MaxResults field's value.
 17296  func (s *ListBotsInput) SetMaxResults(v int64) *ListBotsInput {
 17297  	s.MaxResults = &v
 17298  	return s
 17299  }
 17300  
 17301  // SetNextToken sets the NextToken field's value.
 17302  func (s *ListBotsInput) SetNextToken(v string) *ListBotsInput {
 17303  	s.NextToken = &v
 17304  	return s
 17305  }
 17306  
 17307  // SetSortBy sets the SortBy field's value.
 17308  func (s *ListBotsInput) SetSortBy(v *BotSortBy) *ListBotsInput {
 17309  	s.SortBy = v
 17310  	return s
 17311  }
 17312  
 17313  type ListBotsOutput struct {
 17314  	_ struct{} `type:"structure"`
 17315  
 17316  	// Summary information for the bots that meet the filter criteria specified
 17317  	// in the request. The length of the list is specified in the maxResults parameter
 17318  	// of the request. If there are more bots available, the nextToken field contains
 17319  	// a token to the next page of results.
 17320  	BotSummaries []*BotSummary `locationName:"botSummaries" type:"list"`
 17321  
 17322  	// A token that indicates whether there are more results to return in a response
 17323  	// to the ListBots operation. If the nextToken field is present, you send the
 17324  	// contents as the nextToken parameter of a ListBots operation request to get
 17325  	// the next page of results.
 17326  	NextToken *string `locationName:"nextToken" type:"string"`
 17327  }
 17328  
 17329  // String returns the string representation.
 17330  //
 17331  // API parameter values that are decorated as "sensitive" in the API will not
 17332  // be included in the string output. The member name will be present, but the
 17333  // value will be replaced with "sensitive".
 17334  func (s ListBotsOutput) String() string {
 17335  	return awsutil.Prettify(s)
 17336  }
 17337  
 17338  // GoString returns the string representation.
 17339  //
 17340  // API parameter values that are decorated as "sensitive" in the API will not
 17341  // be included in the string output. The member name will be present, but the
 17342  // value will be replaced with "sensitive".
 17343  func (s ListBotsOutput) GoString() string {
 17344  	return s.String()
 17345  }
 17346  
 17347  // SetBotSummaries sets the BotSummaries field's value.
 17348  func (s *ListBotsOutput) SetBotSummaries(v []*BotSummary) *ListBotsOutput {
 17349  	s.BotSummaries = v
 17350  	return s
 17351  }
 17352  
 17353  // SetNextToken sets the NextToken field's value.
 17354  func (s *ListBotsOutput) SetNextToken(v string) *ListBotsOutput {
 17355  	s.NextToken = &v
 17356  	return s
 17357  }
 17358  
 17359  type ListBuiltInIntentsInput struct {
 17360  	_ struct{} `type:"structure"`
 17361  
 17362  	// The identifier of the language and locale of the intents to list. The string
 17363  	// must match one of the supported locales. For more information, see Supported
 17364  	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 17365  	//
 17366  	// LocaleId is a required field
 17367  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 17368  
 17369  	// The maximum number of built-in intents to return in each page of results.
 17370  	// If there are fewer results than the max page size, only the actual number
 17371  	// of results are returned.
 17372  	MaxResults *int64 `locationName:"maxResults" min:"20" type:"integer"`
 17373  
 17374  	// If the response from the ListBuiltInIntents operation contains more results
 17375  	// than specified in the maxResults parameter, a token is returned in the response.
 17376  	// Use that token in the nextToken parameter to return the next page of results.
 17377  	NextToken *string `locationName:"nextToken" type:"string"`
 17378  
 17379  	// Specifies sorting parameters for the list of built-in intents. You can specify
 17380  	// that the list be sorted by the built-in intent signature in either ascending
 17381  	// or descending order.
 17382  	SortBy *BuiltInIntentSortBy `locationName:"sortBy" type:"structure"`
 17383  }
 17384  
 17385  // String returns the string representation.
 17386  //
 17387  // API parameter values that are decorated as "sensitive" in the API will not
 17388  // be included in the string output. The member name will be present, but the
 17389  // value will be replaced with "sensitive".
 17390  func (s ListBuiltInIntentsInput) String() string {
 17391  	return awsutil.Prettify(s)
 17392  }
 17393  
 17394  // GoString returns the string representation.
 17395  //
 17396  // API parameter values that are decorated as "sensitive" in the API will not
 17397  // be included in the string output. The member name will be present, but the
 17398  // value will be replaced with "sensitive".
 17399  func (s ListBuiltInIntentsInput) GoString() string {
 17400  	return s.String()
 17401  }
 17402  
 17403  // Validate inspects the fields of the type to determine if they are valid.
 17404  func (s *ListBuiltInIntentsInput) Validate() error {
 17405  	invalidParams := request.ErrInvalidParams{Context: "ListBuiltInIntentsInput"}
 17406  	if s.LocaleId == nil {
 17407  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 17408  	}
 17409  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 17410  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 17411  	}
 17412  	if s.MaxResults != nil && *s.MaxResults < 20 {
 17413  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
 17414  	}
 17415  	if s.SortBy != nil {
 17416  		if err := s.SortBy.Validate(); err != nil {
 17417  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 17418  		}
 17419  	}
 17420  
 17421  	if invalidParams.Len() > 0 {
 17422  		return invalidParams
 17423  	}
 17424  	return nil
 17425  }
 17426  
 17427  // SetLocaleId sets the LocaleId field's value.
 17428  func (s *ListBuiltInIntentsInput) SetLocaleId(v string) *ListBuiltInIntentsInput {
 17429  	s.LocaleId = &v
 17430  	return s
 17431  }
 17432  
 17433  // SetMaxResults sets the MaxResults field's value.
 17434  func (s *ListBuiltInIntentsInput) SetMaxResults(v int64) *ListBuiltInIntentsInput {
 17435  	s.MaxResults = &v
 17436  	return s
 17437  }
 17438  
 17439  // SetNextToken sets the NextToken field's value.
 17440  func (s *ListBuiltInIntentsInput) SetNextToken(v string) *ListBuiltInIntentsInput {
 17441  	s.NextToken = &v
 17442  	return s
 17443  }
 17444  
 17445  // SetSortBy sets the SortBy field's value.
 17446  func (s *ListBuiltInIntentsInput) SetSortBy(v *BuiltInIntentSortBy) *ListBuiltInIntentsInput {
 17447  	s.SortBy = v
 17448  	return s
 17449  }
 17450  
 17451  type ListBuiltInIntentsOutput struct {
 17452  	_ struct{} `type:"structure"`
 17453  
 17454  	// Summary information for the built-in intents that meet the filter criteria
 17455  	// specified in the request. The length of the list is specified in the maxResults
 17456  	// parameter of the request. If there are more intents available, the nextToken
 17457  	// field contains a token to get the next page of results.
 17458  	BuiltInIntentSummaries []*BuiltInIntentSummary `locationName:"builtInIntentSummaries" type:"list"`
 17459  
 17460  	// The language and locale of the intents in the list.
 17461  	LocaleId *string `locationName:"localeId" type:"string"`
 17462  
 17463  	// A token that indicates whether there are more results to return in a response
 17464  	// to the ListBuiltInIntents operation. If the nextToken field is present, you
 17465  	// send the contents as the nextToken parameter of a ListBotAliases operation
 17466  	// request to get the next page of results.
 17467  	NextToken *string `locationName:"nextToken" type:"string"`
 17468  }
 17469  
 17470  // String returns the string representation.
 17471  //
 17472  // API parameter values that are decorated as "sensitive" in the API will not
 17473  // be included in the string output. The member name will be present, but the
 17474  // value will be replaced with "sensitive".
 17475  func (s ListBuiltInIntentsOutput) String() string {
 17476  	return awsutil.Prettify(s)
 17477  }
 17478  
 17479  // GoString returns the string representation.
 17480  //
 17481  // API parameter values that are decorated as "sensitive" in the API will not
 17482  // be included in the string output. The member name will be present, but the
 17483  // value will be replaced with "sensitive".
 17484  func (s ListBuiltInIntentsOutput) GoString() string {
 17485  	return s.String()
 17486  }
 17487  
 17488  // SetBuiltInIntentSummaries sets the BuiltInIntentSummaries field's value.
 17489  func (s *ListBuiltInIntentsOutput) SetBuiltInIntentSummaries(v []*BuiltInIntentSummary) *ListBuiltInIntentsOutput {
 17490  	s.BuiltInIntentSummaries = v
 17491  	return s
 17492  }
 17493  
 17494  // SetLocaleId sets the LocaleId field's value.
 17495  func (s *ListBuiltInIntentsOutput) SetLocaleId(v string) *ListBuiltInIntentsOutput {
 17496  	s.LocaleId = &v
 17497  	return s
 17498  }
 17499  
 17500  // SetNextToken sets the NextToken field's value.
 17501  func (s *ListBuiltInIntentsOutput) SetNextToken(v string) *ListBuiltInIntentsOutput {
 17502  	s.NextToken = &v
 17503  	return s
 17504  }
 17505  
 17506  type ListBuiltInSlotTypesInput struct {
 17507  	_ struct{} `type:"structure"`
 17508  
 17509  	// The identifier of the language and locale of the slot types to list. The
 17510  	// string must match one of the supported locales. For more information, see
 17511  	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 17512  	//
 17513  	// LocaleId is a required field
 17514  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 17515  
 17516  	// The maximum number of built-in slot types to return in each page of results.
 17517  	// If there are fewer results than the max page size, only the actual number
 17518  	// of results are returned.
 17519  	MaxResults *int64 `locationName:"maxResults" min:"20" type:"integer"`
 17520  
 17521  	// If the response from the ListBuiltInSlotTypes operation contains more results
 17522  	// than specified in the maxResults parameter, a token is returned in the response.
 17523  	// Use that token in the nextToken parameter to return the next page of results.
 17524  	NextToken *string `locationName:"nextToken" type:"string"`
 17525  
 17526  	// Determines the sort order for the response from the ListBuiltInSlotTypes
 17527  	// operation. You can choose to sort by the slot type signature in either ascending
 17528  	// or descending order.
 17529  	SortBy *BuiltInSlotTypeSortBy `locationName:"sortBy" type:"structure"`
 17530  }
 17531  
 17532  // String returns the string representation.
 17533  //
 17534  // API parameter values that are decorated as "sensitive" in the API will not
 17535  // be included in the string output. The member name will be present, but the
 17536  // value will be replaced with "sensitive".
 17537  func (s ListBuiltInSlotTypesInput) String() string {
 17538  	return awsutil.Prettify(s)
 17539  }
 17540  
 17541  // GoString returns the string representation.
 17542  //
 17543  // API parameter values that are decorated as "sensitive" in the API will not
 17544  // be included in the string output. The member name will be present, but the
 17545  // value will be replaced with "sensitive".
 17546  func (s ListBuiltInSlotTypesInput) GoString() string {
 17547  	return s.String()
 17548  }
 17549  
 17550  // Validate inspects the fields of the type to determine if they are valid.
 17551  func (s *ListBuiltInSlotTypesInput) Validate() error {
 17552  	invalidParams := request.ErrInvalidParams{Context: "ListBuiltInSlotTypesInput"}
 17553  	if s.LocaleId == nil {
 17554  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 17555  	}
 17556  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 17557  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 17558  	}
 17559  	if s.MaxResults != nil && *s.MaxResults < 20 {
 17560  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
 17561  	}
 17562  	if s.SortBy != nil {
 17563  		if err := s.SortBy.Validate(); err != nil {
 17564  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 17565  		}
 17566  	}
 17567  
 17568  	if invalidParams.Len() > 0 {
 17569  		return invalidParams
 17570  	}
 17571  	return nil
 17572  }
 17573  
 17574  // SetLocaleId sets the LocaleId field's value.
 17575  func (s *ListBuiltInSlotTypesInput) SetLocaleId(v string) *ListBuiltInSlotTypesInput {
 17576  	s.LocaleId = &v
 17577  	return s
 17578  }
 17579  
 17580  // SetMaxResults sets the MaxResults field's value.
 17581  func (s *ListBuiltInSlotTypesInput) SetMaxResults(v int64) *ListBuiltInSlotTypesInput {
 17582  	s.MaxResults = &v
 17583  	return s
 17584  }
 17585  
 17586  // SetNextToken sets the NextToken field's value.
 17587  func (s *ListBuiltInSlotTypesInput) SetNextToken(v string) *ListBuiltInSlotTypesInput {
 17588  	s.NextToken = &v
 17589  	return s
 17590  }
 17591  
 17592  // SetSortBy sets the SortBy field's value.
 17593  func (s *ListBuiltInSlotTypesInput) SetSortBy(v *BuiltInSlotTypeSortBy) *ListBuiltInSlotTypesInput {
 17594  	s.SortBy = v
 17595  	return s
 17596  }
 17597  
 17598  type ListBuiltInSlotTypesOutput struct {
 17599  	_ struct{} `type:"structure"`
 17600  
 17601  	// Summary information for the built-in slot types that meet the filter criteria
 17602  	// specified in the request. The length of the list is specified in the maxResults
 17603  	// parameter of the request. If there are more slot types available, the nextToken
 17604  	// field contains a token to get the next page of results.
 17605  	BuiltInSlotTypeSummaries []*BuiltInSlotTypeSummary `locationName:"builtInSlotTypeSummaries" type:"list"`
 17606  
 17607  	// The language and locale of the slot types in the list.
 17608  	LocaleId *string `locationName:"localeId" type:"string"`
 17609  
 17610  	// A token that indicates whether there are more results to return in a response
 17611  	// to the ListBuiltInSlotTypes operation. If the nextToken field is present,
 17612  	// you send the contents as the nextToken parameter of a LIstBuiltInSlotTypes
 17613  	// operation request to get the next page of results.
 17614  	NextToken *string `locationName:"nextToken" type:"string"`
 17615  }
 17616  
 17617  // String returns the string representation.
 17618  //
 17619  // API parameter values that are decorated as "sensitive" in the API will not
 17620  // be included in the string output. The member name will be present, but the
 17621  // value will be replaced with "sensitive".
 17622  func (s ListBuiltInSlotTypesOutput) String() string {
 17623  	return awsutil.Prettify(s)
 17624  }
 17625  
 17626  // GoString returns the string representation.
 17627  //
 17628  // API parameter values that are decorated as "sensitive" in the API will not
 17629  // be included in the string output. The member name will be present, but the
 17630  // value will be replaced with "sensitive".
 17631  func (s ListBuiltInSlotTypesOutput) GoString() string {
 17632  	return s.String()
 17633  }
 17634  
 17635  // SetBuiltInSlotTypeSummaries sets the BuiltInSlotTypeSummaries field's value.
 17636  func (s *ListBuiltInSlotTypesOutput) SetBuiltInSlotTypeSummaries(v []*BuiltInSlotTypeSummary) *ListBuiltInSlotTypesOutput {
 17637  	s.BuiltInSlotTypeSummaries = v
 17638  	return s
 17639  }
 17640  
 17641  // SetLocaleId sets the LocaleId field's value.
 17642  func (s *ListBuiltInSlotTypesOutput) SetLocaleId(v string) *ListBuiltInSlotTypesOutput {
 17643  	s.LocaleId = &v
 17644  	return s
 17645  }
 17646  
 17647  // SetNextToken sets the NextToken field's value.
 17648  func (s *ListBuiltInSlotTypesOutput) SetNextToken(v string) *ListBuiltInSlotTypesOutput {
 17649  	s.NextToken = &v
 17650  	return s
 17651  }
 17652  
 17653  type ListExportsInput struct {
 17654  	_ struct{} `type:"structure"`
 17655  
 17656  	// The unique identifier that Amazon Lex assigned to the bot.
 17657  	BotId *string `locationName:"botId" min:"10" type:"string"`
 17658  
 17659  	// The version of the bot to list exports for.
 17660  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 17661  
 17662  	// Provides the specification of a filter used to limit the exports in the response
 17663  	// to only those that match the filter specification. You can only specify one
 17664  	// filter and one string to filter on.
 17665  	Filters []*ExportFilter `locationName:"filters" min:"1" type:"list"`
 17666  
 17667  	// The maximum number of exports to return in each page of results. If there
 17668  	// are fewer results than the max page size, only the actual number of results
 17669  	// are returned.
 17670  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 17671  
 17672  	// If the response from the ListExports operation contains more results that
 17673  	// specified in the maxResults parameter, a token is returned in the response.
 17674  	// Use that token in the nextToken parameter to return the next page of results.
 17675  	NextToken *string `locationName:"nextToken" type:"string"`
 17676  
 17677  	// Determines the field that the list of exports is sorted by. You can sort
 17678  	// by the LastUpdatedDateTime field in ascending or descending order.
 17679  	SortBy *ExportSortBy `locationName:"sortBy" type:"structure"`
 17680  }
 17681  
 17682  // String returns the string representation.
 17683  //
 17684  // API parameter values that are decorated as "sensitive" in the API will not
 17685  // be included in the string output. The member name will be present, but the
 17686  // value will be replaced with "sensitive".
 17687  func (s ListExportsInput) String() string {
 17688  	return awsutil.Prettify(s)
 17689  }
 17690  
 17691  // GoString returns the string representation.
 17692  //
 17693  // API parameter values that are decorated as "sensitive" in the API will not
 17694  // be included in the string output. The member name will be present, but the
 17695  // value will be replaced with "sensitive".
 17696  func (s ListExportsInput) GoString() string {
 17697  	return s.String()
 17698  }
 17699  
 17700  // Validate inspects the fields of the type to determine if they are valid.
 17701  func (s *ListExportsInput) Validate() error {
 17702  	invalidParams := request.ErrInvalidParams{Context: "ListExportsInput"}
 17703  	if s.BotId != nil && len(*s.BotId) < 10 {
 17704  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 17705  	}
 17706  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 17707  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 17708  	}
 17709  	if s.Filters != nil && len(s.Filters) < 1 {
 17710  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 17711  	}
 17712  	if s.MaxResults != nil && *s.MaxResults < 1 {
 17713  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 17714  	}
 17715  	if s.Filters != nil {
 17716  		for i, v := range s.Filters {
 17717  			if v == nil {
 17718  				continue
 17719  			}
 17720  			if err := v.Validate(); err != nil {
 17721  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 17722  			}
 17723  		}
 17724  	}
 17725  	if s.SortBy != nil {
 17726  		if err := s.SortBy.Validate(); err != nil {
 17727  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 17728  		}
 17729  	}
 17730  
 17731  	if invalidParams.Len() > 0 {
 17732  		return invalidParams
 17733  	}
 17734  	return nil
 17735  }
 17736  
 17737  // SetBotId sets the BotId field's value.
 17738  func (s *ListExportsInput) SetBotId(v string) *ListExportsInput {
 17739  	s.BotId = &v
 17740  	return s
 17741  }
 17742  
 17743  // SetBotVersion sets the BotVersion field's value.
 17744  func (s *ListExportsInput) SetBotVersion(v string) *ListExportsInput {
 17745  	s.BotVersion = &v
 17746  	return s
 17747  }
 17748  
 17749  // SetFilters sets the Filters field's value.
 17750  func (s *ListExportsInput) SetFilters(v []*ExportFilter) *ListExportsInput {
 17751  	s.Filters = v
 17752  	return s
 17753  }
 17754  
 17755  // SetMaxResults sets the MaxResults field's value.
 17756  func (s *ListExportsInput) SetMaxResults(v int64) *ListExportsInput {
 17757  	s.MaxResults = &v
 17758  	return s
 17759  }
 17760  
 17761  // SetNextToken sets the NextToken field's value.
 17762  func (s *ListExportsInput) SetNextToken(v string) *ListExportsInput {
 17763  	s.NextToken = &v
 17764  	return s
 17765  }
 17766  
 17767  // SetSortBy sets the SortBy field's value.
 17768  func (s *ListExportsInput) SetSortBy(v *ExportSortBy) *ListExportsInput {
 17769  	s.SortBy = v
 17770  	return s
 17771  }
 17772  
 17773  type ListExportsOutput struct {
 17774  	_ struct{} `type:"structure"`
 17775  
 17776  	// The unique identifier assigned to the bot by Amazon Lex.
 17777  	BotId *string `locationName:"botId" min:"10" type:"string"`
 17778  
 17779  	// The version of the bot that was exported.
 17780  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 17781  
 17782  	// Summary information for the exports that meet the filter criteria specified
 17783  	// in the request. The length of the list is specified in the maxResults parameter.
 17784  	// If there are more exports available, the nextToken field contains a token
 17785  	// to get the next page of results.
 17786  	ExportSummaries []*ExportSummary `locationName:"exportSummaries" type:"list"`
 17787  
 17788  	// A token that indicates whether there are more results to return in a response
 17789  	// to the ListExports operation. If the nextToken field is present, you send
 17790  	// the contents as the nextToken parameter of a ListExports operation request
 17791  	// to get the next page of results.
 17792  	NextToken *string `locationName:"nextToken" type:"string"`
 17793  }
 17794  
 17795  // String returns the string representation.
 17796  //
 17797  // API parameter values that are decorated as "sensitive" in the API will not
 17798  // be included in the string output. The member name will be present, but the
 17799  // value will be replaced with "sensitive".
 17800  func (s ListExportsOutput) String() string {
 17801  	return awsutil.Prettify(s)
 17802  }
 17803  
 17804  // GoString returns the string representation.
 17805  //
 17806  // API parameter values that are decorated as "sensitive" in the API will not
 17807  // be included in the string output. The member name will be present, but the
 17808  // value will be replaced with "sensitive".
 17809  func (s ListExportsOutput) GoString() string {
 17810  	return s.String()
 17811  }
 17812  
 17813  // SetBotId sets the BotId field's value.
 17814  func (s *ListExportsOutput) SetBotId(v string) *ListExportsOutput {
 17815  	s.BotId = &v
 17816  	return s
 17817  }
 17818  
 17819  // SetBotVersion sets the BotVersion field's value.
 17820  func (s *ListExportsOutput) SetBotVersion(v string) *ListExportsOutput {
 17821  	s.BotVersion = &v
 17822  	return s
 17823  }
 17824  
 17825  // SetExportSummaries sets the ExportSummaries field's value.
 17826  func (s *ListExportsOutput) SetExportSummaries(v []*ExportSummary) *ListExportsOutput {
 17827  	s.ExportSummaries = v
 17828  	return s
 17829  }
 17830  
 17831  // SetNextToken sets the NextToken field's value.
 17832  func (s *ListExportsOutput) SetNextToken(v string) *ListExportsOutput {
 17833  	s.NextToken = &v
 17834  	return s
 17835  }
 17836  
 17837  type ListImportsInput struct {
 17838  	_ struct{} `type:"structure"`
 17839  
 17840  	// The unique identifier that Amazon Lex assigned to the bot.
 17841  	BotId *string `locationName:"botId" min:"10" type:"string"`
 17842  
 17843  	// The version of the bot to list imports for.
 17844  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 17845  
 17846  	// Provides the specification of a filter used to limit the bots in the response
 17847  	// to only those that match the filter specification. You can only specify one
 17848  	// filter and one string to filter on.
 17849  	Filters []*ImportFilter `locationName:"filters" min:"1" type:"list"`
 17850  
 17851  	// The maximum number of imports to return in each page of results. If there
 17852  	// are fewer results than the max page size, only the actual number of results
 17853  	// are returned.
 17854  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 17855  
 17856  	// If the response from the ListImports operation contains more results than
 17857  	// specified in the maxResults parameter, a token is returned in the response.
 17858  	// Use that token in the nextToken parameter to return the next page of results.
 17859  	NextToken *string `locationName:"nextToken" type:"string"`
 17860  
 17861  	// Determines the field that the list of imports is sorted by. You can sort
 17862  	// by the LastUpdatedDateTime field in ascending or descending order.
 17863  	SortBy *ImportSortBy `locationName:"sortBy" type:"structure"`
 17864  }
 17865  
 17866  // String returns the string representation.
 17867  //
 17868  // API parameter values that are decorated as "sensitive" in the API will not
 17869  // be included in the string output. The member name will be present, but the
 17870  // value will be replaced with "sensitive".
 17871  func (s ListImportsInput) String() string {
 17872  	return awsutil.Prettify(s)
 17873  }
 17874  
 17875  // GoString returns the string representation.
 17876  //
 17877  // API parameter values that are decorated as "sensitive" in the API will not
 17878  // be included in the string output. The member name will be present, but the
 17879  // value will be replaced with "sensitive".
 17880  func (s ListImportsInput) GoString() string {
 17881  	return s.String()
 17882  }
 17883  
 17884  // Validate inspects the fields of the type to determine if they are valid.
 17885  func (s *ListImportsInput) Validate() error {
 17886  	invalidParams := request.ErrInvalidParams{Context: "ListImportsInput"}
 17887  	if s.BotId != nil && len(*s.BotId) < 10 {
 17888  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 17889  	}
 17890  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 17891  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 17892  	}
 17893  	if s.Filters != nil && len(s.Filters) < 1 {
 17894  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 17895  	}
 17896  	if s.MaxResults != nil && *s.MaxResults < 1 {
 17897  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 17898  	}
 17899  	if s.Filters != nil {
 17900  		for i, v := range s.Filters {
 17901  			if v == nil {
 17902  				continue
 17903  			}
 17904  			if err := v.Validate(); err != nil {
 17905  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 17906  			}
 17907  		}
 17908  	}
 17909  	if s.SortBy != nil {
 17910  		if err := s.SortBy.Validate(); err != nil {
 17911  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 17912  		}
 17913  	}
 17914  
 17915  	if invalidParams.Len() > 0 {
 17916  		return invalidParams
 17917  	}
 17918  	return nil
 17919  }
 17920  
 17921  // SetBotId sets the BotId field's value.
 17922  func (s *ListImportsInput) SetBotId(v string) *ListImportsInput {
 17923  	s.BotId = &v
 17924  	return s
 17925  }
 17926  
 17927  // SetBotVersion sets the BotVersion field's value.
 17928  func (s *ListImportsInput) SetBotVersion(v string) *ListImportsInput {
 17929  	s.BotVersion = &v
 17930  	return s
 17931  }
 17932  
 17933  // SetFilters sets the Filters field's value.
 17934  func (s *ListImportsInput) SetFilters(v []*ImportFilter) *ListImportsInput {
 17935  	s.Filters = v
 17936  	return s
 17937  }
 17938  
 17939  // SetMaxResults sets the MaxResults field's value.
 17940  func (s *ListImportsInput) SetMaxResults(v int64) *ListImportsInput {
 17941  	s.MaxResults = &v
 17942  	return s
 17943  }
 17944  
 17945  // SetNextToken sets the NextToken field's value.
 17946  func (s *ListImportsInput) SetNextToken(v string) *ListImportsInput {
 17947  	s.NextToken = &v
 17948  	return s
 17949  }
 17950  
 17951  // SetSortBy sets the SortBy field's value.
 17952  func (s *ListImportsInput) SetSortBy(v *ImportSortBy) *ListImportsInput {
 17953  	s.SortBy = v
 17954  	return s
 17955  }
 17956  
 17957  type ListImportsOutput struct {
 17958  	_ struct{} `type:"structure"`
 17959  
 17960  	// The unique identifier assigned by Amazon Lex to the bot.
 17961  	BotId *string `locationName:"botId" min:"10" type:"string"`
 17962  
 17963  	// The version of the bot that was imported. It will always be DRAFT.
 17964  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 17965  
 17966  	// Summary information for the imports that meet the filter criteria specified
 17967  	// in the request. The length of the list is specified in the maxResults parameter.
 17968  	// If there are more imports available, the nextToken field contains a token
 17969  	// to get the next page of results.
 17970  	ImportSummaries []*ImportSummary `locationName:"importSummaries" type:"list"`
 17971  
 17972  	// A token that indicates whether there are more results to return in a response
 17973  	// to the ListImports operation. If the nextToken field is present, you send
 17974  	// the contents as the nextToken parameter of a ListImports operation request
 17975  	// to get the next page of results.
 17976  	NextToken *string `locationName:"nextToken" type:"string"`
 17977  }
 17978  
 17979  // String returns the string representation.
 17980  //
 17981  // API parameter values that are decorated as "sensitive" in the API will not
 17982  // be included in the string output. The member name will be present, but the
 17983  // value will be replaced with "sensitive".
 17984  func (s ListImportsOutput) String() string {
 17985  	return awsutil.Prettify(s)
 17986  }
 17987  
 17988  // GoString returns the string representation.
 17989  //
 17990  // API parameter values that are decorated as "sensitive" in the API will not
 17991  // be included in the string output. The member name will be present, but the
 17992  // value will be replaced with "sensitive".
 17993  func (s ListImportsOutput) GoString() string {
 17994  	return s.String()
 17995  }
 17996  
 17997  // SetBotId sets the BotId field's value.
 17998  func (s *ListImportsOutput) SetBotId(v string) *ListImportsOutput {
 17999  	s.BotId = &v
 18000  	return s
 18001  }
 18002  
 18003  // SetBotVersion sets the BotVersion field's value.
 18004  func (s *ListImportsOutput) SetBotVersion(v string) *ListImportsOutput {
 18005  	s.BotVersion = &v
 18006  	return s
 18007  }
 18008  
 18009  // SetImportSummaries sets the ImportSummaries field's value.
 18010  func (s *ListImportsOutput) SetImportSummaries(v []*ImportSummary) *ListImportsOutput {
 18011  	s.ImportSummaries = v
 18012  	return s
 18013  }
 18014  
 18015  // SetNextToken sets the NextToken field's value.
 18016  func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput {
 18017  	s.NextToken = &v
 18018  	return s
 18019  }
 18020  
 18021  type ListIntentsInput struct {
 18022  	_ struct{} `type:"structure"`
 18023  
 18024  	// The unique identifier of the bot that contains the intent.
 18025  	//
 18026  	// BotId is a required field
 18027  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 18028  
 18029  	// The version of the bot that contains the intent.
 18030  	//
 18031  	// BotVersion is a required field
 18032  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 18033  
 18034  	// Provides the specification of a filter used to limit the intents in the response
 18035  	// to only those that match the filter specification. You can only specify one
 18036  	// filter and only one string to filter on.
 18037  	Filters []*IntentFilter `locationName:"filters" min:"1" type:"list"`
 18038  
 18039  	// The identifier of the language and locale of the intents to list. The string
 18040  	// must match one of the supported locales. For more information, see Supported
 18041  	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 18042  	//
 18043  	// LocaleId is a required field
 18044  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 18045  
 18046  	// The maximum number of intents to return in each page of results. If there
 18047  	// are fewer results than the max page size, only the actual number of results
 18048  	// are returned.
 18049  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 18050  
 18051  	// If the response from the ListIntents operation contains more results than
 18052  	// specified in the maxResults parameter, a token is returned in the response.
 18053  	// Use that token in the nextToken parameter to return the next page of results.
 18054  	NextToken *string `locationName:"nextToken" type:"string"`
 18055  
 18056  	// Determines the sort order for the response from the ListIntents operation.
 18057  	// You can choose to sort by the intent name or last updated date in either
 18058  	// ascending or descending order.
 18059  	SortBy *IntentSortBy `locationName:"sortBy" type:"structure"`
 18060  }
 18061  
 18062  // String returns the string representation.
 18063  //
 18064  // API parameter values that are decorated as "sensitive" in the API will not
 18065  // be included in the string output. The member name will be present, but the
 18066  // value will be replaced with "sensitive".
 18067  func (s ListIntentsInput) String() string {
 18068  	return awsutil.Prettify(s)
 18069  }
 18070  
 18071  // GoString returns the string representation.
 18072  //
 18073  // API parameter values that are decorated as "sensitive" in the API will not
 18074  // be included in the string output. The member name will be present, but the
 18075  // value will be replaced with "sensitive".
 18076  func (s ListIntentsInput) GoString() string {
 18077  	return s.String()
 18078  }
 18079  
 18080  // Validate inspects the fields of the type to determine if they are valid.
 18081  func (s *ListIntentsInput) Validate() error {
 18082  	invalidParams := request.ErrInvalidParams{Context: "ListIntentsInput"}
 18083  	if s.BotId == nil {
 18084  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 18085  	}
 18086  	if s.BotId != nil && len(*s.BotId) < 10 {
 18087  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 18088  	}
 18089  	if s.BotVersion == nil {
 18090  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 18091  	}
 18092  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 18093  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 18094  	}
 18095  	if s.Filters != nil && len(s.Filters) < 1 {
 18096  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 18097  	}
 18098  	if s.LocaleId == nil {
 18099  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 18100  	}
 18101  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 18102  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 18103  	}
 18104  	if s.MaxResults != nil && *s.MaxResults < 1 {
 18105  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 18106  	}
 18107  	if s.Filters != nil {
 18108  		for i, v := range s.Filters {
 18109  			if v == nil {
 18110  				continue
 18111  			}
 18112  			if err := v.Validate(); err != nil {
 18113  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 18114  			}
 18115  		}
 18116  	}
 18117  	if s.SortBy != nil {
 18118  		if err := s.SortBy.Validate(); err != nil {
 18119  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 18120  		}
 18121  	}
 18122  
 18123  	if invalidParams.Len() > 0 {
 18124  		return invalidParams
 18125  	}
 18126  	return nil
 18127  }
 18128  
 18129  // SetBotId sets the BotId field's value.
 18130  func (s *ListIntentsInput) SetBotId(v string) *ListIntentsInput {
 18131  	s.BotId = &v
 18132  	return s
 18133  }
 18134  
 18135  // SetBotVersion sets the BotVersion field's value.
 18136  func (s *ListIntentsInput) SetBotVersion(v string) *ListIntentsInput {
 18137  	s.BotVersion = &v
 18138  	return s
 18139  }
 18140  
 18141  // SetFilters sets the Filters field's value.
 18142  func (s *ListIntentsInput) SetFilters(v []*IntentFilter) *ListIntentsInput {
 18143  	s.Filters = v
 18144  	return s
 18145  }
 18146  
 18147  // SetLocaleId sets the LocaleId field's value.
 18148  func (s *ListIntentsInput) SetLocaleId(v string) *ListIntentsInput {
 18149  	s.LocaleId = &v
 18150  	return s
 18151  }
 18152  
 18153  // SetMaxResults sets the MaxResults field's value.
 18154  func (s *ListIntentsInput) SetMaxResults(v int64) *ListIntentsInput {
 18155  	s.MaxResults = &v
 18156  	return s
 18157  }
 18158  
 18159  // SetNextToken sets the NextToken field's value.
 18160  func (s *ListIntentsInput) SetNextToken(v string) *ListIntentsInput {
 18161  	s.NextToken = &v
 18162  	return s
 18163  }
 18164  
 18165  // SetSortBy sets the SortBy field's value.
 18166  func (s *ListIntentsInput) SetSortBy(v *IntentSortBy) *ListIntentsInput {
 18167  	s.SortBy = v
 18168  	return s
 18169  }
 18170  
 18171  type ListIntentsOutput struct {
 18172  	_ struct{} `type:"structure"`
 18173  
 18174  	// The identifier of the bot that contains the intent.
 18175  	BotId *string `locationName:"botId" min:"10" type:"string"`
 18176  
 18177  	// The version of the bot that contains the intent.
 18178  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 18179  
 18180  	// Summary information for the intents that meet the filter criteria specified
 18181  	// in the request. The length of the list is specified in the maxResults parameter
 18182  	// of the request. If there are more intents available, the nextToken field
 18183  	// contains a token to get the next page of results.
 18184  	IntentSummaries []*IntentSummary `locationName:"intentSummaries" type:"list"`
 18185  
 18186  	// The language and locale of the intents in the list.
 18187  	LocaleId *string `locationName:"localeId" type:"string"`
 18188  
 18189  	// A token that indicates whether there are more results to return in a response
 18190  	// to the ListIntents operation. If the nextToken field is present, you send
 18191  	// the contents as the nextToken parameter of a ListIntents operation request
 18192  	// to get the next page of results.
 18193  	NextToken *string `locationName:"nextToken" type:"string"`
 18194  }
 18195  
 18196  // String returns the string representation.
 18197  //
 18198  // API parameter values that are decorated as "sensitive" in the API will not
 18199  // be included in the string output. The member name will be present, but the
 18200  // value will be replaced with "sensitive".
 18201  func (s ListIntentsOutput) String() string {
 18202  	return awsutil.Prettify(s)
 18203  }
 18204  
 18205  // GoString 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 ListIntentsOutput) GoString() string {
 18211  	return s.String()
 18212  }
 18213  
 18214  // SetBotId sets the BotId field's value.
 18215  func (s *ListIntentsOutput) SetBotId(v string) *ListIntentsOutput {
 18216  	s.BotId = &v
 18217  	return s
 18218  }
 18219  
 18220  // SetBotVersion sets the BotVersion field's value.
 18221  func (s *ListIntentsOutput) SetBotVersion(v string) *ListIntentsOutput {
 18222  	s.BotVersion = &v
 18223  	return s
 18224  }
 18225  
 18226  // SetIntentSummaries sets the IntentSummaries field's value.
 18227  func (s *ListIntentsOutput) SetIntentSummaries(v []*IntentSummary) *ListIntentsOutput {
 18228  	s.IntentSummaries = v
 18229  	return s
 18230  }
 18231  
 18232  // SetLocaleId sets the LocaleId field's value.
 18233  func (s *ListIntentsOutput) SetLocaleId(v string) *ListIntentsOutput {
 18234  	s.LocaleId = &v
 18235  	return s
 18236  }
 18237  
 18238  // SetNextToken sets the NextToken field's value.
 18239  func (s *ListIntentsOutput) SetNextToken(v string) *ListIntentsOutput {
 18240  	s.NextToken = &v
 18241  	return s
 18242  }
 18243  
 18244  type ListSlotTypesInput struct {
 18245  	_ struct{} `type:"structure"`
 18246  
 18247  	// The unique identifier of the bot that contains the slot types.
 18248  	//
 18249  	// BotId is a required field
 18250  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 18251  
 18252  	// The version of the bot that contains the slot type.
 18253  	//
 18254  	// BotVersion is a required field
 18255  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 18256  
 18257  	// Provides the specification of a filter used to limit the slot types in the
 18258  	// response to only those that match the filter specification. You can only
 18259  	// specify one filter and only one string to filter on.
 18260  	Filters []*SlotTypeFilter `locationName:"filters" min:"1" type:"list"`
 18261  
 18262  	// The identifier of the language and locale of the slot types to list. The
 18263  	// string must match one of the supported locales. For more information, see
 18264  	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 18265  	//
 18266  	// LocaleId is a required field
 18267  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 18268  
 18269  	// The maximum number of slot types to return in each page of results. If there
 18270  	// are fewer results than the max page size, only the actual number of results
 18271  	// are returned.
 18272  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 18273  
 18274  	// If the response from the ListSlotTypes operation contains more results than
 18275  	// specified in the maxResults parameter, a token is returned in the response.
 18276  	// Use that token in the nextToken parameter to return the next page of results.
 18277  	NextToken *string `locationName:"nextToken" type:"string"`
 18278  
 18279  	// Determines the sort order for the response from the ListSlotTypes operation.
 18280  	// You can choose to sort by the slot type name or last updated date in either
 18281  	// ascending or descending order.
 18282  	SortBy *SlotTypeSortBy `locationName:"sortBy" type:"structure"`
 18283  }
 18284  
 18285  // String returns the string representation.
 18286  //
 18287  // API parameter values that are decorated as "sensitive" in the API will not
 18288  // be included in the string output. The member name will be present, but the
 18289  // value will be replaced with "sensitive".
 18290  func (s ListSlotTypesInput) String() string {
 18291  	return awsutil.Prettify(s)
 18292  }
 18293  
 18294  // GoString returns the string representation.
 18295  //
 18296  // API parameter values that are decorated as "sensitive" in the API will not
 18297  // be included in the string output. The member name will be present, but the
 18298  // value will be replaced with "sensitive".
 18299  func (s ListSlotTypesInput) GoString() string {
 18300  	return s.String()
 18301  }
 18302  
 18303  // Validate inspects the fields of the type to determine if they are valid.
 18304  func (s *ListSlotTypesInput) Validate() error {
 18305  	invalidParams := request.ErrInvalidParams{Context: "ListSlotTypesInput"}
 18306  	if s.BotId == nil {
 18307  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 18308  	}
 18309  	if s.BotId != nil && len(*s.BotId) < 10 {
 18310  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 18311  	}
 18312  	if s.BotVersion == nil {
 18313  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 18314  	}
 18315  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 18316  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 18317  	}
 18318  	if s.Filters != nil && len(s.Filters) < 1 {
 18319  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 18320  	}
 18321  	if s.LocaleId == nil {
 18322  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 18323  	}
 18324  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 18325  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 18326  	}
 18327  	if s.MaxResults != nil && *s.MaxResults < 1 {
 18328  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 18329  	}
 18330  	if s.Filters != nil {
 18331  		for i, v := range s.Filters {
 18332  			if v == nil {
 18333  				continue
 18334  			}
 18335  			if err := v.Validate(); err != nil {
 18336  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 18337  			}
 18338  		}
 18339  	}
 18340  	if s.SortBy != nil {
 18341  		if err := s.SortBy.Validate(); err != nil {
 18342  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 18343  		}
 18344  	}
 18345  
 18346  	if invalidParams.Len() > 0 {
 18347  		return invalidParams
 18348  	}
 18349  	return nil
 18350  }
 18351  
 18352  // SetBotId sets the BotId field's value.
 18353  func (s *ListSlotTypesInput) SetBotId(v string) *ListSlotTypesInput {
 18354  	s.BotId = &v
 18355  	return s
 18356  }
 18357  
 18358  // SetBotVersion sets the BotVersion field's value.
 18359  func (s *ListSlotTypesInput) SetBotVersion(v string) *ListSlotTypesInput {
 18360  	s.BotVersion = &v
 18361  	return s
 18362  }
 18363  
 18364  // SetFilters sets the Filters field's value.
 18365  func (s *ListSlotTypesInput) SetFilters(v []*SlotTypeFilter) *ListSlotTypesInput {
 18366  	s.Filters = v
 18367  	return s
 18368  }
 18369  
 18370  // SetLocaleId sets the LocaleId field's value.
 18371  func (s *ListSlotTypesInput) SetLocaleId(v string) *ListSlotTypesInput {
 18372  	s.LocaleId = &v
 18373  	return s
 18374  }
 18375  
 18376  // SetMaxResults sets the MaxResults field's value.
 18377  func (s *ListSlotTypesInput) SetMaxResults(v int64) *ListSlotTypesInput {
 18378  	s.MaxResults = &v
 18379  	return s
 18380  }
 18381  
 18382  // SetNextToken sets the NextToken field's value.
 18383  func (s *ListSlotTypesInput) SetNextToken(v string) *ListSlotTypesInput {
 18384  	s.NextToken = &v
 18385  	return s
 18386  }
 18387  
 18388  // SetSortBy sets the SortBy field's value.
 18389  func (s *ListSlotTypesInput) SetSortBy(v *SlotTypeSortBy) *ListSlotTypesInput {
 18390  	s.SortBy = v
 18391  	return s
 18392  }
 18393  
 18394  type ListSlotTypesOutput struct {
 18395  	_ struct{} `type:"structure"`
 18396  
 18397  	// The identifier of the bot that contains the slot types.
 18398  	BotId *string `locationName:"botId" min:"10" type:"string"`
 18399  
 18400  	// The version of the bot that contains the slot types.
 18401  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 18402  
 18403  	// The language and local of the slot types in the list.
 18404  	LocaleId *string `locationName:"localeId" type:"string"`
 18405  
 18406  	// A token that indicates whether there are more results to return in a response
 18407  	// to the ListSlotTypes operation. If the nextToken field is present, you send
 18408  	// the contents as the nextToken parameter of a ListSlotTypes operation request
 18409  	// to get the next page of results.
 18410  	NextToken *string `locationName:"nextToken" type:"string"`
 18411  
 18412  	// Summary information for the slot types that meet the filter criteria specified
 18413  	// in the request. The length of the list is specified in the maxResults parameter
 18414  	// of the request. If there are more slot types available, the nextToken field
 18415  	// contains a token to get the next page of results.
 18416  	SlotTypeSummaries []*SlotTypeSummary `locationName:"slotTypeSummaries" type:"list"`
 18417  }
 18418  
 18419  // String returns the string representation.
 18420  //
 18421  // API parameter values that are decorated as "sensitive" in the API will not
 18422  // be included in the string output. The member name will be present, but the
 18423  // value will be replaced with "sensitive".
 18424  func (s ListSlotTypesOutput) String() string {
 18425  	return awsutil.Prettify(s)
 18426  }
 18427  
 18428  // GoString returns the string representation.
 18429  //
 18430  // API parameter values that are decorated as "sensitive" in the API will not
 18431  // be included in the string output. The member name will be present, but the
 18432  // value will be replaced with "sensitive".
 18433  func (s ListSlotTypesOutput) GoString() string {
 18434  	return s.String()
 18435  }
 18436  
 18437  // SetBotId sets the BotId field's value.
 18438  func (s *ListSlotTypesOutput) SetBotId(v string) *ListSlotTypesOutput {
 18439  	s.BotId = &v
 18440  	return s
 18441  }
 18442  
 18443  // SetBotVersion sets the BotVersion field's value.
 18444  func (s *ListSlotTypesOutput) SetBotVersion(v string) *ListSlotTypesOutput {
 18445  	s.BotVersion = &v
 18446  	return s
 18447  }
 18448  
 18449  // SetLocaleId sets the LocaleId field's value.
 18450  func (s *ListSlotTypesOutput) SetLocaleId(v string) *ListSlotTypesOutput {
 18451  	s.LocaleId = &v
 18452  	return s
 18453  }
 18454  
 18455  // SetNextToken sets the NextToken field's value.
 18456  func (s *ListSlotTypesOutput) SetNextToken(v string) *ListSlotTypesOutput {
 18457  	s.NextToken = &v
 18458  	return s
 18459  }
 18460  
 18461  // SetSlotTypeSummaries sets the SlotTypeSummaries field's value.
 18462  func (s *ListSlotTypesOutput) SetSlotTypeSummaries(v []*SlotTypeSummary) *ListSlotTypesOutput {
 18463  	s.SlotTypeSummaries = v
 18464  	return s
 18465  }
 18466  
 18467  type ListSlotsInput struct {
 18468  	_ struct{} `type:"structure"`
 18469  
 18470  	// The identifier of the bot that contains the slot.
 18471  	//
 18472  	// BotId is a required field
 18473  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 18474  
 18475  	// The version of the bot that contains the slot.
 18476  	//
 18477  	// BotVersion is a required field
 18478  	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
 18479  
 18480  	// Provides the specification of a filter used to limit the slots in the response
 18481  	// to only those that match the filter specification. You can only specify one
 18482  	// filter and only one string to filter on.
 18483  	Filters []*SlotFilter `locationName:"filters" min:"1" type:"list"`
 18484  
 18485  	// The unique identifier of the intent that contains the slot.
 18486  	//
 18487  	// IntentId is a required field
 18488  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 18489  
 18490  	// The identifier of the language and locale of the slots to list. The string
 18491  	// must match one of the supported locales. For more information, see Supported
 18492  	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 18493  	//
 18494  	// LocaleId is a required field
 18495  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 18496  
 18497  	// The maximum number of slots to return in each page of results. If there are
 18498  	// fewer results than the max page size, only the actual number of results are
 18499  	// returned.
 18500  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 18501  
 18502  	// If the response from the ListSlots operation contains more results than specified
 18503  	// in the maxResults parameter, a token is returned in the response. Use that
 18504  	// token in the nextToken parameter to return the next page of results.
 18505  	NextToken *string `locationName:"nextToken" type:"string"`
 18506  
 18507  	// Determines the sort order for the response from the ListSlots operation.
 18508  	// You can choose to sort by the slot name or last updated date in either ascending
 18509  	// or descending order.
 18510  	SortBy *SlotSortBy `locationName:"sortBy" type:"structure"`
 18511  }
 18512  
 18513  // String returns the string representation.
 18514  //
 18515  // API parameter values that are decorated as "sensitive" in the API will not
 18516  // be included in the string output. The member name will be present, but the
 18517  // value will be replaced with "sensitive".
 18518  func (s ListSlotsInput) String() string {
 18519  	return awsutil.Prettify(s)
 18520  }
 18521  
 18522  // GoString returns the string representation.
 18523  //
 18524  // API parameter values that are decorated as "sensitive" in the API will not
 18525  // be included in the string output. The member name will be present, but the
 18526  // value will be replaced with "sensitive".
 18527  func (s ListSlotsInput) GoString() string {
 18528  	return s.String()
 18529  }
 18530  
 18531  // Validate inspects the fields of the type to determine if they are valid.
 18532  func (s *ListSlotsInput) Validate() error {
 18533  	invalidParams := request.ErrInvalidParams{Context: "ListSlotsInput"}
 18534  	if s.BotId == nil {
 18535  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 18536  	}
 18537  	if s.BotId != nil && len(*s.BotId) < 10 {
 18538  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 18539  	}
 18540  	if s.BotVersion == nil {
 18541  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 18542  	}
 18543  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 18544  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 18545  	}
 18546  	if s.Filters != nil && len(s.Filters) < 1 {
 18547  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 18548  	}
 18549  	if s.IntentId == nil {
 18550  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 18551  	}
 18552  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 18553  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 18554  	}
 18555  	if s.LocaleId == nil {
 18556  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 18557  	}
 18558  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 18559  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 18560  	}
 18561  	if s.MaxResults != nil && *s.MaxResults < 1 {
 18562  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 18563  	}
 18564  	if s.Filters != nil {
 18565  		for i, v := range s.Filters {
 18566  			if v == nil {
 18567  				continue
 18568  			}
 18569  			if err := v.Validate(); err != nil {
 18570  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 18571  			}
 18572  		}
 18573  	}
 18574  	if s.SortBy != nil {
 18575  		if err := s.SortBy.Validate(); err != nil {
 18576  			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
 18577  		}
 18578  	}
 18579  
 18580  	if invalidParams.Len() > 0 {
 18581  		return invalidParams
 18582  	}
 18583  	return nil
 18584  }
 18585  
 18586  // SetBotId sets the BotId field's value.
 18587  func (s *ListSlotsInput) SetBotId(v string) *ListSlotsInput {
 18588  	s.BotId = &v
 18589  	return s
 18590  }
 18591  
 18592  // SetBotVersion sets the BotVersion field's value.
 18593  func (s *ListSlotsInput) SetBotVersion(v string) *ListSlotsInput {
 18594  	s.BotVersion = &v
 18595  	return s
 18596  }
 18597  
 18598  // SetFilters sets the Filters field's value.
 18599  func (s *ListSlotsInput) SetFilters(v []*SlotFilter) *ListSlotsInput {
 18600  	s.Filters = v
 18601  	return s
 18602  }
 18603  
 18604  // SetIntentId sets the IntentId field's value.
 18605  func (s *ListSlotsInput) SetIntentId(v string) *ListSlotsInput {
 18606  	s.IntentId = &v
 18607  	return s
 18608  }
 18609  
 18610  // SetLocaleId sets the LocaleId field's value.
 18611  func (s *ListSlotsInput) SetLocaleId(v string) *ListSlotsInput {
 18612  	s.LocaleId = &v
 18613  	return s
 18614  }
 18615  
 18616  // SetMaxResults sets the MaxResults field's value.
 18617  func (s *ListSlotsInput) SetMaxResults(v int64) *ListSlotsInput {
 18618  	s.MaxResults = &v
 18619  	return s
 18620  }
 18621  
 18622  // SetNextToken sets the NextToken field's value.
 18623  func (s *ListSlotsInput) SetNextToken(v string) *ListSlotsInput {
 18624  	s.NextToken = &v
 18625  	return s
 18626  }
 18627  
 18628  // SetSortBy sets the SortBy field's value.
 18629  func (s *ListSlotsInput) SetSortBy(v *SlotSortBy) *ListSlotsInput {
 18630  	s.SortBy = v
 18631  	return s
 18632  }
 18633  
 18634  type ListSlotsOutput struct {
 18635  	_ struct{} `type:"structure"`
 18636  
 18637  	// The identifier of the bot that contains the slots.
 18638  	BotId *string `locationName:"botId" min:"10" type:"string"`
 18639  
 18640  	// The version of the bot that contains the slots.
 18641  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 18642  
 18643  	// The identifier of the intent that contains the slots.
 18644  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 18645  
 18646  	// The language and locale of the slots in the list.
 18647  	LocaleId *string `locationName:"localeId" type:"string"`
 18648  
 18649  	// A token that indicates whether there are more results to return in a response
 18650  	// to the ListSlots operation. If the nextToken field is present, you send the
 18651  	// contents as the nextToken parameter of a ListSlots operation request to get
 18652  	// the next page of results.
 18653  	NextToken *string `locationName:"nextToken" type:"string"`
 18654  
 18655  	// Summary information for the slots that meet the filter criteria specified
 18656  	// in the request. The length of the list is specified in the maxResults parameter
 18657  	// of the request. If there are more slots available, the nextToken field contains
 18658  	// a token to get the next page of results.
 18659  	SlotSummaries []*SlotSummary `locationName:"slotSummaries" type:"list"`
 18660  }
 18661  
 18662  // String returns the string representation.
 18663  //
 18664  // API parameter values that are decorated as "sensitive" in the API will not
 18665  // be included in the string output. The member name will be present, but the
 18666  // value will be replaced with "sensitive".
 18667  func (s ListSlotsOutput) String() string {
 18668  	return awsutil.Prettify(s)
 18669  }
 18670  
 18671  // GoString returns the string representation.
 18672  //
 18673  // API parameter values that are decorated as "sensitive" in the API will not
 18674  // be included in the string output. The member name will be present, but the
 18675  // value will be replaced with "sensitive".
 18676  func (s ListSlotsOutput) GoString() string {
 18677  	return s.String()
 18678  }
 18679  
 18680  // SetBotId sets the BotId field's value.
 18681  func (s *ListSlotsOutput) SetBotId(v string) *ListSlotsOutput {
 18682  	s.BotId = &v
 18683  	return s
 18684  }
 18685  
 18686  // SetBotVersion sets the BotVersion field's value.
 18687  func (s *ListSlotsOutput) SetBotVersion(v string) *ListSlotsOutput {
 18688  	s.BotVersion = &v
 18689  	return s
 18690  }
 18691  
 18692  // SetIntentId sets the IntentId field's value.
 18693  func (s *ListSlotsOutput) SetIntentId(v string) *ListSlotsOutput {
 18694  	s.IntentId = &v
 18695  	return s
 18696  }
 18697  
 18698  // SetLocaleId sets the LocaleId field's value.
 18699  func (s *ListSlotsOutput) SetLocaleId(v string) *ListSlotsOutput {
 18700  	s.LocaleId = &v
 18701  	return s
 18702  }
 18703  
 18704  // SetNextToken sets the NextToken field's value.
 18705  func (s *ListSlotsOutput) SetNextToken(v string) *ListSlotsOutput {
 18706  	s.NextToken = &v
 18707  	return s
 18708  }
 18709  
 18710  // SetSlotSummaries sets the SlotSummaries field's value.
 18711  func (s *ListSlotsOutput) SetSlotSummaries(v []*SlotSummary) *ListSlotsOutput {
 18712  	s.SlotSummaries = v
 18713  	return s
 18714  }
 18715  
 18716  type ListTagsForResourceInput struct {
 18717  	_ struct{} `type:"structure" nopayload:"true"`
 18718  
 18719  	// The Amazon Resource Name (ARN) of the resource to get a list of tags for.
 18720  	//
 18721  	// ResourceARN is a required field
 18722  	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
 18723  }
 18724  
 18725  // String returns the string representation.
 18726  //
 18727  // API parameter values that are decorated as "sensitive" in the API will not
 18728  // be included in the string output. The member name will be present, but the
 18729  // value will be replaced with "sensitive".
 18730  func (s ListTagsForResourceInput) String() string {
 18731  	return awsutil.Prettify(s)
 18732  }
 18733  
 18734  // GoString returns the string representation.
 18735  //
 18736  // API parameter values that are decorated as "sensitive" in the API will not
 18737  // be included in the string output. The member name will be present, but the
 18738  // value will be replaced with "sensitive".
 18739  func (s ListTagsForResourceInput) GoString() string {
 18740  	return s.String()
 18741  }
 18742  
 18743  // Validate inspects the fields of the type to determine if they are valid.
 18744  func (s *ListTagsForResourceInput) Validate() error {
 18745  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 18746  	if s.ResourceARN == nil {
 18747  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 18748  	}
 18749  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 18750  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 18751  	}
 18752  
 18753  	if invalidParams.Len() > 0 {
 18754  		return invalidParams
 18755  	}
 18756  	return nil
 18757  }
 18758  
 18759  // SetResourceARN sets the ResourceARN field's value.
 18760  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
 18761  	s.ResourceARN = &v
 18762  	return s
 18763  }
 18764  
 18765  type ListTagsForResourceOutput struct {
 18766  	_ struct{} `type:"structure"`
 18767  
 18768  	// The tags associated with a resource.
 18769  	Tags map[string]*string `locationName:"tags" type:"map"`
 18770  }
 18771  
 18772  // String returns the string representation.
 18773  //
 18774  // API parameter values that are decorated as "sensitive" in the API will not
 18775  // be included in the string output. The member name will be present, but the
 18776  // value will be replaced with "sensitive".
 18777  func (s ListTagsForResourceOutput) String() string {
 18778  	return awsutil.Prettify(s)
 18779  }
 18780  
 18781  // GoString returns the string representation.
 18782  //
 18783  // API parameter values that are decorated as "sensitive" in the API will not
 18784  // be included in the string output. The member name will be present, but the
 18785  // value will be replaced with "sensitive".
 18786  func (s ListTagsForResourceOutput) GoString() string {
 18787  	return s.String()
 18788  }
 18789  
 18790  // SetTags sets the Tags field's value.
 18791  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 18792  	s.Tags = v
 18793  	return s
 18794  }
 18795  
 18796  // The object that provides message text and it's type.
 18797  type Message struct {
 18798  	_ struct{} `type:"structure"`
 18799  
 18800  	// A message in a custom format defined by the client application.
 18801  	CustomPayload *CustomPayload `locationName:"customPayload" type:"structure"`
 18802  
 18803  	// A message that defines a response card that the client application can show
 18804  	// to the user.
 18805  	ImageResponseCard *ImageResponseCard `locationName:"imageResponseCard" type:"structure"`
 18806  
 18807  	// A message in plain text format.
 18808  	PlainTextMessage *PlainTextMessage `locationName:"plainTextMessage" type:"structure"`
 18809  
 18810  	// A message in Speech Synthesis Markup Language (SSML).
 18811  	SsmlMessage *SSMLMessage `locationName:"ssmlMessage" type:"structure"`
 18812  }
 18813  
 18814  // String returns the string representation.
 18815  //
 18816  // API parameter values that are decorated as "sensitive" in the API will not
 18817  // be included in the string output. The member name will be present, but the
 18818  // value will be replaced with "sensitive".
 18819  func (s Message) String() string {
 18820  	return awsutil.Prettify(s)
 18821  }
 18822  
 18823  // GoString returns the string representation.
 18824  //
 18825  // API parameter values that are decorated as "sensitive" in the API will not
 18826  // be included in the string output. The member name will be present, but the
 18827  // value will be replaced with "sensitive".
 18828  func (s Message) GoString() string {
 18829  	return s.String()
 18830  }
 18831  
 18832  // Validate inspects the fields of the type to determine if they are valid.
 18833  func (s *Message) Validate() error {
 18834  	invalidParams := request.ErrInvalidParams{Context: "Message"}
 18835  	if s.CustomPayload != nil {
 18836  		if err := s.CustomPayload.Validate(); err != nil {
 18837  			invalidParams.AddNested("CustomPayload", err.(request.ErrInvalidParams))
 18838  		}
 18839  	}
 18840  	if s.ImageResponseCard != nil {
 18841  		if err := s.ImageResponseCard.Validate(); err != nil {
 18842  			invalidParams.AddNested("ImageResponseCard", err.(request.ErrInvalidParams))
 18843  		}
 18844  	}
 18845  	if s.PlainTextMessage != nil {
 18846  		if err := s.PlainTextMessage.Validate(); err != nil {
 18847  			invalidParams.AddNested("PlainTextMessage", err.(request.ErrInvalidParams))
 18848  		}
 18849  	}
 18850  	if s.SsmlMessage != nil {
 18851  		if err := s.SsmlMessage.Validate(); err != nil {
 18852  			invalidParams.AddNested("SsmlMessage", err.(request.ErrInvalidParams))
 18853  		}
 18854  	}
 18855  
 18856  	if invalidParams.Len() > 0 {
 18857  		return invalidParams
 18858  	}
 18859  	return nil
 18860  }
 18861  
 18862  // SetCustomPayload sets the CustomPayload field's value.
 18863  func (s *Message) SetCustomPayload(v *CustomPayload) *Message {
 18864  	s.CustomPayload = v
 18865  	return s
 18866  }
 18867  
 18868  // SetImageResponseCard sets the ImageResponseCard field's value.
 18869  func (s *Message) SetImageResponseCard(v *ImageResponseCard) *Message {
 18870  	s.ImageResponseCard = v
 18871  	return s
 18872  }
 18873  
 18874  // SetPlainTextMessage sets the PlainTextMessage field's value.
 18875  func (s *Message) SetPlainTextMessage(v *PlainTextMessage) *Message {
 18876  	s.PlainTextMessage = v
 18877  	return s
 18878  }
 18879  
 18880  // SetSsmlMessage sets the SsmlMessage field's value.
 18881  func (s *Message) SetSsmlMessage(v *SSMLMessage) *Message {
 18882  	s.SsmlMessage = v
 18883  	return s
 18884  }
 18885  
 18886  // Provides one or more messages that Amazon Lex should send to the user.
 18887  type MessageGroup struct {
 18888  	_ struct{} `type:"structure"`
 18889  
 18890  	// The primary message that Amazon Lex should send to the user.
 18891  	//
 18892  	// Message is a required field
 18893  	Message *Message `locationName:"message" type:"structure" required:"true"`
 18894  
 18895  	// Message variations to send to the user. When variations are defined, Amazon
 18896  	// Lex chooses the primary message or one of the variations to send to the user.
 18897  	Variations []*Message `locationName:"variations" type:"list"`
 18898  }
 18899  
 18900  // String returns the string representation.
 18901  //
 18902  // API parameter values that are decorated as "sensitive" in the API will not
 18903  // be included in the string output. The member name will be present, but the
 18904  // value will be replaced with "sensitive".
 18905  func (s MessageGroup) String() string {
 18906  	return awsutil.Prettify(s)
 18907  }
 18908  
 18909  // GoString returns the string representation.
 18910  //
 18911  // API parameter values that are decorated as "sensitive" in the API will not
 18912  // be included in the string output. The member name will be present, but the
 18913  // value will be replaced with "sensitive".
 18914  func (s MessageGroup) GoString() string {
 18915  	return s.String()
 18916  }
 18917  
 18918  // Validate inspects the fields of the type to determine if they are valid.
 18919  func (s *MessageGroup) Validate() error {
 18920  	invalidParams := request.ErrInvalidParams{Context: "MessageGroup"}
 18921  	if s.Message == nil {
 18922  		invalidParams.Add(request.NewErrParamRequired("Message"))
 18923  	}
 18924  	if s.Message != nil {
 18925  		if err := s.Message.Validate(); err != nil {
 18926  			invalidParams.AddNested("Message", err.(request.ErrInvalidParams))
 18927  		}
 18928  	}
 18929  	if s.Variations != nil {
 18930  		for i, v := range s.Variations {
 18931  			if v == nil {
 18932  				continue
 18933  			}
 18934  			if err := v.Validate(); err != nil {
 18935  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variations", i), err.(request.ErrInvalidParams))
 18936  			}
 18937  		}
 18938  	}
 18939  
 18940  	if invalidParams.Len() > 0 {
 18941  		return invalidParams
 18942  	}
 18943  	return nil
 18944  }
 18945  
 18946  // SetMessage sets the Message field's value.
 18947  func (s *MessageGroup) SetMessage(v *Message) *MessageGroup {
 18948  	s.Message = v
 18949  	return s
 18950  }
 18951  
 18952  // SetVariations sets the Variations field's value.
 18953  func (s *MessageGroup) SetVariations(v []*Message) *MessageGroup {
 18954  	s.Variations = v
 18955  	return s
 18956  }
 18957  
 18958  // Indicates whether a slot can return multiple values.
 18959  type MultipleValuesSetting struct {
 18960  	_ struct{} `type:"structure"`
 18961  
 18962  	// Indicates whether a slot can return multiple values. When true, the slot
 18963  	// may return more than one value in a response. When false, the slot returns
 18964  	// only a single value.
 18965  	//
 18966  	// Multi-value slots are only available in the en-US locale. If you set this
 18967  	// value to true in any other locale, Amazon Lex throws a ValidationException.
 18968  	//
 18969  	// If the allowMutlipleValues is not set, the default value is false.
 18970  	AllowMultipleValues *bool `locationName:"allowMultipleValues" type:"boolean"`
 18971  }
 18972  
 18973  // String 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 MultipleValuesSetting) String() string {
 18979  	return awsutil.Prettify(s)
 18980  }
 18981  
 18982  // GoString returns the string representation.
 18983  //
 18984  // API parameter values that are decorated as "sensitive" in the API will not
 18985  // be included in the string output. The member name will be present, but the
 18986  // value will be replaced with "sensitive".
 18987  func (s MultipleValuesSetting) GoString() string {
 18988  	return s.String()
 18989  }
 18990  
 18991  // SetAllowMultipleValues sets the AllowMultipleValues field's value.
 18992  func (s *MultipleValuesSetting) SetAllowMultipleValues(v bool) *MultipleValuesSetting {
 18993  	s.AllowMultipleValues = &v
 18994  	return s
 18995  }
 18996  
 18997  // Determines whether Amazon Lex obscures slot values in conversation logs.
 18998  type ObfuscationSetting struct {
 18999  	_ struct{} `type:"structure"`
 19000  
 19001  	// Value that determines whether Amazon Lex obscures slot values in conversation
 19002  	// logs. The default is to obscure the values.
 19003  	//
 19004  	// ObfuscationSettingType is a required field
 19005  	ObfuscationSettingType *string `locationName:"obfuscationSettingType" type:"string" required:"true" enum:"ObfuscationSettingType"`
 19006  }
 19007  
 19008  // String returns the string representation.
 19009  //
 19010  // API parameter values that are decorated as "sensitive" in the API will not
 19011  // be included in the string output. The member name will be present, but the
 19012  // value will be replaced with "sensitive".
 19013  func (s ObfuscationSetting) String() string {
 19014  	return awsutil.Prettify(s)
 19015  }
 19016  
 19017  // GoString returns the string representation.
 19018  //
 19019  // API parameter values that are decorated as "sensitive" in the API will not
 19020  // be included in the string output. The member name will be present, but the
 19021  // value will be replaced with "sensitive".
 19022  func (s ObfuscationSetting) GoString() string {
 19023  	return s.String()
 19024  }
 19025  
 19026  // Validate inspects the fields of the type to determine if they are valid.
 19027  func (s *ObfuscationSetting) Validate() error {
 19028  	invalidParams := request.ErrInvalidParams{Context: "ObfuscationSetting"}
 19029  	if s.ObfuscationSettingType == nil {
 19030  		invalidParams.Add(request.NewErrParamRequired("ObfuscationSettingType"))
 19031  	}
 19032  
 19033  	if invalidParams.Len() > 0 {
 19034  		return invalidParams
 19035  	}
 19036  	return nil
 19037  }
 19038  
 19039  // SetObfuscationSettingType sets the ObfuscationSettingType field's value.
 19040  func (s *ObfuscationSetting) SetObfuscationSettingType(v string) *ObfuscationSetting {
 19041  	s.ObfuscationSettingType = &v
 19042  	return s
 19043  }
 19044  
 19045  // Describes a session context that is activated when an intent is fulfilled.
 19046  type OutputContext struct {
 19047  	_ struct{} `type:"structure"`
 19048  
 19049  	// The name of the output context.
 19050  	//
 19051  	// Name is a required field
 19052  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 19053  
 19054  	// The amount of time, in seconds, that the output context should remain active.
 19055  	// The time is figured from the first time the context is sent to the user.
 19056  	//
 19057  	// TimeToLiveInSeconds is a required field
 19058  	TimeToLiveInSeconds *int64 `locationName:"timeToLiveInSeconds" min:"5" type:"integer" required:"true"`
 19059  
 19060  	// The number of conversation turns that the output context should remain active.
 19061  	// The number of turns is counted from the first time that the context is sent
 19062  	// to the user.
 19063  	//
 19064  	// TurnsToLive is a required field
 19065  	TurnsToLive *int64 `locationName:"turnsToLive" min:"1" type:"integer" required:"true"`
 19066  }
 19067  
 19068  // String returns the string representation.
 19069  //
 19070  // API parameter values that are decorated as "sensitive" in the API will not
 19071  // be included in the string output. The member name will be present, but the
 19072  // value will be replaced with "sensitive".
 19073  func (s OutputContext) String() string {
 19074  	return awsutil.Prettify(s)
 19075  }
 19076  
 19077  // GoString returns the string representation.
 19078  //
 19079  // API parameter values that are decorated as "sensitive" in the API will not
 19080  // be included in the string output. The member name will be present, but the
 19081  // value will be replaced with "sensitive".
 19082  func (s OutputContext) GoString() string {
 19083  	return s.String()
 19084  }
 19085  
 19086  // Validate inspects the fields of the type to determine if they are valid.
 19087  func (s *OutputContext) Validate() error {
 19088  	invalidParams := request.ErrInvalidParams{Context: "OutputContext"}
 19089  	if s.Name == nil {
 19090  		invalidParams.Add(request.NewErrParamRequired("Name"))
 19091  	}
 19092  	if s.Name != nil && len(*s.Name) < 1 {
 19093  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 19094  	}
 19095  	if s.TimeToLiveInSeconds == nil {
 19096  		invalidParams.Add(request.NewErrParamRequired("TimeToLiveInSeconds"))
 19097  	}
 19098  	if s.TimeToLiveInSeconds != nil && *s.TimeToLiveInSeconds < 5 {
 19099  		invalidParams.Add(request.NewErrParamMinValue("TimeToLiveInSeconds", 5))
 19100  	}
 19101  	if s.TurnsToLive == nil {
 19102  		invalidParams.Add(request.NewErrParamRequired("TurnsToLive"))
 19103  	}
 19104  	if s.TurnsToLive != nil && *s.TurnsToLive < 1 {
 19105  		invalidParams.Add(request.NewErrParamMinValue("TurnsToLive", 1))
 19106  	}
 19107  
 19108  	if invalidParams.Len() > 0 {
 19109  		return invalidParams
 19110  	}
 19111  	return nil
 19112  }
 19113  
 19114  // SetName sets the Name field's value.
 19115  func (s *OutputContext) SetName(v string) *OutputContext {
 19116  	s.Name = &v
 19117  	return s
 19118  }
 19119  
 19120  // SetTimeToLiveInSeconds sets the TimeToLiveInSeconds field's value.
 19121  func (s *OutputContext) SetTimeToLiveInSeconds(v int64) *OutputContext {
 19122  	s.TimeToLiveInSeconds = &v
 19123  	return s
 19124  }
 19125  
 19126  // SetTurnsToLive sets the TurnsToLive field's value.
 19127  func (s *OutputContext) SetTurnsToLive(v int64) *OutputContext {
 19128  	s.TurnsToLive = &v
 19129  	return s
 19130  }
 19131  
 19132  // Defines an ASCII text message to send to the user.
 19133  type PlainTextMessage struct {
 19134  	_ struct{} `type:"structure"`
 19135  
 19136  	// The message to send to the user.
 19137  	//
 19138  	// Value is a required field
 19139  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
 19140  }
 19141  
 19142  // String returns the string representation.
 19143  //
 19144  // API parameter values that are decorated as "sensitive" in the API will not
 19145  // be included in the string output. The member name will be present, but the
 19146  // value will be replaced with "sensitive".
 19147  func (s PlainTextMessage) String() string {
 19148  	return awsutil.Prettify(s)
 19149  }
 19150  
 19151  // GoString returns the string representation.
 19152  //
 19153  // API parameter values that are decorated as "sensitive" in the API will not
 19154  // be included in the string output. The member name will be present, but the
 19155  // value will be replaced with "sensitive".
 19156  func (s PlainTextMessage) GoString() string {
 19157  	return s.String()
 19158  }
 19159  
 19160  // Validate inspects the fields of the type to determine if they are valid.
 19161  func (s *PlainTextMessage) Validate() error {
 19162  	invalidParams := request.ErrInvalidParams{Context: "PlainTextMessage"}
 19163  	if s.Value == nil {
 19164  		invalidParams.Add(request.NewErrParamRequired("Value"))
 19165  	}
 19166  	if s.Value != nil && len(*s.Value) < 1 {
 19167  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 19168  	}
 19169  
 19170  	if invalidParams.Len() > 0 {
 19171  		return invalidParams
 19172  	}
 19173  	return nil
 19174  }
 19175  
 19176  // SetValue sets the Value field's value.
 19177  func (s *PlainTextMessage) SetValue(v string) *PlainTextMessage {
 19178  	s.Value = &v
 19179  	return s
 19180  }
 19181  
 19182  // Provides a setting that determines whether the post-fulfillment response
 19183  // is sent to the user. For more information, see https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete
 19184  // (https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete)
 19185  type PostFulfillmentStatusSpecification struct {
 19186  	_ struct{} `type:"structure"`
 19187  
 19188  	// Specifies a list of message groups that Amazon Lex uses to respond the user
 19189  	// input.
 19190  	FailureResponse *ResponseSpecification `locationName:"failureResponse" type:"structure"`
 19191  
 19192  	// Specifies a list of message groups that Amazon Lex uses to respond the user
 19193  	// input.
 19194  	SuccessResponse *ResponseSpecification `locationName:"successResponse" type:"structure"`
 19195  
 19196  	// Specifies a list of message groups that Amazon Lex uses to respond the user
 19197  	// input.
 19198  	TimeoutResponse *ResponseSpecification `locationName:"timeoutResponse" type:"structure"`
 19199  }
 19200  
 19201  // String returns the string representation.
 19202  //
 19203  // API parameter values that are decorated as "sensitive" in the API will not
 19204  // be included in the string output. The member name will be present, but the
 19205  // value will be replaced with "sensitive".
 19206  func (s PostFulfillmentStatusSpecification) String() string {
 19207  	return awsutil.Prettify(s)
 19208  }
 19209  
 19210  // GoString returns the string representation.
 19211  //
 19212  // API parameter values that are decorated as "sensitive" in the API will not
 19213  // be included in the string output. The member name will be present, but the
 19214  // value will be replaced with "sensitive".
 19215  func (s PostFulfillmentStatusSpecification) GoString() string {
 19216  	return s.String()
 19217  }
 19218  
 19219  // Validate inspects the fields of the type to determine if they are valid.
 19220  func (s *PostFulfillmentStatusSpecification) Validate() error {
 19221  	invalidParams := request.ErrInvalidParams{Context: "PostFulfillmentStatusSpecification"}
 19222  	if s.FailureResponse != nil {
 19223  		if err := s.FailureResponse.Validate(); err != nil {
 19224  			invalidParams.AddNested("FailureResponse", err.(request.ErrInvalidParams))
 19225  		}
 19226  	}
 19227  	if s.SuccessResponse != nil {
 19228  		if err := s.SuccessResponse.Validate(); err != nil {
 19229  			invalidParams.AddNested("SuccessResponse", err.(request.ErrInvalidParams))
 19230  		}
 19231  	}
 19232  	if s.TimeoutResponse != nil {
 19233  		if err := s.TimeoutResponse.Validate(); err != nil {
 19234  			invalidParams.AddNested("TimeoutResponse", err.(request.ErrInvalidParams))
 19235  		}
 19236  	}
 19237  
 19238  	if invalidParams.Len() > 0 {
 19239  		return invalidParams
 19240  	}
 19241  	return nil
 19242  }
 19243  
 19244  // SetFailureResponse sets the FailureResponse field's value.
 19245  func (s *PostFulfillmentStatusSpecification) SetFailureResponse(v *ResponseSpecification) *PostFulfillmentStatusSpecification {
 19246  	s.FailureResponse = v
 19247  	return s
 19248  }
 19249  
 19250  // SetSuccessResponse sets the SuccessResponse field's value.
 19251  func (s *PostFulfillmentStatusSpecification) SetSuccessResponse(v *ResponseSpecification) *PostFulfillmentStatusSpecification {
 19252  	s.SuccessResponse = v
 19253  	return s
 19254  }
 19255  
 19256  // SetTimeoutResponse sets the TimeoutResponse field's value.
 19257  func (s *PostFulfillmentStatusSpecification) SetTimeoutResponse(v *ResponseSpecification) *PostFulfillmentStatusSpecification {
 19258  	s.TimeoutResponse = v
 19259  	return s
 19260  }
 19261  
 19262  // Your request couldn't be completed because one or more request fields aren't
 19263  // valid. Check the fields in your request and try again.
 19264  type PreconditionFailedException struct {
 19265  	_            struct{}                  `type:"structure"`
 19266  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19267  
 19268  	Message_ *string `locationName:"message" type:"string"`
 19269  }
 19270  
 19271  // String returns the string representation.
 19272  //
 19273  // API parameter values that are decorated as "sensitive" in the API will not
 19274  // be included in the string output. The member name will be present, but the
 19275  // value will be replaced with "sensitive".
 19276  func (s PreconditionFailedException) String() string {
 19277  	return awsutil.Prettify(s)
 19278  }
 19279  
 19280  // GoString returns the string representation.
 19281  //
 19282  // API parameter values that are decorated as "sensitive" in the API will not
 19283  // be included in the string output. The member name will be present, but the
 19284  // value will be replaced with "sensitive".
 19285  func (s PreconditionFailedException) GoString() string {
 19286  	return s.String()
 19287  }
 19288  
 19289  func newErrorPreconditionFailedException(v protocol.ResponseMetadata) error {
 19290  	return &PreconditionFailedException{
 19291  		RespMetadata: v,
 19292  	}
 19293  }
 19294  
 19295  // Code returns the exception type name.
 19296  func (s *PreconditionFailedException) Code() string {
 19297  	return "PreconditionFailedException"
 19298  }
 19299  
 19300  // Message returns the exception's message.
 19301  func (s *PreconditionFailedException) Message() string {
 19302  	if s.Message_ != nil {
 19303  		return *s.Message_
 19304  	}
 19305  	return ""
 19306  }
 19307  
 19308  // OrigErr always returns nil, satisfies awserr.Error interface.
 19309  func (s *PreconditionFailedException) OrigErr() error {
 19310  	return nil
 19311  }
 19312  
 19313  func (s *PreconditionFailedException) Error() string {
 19314  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 19315  }
 19316  
 19317  // Status code returns the HTTP status code for the request's response error.
 19318  func (s *PreconditionFailedException) StatusCode() int {
 19319  	return s.RespMetadata.StatusCode
 19320  }
 19321  
 19322  // RequestID returns the service's response RequestID for request.
 19323  func (s *PreconditionFailedException) RequestID() string {
 19324  	return s.RespMetadata.RequestID
 19325  }
 19326  
 19327  // The IAM principal that you allowing or denying access to an Amazon Lex action.
 19328  // You must provide a service or an arn, but not both in the same statement.
 19329  // For more information, see AWS JSON policy elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).
 19330  type Principal struct {
 19331  	_ struct{} `type:"structure"`
 19332  
 19333  	// The Amazon Resource Name (ARN) of the principal.
 19334  	Arn *string `locationName:"arn" min:"30" type:"string"`
 19335  
 19336  	// The name of the AWS service that should allowed or denied access to an Amazon
 19337  	// Lex action.
 19338  	Service *string `locationName:"service" min:"15" type:"string"`
 19339  }
 19340  
 19341  // String returns the string representation.
 19342  //
 19343  // API parameter values that are decorated as "sensitive" in the API will not
 19344  // be included in the string output. The member name will be present, but the
 19345  // value will be replaced with "sensitive".
 19346  func (s Principal) String() string {
 19347  	return awsutil.Prettify(s)
 19348  }
 19349  
 19350  // GoString returns the string representation.
 19351  //
 19352  // API parameter values that are decorated as "sensitive" in the API will not
 19353  // be included in the string output. The member name will be present, but the
 19354  // value will be replaced with "sensitive".
 19355  func (s Principal) GoString() string {
 19356  	return s.String()
 19357  }
 19358  
 19359  // Validate inspects the fields of the type to determine if they are valid.
 19360  func (s *Principal) Validate() error {
 19361  	invalidParams := request.ErrInvalidParams{Context: "Principal"}
 19362  	if s.Arn != nil && len(*s.Arn) < 30 {
 19363  		invalidParams.Add(request.NewErrParamMinLen("Arn", 30))
 19364  	}
 19365  	if s.Service != nil && len(*s.Service) < 15 {
 19366  		invalidParams.Add(request.NewErrParamMinLen("Service", 15))
 19367  	}
 19368  
 19369  	if invalidParams.Len() > 0 {
 19370  		return invalidParams
 19371  	}
 19372  	return nil
 19373  }
 19374  
 19375  // SetArn sets the Arn field's value.
 19376  func (s *Principal) SetArn(v string) *Principal {
 19377  	s.Arn = &v
 19378  	return s
 19379  }
 19380  
 19381  // SetService sets the Service field's value.
 19382  func (s *Principal) SetService(v string) *Principal {
 19383  	s.Service = &v
 19384  	return s
 19385  }
 19386  
 19387  // Specifies a list of message groups that Amazon Lex sends to a user to elicit
 19388  // a response.
 19389  type PromptSpecification struct {
 19390  	_ struct{} `type:"structure"`
 19391  
 19392  	// Indicates whether the user can interrupt a speech prompt from the bot.
 19393  	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
 19394  
 19395  	// The maximum number of times the bot tries to elicit a response from the user
 19396  	// using this prompt.
 19397  	//
 19398  	// MaxRetries is a required field
 19399  	MaxRetries *int64 `locationName:"maxRetries" type:"integer" required:"true"`
 19400  
 19401  	// A collection of messages that Amazon Lex can send to the user. Amazon Lex
 19402  	// chooses the actual message to send at runtime.
 19403  	//
 19404  	// MessageGroups is a required field
 19405  	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
 19406  }
 19407  
 19408  // String returns the string representation.
 19409  //
 19410  // API parameter values that are decorated as "sensitive" in the API will not
 19411  // be included in the string output. The member name will be present, but the
 19412  // value will be replaced with "sensitive".
 19413  func (s PromptSpecification) String() string {
 19414  	return awsutil.Prettify(s)
 19415  }
 19416  
 19417  // GoString 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 PromptSpecification) GoString() string {
 19423  	return s.String()
 19424  }
 19425  
 19426  // Validate inspects the fields of the type to determine if they are valid.
 19427  func (s *PromptSpecification) Validate() error {
 19428  	invalidParams := request.ErrInvalidParams{Context: "PromptSpecification"}
 19429  	if s.MaxRetries == nil {
 19430  		invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
 19431  	}
 19432  	if s.MessageGroups == nil {
 19433  		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
 19434  	}
 19435  	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
 19436  		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
 19437  	}
 19438  	if s.MessageGroups != nil {
 19439  		for i, v := range s.MessageGroups {
 19440  			if v == nil {
 19441  				continue
 19442  			}
 19443  			if err := v.Validate(); err != nil {
 19444  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
 19445  			}
 19446  		}
 19447  	}
 19448  
 19449  	if invalidParams.Len() > 0 {
 19450  		return invalidParams
 19451  	}
 19452  	return nil
 19453  }
 19454  
 19455  // SetAllowInterrupt sets the AllowInterrupt field's value.
 19456  func (s *PromptSpecification) SetAllowInterrupt(v bool) *PromptSpecification {
 19457  	s.AllowInterrupt = &v
 19458  	return s
 19459  }
 19460  
 19461  // SetMaxRetries sets the MaxRetries field's value.
 19462  func (s *PromptSpecification) SetMaxRetries(v int64) *PromptSpecification {
 19463  	s.MaxRetries = &v
 19464  	return s
 19465  }
 19466  
 19467  // SetMessageGroups sets the MessageGroups field's value.
 19468  func (s *PromptSpecification) SetMessageGroups(v []*MessageGroup) *PromptSpecification {
 19469  	s.MessageGroups = v
 19470  	return s
 19471  }
 19472  
 19473  // Specifies the time window that utterance statistics are returned for. The
 19474  // time window is always relative to the last time that the that utterances
 19475  // were aggregated. For example, if the ListAggregatedUtterances operation is
 19476  // called at 1600, the time window is set to 1 hour, and the last refresh time
 19477  // was 1530, only utterances made between 1430 and 1530 are returned.
 19478  //
 19479  // You can choose the time window that statistics should be returned for.
 19480  //
 19481  //    * Hours - You can request utterance statistics for 1, 3, 6, 12, or 24
 19482  //    hour time windows. Statistics are refreshed every half hour for 1 hour
 19483  //    time windows, and hourly for the other time windows.
 19484  //
 19485  //    * Days - You can request utterance statistics for 3 days. Statistics are
 19486  //    refreshed every 6 hours.
 19487  //
 19488  //    * Weeks - You can see statistics for one or two weeks. Statistics are
 19489  //    refreshed every 12 hours for one week time windows, and once per day for
 19490  //    two week time windows.
 19491  type RelativeAggregationDuration struct {
 19492  	_ struct{} `type:"structure"`
 19493  
 19494  	// The type of time period that the timeValue field represents.
 19495  	//
 19496  	// TimeDimension is a required field
 19497  	TimeDimension *string `locationName:"timeDimension" type:"string" required:"true" enum:"TimeDimension"`
 19498  
 19499  	// The period of the time window to gather statistics for. The valid value depends
 19500  	// on the setting of the timeDimension field.
 19501  	//
 19502  	//    * Hours - 1/3/6/12/24
 19503  	//
 19504  	//    * Days - 3
 19505  	//
 19506  	//    * Weeks - 1/2
 19507  	//
 19508  	// TimeValue is a required field
 19509  	TimeValue *int64 `locationName:"timeValue" min:"1" type:"integer" required:"true"`
 19510  }
 19511  
 19512  // String returns the string representation.
 19513  //
 19514  // API parameter values that are decorated as "sensitive" in the API will not
 19515  // be included in the string output. The member name will be present, but the
 19516  // value will be replaced with "sensitive".
 19517  func (s RelativeAggregationDuration) String() string {
 19518  	return awsutil.Prettify(s)
 19519  }
 19520  
 19521  // GoString returns the string representation.
 19522  //
 19523  // API parameter values that are decorated as "sensitive" in the API will not
 19524  // be included in the string output. The member name will be present, but the
 19525  // value will be replaced with "sensitive".
 19526  func (s RelativeAggregationDuration) GoString() string {
 19527  	return s.String()
 19528  }
 19529  
 19530  // Validate inspects the fields of the type to determine if they are valid.
 19531  func (s *RelativeAggregationDuration) Validate() error {
 19532  	invalidParams := request.ErrInvalidParams{Context: "RelativeAggregationDuration"}
 19533  	if s.TimeDimension == nil {
 19534  		invalidParams.Add(request.NewErrParamRequired("TimeDimension"))
 19535  	}
 19536  	if s.TimeValue == nil {
 19537  		invalidParams.Add(request.NewErrParamRequired("TimeValue"))
 19538  	}
 19539  	if s.TimeValue != nil && *s.TimeValue < 1 {
 19540  		invalidParams.Add(request.NewErrParamMinValue("TimeValue", 1))
 19541  	}
 19542  
 19543  	if invalidParams.Len() > 0 {
 19544  		return invalidParams
 19545  	}
 19546  	return nil
 19547  }
 19548  
 19549  // SetTimeDimension sets the TimeDimension field's value.
 19550  func (s *RelativeAggregationDuration) SetTimeDimension(v string) *RelativeAggregationDuration {
 19551  	s.TimeDimension = &v
 19552  	return s
 19553  }
 19554  
 19555  // SetTimeValue sets the TimeValue field's value.
 19556  func (s *RelativeAggregationDuration) SetTimeValue(v int64) *RelativeAggregationDuration {
 19557  	s.TimeValue = &v
 19558  	return s
 19559  }
 19560  
 19561  // You asked to describe a resource that doesn't exist. Check the resource that
 19562  // you are requesting and try again.
 19563  type ResourceNotFoundException struct {
 19564  	_            struct{}                  `type:"structure"`
 19565  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19566  
 19567  	Message_ *string `locationName:"message" type:"string"`
 19568  }
 19569  
 19570  // String returns the string representation.
 19571  //
 19572  // API parameter values that are decorated as "sensitive" in the API will not
 19573  // be included in the string output. The member name will be present, but the
 19574  // value will be replaced with "sensitive".
 19575  func (s ResourceNotFoundException) String() string {
 19576  	return awsutil.Prettify(s)
 19577  }
 19578  
 19579  // GoString returns the string representation.
 19580  //
 19581  // API parameter values that are decorated as "sensitive" in the API will not
 19582  // be included in the string output. The member name will be present, but the
 19583  // value will be replaced with "sensitive".
 19584  func (s ResourceNotFoundException) GoString() string {
 19585  	return s.String()
 19586  }
 19587  
 19588  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 19589  	return &ResourceNotFoundException{
 19590  		RespMetadata: v,
 19591  	}
 19592  }
 19593  
 19594  // Code returns the exception type name.
 19595  func (s *ResourceNotFoundException) Code() string {
 19596  	return "ResourceNotFoundException"
 19597  }
 19598  
 19599  // Message returns the exception's message.
 19600  func (s *ResourceNotFoundException) Message() string {
 19601  	if s.Message_ != nil {
 19602  		return *s.Message_
 19603  	}
 19604  	return ""
 19605  }
 19606  
 19607  // OrigErr always returns nil, satisfies awserr.Error interface.
 19608  func (s *ResourceNotFoundException) OrigErr() error {
 19609  	return nil
 19610  }
 19611  
 19612  func (s *ResourceNotFoundException) Error() string {
 19613  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 19614  }
 19615  
 19616  // Status code returns the HTTP status code for the request's response error.
 19617  func (s *ResourceNotFoundException) StatusCode() int {
 19618  	return s.RespMetadata.StatusCode
 19619  }
 19620  
 19621  // RequestID returns the service's response RequestID for request.
 19622  func (s *ResourceNotFoundException) RequestID() string {
 19623  	return s.RespMetadata.RequestID
 19624  }
 19625  
 19626  // Specifies a list of message groups that Amazon Lex uses to respond the user
 19627  // input.
 19628  type ResponseSpecification struct {
 19629  	_ struct{} `type:"structure"`
 19630  
 19631  	// Indicates whether the user can interrupt a speech response from Amazon Lex.
 19632  	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
 19633  
 19634  	// A collection of responses that Amazon Lex can send to the user. Amazon Lex
 19635  	// chooses the actual response to send at runtime.
 19636  	//
 19637  	// MessageGroups is a required field
 19638  	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
 19639  }
 19640  
 19641  // String returns the string representation.
 19642  //
 19643  // API parameter values that are decorated as "sensitive" in the API will not
 19644  // be included in the string output. The member name will be present, but the
 19645  // value will be replaced with "sensitive".
 19646  func (s ResponseSpecification) String() string {
 19647  	return awsutil.Prettify(s)
 19648  }
 19649  
 19650  // GoString returns the string representation.
 19651  //
 19652  // API parameter values that are decorated as "sensitive" in the API will not
 19653  // be included in the string output. The member name will be present, but the
 19654  // value will be replaced with "sensitive".
 19655  func (s ResponseSpecification) GoString() string {
 19656  	return s.String()
 19657  }
 19658  
 19659  // Validate inspects the fields of the type to determine if they are valid.
 19660  func (s *ResponseSpecification) Validate() error {
 19661  	invalidParams := request.ErrInvalidParams{Context: "ResponseSpecification"}
 19662  	if s.MessageGroups == nil {
 19663  		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
 19664  	}
 19665  	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
 19666  		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
 19667  	}
 19668  	if s.MessageGroups != nil {
 19669  		for i, v := range s.MessageGroups {
 19670  			if v == nil {
 19671  				continue
 19672  			}
 19673  			if err := v.Validate(); err != nil {
 19674  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
 19675  			}
 19676  		}
 19677  	}
 19678  
 19679  	if invalidParams.Len() > 0 {
 19680  		return invalidParams
 19681  	}
 19682  	return nil
 19683  }
 19684  
 19685  // SetAllowInterrupt sets the AllowInterrupt field's value.
 19686  func (s *ResponseSpecification) SetAllowInterrupt(v bool) *ResponseSpecification {
 19687  	s.AllowInterrupt = &v
 19688  	return s
 19689  }
 19690  
 19691  // SetMessageGroups sets the MessageGroups field's value.
 19692  func (s *ResponseSpecification) SetMessageGroups(v []*MessageGroup) *ResponseSpecification {
 19693  	s.MessageGroups = v
 19694  	return s
 19695  }
 19696  
 19697  // Specifies an Amazon S3 bucket for logging audio conversations
 19698  type S3BucketLogDestination struct {
 19699  	_ struct{} `type:"structure"`
 19700  
 19701  	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key
 19702  	// for encrypting audio log files stored in an S3 bucket.
 19703  	KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"`
 19704  
 19705  	// The S3 prefix to assign to audio log files.
 19706  	//
 19707  	// LogPrefix is a required field
 19708  	LogPrefix *string `locationName:"logPrefix" type:"string" required:"true"`
 19709  
 19710  	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files
 19711  	// are stored.
 19712  	//
 19713  	// S3BucketArn is a required field
 19714  	S3BucketArn *string `locationName:"s3BucketArn" min:"1" type:"string" required:"true"`
 19715  }
 19716  
 19717  // String returns the string representation.
 19718  //
 19719  // API parameter values that are decorated as "sensitive" in the API will not
 19720  // be included in the string output. The member name will be present, but the
 19721  // value will be replaced with "sensitive".
 19722  func (s S3BucketLogDestination) String() string {
 19723  	return awsutil.Prettify(s)
 19724  }
 19725  
 19726  // GoString returns the string representation.
 19727  //
 19728  // API parameter values that are decorated as "sensitive" in the API will not
 19729  // be included in the string output. The member name will be present, but the
 19730  // value will be replaced with "sensitive".
 19731  func (s S3BucketLogDestination) GoString() string {
 19732  	return s.String()
 19733  }
 19734  
 19735  // Validate inspects the fields of the type to determine if they are valid.
 19736  func (s *S3BucketLogDestination) Validate() error {
 19737  	invalidParams := request.ErrInvalidParams{Context: "S3BucketLogDestination"}
 19738  	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 {
 19739  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20))
 19740  	}
 19741  	if s.LogPrefix == nil {
 19742  		invalidParams.Add(request.NewErrParamRequired("LogPrefix"))
 19743  	}
 19744  	if s.S3BucketArn == nil {
 19745  		invalidParams.Add(request.NewErrParamRequired("S3BucketArn"))
 19746  	}
 19747  	if s.S3BucketArn != nil && len(*s.S3BucketArn) < 1 {
 19748  		invalidParams.Add(request.NewErrParamMinLen("S3BucketArn", 1))
 19749  	}
 19750  
 19751  	if invalidParams.Len() > 0 {
 19752  		return invalidParams
 19753  	}
 19754  	return nil
 19755  }
 19756  
 19757  // SetKmsKeyArn sets the KmsKeyArn field's value.
 19758  func (s *S3BucketLogDestination) SetKmsKeyArn(v string) *S3BucketLogDestination {
 19759  	s.KmsKeyArn = &v
 19760  	return s
 19761  }
 19762  
 19763  // SetLogPrefix sets the LogPrefix field's value.
 19764  func (s *S3BucketLogDestination) SetLogPrefix(v string) *S3BucketLogDestination {
 19765  	s.LogPrefix = &v
 19766  	return s
 19767  }
 19768  
 19769  // SetS3BucketArn sets the S3BucketArn field's value.
 19770  func (s *S3BucketLogDestination) SetS3BucketArn(v string) *S3BucketLogDestination {
 19771  	s.S3BucketArn = &v
 19772  	return s
 19773  }
 19774  
 19775  // Defines a Speech Synthesis Markup Language (SSML) prompt.
 19776  type SSMLMessage struct {
 19777  	_ struct{} `type:"structure"`
 19778  
 19779  	// The SSML text that defines the prompt.
 19780  	//
 19781  	// Value is a required field
 19782  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
 19783  }
 19784  
 19785  // String returns the string representation.
 19786  //
 19787  // API parameter values that are decorated as "sensitive" in the API will not
 19788  // be included in the string output. The member name will be present, but the
 19789  // value will be replaced with "sensitive".
 19790  func (s SSMLMessage) String() string {
 19791  	return awsutil.Prettify(s)
 19792  }
 19793  
 19794  // GoString returns the string representation.
 19795  //
 19796  // API parameter values that are decorated as "sensitive" in the API will not
 19797  // be included in the string output. The member name will be present, but the
 19798  // value will be replaced with "sensitive".
 19799  func (s SSMLMessage) GoString() string {
 19800  	return s.String()
 19801  }
 19802  
 19803  // Validate inspects the fields of the type to determine if they are valid.
 19804  func (s *SSMLMessage) Validate() error {
 19805  	invalidParams := request.ErrInvalidParams{Context: "SSMLMessage"}
 19806  	if s.Value == nil {
 19807  		invalidParams.Add(request.NewErrParamRequired("Value"))
 19808  	}
 19809  	if s.Value != nil && len(*s.Value) < 1 {
 19810  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 19811  	}
 19812  
 19813  	if invalidParams.Len() > 0 {
 19814  		return invalidParams
 19815  	}
 19816  	return nil
 19817  }
 19818  
 19819  // SetValue sets the Value field's value.
 19820  func (s *SSMLMessage) SetValue(v string) *SSMLMessage {
 19821  	s.Value = &v
 19822  	return s
 19823  }
 19824  
 19825  // A sample utterance that invokes an intent or respond to a slot elicitation
 19826  // prompt.
 19827  type SampleUtterance struct {
 19828  	_ struct{} `type:"structure"`
 19829  
 19830  	// The sample utterance that Amazon Lex uses to build its machine-learning model
 19831  	// to recognize intents.
 19832  	//
 19833  	// Utterance is a required field
 19834  	Utterance *string `locationName:"utterance" type:"string" required:"true"`
 19835  }
 19836  
 19837  // String returns the string representation.
 19838  //
 19839  // API parameter values that are decorated as "sensitive" in the API will not
 19840  // be included in the string output. The member name will be present, but the
 19841  // value will be replaced with "sensitive".
 19842  func (s SampleUtterance) String() string {
 19843  	return awsutil.Prettify(s)
 19844  }
 19845  
 19846  // GoString returns the string representation.
 19847  //
 19848  // API parameter values that are decorated as "sensitive" in the API will not
 19849  // be included in the string output. The member name will be present, but the
 19850  // value will be replaced with "sensitive".
 19851  func (s SampleUtterance) GoString() string {
 19852  	return s.String()
 19853  }
 19854  
 19855  // Validate inspects the fields of the type to determine if they are valid.
 19856  func (s *SampleUtterance) Validate() error {
 19857  	invalidParams := request.ErrInvalidParams{Context: "SampleUtterance"}
 19858  	if s.Utterance == nil {
 19859  		invalidParams.Add(request.NewErrParamRequired("Utterance"))
 19860  	}
 19861  
 19862  	if invalidParams.Len() > 0 {
 19863  		return invalidParams
 19864  	}
 19865  	return nil
 19866  }
 19867  
 19868  // SetUtterance sets the Utterance field's value.
 19869  func (s *SampleUtterance) SetUtterance(v string) *SampleUtterance {
 19870  	s.Utterance = &v
 19871  	return s
 19872  }
 19873  
 19874  // Defines one of the values for a slot type.
 19875  type SampleValue struct {
 19876  	_ struct{} `type:"structure"`
 19877  
 19878  	// The value that can be used for a slot type.
 19879  	//
 19880  	// Value is a required field
 19881  	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
 19882  }
 19883  
 19884  // String returns the string representation.
 19885  //
 19886  // API parameter values that are decorated as "sensitive" in the API will not
 19887  // be included in the string output. The member name will be present, but the
 19888  // value will be replaced with "sensitive".
 19889  func (s SampleValue) String() string {
 19890  	return awsutil.Prettify(s)
 19891  }
 19892  
 19893  // GoString returns the string representation.
 19894  //
 19895  // API parameter values that are decorated as "sensitive" in the API will not
 19896  // be included in the string output. The member name will be present, but the
 19897  // value will be replaced with "sensitive".
 19898  func (s SampleValue) GoString() string {
 19899  	return s.String()
 19900  }
 19901  
 19902  // Validate inspects the fields of the type to determine if they are valid.
 19903  func (s *SampleValue) Validate() error {
 19904  	invalidParams := request.ErrInvalidParams{Context: "SampleValue"}
 19905  	if s.Value == nil {
 19906  		invalidParams.Add(request.NewErrParamRequired("Value"))
 19907  	}
 19908  	if s.Value != nil && len(*s.Value) < 1 {
 19909  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 19910  	}
 19911  
 19912  	if invalidParams.Len() > 0 {
 19913  		return invalidParams
 19914  	}
 19915  	return nil
 19916  }
 19917  
 19918  // SetValue sets the Value field's value.
 19919  func (s *SampleValue) SetValue(v string) *SampleValue {
 19920  	s.Value = &v
 19921  	return s
 19922  }
 19923  
 19924  // Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
 19925  // of user utterances.
 19926  type SentimentAnalysisSettings struct {
 19927  	_ struct{} `type:"structure"`
 19928  
 19929  	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of
 19930  	// user utterances.
 19931  	//
 19932  	// DetectSentiment is a required field
 19933  	DetectSentiment *bool `locationName:"detectSentiment" type:"boolean" required:"true"`
 19934  }
 19935  
 19936  // String returns the string representation.
 19937  //
 19938  // API parameter values that are decorated as "sensitive" in the API will not
 19939  // be included in the string output. The member name will be present, but the
 19940  // value will be replaced with "sensitive".
 19941  func (s SentimentAnalysisSettings) String() string {
 19942  	return awsutil.Prettify(s)
 19943  }
 19944  
 19945  // GoString returns the string representation.
 19946  //
 19947  // API parameter values that are decorated as "sensitive" in the API will not
 19948  // be included in the string output. The member name will be present, but the
 19949  // value will be replaced with "sensitive".
 19950  func (s SentimentAnalysisSettings) GoString() string {
 19951  	return s.String()
 19952  }
 19953  
 19954  // Validate inspects the fields of the type to determine if they are valid.
 19955  func (s *SentimentAnalysisSettings) Validate() error {
 19956  	invalidParams := request.ErrInvalidParams{Context: "SentimentAnalysisSettings"}
 19957  	if s.DetectSentiment == nil {
 19958  		invalidParams.Add(request.NewErrParamRequired("DetectSentiment"))
 19959  	}
 19960  
 19961  	if invalidParams.Len() > 0 {
 19962  		return invalidParams
 19963  	}
 19964  	return nil
 19965  }
 19966  
 19967  // SetDetectSentiment sets the DetectSentiment field's value.
 19968  func (s *SentimentAnalysisSettings) SetDetectSentiment(v bool) *SentimentAnalysisSettings {
 19969  	s.DetectSentiment = &v
 19970  	return s
 19971  }
 19972  
 19973  // You have reached a quota for your bot.
 19974  type ServiceQuotaExceededException struct {
 19975  	_            struct{}                  `type:"structure"`
 19976  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19977  
 19978  	Message_ *string `locationName:"message" type:"string"`
 19979  }
 19980  
 19981  // String returns the string representation.
 19982  //
 19983  // API parameter values that are decorated as "sensitive" in the API will not
 19984  // be included in the string output. The member name will be present, but the
 19985  // value will be replaced with "sensitive".
 19986  func (s ServiceQuotaExceededException) String() string {
 19987  	return awsutil.Prettify(s)
 19988  }
 19989  
 19990  // GoString returns the string representation.
 19991  //
 19992  // API parameter values that are decorated as "sensitive" in the API will not
 19993  // be included in the string output. The member name will be present, but the
 19994  // value will be replaced with "sensitive".
 19995  func (s ServiceQuotaExceededException) GoString() string {
 19996  	return s.String()
 19997  }
 19998  
 19999  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 20000  	return &ServiceQuotaExceededException{
 20001  		RespMetadata: v,
 20002  	}
 20003  }
 20004  
 20005  // Code returns the exception type name.
 20006  func (s *ServiceQuotaExceededException) Code() string {
 20007  	return "ServiceQuotaExceededException"
 20008  }
 20009  
 20010  // Message returns the exception's message.
 20011  func (s *ServiceQuotaExceededException) Message() string {
 20012  	if s.Message_ != nil {
 20013  		return *s.Message_
 20014  	}
 20015  	return ""
 20016  }
 20017  
 20018  // OrigErr always returns nil, satisfies awserr.Error interface.
 20019  func (s *ServiceQuotaExceededException) OrigErr() error {
 20020  	return nil
 20021  }
 20022  
 20023  func (s *ServiceQuotaExceededException) Error() string {
 20024  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20025  }
 20026  
 20027  // Status code returns the HTTP status code for the request's response error.
 20028  func (s *ServiceQuotaExceededException) StatusCode() int {
 20029  	return s.RespMetadata.StatusCode
 20030  }
 20031  
 20032  // RequestID returns the service's response RequestID for request.
 20033  func (s *ServiceQuotaExceededException) RequestID() string {
 20034  	return s.RespMetadata.RequestID
 20035  }
 20036  
 20037  // Specifies the default value to use when a user doesn't provide a value for
 20038  // a slot.
 20039  type SlotDefaultValue struct {
 20040  	_ struct{} `type:"structure"`
 20041  
 20042  	// The default value to use when a user doesn't provide a value for a slot.
 20043  	//
 20044  	// DefaultValue is a required field
 20045  	DefaultValue *string `locationName:"defaultValue" min:"1" type:"string" required:"true"`
 20046  }
 20047  
 20048  // String returns the string representation.
 20049  //
 20050  // API parameter values that are decorated as "sensitive" in the API will not
 20051  // be included in the string output. The member name will be present, but the
 20052  // value will be replaced with "sensitive".
 20053  func (s SlotDefaultValue) String() string {
 20054  	return awsutil.Prettify(s)
 20055  }
 20056  
 20057  // GoString returns the string representation.
 20058  //
 20059  // API parameter values that are decorated as "sensitive" in the API will not
 20060  // be included in the string output. The member name will be present, but the
 20061  // value will be replaced with "sensitive".
 20062  func (s SlotDefaultValue) GoString() string {
 20063  	return s.String()
 20064  }
 20065  
 20066  // Validate inspects the fields of the type to determine if they are valid.
 20067  func (s *SlotDefaultValue) Validate() error {
 20068  	invalidParams := request.ErrInvalidParams{Context: "SlotDefaultValue"}
 20069  	if s.DefaultValue == nil {
 20070  		invalidParams.Add(request.NewErrParamRequired("DefaultValue"))
 20071  	}
 20072  	if s.DefaultValue != nil && len(*s.DefaultValue) < 1 {
 20073  		invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1))
 20074  	}
 20075  
 20076  	if invalidParams.Len() > 0 {
 20077  		return invalidParams
 20078  	}
 20079  	return nil
 20080  }
 20081  
 20082  // SetDefaultValue sets the DefaultValue field's value.
 20083  func (s *SlotDefaultValue) SetDefaultValue(v string) *SlotDefaultValue {
 20084  	s.DefaultValue = &v
 20085  	return s
 20086  }
 20087  
 20088  // Defines a list of values that Amazon Lex should use as the default value
 20089  // for a slot.
 20090  type SlotDefaultValueSpecification struct {
 20091  	_ struct{} `type:"structure"`
 20092  
 20093  	// A list of default values. Amazon Lex chooses the default value to use in
 20094  	// the order that they are presented in the list.
 20095  	//
 20096  	// DefaultValueList is a required field
 20097  	DefaultValueList []*SlotDefaultValue `locationName:"defaultValueList" type:"list" required:"true"`
 20098  }
 20099  
 20100  // String returns the string representation.
 20101  //
 20102  // API parameter values that are decorated as "sensitive" in the API will not
 20103  // be included in the string output. The member name will be present, but the
 20104  // value will be replaced with "sensitive".
 20105  func (s SlotDefaultValueSpecification) String() string {
 20106  	return awsutil.Prettify(s)
 20107  }
 20108  
 20109  // GoString returns the string representation.
 20110  //
 20111  // API parameter values that are decorated as "sensitive" in the API will not
 20112  // be included in the string output. The member name will be present, but the
 20113  // value will be replaced with "sensitive".
 20114  func (s SlotDefaultValueSpecification) GoString() string {
 20115  	return s.String()
 20116  }
 20117  
 20118  // Validate inspects the fields of the type to determine if they are valid.
 20119  func (s *SlotDefaultValueSpecification) Validate() error {
 20120  	invalidParams := request.ErrInvalidParams{Context: "SlotDefaultValueSpecification"}
 20121  	if s.DefaultValueList == nil {
 20122  		invalidParams.Add(request.NewErrParamRequired("DefaultValueList"))
 20123  	}
 20124  	if s.DefaultValueList != nil {
 20125  		for i, v := range s.DefaultValueList {
 20126  			if v == nil {
 20127  				continue
 20128  			}
 20129  			if err := v.Validate(); err != nil {
 20130  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultValueList", i), err.(request.ErrInvalidParams))
 20131  			}
 20132  		}
 20133  	}
 20134  
 20135  	if invalidParams.Len() > 0 {
 20136  		return invalidParams
 20137  	}
 20138  	return nil
 20139  }
 20140  
 20141  // SetDefaultValueList sets the DefaultValueList field's value.
 20142  func (s *SlotDefaultValueSpecification) SetDefaultValueList(v []*SlotDefaultValue) *SlotDefaultValueSpecification {
 20143  	s.DefaultValueList = v
 20144  	return s
 20145  }
 20146  
 20147  // Filters the response from the ListSlots operation.
 20148  type SlotFilter struct {
 20149  	_ struct{} `type:"structure"`
 20150  
 20151  	// The name of the field to use for filtering.
 20152  	//
 20153  	// Name is a required field
 20154  	Name *string `locationName:"name" type:"string" required:"true" enum:"SlotFilterName"`
 20155  
 20156  	// The operator to use for the filter. Specify EQ when the ListSlots operation
 20157  	// should return only aliases that equal the specified value. Specify CO when
 20158  	// the ListSlots operation should return aliases that contain the specified
 20159  	// value.
 20160  	//
 20161  	// Operator is a required field
 20162  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"SlotFilterOperator"`
 20163  
 20164  	// The value to use to filter the response.
 20165  	//
 20166  	// Values is a required field
 20167  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
 20168  }
 20169  
 20170  // String returns the string representation.
 20171  //
 20172  // API parameter values that are decorated as "sensitive" in the API will not
 20173  // be included in the string output. The member name will be present, but the
 20174  // value will be replaced with "sensitive".
 20175  func (s SlotFilter) String() string {
 20176  	return awsutil.Prettify(s)
 20177  }
 20178  
 20179  // GoString returns the string representation.
 20180  //
 20181  // API parameter values that are decorated as "sensitive" in the API will not
 20182  // be included in the string output. The member name will be present, but the
 20183  // value will be replaced with "sensitive".
 20184  func (s SlotFilter) GoString() string {
 20185  	return s.String()
 20186  }
 20187  
 20188  // Validate inspects the fields of the type to determine if they are valid.
 20189  func (s *SlotFilter) Validate() error {
 20190  	invalidParams := request.ErrInvalidParams{Context: "SlotFilter"}
 20191  	if s.Name == nil {
 20192  		invalidParams.Add(request.NewErrParamRequired("Name"))
 20193  	}
 20194  	if s.Operator == nil {
 20195  		invalidParams.Add(request.NewErrParamRequired("Operator"))
 20196  	}
 20197  	if s.Values == nil {
 20198  		invalidParams.Add(request.NewErrParamRequired("Values"))
 20199  	}
 20200  	if s.Values != nil && len(s.Values) < 1 {
 20201  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
 20202  	}
 20203  
 20204  	if invalidParams.Len() > 0 {
 20205  		return invalidParams
 20206  	}
 20207  	return nil
 20208  }
 20209  
 20210  // SetName sets the Name field's value.
 20211  func (s *SlotFilter) SetName(v string) *SlotFilter {
 20212  	s.Name = &v
 20213  	return s
 20214  }
 20215  
 20216  // SetOperator sets the Operator field's value.
 20217  func (s *SlotFilter) SetOperator(v string) *SlotFilter {
 20218  	s.Operator = &v
 20219  	return s
 20220  }
 20221  
 20222  // SetValues sets the Values field's value.
 20223  func (s *SlotFilter) SetValues(v []*string) *SlotFilter {
 20224  	s.Values = v
 20225  	return s
 20226  }
 20227  
 20228  // Sets the priority that Amazon Lex should use when eliciting slot values from
 20229  // a user.
 20230  type SlotPriority struct {
 20231  	_ struct{} `type:"structure"`
 20232  
 20233  	// The priority that a slot should be elicited.
 20234  	//
 20235  	// Priority is a required field
 20236  	Priority *int64 `locationName:"priority" type:"integer" required:"true"`
 20237  
 20238  	// The unique identifier of the slot.
 20239  	//
 20240  	// SlotId is a required field
 20241  	SlotId *string `locationName:"slotId" min:"10" type:"string" required:"true"`
 20242  }
 20243  
 20244  // String returns the string representation.
 20245  //
 20246  // API parameter values that are decorated as "sensitive" in the API will not
 20247  // be included in the string output. The member name will be present, but the
 20248  // value will be replaced with "sensitive".
 20249  func (s SlotPriority) String() string {
 20250  	return awsutil.Prettify(s)
 20251  }
 20252  
 20253  // GoString returns the string representation.
 20254  //
 20255  // API parameter values that are decorated as "sensitive" in the API will not
 20256  // be included in the string output. The member name will be present, but the
 20257  // value will be replaced with "sensitive".
 20258  func (s SlotPriority) GoString() string {
 20259  	return s.String()
 20260  }
 20261  
 20262  // Validate inspects the fields of the type to determine if they are valid.
 20263  func (s *SlotPriority) Validate() error {
 20264  	invalidParams := request.ErrInvalidParams{Context: "SlotPriority"}
 20265  	if s.Priority == nil {
 20266  		invalidParams.Add(request.NewErrParamRequired("Priority"))
 20267  	}
 20268  	if s.SlotId == nil {
 20269  		invalidParams.Add(request.NewErrParamRequired("SlotId"))
 20270  	}
 20271  	if s.SlotId != nil && len(*s.SlotId) < 10 {
 20272  		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
 20273  	}
 20274  
 20275  	if invalidParams.Len() > 0 {
 20276  		return invalidParams
 20277  	}
 20278  	return nil
 20279  }
 20280  
 20281  // SetPriority sets the Priority field's value.
 20282  func (s *SlotPriority) SetPriority(v int64) *SlotPriority {
 20283  	s.Priority = &v
 20284  	return s
 20285  }
 20286  
 20287  // SetSlotId sets the SlotId field's value.
 20288  func (s *SlotPriority) SetSlotId(v string) *SlotPriority {
 20289  	s.SlotId = &v
 20290  	return s
 20291  }
 20292  
 20293  // Specifies attributes for sorting a list of bots.
 20294  type SlotSortBy struct {
 20295  	_ struct{} `type:"structure"`
 20296  
 20297  	// The attribute to use to sort the list.
 20298  	//
 20299  	// Attribute is a required field
 20300  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"SlotSortAttribute"`
 20301  
 20302  	// The order to sort the list. You can choose ascending or descending.
 20303  	//
 20304  	// Order is a required field
 20305  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
 20306  }
 20307  
 20308  // String returns the string representation.
 20309  //
 20310  // API parameter values that are decorated as "sensitive" in the API will not
 20311  // be included in the string output. The member name will be present, but the
 20312  // value will be replaced with "sensitive".
 20313  func (s SlotSortBy) String() string {
 20314  	return awsutil.Prettify(s)
 20315  }
 20316  
 20317  // GoString 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 SlotSortBy) GoString() string {
 20323  	return s.String()
 20324  }
 20325  
 20326  // Validate inspects the fields of the type to determine if they are valid.
 20327  func (s *SlotSortBy) Validate() error {
 20328  	invalidParams := request.ErrInvalidParams{Context: "SlotSortBy"}
 20329  	if s.Attribute == nil {
 20330  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
 20331  	}
 20332  	if s.Order == nil {
 20333  		invalidParams.Add(request.NewErrParamRequired("Order"))
 20334  	}
 20335  
 20336  	if invalidParams.Len() > 0 {
 20337  		return invalidParams
 20338  	}
 20339  	return nil
 20340  }
 20341  
 20342  // SetAttribute sets the Attribute field's value.
 20343  func (s *SlotSortBy) SetAttribute(v string) *SlotSortBy {
 20344  	s.Attribute = &v
 20345  	return s
 20346  }
 20347  
 20348  // SetOrder sets the Order field's value.
 20349  func (s *SlotSortBy) SetOrder(v string) *SlotSortBy {
 20350  	s.Order = &v
 20351  	return s
 20352  }
 20353  
 20354  // Summary information about a slot, a value that the bot elicits from the user.
 20355  type SlotSummary struct {
 20356  	_ struct{} `type:"structure"`
 20357  
 20358  	// The description of the slot.
 20359  	Description *string `locationName:"description" type:"string"`
 20360  
 20361  	// The timestamp of the last date and time that the slot was updated.
 20362  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 20363  
 20364  	// Whether the slot is required or optional. An intent is complete when all
 20365  	// required slots are filled.
 20366  	SlotConstraint *string `locationName:"slotConstraint" type:"string" enum:"SlotConstraint"`
 20367  
 20368  	// The unique identifier of the slot.
 20369  	SlotId *string `locationName:"slotId" min:"10" type:"string"`
 20370  
 20371  	// The name given to the slot.
 20372  	SlotName *string `locationName:"slotName" min:"1" type:"string"`
 20373  
 20374  	// The unique identifier for the slot type that defines the values for the slot.
 20375  	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
 20376  
 20377  	// Prompts that are sent to the user to elicit a value for the slot.
 20378  	ValueElicitationPromptSpecification *PromptSpecification `locationName:"valueElicitationPromptSpecification" type:"structure"`
 20379  }
 20380  
 20381  // String returns the string representation.
 20382  //
 20383  // API parameter values that are decorated as "sensitive" in the API will not
 20384  // be included in the string output. The member name will be present, but the
 20385  // value will be replaced with "sensitive".
 20386  func (s SlotSummary) String() string {
 20387  	return awsutil.Prettify(s)
 20388  }
 20389  
 20390  // GoString returns the string representation.
 20391  //
 20392  // API parameter values that are decorated as "sensitive" in the API will not
 20393  // be included in the string output. The member name will be present, but the
 20394  // value will be replaced with "sensitive".
 20395  func (s SlotSummary) GoString() string {
 20396  	return s.String()
 20397  }
 20398  
 20399  // SetDescription sets the Description field's value.
 20400  func (s *SlotSummary) SetDescription(v string) *SlotSummary {
 20401  	s.Description = &v
 20402  	return s
 20403  }
 20404  
 20405  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 20406  func (s *SlotSummary) SetLastUpdatedDateTime(v time.Time) *SlotSummary {
 20407  	s.LastUpdatedDateTime = &v
 20408  	return s
 20409  }
 20410  
 20411  // SetSlotConstraint sets the SlotConstraint field's value.
 20412  func (s *SlotSummary) SetSlotConstraint(v string) *SlotSummary {
 20413  	s.SlotConstraint = &v
 20414  	return s
 20415  }
 20416  
 20417  // SetSlotId sets the SlotId field's value.
 20418  func (s *SlotSummary) SetSlotId(v string) *SlotSummary {
 20419  	s.SlotId = &v
 20420  	return s
 20421  }
 20422  
 20423  // SetSlotName sets the SlotName field's value.
 20424  func (s *SlotSummary) SetSlotName(v string) *SlotSummary {
 20425  	s.SlotName = &v
 20426  	return s
 20427  }
 20428  
 20429  // SetSlotTypeId sets the SlotTypeId field's value.
 20430  func (s *SlotSummary) SetSlotTypeId(v string) *SlotSummary {
 20431  	s.SlotTypeId = &v
 20432  	return s
 20433  }
 20434  
 20435  // SetValueElicitationPromptSpecification sets the ValueElicitationPromptSpecification field's value.
 20436  func (s *SlotSummary) SetValueElicitationPromptSpecification(v *PromptSpecification) *SlotSummary {
 20437  	s.ValueElicitationPromptSpecification = v
 20438  	return s
 20439  }
 20440  
 20441  // Filters the response from the ListSlotTypes operation.
 20442  type SlotTypeFilter struct {
 20443  	_ struct{} `type:"structure"`
 20444  
 20445  	// The name of the field to use for filtering.
 20446  	//
 20447  	// Name is a required field
 20448  	Name *string `locationName:"name" type:"string" required:"true" enum:"SlotTypeFilterName"`
 20449  
 20450  	// The operator to use for the filter. Specify EQ when the ListSlotTypes operation
 20451  	// should return only aliases that equal the specified value. Specify CO when
 20452  	// the ListSlotTypes operation should return aliases that contain the specified
 20453  	// value.
 20454  	//
 20455  	// Operator is a required field
 20456  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"SlotTypeFilterOperator"`
 20457  
 20458  	// The value to use to filter the response.
 20459  	//
 20460  	// Values is a required field
 20461  	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
 20462  }
 20463  
 20464  // String returns the string representation.
 20465  //
 20466  // API parameter values that are decorated as "sensitive" in the API will not
 20467  // be included in the string output. The member name will be present, but the
 20468  // value will be replaced with "sensitive".
 20469  func (s SlotTypeFilter) String() string {
 20470  	return awsutil.Prettify(s)
 20471  }
 20472  
 20473  // GoString returns the string representation.
 20474  //
 20475  // API parameter values that are decorated as "sensitive" in the API will not
 20476  // be included in the string output. The member name will be present, but the
 20477  // value will be replaced with "sensitive".
 20478  func (s SlotTypeFilter) GoString() string {
 20479  	return s.String()
 20480  }
 20481  
 20482  // Validate inspects the fields of the type to determine if they are valid.
 20483  func (s *SlotTypeFilter) Validate() error {
 20484  	invalidParams := request.ErrInvalidParams{Context: "SlotTypeFilter"}
 20485  	if s.Name == nil {
 20486  		invalidParams.Add(request.NewErrParamRequired("Name"))
 20487  	}
 20488  	if s.Operator == nil {
 20489  		invalidParams.Add(request.NewErrParamRequired("Operator"))
 20490  	}
 20491  	if s.Values == nil {
 20492  		invalidParams.Add(request.NewErrParamRequired("Values"))
 20493  	}
 20494  	if s.Values != nil && len(s.Values) < 1 {
 20495  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
 20496  	}
 20497  
 20498  	if invalidParams.Len() > 0 {
 20499  		return invalidParams
 20500  	}
 20501  	return nil
 20502  }
 20503  
 20504  // SetName sets the Name field's value.
 20505  func (s *SlotTypeFilter) SetName(v string) *SlotTypeFilter {
 20506  	s.Name = &v
 20507  	return s
 20508  }
 20509  
 20510  // SetOperator sets the Operator field's value.
 20511  func (s *SlotTypeFilter) SetOperator(v string) *SlotTypeFilter {
 20512  	s.Operator = &v
 20513  	return s
 20514  }
 20515  
 20516  // SetValues sets the Values field's value.
 20517  func (s *SlotTypeFilter) SetValues(v []*string) *SlotTypeFilter {
 20518  	s.Values = v
 20519  	return s
 20520  }
 20521  
 20522  // Specifies attributes for sorting a list of slot types.
 20523  type SlotTypeSortBy struct {
 20524  	_ struct{} `type:"structure"`
 20525  
 20526  	// The attribute to use to sort the list of slot types.
 20527  	//
 20528  	// Attribute is a required field
 20529  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"SlotTypeSortAttribute"`
 20530  
 20531  	// The order to sort the list. You can say ascending or descending.
 20532  	//
 20533  	// Order is a required field
 20534  	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
 20535  }
 20536  
 20537  // String returns the string representation.
 20538  //
 20539  // API parameter values that are decorated as "sensitive" in the API will not
 20540  // be included in the string output. The member name will be present, but the
 20541  // value will be replaced with "sensitive".
 20542  func (s SlotTypeSortBy) String() string {
 20543  	return awsutil.Prettify(s)
 20544  }
 20545  
 20546  // GoString returns the string representation.
 20547  //
 20548  // API parameter values that are decorated as "sensitive" in the API will not
 20549  // be included in the string output. The member name will be present, but the
 20550  // value will be replaced with "sensitive".
 20551  func (s SlotTypeSortBy) GoString() string {
 20552  	return s.String()
 20553  }
 20554  
 20555  // Validate inspects the fields of the type to determine if they are valid.
 20556  func (s *SlotTypeSortBy) Validate() error {
 20557  	invalidParams := request.ErrInvalidParams{Context: "SlotTypeSortBy"}
 20558  	if s.Attribute == nil {
 20559  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
 20560  	}
 20561  	if s.Order == nil {
 20562  		invalidParams.Add(request.NewErrParamRequired("Order"))
 20563  	}
 20564  
 20565  	if invalidParams.Len() > 0 {
 20566  		return invalidParams
 20567  	}
 20568  	return nil
 20569  }
 20570  
 20571  // SetAttribute sets the Attribute field's value.
 20572  func (s *SlotTypeSortBy) SetAttribute(v string) *SlotTypeSortBy {
 20573  	s.Attribute = &v
 20574  	return s
 20575  }
 20576  
 20577  // SetOrder sets the Order field's value.
 20578  func (s *SlotTypeSortBy) SetOrder(v string) *SlotTypeSortBy {
 20579  	s.Order = &v
 20580  	return s
 20581  }
 20582  
 20583  // Provides summary information about a slot type.
 20584  type SlotTypeSummary struct {
 20585  	_ struct{} `type:"structure"`
 20586  
 20587  	// The description of the slot type.
 20588  	Description *string `locationName:"description" type:"string"`
 20589  
 20590  	// A timestamp of the date and time that the slot type was last updated.
 20591  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 20592  
 20593  	// If the slot type is derived from a built-on slot type, the name of the parent
 20594  	// slot type.
 20595  	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
 20596  
 20597  	// The unique identifier assigned to the slot type.
 20598  	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
 20599  
 20600  	// The name of the slot type.
 20601  	SlotTypeName *string `locationName:"slotTypeName" 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 SlotTypeSummary) 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 SlotTypeSummary) GoString() string {
 20619  	return s.String()
 20620  }
 20621  
 20622  // SetDescription sets the Description field's value.
 20623  func (s *SlotTypeSummary) SetDescription(v string) *SlotTypeSummary {
 20624  	s.Description = &v
 20625  	return s
 20626  }
 20627  
 20628  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 20629  func (s *SlotTypeSummary) SetLastUpdatedDateTime(v time.Time) *SlotTypeSummary {
 20630  	s.LastUpdatedDateTime = &v
 20631  	return s
 20632  }
 20633  
 20634  // SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
 20635  func (s *SlotTypeSummary) SetParentSlotTypeSignature(v string) *SlotTypeSummary {
 20636  	s.ParentSlotTypeSignature = &v
 20637  	return s
 20638  }
 20639  
 20640  // SetSlotTypeId sets the SlotTypeId field's value.
 20641  func (s *SlotTypeSummary) SetSlotTypeId(v string) *SlotTypeSummary {
 20642  	s.SlotTypeId = &v
 20643  	return s
 20644  }
 20645  
 20646  // SetSlotTypeName sets the SlotTypeName field's value.
 20647  func (s *SlotTypeSummary) SetSlotTypeName(v string) *SlotTypeSummary {
 20648  	s.SlotTypeName = &v
 20649  	return s
 20650  }
 20651  
 20652  // Each slot type can have a set of values. Each SlotTypeValue represents a
 20653  // value that the slot type can take.
 20654  type SlotTypeValue struct {
 20655  	_ struct{} `type:"structure"`
 20656  
 20657  	// The value of the slot type entry.
 20658  	SampleValue *SampleValue `locationName:"sampleValue" type:"structure"`
 20659  
 20660  	// Additional values related to the slot type entry.
 20661  	Synonyms []*SampleValue `locationName:"synonyms" min:"1" type:"list"`
 20662  }
 20663  
 20664  // String returns the string representation.
 20665  //
 20666  // API parameter values that are decorated as "sensitive" in the API will not
 20667  // be included in the string output. The member name will be present, but the
 20668  // value will be replaced with "sensitive".
 20669  func (s SlotTypeValue) String() string {
 20670  	return awsutil.Prettify(s)
 20671  }
 20672  
 20673  // GoString returns the string representation.
 20674  //
 20675  // API parameter values that are decorated as "sensitive" in the API will not
 20676  // be included in the string output. The member name will be present, but the
 20677  // value will be replaced with "sensitive".
 20678  func (s SlotTypeValue) GoString() string {
 20679  	return s.String()
 20680  }
 20681  
 20682  // Validate inspects the fields of the type to determine if they are valid.
 20683  func (s *SlotTypeValue) Validate() error {
 20684  	invalidParams := request.ErrInvalidParams{Context: "SlotTypeValue"}
 20685  	if s.Synonyms != nil && len(s.Synonyms) < 1 {
 20686  		invalidParams.Add(request.NewErrParamMinLen("Synonyms", 1))
 20687  	}
 20688  	if s.SampleValue != nil {
 20689  		if err := s.SampleValue.Validate(); err != nil {
 20690  			invalidParams.AddNested("SampleValue", err.(request.ErrInvalidParams))
 20691  		}
 20692  	}
 20693  	if s.Synonyms != nil {
 20694  		for i, v := range s.Synonyms {
 20695  			if v == nil {
 20696  				continue
 20697  			}
 20698  			if err := v.Validate(); err != nil {
 20699  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Synonyms", i), err.(request.ErrInvalidParams))
 20700  			}
 20701  		}
 20702  	}
 20703  
 20704  	if invalidParams.Len() > 0 {
 20705  		return invalidParams
 20706  	}
 20707  	return nil
 20708  }
 20709  
 20710  // SetSampleValue sets the SampleValue field's value.
 20711  func (s *SlotTypeValue) SetSampleValue(v *SampleValue) *SlotTypeValue {
 20712  	s.SampleValue = v
 20713  	return s
 20714  }
 20715  
 20716  // SetSynonyms sets the Synonyms field's value.
 20717  func (s *SlotTypeValue) SetSynonyms(v []*SampleValue) *SlotTypeValue {
 20718  	s.Synonyms = v
 20719  	return s
 20720  }
 20721  
 20722  // Settings that you can use for eliciting a slot value.
 20723  type SlotValueElicitationSetting struct {
 20724  	_ struct{} `type:"structure"`
 20725  
 20726  	// A list of default values for a slot. Default values are used when Amazon
 20727  	// Lex hasn't determined a value for a slot. You can specify default values
 20728  	// from context variables, session attributes, and defined values.
 20729  	DefaultValueSpecification *SlotDefaultValueSpecification `locationName:"defaultValueSpecification" type:"structure"`
 20730  
 20731  	// The prompt that Amazon Lex uses to elicit the slot value from the user.
 20732  	PromptSpecification *PromptSpecification `locationName:"promptSpecification" type:"structure"`
 20733  
 20734  	// If you know a specific pattern that users might respond to an Amazon Lex
 20735  	// request for a slot value, you can provide those utterances to improve accuracy.
 20736  	// This is optional. In most cases, Amazon Lex is capable of understanding user
 20737  	// utterances.
 20738  	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
 20739  
 20740  	// Specifies whether the slot is required or optional.
 20741  	//
 20742  	// SlotConstraint is a required field
 20743  	SlotConstraint *string `locationName:"slotConstraint" type:"string" required:"true" enum:"SlotConstraint"`
 20744  
 20745  	// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
 20746  	// input.
 20747  	WaitAndContinueSpecification *WaitAndContinueSpecification `locationName:"waitAndContinueSpecification" type:"structure"`
 20748  }
 20749  
 20750  // String returns the string representation.
 20751  //
 20752  // API parameter values that are decorated as "sensitive" in the API will not
 20753  // be included in the string output. The member name will be present, but the
 20754  // value will be replaced with "sensitive".
 20755  func (s SlotValueElicitationSetting) String() string {
 20756  	return awsutil.Prettify(s)
 20757  }
 20758  
 20759  // GoString returns the string representation.
 20760  //
 20761  // API parameter values that are decorated as "sensitive" in the API will not
 20762  // be included in the string output. The member name will be present, but the
 20763  // value will be replaced with "sensitive".
 20764  func (s SlotValueElicitationSetting) GoString() string {
 20765  	return s.String()
 20766  }
 20767  
 20768  // Validate inspects the fields of the type to determine if they are valid.
 20769  func (s *SlotValueElicitationSetting) Validate() error {
 20770  	invalidParams := request.ErrInvalidParams{Context: "SlotValueElicitationSetting"}
 20771  	if s.SlotConstraint == nil {
 20772  		invalidParams.Add(request.NewErrParamRequired("SlotConstraint"))
 20773  	}
 20774  	if s.DefaultValueSpecification != nil {
 20775  		if err := s.DefaultValueSpecification.Validate(); err != nil {
 20776  			invalidParams.AddNested("DefaultValueSpecification", err.(request.ErrInvalidParams))
 20777  		}
 20778  	}
 20779  	if s.PromptSpecification != nil {
 20780  		if err := s.PromptSpecification.Validate(); err != nil {
 20781  			invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams))
 20782  		}
 20783  	}
 20784  	if s.SampleUtterances != nil {
 20785  		for i, v := range s.SampleUtterances {
 20786  			if v == nil {
 20787  				continue
 20788  			}
 20789  			if err := v.Validate(); err != nil {
 20790  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
 20791  			}
 20792  		}
 20793  	}
 20794  	if s.WaitAndContinueSpecification != nil {
 20795  		if err := s.WaitAndContinueSpecification.Validate(); err != nil {
 20796  			invalidParams.AddNested("WaitAndContinueSpecification", err.(request.ErrInvalidParams))
 20797  		}
 20798  	}
 20799  
 20800  	if invalidParams.Len() > 0 {
 20801  		return invalidParams
 20802  	}
 20803  	return nil
 20804  }
 20805  
 20806  // SetDefaultValueSpecification sets the DefaultValueSpecification field's value.
 20807  func (s *SlotValueElicitationSetting) SetDefaultValueSpecification(v *SlotDefaultValueSpecification) *SlotValueElicitationSetting {
 20808  	s.DefaultValueSpecification = v
 20809  	return s
 20810  }
 20811  
 20812  // SetPromptSpecification sets the PromptSpecification field's value.
 20813  func (s *SlotValueElicitationSetting) SetPromptSpecification(v *PromptSpecification) *SlotValueElicitationSetting {
 20814  	s.PromptSpecification = v
 20815  	return s
 20816  }
 20817  
 20818  // SetSampleUtterances sets the SampleUtterances field's value.
 20819  func (s *SlotValueElicitationSetting) SetSampleUtterances(v []*SampleUtterance) *SlotValueElicitationSetting {
 20820  	s.SampleUtterances = v
 20821  	return s
 20822  }
 20823  
 20824  // SetSlotConstraint sets the SlotConstraint field's value.
 20825  func (s *SlotValueElicitationSetting) SetSlotConstraint(v string) *SlotValueElicitationSetting {
 20826  	s.SlotConstraint = &v
 20827  	return s
 20828  }
 20829  
 20830  // SetWaitAndContinueSpecification sets the WaitAndContinueSpecification field's value.
 20831  func (s *SlotValueElicitationSetting) SetWaitAndContinueSpecification(v *WaitAndContinueSpecification) *SlotValueElicitationSetting {
 20832  	s.WaitAndContinueSpecification = v
 20833  	return s
 20834  }
 20835  
 20836  // Provides a regular expression used to validate the value of a slot.
 20837  type SlotValueRegexFilter struct {
 20838  	_ struct{} `type:"structure"`
 20839  
 20840  	// A regular expression used to validate the value of a slot.
 20841  	//
 20842  	// Use a standard regular expression. Amazon Lex supports the following characters
 20843  	// in the regular expression:
 20844  	//
 20845  	//    * A-Z, a-z
 20846  	//
 20847  	//    * 0-9
 20848  	//
 20849  	//    * Unicode characters ("\ u<Unicode>")
 20850  	//
 20851  	// Represent Unicode characters with four digits, for example "\u0041" or "\u005A".
 20852  	//
 20853  	// The following regular expression operators are not supported:
 20854  	//
 20855  	//    * Infinite repeaters: *, +, or {x,} with no upper bound.
 20856  	//
 20857  	//    * Wild card (.)
 20858  	//
 20859  	// Pattern is a required field
 20860  	Pattern *string `locationName:"pattern" min:"1" type:"string" required:"true"`
 20861  }
 20862  
 20863  // String returns the string representation.
 20864  //
 20865  // API parameter values that are decorated as "sensitive" in the API will not
 20866  // be included in the string output. The member name will be present, but the
 20867  // value will be replaced with "sensitive".
 20868  func (s SlotValueRegexFilter) String() string {
 20869  	return awsutil.Prettify(s)
 20870  }
 20871  
 20872  // GoString returns the string representation.
 20873  //
 20874  // API parameter values that are decorated as "sensitive" in the API will not
 20875  // be included in the string output. The member name will be present, but the
 20876  // value will be replaced with "sensitive".
 20877  func (s SlotValueRegexFilter) GoString() string {
 20878  	return s.String()
 20879  }
 20880  
 20881  // Validate inspects the fields of the type to determine if they are valid.
 20882  func (s *SlotValueRegexFilter) Validate() error {
 20883  	invalidParams := request.ErrInvalidParams{Context: "SlotValueRegexFilter"}
 20884  	if s.Pattern == nil {
 20885  		invalidParams.Add(request.NewErrParamRequired("Pattern"))
 20886  	}
 20887  	if s.Pattern != nil && len(*s.Pattern) < 1 {
 20888  		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
 20889  	}
 20890  
 20891  	if invalidParams.Len() > 0 {
 20892  		return invalidParams
 20893  	}
 20894  	return nil
 20895  }
 20896  
 20897  // SetPattern sets the Pattern field's value.
 20898  func (s *SlotValueRegexFilter) SetPattern(v string) *SlotValueRegexFilter {
 20899  	s.Pattern = &v
 20900  	return s
 20901  }
 20902  
 20903  // Contains settings used by Amazon Lex to select a slot value.
 20904  type SlotValueSelectionSetting struct {
 20905  	_ struct{} `type:"structure"`
 20906  
 20907  	// A regular expression used to validate the value of a slot.
 20908  	RegexFilter *SlotValueRegexFilter `locationName:"regexFilter" type:"structure"`
 20909  
 20910  	// Determines the slot resolution strategy that Amazon Lex uses to return slot
 20911  	// type values. The field can be set to one of the following values:
 20912  	//
 20913  	//    * OriginalValue - Returns the value entered by the user, if the user value
 20914  	//    is similar to the slot value.
 20915  	//
 20916  	//    * TopResolution - If there is a resolution list for the slot, return the
 20917  	//    first value in the resolution list as the slot type value. If there is
 20918  	//    no resolution list, null is returned.
 20919  	//
 20920  	// If you don't specify the valueSelectionStrategy, the default is OriginalValue.
 20921  	//
 20922  	// ResolutionStrategy is a required field
 20923  	ResolutionStrategy *string `locationName:"resolutionStrategy" type:"string" required:"true" enum:"SlotValueResolutionStrategy"`
 20924  }
 20925  
 20926  // String returns the string representation.
 20927  //
 20928  // API parameter values that are decorated as "sensitive" in the API will not
 20929  // be included in the string output. The member name will be present, but the
 20930  // value will be replaced with "sensitive".
 20931  func (s SlotValueSelectionSetting) String() string {
 20932  	return awsutil.Prettify(s)
 20933  }
 20934  
 20935  // GoString returns the string representation.
 20936  //
 20937  // API parameter values that are decorated as "sensitive" in the API will not
 20938  // be included in the string output. The member name will be present, but the
 20939  // value will be replaced with "sensitive".
 20940  func (s SlotValueSelectionSetting) GoString() string {
 20941  	return s.String()
 20942  }
 20943  
 20944  // Validate inspects the fields of the type to determine if they are valid.
 20945  func (s *SlotValueSelectionSetting) Validate() error {
 20946  	invalidParams := request.ErrInvalidParams{Context: "SlotValueSelectionSetting"}
 20947  	if s.ResolutionStrategy == nil {
 20948  		invalidParams.Add(request.NewErrParamRequired("ResolutionStrategy"))
 20949  	}
 20950  	if s.RegexFilter != nil {
 20951  		if err := s.RegexFilter.Validate(); err != nil {
 20952  			invalidParams.AddNested("RegexFilter", err.(request.ErrInvalidParams))
 20953  		}
 20954  	}
 20955  
 20956  	if invalidParams.Len() > 0 {
 20957  		return invalidParams
 20958  	}
 20959  	return nil
 20960  }
 20961  
 20962  // SetRegexFilter sets the RegexFilter field's value.
 20963  func (s *SlotValueSelectionSetting) SetRegexFilter(v *SlotValueRegexFilter) *SlotValueSelectionSetting {
 20964  	s.RegexFilter = v
 20965  	return s
 20966  }
 20967  
 20968  // SetResolutionStrategy sets the ResolutionStrategy field's value.
 20969  func (s *SlotValueSelectionSetting) SetResolutionStrategy(v string) *SlotValueSelectionSetting {
 20970  	s.ResolutionStrategy = &v
 20971  	return s
 20972  }
 20973  
 20974  type StartImportInput struct {
 20975  	_ struct{} `type:"structure"`
 20976  
 20977  	// The password used to encrypt the zip archive that contains the bot or bot
 20978  	// locale definition. You should always encrypt the zip archive to protect it
 20979  	// during transit between your site and Amazon Lex.
 20980  	//
 20981  	// FilePassword is a sensitive parameter and its value will be
 20982  	// replaced with "sensitive" in string returned by StartImportInput's
 20983  	// String and GoString methods.
 20984  	FilePassword *string `locationName:"filePassword" min:"1" type:"string" sensitive:"true"`
 20985  
 20986  	// The unique identifier for the import. It is included in the response from
 20987  	// the operation.
 20988  	//
 20989  	// ImportId is a required field
 20990  	ImportId *string `locationName:"importId" min:"10" type:"string" required:"true"`
 20991  
 20992  	// The strategy to use when there is a name conflict between the imported resource
 20993  	// and an existing resource. When the merge strategy is FailOnConflict existing
 20994  	// resources are not overwritten and the import fails.
 20995  	//
 20996  	// MergeStrategy is a required field
 20997  	MergeStrategy *string `locationName:"mergeStrategy" type:"string" required:"true" enum:"MergeStrategy"`
 20998  
 20999  	// Parameters for creating the bot or bot locale.
 21000  	//
 21001  	// ResourceSpecification is a required field
 21002  	ResourceSpecification *ImportResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
 21003  }
 21004  
 21005  // String returns the string representation.
 21006  //
 21007  // API parameter values that are decorated as "sensitive" in the API will not
 21008  // be included in the string output. The member name will be present, but the
 21009  // value will be replaced with "sensitive".
 21010  func (s StartImportInput) String() string {
 21011  	return awsutil.Prettify(s)
 21012  }
 21013  
 21014  // GoString returns the string representation.
 21015  //
 21016  // API parameter values that are decorated as "sensitive" in the API will not
 21017  // be included in the string output. The member name will be present, but the
 21018  // value will be replaced with "sensitive".
 21019  func (s StartImportInput) GoString() string {
 21020  	return s.String()
 21021  }
 21022  
 21023  // Validate inspects the fields of the type to determine if they are valid.
 21024  func (s *StartImportInput) Validate() error {
 21025  	invalidParams := request.ErrInvalidParams{Context: "StartImportInput"}
 21026  	if s.FilePassword != nil && len(*s.FilePassword) < 1 {
 21027  		invalidParams.Add(request.NewErrParamMinLen("FilePassword", 1))
 21028  	}
 21029  	if s.ImportId == nil {
 21030  		invalidParams.Add(request.NewErrParamRequired("ImportId"))
 21031  	}
 21032  	if s.ImportId != nil && len(*s.ImportId) < 10 {
 21033  		invalidParams.Add(request.NewErrParamMinLen("ImportId", 10))
 21034  	}
 21035  	if s.MergeStrategy == nil {
 21036  		invalidParams.Add(request.NewErrParamRequired("MergeStrategy"))
 21037  	}
 21038  	if s.ResourceSpecification == nil {
 21039  		invalidParams.Add(request.NewErrParamRequired("ResourceSpecification"))
 21040  	}
 21041  	if s.ResourceSpecification != nil {
 21042  		if err := s.ResourceSpecification.Validate(); err != nil {
 21043  			invalidParams.AddNested("ResourceSpecification", err.(request.ErrInvalidParams))
 21044  		}
 21045  	}
 21046  
 21047  	if invalidParams.Len() > 0 {
 21048  		return invalidParams
 21049  	}
 21050  	return nil
 21051  }
 21052  
 21053  // SetFilePassword sets the FilePassword field's value.
 21054  func (s *StartImportInput) SetFilePassword(v string) *StartImportInput {
 21055  	s.FilePassword = &v
 21056  	return s
 21057  }
 21058  
 21059  // SetImportId sets the ImportId field's value.
 21060  func (s *StartImportInput) SetImportId(v string) *StartImportInput {
 21061  	s.ImportId = &v
 21062  	return s
 21063  }
 21064  
 21065  // SetMergeStrategy sets the MergeStrategy field's value.
 21066  func (s *StartImportInput) SetMergeStrategy(v string) *StartImportInput {
 21067  	s.MergeStrategy = &v
 21068  	return s
 21069  }
 21070  
 21071  // SetResourceSpecification sets the ResourceSpecification field's value.
 21072  func (s *StartImportInput) SetResourceSpecification(v *ImportResourceSpecification) *StartImportInput {
 21073  	s.ResourceSpecification = v
 21074  	return s
 21075  }
 21076  
 21077  type StartImportOutput struct {
 21078  	_ struct{} `type:"structure"`
 21079  
 21080  	// The date and time that the import request was created.
 21081  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 21082  
 21083  	// A unique identifier for the import.
 21084  	ImportId *string `locationName:"importId" min:"10" type:"string"`
 21085  
 21086  	// The current status of the import. When the status is Complete the bot or
 21087  	// bot alias is ready to use.
 21088  	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
 21089  
 21090  	// The strategy used when there was a name conflict between the imported resource
 21091  	// and an existing resource. When the merge strategy is FailOnConflict existing
 21092  	// resources are not overwritten and the import fails.
 21093  	MergeStrategy *string `locationName:"mergeStrategy" type:"string" enum:"MergeStrategy"`
 21094  
 21095  	// The parameters used when importing the bot or bot locale.
 21096  	ResourceSpecification *ImportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
 21097  }
 21098  
 21099  // String returns the string representation.
 21100  //
 21101  // API parameter values that are decorated as "sensitive" in the API will not
 21102  // be included in the string output. The member name will be present, but the
 21103  // value will be replaced with "sensitive".
 21104  func (s StartImportOutput) String() string {
 21105  	return awsutil.Prettify(s)
 21106  }
 21107  
 21108  // GoString returns the string representation.
 21109  //
 21110  // API parameter values that are decorated as "sensitive" in the API will not
 21111  // be included in the string output. The member name will be present, but the
 21112  // value will be replaced with "sensitive".
 21113  func (s StartImportOutput) GoString() string {
 21114  	return s.String()
 21115  }
 21116  
 21117  // SetCreationDateTime sets the CreationDateTime field's value.
 21118  func (s *StartImportOutput) SetCreationDateTime(v time.Time) *StartImportOutput {
 21119  	s.CreationDateTime = &v
 21120  	return s
 21121  }
 21122  
 21123  // SetImportId sets the ImportId field's value.
 21124  func (s *StartImportOutput) SetImportId(v string) *StartImportOutput {
 21125  	s.ImportId = &v
 21126  	return s
 21127  }
 21128  
 21129  // SetImportStatus sets the ImportStatus field's value.
 21130  func (s *StartImportOutput) SetImportStatus(v string) *StartImportOutput {
 21131  	s.ImportStatus = &v
 21132  	return s
 21133  }
 21134  
 21135  // SetMergeStrategy sets the MergeStrategy field's value.
 21136  func (s *StartImportOutput) SetMergeStrategy(v string) *StartImportOutput {
 21137  	s.MergeStrategy = &v
 21138  	return s
 21139  }
 21140  
 21141  // SetResourceSpecification sets the ResourceSpecification field's value.
 21142  func (s *StartImportOutput) SetResourceSpecification(v *ImportResourceSpecification) *StartImportOutput {
 21143  	s.ResourceSpecification = v
 21144  	return s
 21145  }
 21146  
 21147  // Defines the messages that Amazon Lex sends to a user to remind them that
 21148  // the bot is waiting for a response.
 21149  type StillWaitingResponseSpecification struct {
 21150  	_ struct{} `type:"structure"`
 21151  
 21152  	// Indicates that the user can interrupt the response by speaking while the
 21153  	// message is being played.
 21154  	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
 21155  
 21156  	// How often a message should be sent to the user. Minimum of 1 second, maximum
 21157  	// of 5 minutes.
 21158  	//
 21159  	// FrequencyInSeconds is a required field
 21160  	FrequencyInSeconds *int64 `locationName:"frequencyInSeconds" min:"1" type:"integer" required:"true"`
 21161  
 21162  	// One or more message groups, each containing one or more messages, that define
 21163  	// the prompts that Amazon Lex sends to the user.
 21164  	//
 21165  	// MessageGroups is a required field
 21166  	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
 21167  
 21168  	// If Amazon Lex waits longer than this length of time for a response, it will
 21169  	// stop sending messages.
 21170  	//
 21171  	// TimeoutInSeconds is a required field
 21172  	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" min:"1" type:"integer" required:"true"`
 21173  }
 21174  
 21175  // String returns the string representation.
 21176  //
 21177  // API parameter values that are decorated as "sensitive" in the API will not
 21178  // be included in the string output. The member name will be present, but the
 21179  // value will be replaced with "sensitive".
 21180  func (s StillWaitingResponseSpecification) String() string {
 21181  	return awsutil.Prettify(s)
 21182  }
 21183  
 21184  // GoString returns the string representation.
 21185  //
 21186  // API parameter values that are decorated as "sensitive" in the API will not
 21187  // be included in the string output. The member name will be present, but the
 21188  // value will be replaced with "sensitive".
 21189  func (s StillWaitingResponseSpecification) GoString() string {
 21190  	return s.String()
 21191  }
 21192  
 21193  // Validate inspects the fields of the type to determine if they are valid.
 21194  func (s *StillWaitingResponseSpecification) Validate() error {
 21195  	invalidParams := request.ErrInvalidParams{Context: "StillWaitingResponseSpecification"}
 21196  	if s.FrequencyInSeconds == nil {
 21197  		invalidParams.Add(request.NewErrParamRequired("FrequencyInSeconds"))
 21198  	}
 21199  	if s.FrequencyInSeconds != nil && *s.FrequencyInSeconds < 1 {
 21200  		invalidParams.Add(request.NewErrParamMinValue("FrequencyInSeconds", 1))
 21201  	}
 21202  	if s.MessageGroups == nil {
 21203  		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
 21204  	}
 21205  	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
 21206  		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
 21207  	}
 21208  	if s.TimeoutInSeconds == nil {
 21209  		invalidParams.Add(request.NewErrParamRequired("TimeoutInSeconds"))
 21210  	}
 21211  	if s.TimeoutInSeconds != nil && *s.TimeoutInSeconds < 1 {
 21212  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInSeconds", 1))
 21213  	}
 21214  	if s.MessageGroups != nil {
 21215  		for i, v := range s.MessageGroups {
 21216  			if v == nil {
 21217  				continue
 21218  			}
 21219  			if err := v.Validate(); err != nil {
 21220  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
 21221  			}
 21222  		}
 21223  	}
 21224  
 21225  	if invalidParams.Len() > 0 {
 21226  		return invalidParams
 21227  	}
 21228  	return nil
 21229  }
 21230  
 21231  // SetAllowInterrupt sets the AllowInterrupt field's value.
 21232  func (s *StillWaitingResponseSpecification) SetAllowInterrupt(v bool) *StillWaitingResponseSpecification {
 21233  	s.AllowInterrupt = &v
 21234  	return s
 21235  }
 21236  
 21237  // SetFrequencyInSeconds sets the FrequencyInSeconds field's value.
 21238  func (s *StillWaitingResponseSpecification) SetFrequencyInSeconds(v int64) *StillWaitingResponseSpecification {
 21239  	s.FrequencyInSeconds = &v
 21240  	return s
 21241  }
 21242  
 21243  // SetMessageGroups sets the MessageGroups field's value.
 21244  func (s *StillWaitingResponseSpecification) SetMessageGroups(v []*MessageGroup) *StillWaitingResponseSpecification {
 21245  	s.MessageGroups = v
 21246  	return s
 21247  }
 21248  
 21249  // SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
 21250  func (s *StillWaitingResponseSpecification) SetTimeoutInSeconds(v int64) *StillWaitingResponseSpecification {
 21251  	s.TimeoutInSeconds = &v
 21252  	return s
 21253  }
 21254  
 21255  type TagResourceInput struct {
 21256  	_ struct{} `type:"structure"`
 21257  
 21258  	// The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.
 21259  	//
 21260  	// ResourceARN is a required field
 21261  	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
 21262  
 21263  	// A list of tag keys to add to the resource. If a tag key already exists, the
 21264  	// existing value is replaced with the new value.
 21265  	//
 21266  	// Tags is a required field
 21267  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
 21268  }
 21269  
 21270  // String returns the string representation.
 21271  //
 21272  // API parameter values that are decorated as "sensitive" in the API will not
 21273  // be included in the string output. The member name will be present, but the
 21274  // value will be replaced with "sensitive".
 21275  func (s TagResourceInput) String() string {
 21276  	return awsutil.Prettify(s)
 21277  }
 21278  
 21279  // GoString returns the string representation.
 21280  //
 21281  // API parameter values that are decorated as "sensitive" in the API will not
 21282  // be included in the string output. The member name will be present, but the
 21283  // value will be replaced with "sensitive".
 21284  func (s TagResourceInput) GoString() string {
 21285  	return s.String()
 21286  }
 21287  
 21288  // Validate inspects the fields of the type to determine if they are valid.
 21289  func (s *TagResourceInput) Validate() error {
 21290  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 21291  	if s.ResourceARN == nil {
 21292  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 21293  	}
 21294  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 21295  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 21296  	}
 21297  	if s.Tags == nil {
 21298  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 21299  	}
 21300  
 21301  	if invalidParams.Len() > 0 {
 21302  		return invalidParams
 21303  	}
 21304  	return nil
 21305  }
 21306  
 21307  // SetResourceARN sets the ResourceARN field's value.
 21308  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
 21309  	s.ResourceARN = &v
 21310  	return s
 21311  }
 21312  
 21313  // SetTags sets the Tags field's value.
 21314  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 21315  	s.Tags = v
 21316  	return s
 21317  }
 21318  
 21319  type TagResourceOutput struct {
 21320  	_ struct{} `type:"structure" nopayload:"true"`
 21321  }
 21322  
 21323  // String returns the string representation.
 21324  //
 21325  // API parameter values that are decorated as "sensitive" in the API will not
 21326  // be included in the string output. The member name will be present, but the
 21327  // value will be replaced with "sensitive".
 21328  func (s TagResourceOutput) String() string {
 21329  	return awsutil.Prettify(s)
 21330  }
 21331  
 21332  // GoString returns the string representation.
 21333  //
 21334  // API parameter values that are decorated as "sensitive" in the API will not
 21335  // be included in the string output. The member name will be present, but the
 21336  // value will be replaced with "sensitive".
 21337  func (s TagResourceOutput) GoString() string {
 21338  	return s.String()
 21339  }
 21340  
 21341  // Defines the Amazon CloudWatch Logs destination log group for conversation
 21342  // text logs.
 21343  type TextLogDestination struct {
 21344  	_ struct{} `type:"structure"`
 21345  
 21346  	// Defines the Amazon CloudWatch Logs log group where text and metadata logs
 21347  	// are delivered.
 21348  	//
 21349  	// CloudWatch is a required field
 21350  	CloudWatch *CloudWatchLogGroupLogDestination `locationName:"cloudWatch" type:"structure" required:"true"`
 21351  }
 21352  
 21353  // String returns the string representation.
 21354  //
 21355  // API parameter values that are decorated as "sensitive" in the API will not
 21356  // be included in the string output. The member name will be present, but the
 21357  // value will be replaced with "sensitive".
 21358  func (s TextLogDestination) String() string {
 21359  	return awsutil.Prettify(s)
 21360  }
 21361  
 21362  // GoString returns the string representation.
 21363  //
 21364  // API parameter values that are decorated as "sensitive" in the API will not
 21365  // be included in the string output. The member name will be present, but the
 21366  // value will be replaced with "sensitive".
 21367  func (s TextLogDestination) GoString() string {
 21368  	return s.String()
 21369  }
 21370  
 21371  // Validate inspects the fields of the type to determine if they are valid.
 21372  func (s *TextLogDestination) Validate() error {
 21373  	invalidParams := request.ErrInvalidParams{Context: "TextLogDestination"}
 21374  	if s.CloudWatch == nil {
 21375  		invalidParams.Add(request.NewErrParamRequired("CloudWatch"))
 21376  	}
 21377  	if s.CloudWatch != nil {
 21378  		if err := s.CloudWatch.Validate(); err != nil {
 21379  			invalidParams.AddNested("CloudWatch", err.(request.ErrInvalidParams))
 21380  		}
 21381  	}
 21382  
 21383  	if invalidParams.Len() > 0 {
 21384  		return invalidParams
 21385  	}
 21386  	return nil
 21387  }
 21388  
 21389  // SetCloudWatch sets the CloudWatch field's value.
 21390  func (s *TextLogDestination) SetCloudWatch(v *CloudWatchLogGroupLogDestination) *TextLogDestination {
 21391  	s.CloudWatch = v
 21392  	return s
 21393  }
 21394  
 21395  // Defines settings to enable text conversation logs.
 21396  type TextLogSetting struct {
 21397  	_ struct{} `type:"structure"`
 21398  
 21399  	// Defines the Amazon CloudWatch Logs destination log group for conversation
 21400  	// text logs.
 21401  	//
 21402  	// Destination is a required field
 21403  	Destination *TextLogDestination `locationName:"destination" type:"structure" required:"true"`
 21404  
 21405  	// Determines whether conversation logs should be stored for an alias.
 21406  	//
 21407  	// Enabled is a required field
 21408  	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
 21409  }
 21410  
 21411  // String returns the string representation.
 21412  //
 21413  // API parameter values that are decorated as "sensitive" in the API will not
 21414  // be included in the string output. The member name will be present, but the
 21415  // value will be replaced with "sensitive".
 21416  func (s TextLogSetting) String() string {
 21417  	return awsutil.Prettify(s)
 21418  }
 21419  
 21420  // GoString returns the string representation.
 21421  //
 21422  // API parameter values that are decorated as "sensitive" in the API will not
 21423  // be included in the string output. The member name will be present, but the
 21424  // value will be replaced with "sensitive".
 21425  func (s TextLogSetting) GoString() string {
 21426  	return s.String()
 21427  }
 21428  
 21429  // Validate inspects the fields of the type to determine if they are valid.
 21430  func (s *TextLogSetting) Validate() error {
 21431  	invalidParams := request.ErrInvalidParams{Context: "TextLogSetting"}
 21432  	if s.Destination == nil {
 21433  		invalidParams.Add(request.NewErrParamRequired("Destination"))
 21434  	}
 21435  	if s.Enabled == nil {
 21436  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
 21437  	}
 21438  	if s.Destination != nil {
 21439  		if err := s.Destination.Validate(); err != nil {
 21440  			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
 21441  		}
 21442  	}
 21443  
 21444  	if invalidParams.Len() > 0 {
 21445  		return invalidParams
 21446  	}
 21447  	return nil
 21448  }
 21449  
 21450  // SetDestination sets the Destination field's value.
 21451  func (s *TextLogSetting) SetDestination(v *TextLogDestination) *TextLogSetting {
 21452  	s.Destination = v
 21453  	return s
 21454  }
 21455  
 21456  // SetEnabled sets the Enabled field's value.
 21457  func (s *TextLogSetting) SetEnabled(v bool) *TextLogSetting {
 21458  	s.Enabled = &v
 21459  	return s
 21460  }
 21461  
 21462  // Your request rate is too high. Reduce the frequency of requests.
 21463  type ThrottlingException struct {
 21464  	_            struct{}                  `type:"structure"`
 21465  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21466  
 21467  	Message_ *string `locationName:"message" type:"string"`
 21468  
 21469  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
 21470  }
 21471  
 21472  // String returns the string representation.
 21473  //
 21474  // API parameter values that are decorated as "sensitive" in the API will not
 21475  // be included in the string output. The member name will be present, but the
 21476  // value will be replaced with "sensitive".
 21477  func (s ThrottlingException) String() string {
 21478  	return awsutil.Prettify(s)
 21479  }
 21480  
 21481  // GoString returns the string representation.
 21482  //
 21483  // API parameter values that are decorated as "sensitive" in the API will not
 21484  // be included in the string output. The member name will be present, but the
 21485  // value will be replaced with "sensitive".
 21486  func (s ThrottlingException) GoString() string {
 21487  	return s.String()
 21488  }
 21489  
 21490  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 21491  	return &ThrottlingException{
 21492  		RespMetadata: v,
 21493  	}
 21494  }
 21495  
 21496  // Code returns the exception type name.
 21497  func (s *ThrottlingException) Code() string {
 21498  	return "ThrottlingException"
 21499  }
 21500  
 21501  // Message returns the exception's message.
 21502  func (s *ThrottlingException) Message() string {
 21503  	if s.Message_ != nil {
 21504  		return *s.Message_
 21505  	}
 21506  	return ""
 21507  }
 21508  
 21509  // OrigErr always returns nil, satisfies awserr.Error interface.
 21510  func (s *ThrottlingException) OrigErr() error {
 21511  	return nil
 21512  }
 21513  
 21514  func (s *ThrottlingException) Error() string {
 21515  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 21516  }
 21517  
 21518  // Status code returns the HTTP status code for the request's response error.
 21519  func (s *ThrottlingException) StatusCode() int {
 21520  	return s.RespMetadata.StatusCode
 21521  }
 21522  
 21523  // RequestID returns the service's response RequestID for request.
 21524  func (s *ThrottlingException) RequestID() string {
 21525  	return s.RespMetadata.RequestID
 21526  }
 21527  
 21528  type UntagResourceInput struct {
 21529  	_ struct{} `type:"structure" nopayload:"true"`
 21530  
 21531  	// The Amazon Resource Name (ARN) of the resource to remove the tags from.
 21532  	//
 21533  	// ResourceARN is a required field
 21534  	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
 21535  
 21536  	// A list of tag keys to remove from the resource. If a tag key does not exist
 21537  	// on the resource, it is ignored.
 21538  	//
 21539  	// TagKeys is a required field
 21540  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 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 UntagResourceInput) 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 UntagResourceInput) GoString() string {
 21558  	return s.String()
 21559  }
 21560  
 21561  // Validate inspects the fields of the type to determine if they are valid.
 21562  func (s *UntagResourceInput) Validate() error {
 21563  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 21564  	if s.ResourceARN == nil {
 21565  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 21566  	}
 21567  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 21568  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 21569  	}
 21570  	if s.TagKeys == nil {
 21571  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 21572  	}
 21573  
 21574  	if invalidParams.Len() > 0 {
 21575  		return invalidParams
 21576  	}
 21577  	return nil
 21578  }
 21579  
 21580  // SetResourceARN sets the ResourceARN field's value.
 21581  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
 21582  	s.ResourceARN = &v
 21583  	return s
 21584  }
 21585  
 21586  // SetTagKeys sets the TagKeys field's value.
 21587  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 21588  	s.TagKeys = v
 21589  	return s
 21590  }
 21591  
 21592  type UntagResourceOutput struct {
 21593  	_ struct{} `type:"structure" nopayload:"true"`
 21594  }
 21595  
 21596  // String returns the string representation.
 21597  //
 21598  // API parameter values that are decorated as "sensitive" in the API will not
 21599  // be included in the string output. The member name will be present, but the
 21600  // value will be replaced with "sensitive".
 21601  func (s UntagResourceOutput) String() string {
 21602  	return awsutil.Prettify(s)
 21603  }
 21604  
 21605  // GoString returns the string representation.
 21606  //
 21607  // API parameter values that are decorated as "sensitive" in the API will not
 21608  // be included in the string output. The member name will be present, but the
 21609  // value will be replaced with "sensitive".
 21610  func (s UntagResourceOutput) GoString() string {
 21611  	return s.String()
 21612  }
 21613  
 21614  type UpdateBotAliasInput struct {
 21615  	_ struct{} `type:"structure"`
 21616  
 21617  	// The unique identifier of the bot alias.
 21618  	//
 21619  	// BotAliasId is a required field
 21620  	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
 21621  
 21622  	// The new Lambda functions to use in each locale for the bot alias.
 21623  	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
 21624  
 21625  	// The new name to assign to the bot alias.
 21626  	//
 21627  	// BotAliasName is a required field
 21628  	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string" required:"true"`
 21629  
 21630  	// The identifier of the bot with the updated alias.
 21631  	//
 21632  	// BotId is a required field
 21633  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 21634  
 21635  	// The new bot version to assign to the bot alias.
 21636  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 21637  
 21638  	// The new settings for storing conversation logs in Amazon CloudWatch Logs
 21639  	// and Amazon S3 buckets.
 21640  	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
 21641  
 21642  	// The new description to assign to the bot alias.
 21643  	Description *string `locationName:"description" type:"string"`
 21644  
 21645  	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
 21646  	// of user utterances.
 21647  	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
 21648  }
 21649  
 21650  // String returns the string representation.
 21651  //
 21652  // API parameter values that are decorated as "sensitive" in the API will not
 21653  // be included in the string output. The member name will be present, but the
 21654  // value will be replaced with "sensitive".
 21655  func (s UpdateBotAliasInput) String() string {
 21656  	return awsutil.Prettify(s)
 21657  }
 21658  
 21659  // GoString returns the string representation.
 21660  //
 21661  // API parameter values that are decorated as "sensitive" in the API will not
 21662  // be included in the string output. The member name will be present, but the
 21663  // value will be replaced with "sensitive".
 21664  func (s UpdateBotAliasInput) GoString() string {
 21665  	return s.String()
 21666  }
 21667  
 21668  // Validate inspects the fields of the type to determine if they are valid.
 21669  func (s *UpdateBotAliasInput) Validate() error {
 21670  	invalidParams := request.ErrInvalidParams{Context: "UpdateBotAliasInput"}
 21671  	if s.BotAliasId == nil {
 21672  		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
 21673  	}
 21674  	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
 21675  		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
 21676  	}
 21677  	if s.BotAliasLocaleSettings != nil && len(s.BotAliasLocaleSettings) < 1 {
 21678  		invalidParams.Add(request.NewErrParamMinLen("BotAliasLocaleSettings", 1))
 21679  	}
 21680  	if s.BotAliasName == nil {
 21681  		invalidParams.Add(request.NewErrParamRequired("BotAliasName"))
 21682  	}
 21683  	if s.BotAliasName != nil && len(*s.BotAliasName) < 1 {
 21684  		invalidParams.Add(request.NewErrParamMinLen("BotAliasName", 1))
 21685  	}
 21686  	if s.BotId == nil {
 21687  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 21688  	}
 21689  	if s.BotId != nil && len(*s.BotId) < 10 {
 21690  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 21691  	}
 21692  	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
 21693  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
 21694  	}
 21695  	if s.BotAliasLocaleSettings != nil {
 21696  		for i, v := range s.BotAliasLocaleSettings {
 21697  			if v == nil {
 21698  				continue
 21699  			}
 21700  			if err := v.Validate(); err != nil {
 21701  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotAliasLocaleSettings", i), err.(request.ErrInvalidParams))
 21702  			}
 21703  		}
 21704  	}
 21705  	if s.ConversationLogSettings != nil {
 21706  		if err := s.ConversationLogSettings.Validate(); err != nil {
 21707  			invalidParams.AddNested("ConversationLogSettings", err.(request.ErrInvalidParams))
 21708  		}
 21709  	}
 21710  	if s.SentimentAnalysisSettings != nil {
 21711  		if err := s.SentimentAnalysisSettings.Validate(); err != nil {
 21712  			invalidParams.AddNested("SentimentAnalysisSettings", err.(request.ErrInvalidParams))
 21713  		}
 21714  	}
 21715  
 21716  	if invalidParams.Len() > 0 {
 21717  		return invalidParams
 21718  	}
 21719  	return nil
 21720  }
 21721  
 21722  // SetBotAliasId sets the BotAliasId field's value.
 21723  func (s *UpdateBotAliasInput) SetBotAliasId(v string) *UpdateBotAliasInput {
 21724  	s.BotAliasId = &v
 21725  	return s
 21726  }
 21727  
 21728  // SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
 21729  func (s *UpdateBotAliasInput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *UpdateBotAliasInput {
 21730  	s.BotAliasLocaleSettings = v
 21731  	return s
 21732  }
 21733  
 21734  // SetBotAliasName sets the BotAliasName field's value.
 21735  func (s *UpdateBotAliasInput) SetBotAliasName(v string) *UpdateBotAliasInput {
 21736  	s.BotAliasName = &v
 21737  	return s
 21738  }
 21739  
 21740  // SetBotId sets the BotId field's value.
 21741  func (s *UpdateBotAliasInput) SetBotId(v string) *UpdateBotAliasInput {
 21742  	s.BotId = &v
 21743  	return s
 21744  }
 21745  
 21746  // SetBotVersion sets the BotVersion field's value.
 21747  func (s *UpdateBotAliasInput) SetBotVersion(v string) *UpdateBotAliasInput {
 21748  	s.BotVersion = &v
 21749  	return s
 21750  }
 21751  
 21752  // SetConversationLogSettings sets the ConversationLogSettings field's value.
 21753  func (s *UpdateBotAliasInput) SetConversationLogSettings(v *ConversationLogSettings) *UpdateBotAliasInput {
 21754  	s.ConversationLogSettings = v
 21755  	return s
 21756  }
 21757  
 21758  // SetDescription sets the Description field's value.
 21759  func (s *UpdateBotAliasInput) SetDescription(v string) *UpdateBotAliasInput {
 21760  	s.Description = &v
 21761  	return s
 21762  }
 21763  
 21764  // SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
 21765  func (s *UpdateBotAliasInput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *UpdateBotAliasInput {
 21766  	s.SentimentAnalysisSettings = v
 21767  	return s
 21768  }
 21769  
 21770  type UpdateBotAliasOutput struct {
 21771  	_ struct{} `type:"structure"`
 21772  
 21773  	// The identifier of the updated bot alias.
 21774  	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
 21775  
 21776  	// The updated Lambda functions to use in each locale for the bot alias.
 21777  	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
 21778  
 21779  	// The updated name of the bot alias.
 21780  	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
 21781  
 21782  	// The current status of the bot alias. When the status is Available the alias
 21783  	// is ready for use.
 21784  	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
 21785  
 21786  	// The identifier of the bot with the updated alias.
 21787  	BotId *string `locationName:"botId" min:"10" type:"string"`
 21788  
 21789  	// The updated version of the bot that the alias points to.
 21790  	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
 21791  
 21792  	// The updated settings for storing conversation logs in Amazon CloudWatch Logs
 21793  	// and Amazon S3 buckets.
 21794  	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
 21795  
 21796  	// A timestamp of the date and time that the bot was created.
 21797  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 21798  
 21799  	// The updated description of the bot alias.
 21800  	Description *string `locationName:"description" type:"string"`
 21801  
 21802  	// A timestamp of the date and time that the bot was last updated.
 21803  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 21804  
 21805  	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
 21806  	// of user utterances.
 21807  	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
 21808  }
 21809  
 21810  // String returns the string representation.
 21811  //
 21812  // API parameter values that are decorated as "sensitive" in the API will not
 21813  // be included in the string output. The member name will be present, but the
 21814  // value will be replaced with "sensitive".
 21815  func (s UpdateBotAliasOutput) String() string {
 21816  	return awsutil.Prettify(s)
 21817  }
 21818  
 21819  // GoString returns the string representation.
 21820  //
 21821  // API parameter values that are decorated as "sensitive" in the API will not
 21822  // be included in the string output. The member name will be present, but the
 21823  // value will be replaced with "sensitive".
 21824  func (s UpdateBotAliasOutput) GoString() string {
 21825  	return s.String()
 21826  }
 21827  
 21828  // SetBotAliasId sets the BotAliasId field's value.
 21829  func (s *UpdateBotAliasOutput) SetBotAliasId(v string) *UpdateBotAliasOutput {
 21830  	s.BotAliasId = &v
 21831  	return s
 21832  }
 21833  
 21834  // SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
 21835  func (s *UpdateBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *UpdateBotAliasOutput {
 21836  	s.BotAliasLocaleSettings = v
 21837  	return s
 21838  }
 21839  
 21840  // SetBotAliasName sets the BotAliasName field's value.
 21841  func (s *UpdateBotAliasOutput) SetBotAliasName(v string) *UpdateBotAliasOutput {
 21842  	s.BotAliasName = &v
 21843  	return s
 21844  }
 21845  
 21846  // SetBotAliasStatus sets the BotAliasStatus field's value.
 21847  func (s *UpdateBotAliasOutput) SetBotAliasStatus(v string) *UpdateBotAliasOutput {
 21848  	s.BotAliasStatus = &v
 21849  	return s
 21850  }
 21851  
 21852  // SetBotId sets the BotId field's value.
 21853  func (s *UpdateBotAliasOutput) SetBotId(v string) *UpdateBotAliasOutput {
 21854  	s.BotId = &v
 21855  	return s
 21856  }
 21857  
 21858  // SetBotVersion sets the BotVersion field's value.
 21859  func (s *UpdateBotAliasOutput) SetBotVersion(v string) *UpdateBotAliasOutput {
 21860  	s.BotVersion = &v
 21861  	return s
 21862  }
 21863  
 21864  // SetConversationLogSettings sets the ConversationLogSettings field's value.
 21865  func (s *UpdateBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *UpdateBotAliasOutput {
 21866  	s.ConversationLogSettings = v
 21867  	return s
 21868  }
 21869  
 21870  // SetCreationDateTime sets the CreationDateTime field's value.
 21871  func (s *UpdateBotAliasOutput) SetCreationDateTime(v time.Time) *UpdateBotAliasOutput {
 21872  	s.CreationDateTime = &v
 21873  	return s
 21874  }
 21875  
 21876  // SetDescription sets the Description field's value.
 21877  func (s *UpdateBotAliasOutput) SetDescription(v string) *UpdateBotAliasOutput {
 21878  	s.Description = &v
 21879  	return s
 21880  }
 21881  
 21882  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 21883  func (s *UpdateBotAliasOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotAliasOutput {
 21884  	s.LastUpdatedDateTime = &v
 21885  	return s
 21886  }
 21887  
 21888  // SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
 21889  func (s *UpdateBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *UpdateBotAliasOutput {
 21890  	s.SentimentAnalysisSettings = v
 21891  	return s
 21892  }
 21893  
 21894  type UpdateBotInput struct {
 21895  	_ struct{} `type:"structure"`
 21896  
 21897  	// The unique identifier of the bot to update. This identifier is returned by
 21898  	// the CreateBot operation.
 21899  	//
 21900  	// BotId is a required field
 21901  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 21902  
 21903  	// The new name of the bot. The name must be unique in the account that creates
 21904  	// the bot.
 21905  	//
 21906  	// BotName is a required field
 21907  	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
 21908  
 21909  	// Provides information on additional privacy protections Amazon Lex should
 21910  	// use with the bot's data.
 21911  	//
 21912  	// DataPrivacy is a required field
 21913  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
 21914  
 21915  	// A description of the bot.
 21916  	Description *string `locationName:"description" type:"string"`
 21917  
 21918  	// The time, in seconds, that Amazon Lex should keep information about a user's
 21919  	// conversation with the bot.
 21920  	//
 21921  	// A user interaction remains active for the amount of time specified. If no
 21922  	// conversation occurs during this time, the session expires and Amazon Lex
 21923  	// deletes any data provided before the timeout.
 21924  	//
 21925  	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
 21926  	//
 21927  	// IdleSessionTTLInSeconds is a required field
 21928  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer" required:"true"`
 21929  
 21930  	// The Amazon Resource Name (ARN) of an IAM role that has permissions to access
 21931  	// the bot.
 21932  	//
 21933  	// RoleArn is a required field
 21934  	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
 21935  }
 21936  
 21937  // String returns the string representation.
 21938  //
 21939  // API parameter values that are decorated as "sensitive" in the API will not
 21940  // be included in the string output. The member name will be present, but the
 21941  // value will be replaced with "sensitive".
 21942  func (s UpdateBotInput) String() string {
 21943  	return awsutil.Prettify(s)
 21944  }
 21945  
 21946  // GoString returns the string representation.
 21947  //
 21948  // API parameter values that are decorated as "sensitive" in the API will not
 21949  // be included in the string output. The member name will be present, but the
 21950  // value will be replaced with "sensitive".
 21951  func (s UpdateBotInput) GoString() string {
 21952  	return s.String()
 21953  }
 21954  
 21955  // Validate inspects the fields of the type to determine if they are valid.
 21956  func (s *UpdateBotInput) Validate() error {
 21957  	invalidParams := request.ErrInvalidParams{Context: "UpdateBotInput"}
 21958  	if s.BotId == nil {
 21959  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 21960  	}
 21961  	if s.BotId != nil && len(*s.BotId) < 10 {
 21962  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 21963  	}
 21964  	if s.BotName == nil {
 21965  		invalidParams.Add(request.NewErrParamRequired("BotName"))
 21966  	}
 21967  	if s.BotName != nil && len(*s.BotName) < 1 {
 21968  		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
 21969  	}
 21970  	if s.DataPrivacy == nil {
 21971  		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
 21972  	}
 21973  	if s.IdleSessionTTLInSeconds == nil {
 21974  		invalidParams.Add(request.NewErrParamRequired("IdleSessionTTLInSeconds"))
 21975  	}
 21976  	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
 21977  		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
 21978  	}
 21979  	if s.RoleArn == nil {
 21980  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 21981  	}
 21982  	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
 21983  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
 21984  	}
 21985  	if s.DataPrivacy != nil {
 21986  		if err := s.DataPrivacy.Validate(); err != nil {
 21987  			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
 21988  		}
 21989  	}
 21990  
 21991  	if invalidParams.Len() > 0 {
 21992  		return invalidParams
 21993  	}
 21994  	return nil
 21995  }
 21996  
 21997  // SetBotId sets the BotId field's value.
 21998  func (s *UpdateBotInput) SetBotId(v string) *UpdateBotInput {
 21999  	s.BotId = &v
 22000  	return s
 22001  }
 22002  
 22003  // SetBotName sets the BotName field's value.
 22004  func (s *UpdateBotInput) SetBotName(v string) *UpdateBotInput {
 22005  	s.BotName = &v
 22006  	return s
 22007  }
 22008  
 22009  // SetDataPrivacy sets the DataPrivacy field's value.
 22010  func (s *UpdateBotInput) SetDataPrivacy(v *DataPrivacy) *UpdateBotInput {
 22011  	s.DataPrivacy = v
 22012  	return s
 22013  }
 22014  
 22015  // SetDescription sets the Description field's value.
 22016  func (s *UpdateBotInput) SetDescription(v string) *UpdateBotInput {
 22017  	s.Description = &v
 22018  	return s
 22019  }
 22020  
 22021  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
 22022  func (s *UpdateBotInput) SetIdleSessionTTLInSeconds(v int64) *UpdateBotInput {
 22023  	s.IdleSessionTTLInSeconds = &v
 22024  	return s
 22025  }
 22026  
 22027  // SetRoleArn sets the RoleArn field's value.
 22028  func (s *UpdateBotInput) SetRoleArn(v string) *UpdateBotInput {
 22029  	s.RoleArn = &v
 22030  	return s
 22031  }
 22032  
 22033  type UpdateBotLocaleInput struct {
 22034  	_ struct{} `type:"structure"`
 22035  
 22036  	// The unique identifier of the bot that contains the locale.
 22037  	//
 22038  	// BotId is a required field
 22039  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 22040  
 22041  	// The version of the bot that contains the locale to be updated. The version
 22042  	// can only be the DRAFT version.
 22043  	//
 22044  	// BotVersion is a required field
 22045  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 22046  
 22047  	// The new description of the locale.
 22048  	Description *string `locationName:"description" type:"string"`
 22049  
 22050  	// The identifier of the language and locale to update. The string must match
 22051  	// one of the supported locales. For more information, see Supported languages
 22052  	// (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 22053  	//
 22054  	// LocaleId is a required field
 22055  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 22056  
 22057  	// The new confidence threshold where Amazon Lex inserts the AMAZON.FallbackIntent
 22058  	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
 22059  	// an utterance.
 22060  	//
 22061  	// NluIntentConfidenceThreshold is a required field
 22062  	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double" required:"true"`
 22063  
 22064  	// The new Amazon Polly voice Amazon Lex should use for voice interaction with
 22065  	// the user.
 22066  	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
 22067  }
 22068  
 22069  // String returns the string representation.
 22070  //
 22071  // API parameter values that are decorated as "sensitive" in the API will not
 22072  // be included in the string output. The member name will be present, but the
 22073  // value will be replaced with "sensitive".
 22074  func (s UpdateBotLocaleInput) String() string {
 22075  	return awsutil.Prettify(s)
 22076  }
 22077  
 22078  // GoString returns the string representation.
 22079  //
 22080  // API parameter values that are decorated as "sensitive" in the API will not
 22081  // be included in the string output. The member name will be present, but the
 22082  // value will be replaced with "sensitive".
 22083  func (s UpdateBotLocaleInput) GoString() string {
 22084  	return s.String()
 22085  }
 22086  
 22087  // Validate inspects the fields of the type to determine if they are valid.
 22088  func (s *UpdateBotLocaleInput) Validate() error {
 22089  	invalidParams := request.ErrInvalidParams{Context: "UpdateBotLocaleInput"}
 22090  	if s.BotId == nil {
 22091  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 22092  	}
 22093  	if s.BotId != nil && len(*s.BotId) < 10 {
 22094  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 22095  	}
 22096  	if s.BotVersion == nil {
 22097  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 22098  	}
 22099  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 22100  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 22101  	}
 22102  	if s.LocaleId == nil {
 22103  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 22104  	}
 22105  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 22106  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 22107  	}
 22108  	if s.NluIntentConfidenceThreshold == nil {
 22109  		invalidParams.Add(request.NewErrParamRequired("NluIntentConfidenceThreshold"))
 22110  	}
 22111  	if s.VoiceSettings != nil {
 22112  		if err := s.VoiceSettings.Validate(); err != nil {
 22113  			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
 22114  		}
 22115  	}
 22116  
 22117  	if invalidParams.Len() > 0 {
 22118  		return invalidParams
 22119  	}
 22120  	return nil
 22121  }
 22122  
 22123  // SetBotId sets the BotId field's value.
 22124  func (s *UpdateBotLocaleInput) SetBotId(v string) *UpdateBotLocaleInput {
 22125  	s.BotId = &v
 22126  	return s
 22127  }
 22128  
 22129  // SetBotVersion sets the BotVersion field's value.
 22130  func (s *UpdateBotLocaleInput) SetBotVersion(v string) *UpdateBotLocaleInput {
 22131  	s.BotVersion = &v
 22132  	return s
 22133  }
 22134  
 22135  // SetDescription sets the Description field's value.
 22136  func (s *UpdateBotLocaleInput) SetDescription(v string) *UpdateBotLocaleInput {
 22137  	s.Description = &v
 22138  	return s
 22139  }
 22140  
 22141  // SetLocaleId sets the LocaleId field's value.
 22142  func (s *UpdateBotLocaleInput) SetLocaleId(v string) *UpdateBotLocaleInput {
 22143  	s.LocaleId = &v
 22144  	return s
 22145  }
 22146  
 22147  // SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
 22148  func (s *UpdateBotLocaleInput) SetNluIntentConfidenceThreshold(v float64) *UpdateBotLocaleInput {
 22149  	s.NluIntentConfidenceThreshold = &v
 22150  	return s
 22151  }
 22152  
 22153  // SetVoiceSettings sets the VoiceSettings field's value.
 22154  func (s *UpdateBotLocaleInput) SetVoiceSettings(v *VoiceSettings) *UpdateBotLocaleInput {
 22155  	s.VoiceSettings = v
 22156  	return s
 22157  }
 22158  
 22159  type UpdateBotLocaleOutput struct {
 22160  	_ struct{} `type:"structure"`
 22161  
 22162  	// The identifier of the bot that contains the updated locale.
 22163  	BotId *string `locationName:"botId" min:"10" type:"string"`
 22164  
 22165  	// The current status of the locale. When the bot status is Built the locale
 22166  	// is ready for use.
 22167  	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
 22168  
 22169  	// The version of the bot that contains the updated locale.
 22170  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 22171  
 22172  	// A timestamp of the date and time that the locale was created.
 22173  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 22174  
 22175  	// The updated description of the locale.
 22176  	Description *string `locationName:"description" type:"string"`
 22177  
 22178  	// If the botLocaleStatus is Failed, the failureReasons field lists the errors
 22179  	// that occurred while building the bot.
 22180  	FailureReasons []*string `locationName:"failureReasons" type:"list"`
 22181  
 22182  	// A timestamp of the date and time that the locale was last updated.
 22183  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 22184  
 22185  	// The language and locale of the updated bot locale.
 22186  	LocaleId *string `locationName:"localeId" type:"string"`
 22187  
 22188  	// The updated locale name for the locale.
 22189  	LocaleName *string `locationName:"localeName" type:"string"`
 22190  
 22191  	// The updated confidence threshold for inserting the AMAZON.FallbackIntent
 22192  	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
 22193  	// an utterance.
 22194  	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
 22195  
 22196  	// The updated Amazon Polly voice to use for voice interaction with the user.
 22197  	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
 22198  }
 22199  
 22200  // String returns the string representation.
 22201  //
 22202  // API parameter values that are decorated as "sensitive" in the API will not
 22203  // be included in the string output. The member name will be present, but the
 22204  // value will be replaced with "sensitive".
 22205  func (s UpdateBotLocaleOutput) String() string {
 22206  	return awsutil.Prettify(s)
 22207  }
 22208  
 22209  // GoString returns the string representation.
 22210  //
 22211  // API parameter values that are decorated as "sensitive" in the API will not
 22212  // be included in the string output. The member name will be present, but the
 22213  // value will be replaced with "sensitive".
 22214  func (s UpdateBotLocaleOutput) GoString() string {
 22215  	return s.String()
 22216  }
 22217  
 22218  // SetBotId sets the BotId field's value.
 22219  func (s *UpdateBotLocaleOutput) SetBotId(v string) *UpdateBotLocaleOutput {
 22220  	s.BotId = &v
 22221  	return s
 22222  }
 22223  
 22224  // SetBotLocaleStatus sets the BotLocaleStatus field's value.
 22225  func (s *UpdateBotLocaleOutput) SetBotLocaleStatus(v string) *UpdateBotLocaleOutput {
 22226  	s.BotLocaleStatus = &v
 22227  	return s
 22228  }
 22229  
 22230  // SetBotVersion sets the BotVersion field's value.
 22231  func (s *UpdateBotLocaleOutput) SetBotVersion(v string) *UpdateBotLocaleOutput {
 22232  	s.BotVersion = &v
 22233  	return s
 22234  }
 22235  
 22236  // SetCreationDateTime sets the CreationDateTime field's value.
 22237  func (s *UpdateBotLocaleOutput) SetCreationDateTime(v time.Time) *UpdateBotLocaleOutput {
 22238  	s.CreationDateTime = &v
 22239  	return s
 22240  }
 22241  
 22242  // SetDescription sets the Description field's value.
 22243  func (s *UpdateBotLocaleOutput) SetDescription(v string) *UpdateBotLocaleOutput {
 22244  	s.Description = &v
 22245  	return s
 22246  }
 22247  
 22248  // SetFailureReasons sets the FailureReasons field's value.
 22249  func (s *UpdateBotLocaleOutput) SetFailureReasons(v []*string) *UpdateBotLocaleOutput {
 22250  	s.FailureReasons = v
 22251  	return s
 22252  }
 22253  
 22254  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 22255  func (s *UpdateBotLocaleOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotLocaleOutput {
 22256  	s.LastUpdatedDateTime = &v
 22257  	return s
 22258  }
 22259  
 22260  // SetLocaleId sets the LocaleId field's value.
 22261  func (s *UpdateBotLocaleOutput) SetLocaleId(v string) *UpdateBotLocaleOutput {
 22262  	s.LocaleId = &v
 22263  	return s
 22264  }
 22265  
 22266  // SetLocaleName sets the LocaleName field's value.
 22267  func (s *UpdateBotLocaleOutput) SetLocaleName(v string) *UpdateBotLocaleOutput {
 22268  	s.LocaleName = &v
 22269  	return s
 22270  }
 22271  
 22272  // SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
 22273  func (s *UpdateBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *UpdateBotLocaleOutput {
 22274  	s.NluIntentConfidenceThreshold = &v
 22275  	return s
 22276  }
 22277  
 22278  // SetVoiceSettings sets the VoiceSettings field's value.
 22279  func (s *UpdateBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *UpdateBotLocaleOutput {
 22280  	s.VoiceSettings = v
 22281  	return s
 22282  }
 22283  
 22284  type UpdateBotOutput struct {
 22285  	_ struct{} `type:"structure"`
 22286  
 22287  	// The unique identifier of the bot that was updated.
 22288  	BotId *string `locationName:"botId" min:"10" type:"string"`
 22289  
 22290  	// The name of the bot after the update.
 22291  	BotName *string `locationName:"botName" min:"1" type:"string"`
 22292  
 22293  	// Shows the current status of the bot. The bot is first in the Creating status.
 22294  	// Once the bot is read for use, it changes to the Available status. After the
 22295  	// bot is created, you can use the DRAFT version of the bot.
 22296  	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
 22297  
 22298  	// A timestamp of the date and time that the bot was created.
 22299  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 22300  
 22301  	// The data privacy settings for the bot after the update.
 22302  	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
 22303  
 22304  	// The description of the bot after the update.
 22305  	Description *string `locationName:"description" type:"string"`
 22306  
 22307  	// The session timeout, in seconds, for the bot after the update.
 22308  	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
 22309  
 22310  	// A timestamp of the date and time that the bot was last updated.
 22311  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 22312  
 22313  	// The Amazon Resource Name (ARN) of the IAM role used by the bot after the
 22314  	// update.
 22315  	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
 22316  }
 22317  
 22318  // String returns the string representation.
 22319  //
 22320  // API parameter values that are decorated as "sensitive" in the API will not
 22321  // be included in the string output. The member name will be present, but the
 22322  // value will be replaced with "sensitive".
 22323  func (s UpdateBotOutput) String() string {
 22324  	return awsutil.Prettify(s)
 22325  }
 22326  
 22327  // GoString returns the string representation.
 22328  //
 22329  // API parameter values that are decorated as "sensitive" in the API will not
 22330  // be included in the string output. The member name will be present, but the
 22331  // value will be replaced with "sensitive".
 22332  func (s UpdateBotOutput) GoString() string {
 22333  	return s.String()
 22334  }
 22335  
 22336  // SetBotId sets the BotId field's value.
 22337  func (s *UpdateBotOutput) SetBotId(v string) *UpdateBotOutput {
 22338  	s.BotId = &v
 22339  	return s
 22340  }
 22341  
 22342  // SetBotName sets the BotName field's value.
 22343  func (s *UpdateBotOutput) SetBotName(v string) *UpdateBotOutput {
 22344  	s.BotName = &v
 22345  	return s
 22346  }
 22347  
 22348  // SetBotStatus sets the BotStatus field's value.
 22349  func (s *UpdateBotOutput) SetBotStatus(v string) *UpdateBotOutput {
 22350  	s.BotStatus = &v
 22351  	return s
 22352  }
 22353  
 22354  // SetCreationDateTime sets the CreationDateTime field's value.
 22355  func (s *UpdateBotOutput) SetCreationDateTime(v time.Time) *UpdateBotOutput {
 22356  	s.CreationDateTime = &v
 22357  	return s
 22358  }
 22359  
 22360  // SetDataPrivacy sets the DataPrivacy field's value.
 22361  func (s *UpdateBotOutput) SetDataPrivacy(v *DataPrivacy) *UpdateBotOutput {
 22362  	s.DataPrivacy = v
 22363  	return s
 22364  }
 22365  
 22366  // SetDescription sets the Description field's value.
 22367  func (s *UpdateBotOutput) SetDescription(v string) *UpdateBotOutput {
 22368  	s.Description = &v
 22369  	return s
 22370  }
 22371  
 22372  // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
 22373  func (s *UpdateBotOutput) SetIdleSessionTTLInSeconds(v int64) *UpdateBotOutput {
 22374  	s.IdleSessionTTLInSeconds = &v
 22375  	return s
 22376  }
 22377  
 22378  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 22379  func (s *UpdateBotOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotOutput {
 22380  	s.LastUpdatedDateTime = &v
 22381  	return s
 22382  }
 22383  
 22384  // SetRoleArn sets the RoleArn field's value.
 22385  func (s *UpdateBotOutput) SetRoleArn(v string) *UpdateBotOutput {
 22386  	s.RoleArn = &v
 22387  	return s
 22388  }
 22389  
 22390  type UpdateExportInput struct {
 22391  	_ struct{} `type:"structure"`
 22392  
 22393  	// The unique identifier Amazon Lex assigned to the export.
 22394  	//
 22395  	// ExportId is a required field
 22396  	ExportId *string `location:"uri" locationName:"exportId" min:"10" type:"string" required:"true"`
 22397  
 22398  	// The new password to use to encrypt the export zip archive.
 22399  	//
 22400  	// FilePassword is a sensitive parameter and its value will be
 22401  	// replaced with "sensitive" in string returned by UpdateExportInput's
 22402  	// String and GoString methods.
 22403  	FilePassword *string `locationName:"filePassword" min:"1" type:"string" sensitive:"true"`
 22404  }
 22405  
 22406  // String returns the string representation.
 22407  //
 22408  // API parameter values that are decorated as "sensitive" in the API will not
 22409  // be included in the string output. The member name will be present, but the
 22410  // value will be replaced with "sensitive".
 22411  func (s UpdateExportInput) String() string {
 22412  	return awsutil.Prettify(s)
 22413  }
 22414  
 22415  // GoString returns the string representation.
 22416  //
 22417  // API parameter values that are decorated as "sensitive" in the API will not
 22418  // be included in the string output. The member name will be present, but the
 22419  // value will be replaced with "sensitive".
 22420  func (s UpdateExportInput) GoString() string {
 22421  	return s.String()
 22422  }
 22423  
 22424  // Validate inspects the fields of the type to determine if they are valid.
 22425  func (s *UpdateExportInput) Validate() error {
 22426  	invalidParams := request.ErrInvalidParams{Context: "UpdateExportInput"}
 22427  	if s.ExportId == nil {
 22428  		invalidParams.Add(request.NewErrParamRequired("ExportId"))
 22429  	}
 22430  	if s.ExportId != nil && len(*s.ExportId) < 10 {
 22431  		invalidParams.Add(request.NewErrParamMinLen("ExportId", 10))
 22432  	}
 22433  	if s.FilePassword != nil && len(*s.FilePassword) < 1 {
 22434  		invalidParams.Add(request.NewErrParamMinLen("FilePassword", 1))
 22435  	}
 22436  
 22437  	if invalidParams.Len() > 0 {
 22438  		return invalidParams
 22439  	}
 22440  	return nil
 22441  }
 22442  
 22443  // SetExportId sets the ExportId field's value.
 22444  func (s *UpdateExportInput) SetExportId(v string) *UpdateExportInput {
 22445  	s.ExportId = &v
 22446  	return s
 22447  }
 22448  
 22449  // SetFilePassword sets the FilePassword field's value.
 22450  func (s *UpdateExportInput) SetFilePassword(v string) *UpdateExportInput {
 22451  	s.FilePassword = &v
 22452  	return s
 22453  }
 22454  
 22455  type UpdateExportOutput struct {
 22456  	_ struct{} `type:"structure"`
 22457  
 22458  	// The date and time that the export was created.
 22459  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 22460  
 22461  	// The unique identifier Amazon Lex assigned to the export.
 22462  	ExportId *string `locationName:"exportId" min:"10" type:"string"`
 22463  
 22464  	// The status of the export. When the status is Completed the export archive
 22465  	// is available for download.
 22466  	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
 22467  
 22468  	// The file format used for the files that define the resource.
 22469  	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
 22470  
 22471  	// The date and time that the export was last updated.
 22472  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 22473  
 22474  	// A description of the type of resource that was exported, either a bot or
 22475  	// a bot locale.
 22476  	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
 22477  }
 22478  
 22479  // String returns the string representation.
 22480  //
 22481  // API parameter values that are decorated as "sensitive" in the API will not
 22482  // be included in the string output. The member name will be present, but the
 22483  // value will be replaced with "sensitive".
 22484  func (s UpdateExportOutput) String() string {
 22485  	return awsutil.Prettify(s)
 22486  }
 22487  
 22488  // GoString returns the string representation.
 22489  //
 22490  // API parameter values that are decorated as "sensitive" in the API will not
 22491  // be included in the string output. The member name will be present, but the
 22492  // value will be replaced with "sensitive".
 22493  func (s UpdateExportOutput) GoString() string {
 22494  	return s.String()
 22495  }
 22496  
 22497  // SetCreationDateTime sets the CreationDateTime field's value.
 22498  func (s *UpdateExportOutput) SetCreationDateTime(v time.Time) *UpdateExportOutput {
 22499  	s.CreationDateTime = &v
 22500  	return s
 22501  }
 22502  
 22503  // SetExportId sets the ExportId field's value.
 22504  func (s *UpdateExportOutput) SetExportId(v string) *UpdateExportOutput {
 22505  	s.ExportId = &v
 22506  	return s
 22507  }
 22508  
 22509  // SetExportStatus sets the ExportStatus field's value.
 22510  func (s *UpdateExportOutput) SetExportStatus(v string) *UpdateExportOutput {
 22511  	s.ExportStatus = &v
 22512  	return s
 22513  }
 22514  
 22515  // SetFileFormat sets the FileFormat field's value.
 22516  func (s *UpdateExportOutput) SetFileFormat(v string) *UpdateExportOutput {
 22517  	s.FileFormat = &v
 22518  	return s
 22519  }
 22520  
 22521  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 22522  func (s *UpdateExportOutput) SetLastUpdatedDateTime(v time.Time) *UpdateExportOutput {
 22523  	s.LastUpdatedDateTime = &v
 22524  	return s
 22525  }
 22526  
 22527  // SetResourceSpecification sets the ResourceSpecification field's value.
 22528  func (s *UpdateExportOutput) SetResourceSpecification(v *ExportResourceSpecification) *UpdateExportOutput {
 22529  	s.ResourceSpecification = v
 22530  	return s
 22531  }
 22532  
 22533  type UpdateIntentInput struct {
 22534  	_ struct{} `type:"structure"`
 22535  
 22536  	// The identifier of the bot that contains the intent.
 22537  	//
 22538  	// BotId is a required field
 22539  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 22540  
 22541  	// The version of the bot that contains the intent. Must be DRAFT.
 22542  	//
 22543  	// BotVersion is a required field
 22544  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 22545  
 22546  	// The new description of the intent.
 22547  	Description *string `locationName:"description" type:"string"`
 22548  
 22549  	// The new Lambda function to use between each turn of the conversation with
 22550  	// the bot.
 22551  	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
 22552  
 22553  	// The new Lambda function to call when all of the intents required slots are
 22554  	// provided and the intent is ready for fulfillment.
 22555  	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
 22556  
 22557  	// A new list of contexts that must be active in order for Amazon Lex to consider
 22558  	// the intent.
 22559  	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
 22560  
 22561  	// The new response that Amazon Lex sends the user when the intent is closed.
 22562  	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
 22563  
 22564  	// New prompts that Amazon Lex sends to the user to confirm the completion of
 22565  	// an intent.
 22566  	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
 22567  
 22568  	// The unique identifier of the intent to update.
 22569  	//
 22570  	// IntentId is a required field
 22571  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 22572  
 22573  	// The new name for the intent.
 22574  	//
 22575  	// IntentName is a required field
 22576  	IntentName *string `locationName:"intentName" min:"1" type:"string" required:"true"`
 22577  
 22578  	// New configuration settings for connecting to an Amazon Kendra index.
 22579  	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
 22580  
 22581  	// The identifier of the language and locale where this intent is used. The
 22582  	// string must match one of the supported locales. For more information, see
 22583  	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 22584  	//
 22585  	// LocaleId is a required field
 22586  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 22587  
 22588  	// A new list of contexts that Amazon Lex activates when the intent is fulfilled.
 22589  	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
 22590  
 22591  	// The signature of the new built-in intent to use as the parent of this intent.
 22592  	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
 22593  
 22594  	// New utterances used to invoke the intent.
 22595  	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
 22596  
 22597  	// A new list of slots and their priorities that are contained by the intent.
 22598  	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
 22599  }
 22600  
 22601  // String returns the string representation.
 22602  //
 22603  // API parameter values that are decorated as "sensitive" in the API will not
 22604  // be included in the string output. The member name will be present, but the
 22605  // value will be replaced with "sensitive".
 22606  func (s UpdateIntentInput) String() string {
 22607  	return awsutil.Prettify(s)
 22608  }
 22609  
 22610  // GoString returns the string representation.
 22611  //
 22612  // API parameter values that are decorated as "sensitive" in the API will not
 22613  // be included in the string output. The member name will be present, but the
 22614  // value will be replaced with "sensitive".
 22615  func (s UpdateIntentInput) GoString() string {
 22616  	return s.String()
 22617  }
 22618  
 22619  // Validate inspects the fields of the type to determine if they are valid.
 22620  func (s *UpdateIntentInput) Validate() error {
 22621  	invalidParams := request.ErrInvalidParams{Context: "UpdateIntentInput"}
 22622  	if s.BotId == nil {
 22623  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 22624  	}
 22625  	if s.BotId != nil && len(*s.BotId) < 10 {
 22626  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 22627  	}
 22628  	if s.BotVersion == nil {
 22629  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 22630  	}
 22631  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 22632  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 22633  	}
 22634  	if s.IntentId == nil {
 22635  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 22636  	}
 22637  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 22638  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 22639  	}
 22640  	if s.IntentName == nil {
 22641  		invalidParams.Add(request.NewErrParamRequired("IntentName"))
 22642  	}
 22643  	if s.IntentName != nil && len(*s.IntentName) < 1 {
 22644  		invalidParams.Add(request.NewErrParamMinLen("IntentName", 1))
 22645  	}
 22646  	if s.LocaleId == nil {
 22647  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 22648  	}
 22649  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 22650  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 22651  	}
 22652  	if s.DialogCodeHook != nil {
 22653  		if err := s.DialogCodeHook.Validate(); err != nil {
 22654  			invalidParams.AddNested("DialogCodeHook", err.(request.ErrInvalidParams))
 22655  		}
 22656  	}
 22657  	if s.FulfillmentCodeHook != nil {
 22658  		if err := s.FulfillmentCodeHook.Validate(); err != nil {
 22659  			invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams))
 22660  		}
 22661  	}
 22662  	if s.InputContexts != nil {
 22663  		for i, v := range s.InputContexts {
 22664  			if v == nil {
 22665  				continue
 22666  			}
 22667  			if err := v.Validate(); err != nil {
 22668  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputContexts", i), err.(request.ErrInvalidParams))
 22669  			}
 22670  		}
 22671  	}
 22672  	if s.IntentClosingSetting != nil {
 22673  		if err := s.IntentClosingSetting.Validate(); err != nil {
 22674  			invalidParams.AddNested("IntentClosingSetting", err.(request.ErrInvalidParams))
 22675  		}
 22676  	}
 22677  	if s.IntentConfirmationSetting != nil {
 22678  		if err := s.IntentConfirmationSetting.Validate(); err != nil {
 22679  			invalidParams.AddNested("IntentConfirmationSetting", err.(request.ErrInvalidParams))
 22680  		}
 22681  	}
 22682  	if s.KendraConfiguration != nil {
 22683  		if err := s.KendraConfiguration.Validate(); err != nil {
 22684  			invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams))
 22685  		}
 22686  	}
 22687  	if s.OutputContexts != nil {
 22688  		for i, v := range s.OutputContexts {
 22689  			if v == nil {
 22690  				continue
 22691  			}
 22692  			if err := v.Validate(); err != nil {
 22693  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputContexts", i), err.(request.ErrInvalidParams))
 22694  			}
 22695  		}
 22696  	}
 22697  	if s.SampleUtterances != nil {
 22698  		for i, v := range s.SampleUtterances {
 22699  			if v == nil {
 22700  				continue
 22701  			}
 22702  			if err := v.Validate(); err != nil {
 22703  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
 22704  			}
 22705  		}
 22706  	}
 22707  	if s.SlotPriorities != nil {
 22708  		for i, v := range s.SlotPriorities {
 22709  			if v == nil {
 22710  				continue
 22711  			}
 22712  			if err := v.Validate(); err != nil {
 22713  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotPriorities", i), err.(request.ErrInvalidParams))
 22714  			}
 22715  		}
 22716  	}
 22717  
 22718  	if invalidParams.Len() > 0 {
 22719  		return invalidParams
 22720  	}
 22721  	return nil
 22722  }
 22723  
 22724  // SetBotId sets the BotId field's value.
 22725  func (s *UpdateIntentInput) SetBotId(v string) *UpdateIntentInput {
 22726  	s.BotId = &v
 22727  	return s
 22728  }
 22729  
 22730  // SetBotVersion sets the BotVersion field's value.
 22731  func (s *UpdateIntentInput) SetBotVersion(v string) *UpdateIntentInput {
 22732  	s.BotVersion = &v
 22733  	return s
 22734  }
 22735  
 22736  // SetDescription sets the Description field's value.
 22737  func (s *UpdateIntentInput) SetDescription(v string) *UpdateIntentInput {
 22738  	s.Description = &v
 22739  	return s
 22740  }
 22741  
 22742  // SetDialogCodeHook sets the DialogCodeHook field's value.
 22743  func (s *UpdateIntentInput) SetDialogCodeHook(v *DialogCodeHookSettings) *UpdateIntentInput {
 22744  	s.DialogCodeHook = v
 22745  	return s
 22746  }
 22747  
 22748  // SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
 22749  func (s *UpdateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *UpdateIntentInput {
 22750  	s.FulfillmentCodeHook = v
 22751  	return s
 22752  }
 22753  
 22754  // SetInputContexts sets the InputContexts field's value.
 22755  func (s *UpdateIntentInput) SetInputContexts(v []*InputContext) *UpdateIntentInput {
 22756  	s.InputContexts = v
 22757  	return s
 22758  }
 22759  
 22760  // SetIntentClosingSetting sets the IntentClosingSetting field's value.
 22761  func (s *UpdateIntentInput) SetIntentClosingSetting(v *IntentClosingSetting) *UpdateIntentInput {
 22762  	s.IntentClosingSetting = v
 22763  	return s
 22764  }
 22765  
 22766  // SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
 22767  func (s *UpdateIntentInput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *UpdateIntentInput {
 22768  	s.IntentConfirmationSetting = v
 22769  	return s
 22770  }
 22771  
 22772  // SetIntentId sets the IntentId field's value.
 22773  func (s *UpdateIntentInput) SetIntentId(v string) *UpdateIntentInput {
 22774  	s.IntentId = &v
 22775  	return s
 22776  }
 22777  
 22778  // SetIntentName sets the IntentName field's value.
 22779  func (s *UpdateIntentInput) SetIntentName(v string) *UpdateIntentInput {
 22780  	s.IntentName = &v
 22781  	return s
 22782  }
 22783  
 22784  // SetKendraConfiguration sets the KendraConfiguration field's value.
 22785  func (s *UpdateIntentInput) SetKendraConfiguration(v *KendraConfiguration) *UpdateIntentInput {
 22786  	s.KendraConfiguration = v
 22787  	return s
 22788  }
 22789  
 22790  // SetLocaleId sets the LocaleId field's value.
 22791  func (s *UpdateIntentInput) SetLocaleId(v string) *UpdateIntentInput {
 22792  	s.LocaleId = &v
 22793  	return s
 22794  }
 22795  
 22796  // SetOutputContexts sets the OutputContexts field's value.
 22797  func (s *UpdateIntentInput) SetOutputContexts(v []*OutputContext) *UpdateIntentInput {
 22798  	s.OutputContexts = v
 22799  	return s
 22800  }
 22801  
 22802  // SetParentIntentSignature sets the ParentIntentSignature field's value.
 22803  func (s *UpdateIntentInput) SetParentIntentSignature(v string) *UpdateIntentInput {
 22804  	s.ParentIntentSignature = &v
 22805  	return s
 22806  }
 22807  
 22808  // SetSampleUtterances sets the SampleUtterances field's value.
 22809  func (s *UpdateIntentInput) SetSampleUtterances(v []*SampleUtterance) *UpdateIntentInput {
 22810  	s.SampleUtterances = v
 22811  	return s
 22812  }
 22813  
 22814  // SetSlotPriorities sets the SlotPriorities field's value.
 22815  func (s *UpdateIntentInput) SetSlotPriorities(v []*SlotPriority) *UpdateIntentInput {
 22816  	s.SlotPriorities = v
 22817  	return s
 22818  }
 22819  
 22820  type UpdateIntentOutput struct {
 22821  	_ struct{} `type:"structure"`
 22822  
 22823  	// The identifier of the bot that contains the intent.
 22824  	BotId *string `locationName:"botId" min:"10" type:"string"`
 22825  
 22826  	// The version of the bot that contains the intent. Will always be DRAFT.
 22827  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 22828  
 22829  	// A timestamp of when the intent was created.
 22830  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 22831  
 22832  	// The updated description of the intent.
 22833  	Description *string `locationName:"description" type:"string"`
 22834  
 22835  	// The updated Lambda function called during each turn of the conversation with
 22836  	// the user.
 22837  	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
 22838  
 22839  	// The updated Lambda function called when the intent is ready for fulfillment.
 22840  	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
 22841  
 22842  	// The updated list of contexts that must be active for the intent to be considered
 22843  	// by Amazon Lex.
 22844  	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
 22845  
 22846  	// The updated response that Amazon Lex sends the user when the intent is closed.
 22847  	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
 22848  
 22849  	// The updated prompts that Amazon Lex sends to the user to confirm the completion
 22850  	// of an intent.
 22851  	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
 22852  
 22853  	// The identifier of the intent that was updated.
 22854  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 22855  
 22856  	// The updated name of the intent.
 22857  	IntentName *string `locationName:"intentName" min:"1" type:"string"`
 22858  
 22859  	// The updated configuration for connecting to an Amazon Kendra index with the
 22860  	// AMAZON.KendraSearchIntent intent.
 22861  	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
 22862  
 22863  	// A timestamp of the last time that the intent was modified.
 22864  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 22865  
 22866  	// The updated language and locale of the intent.
 22867  	LocaleId *string `locationName:"localeId" type:"string"`
 22868  
 22869  	// The updated list of contexts that Amazon Lex activates when the intent is
 22870  	// fulfilled.
 22871  	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
 22872  
 22873  	// The updated built-in intent that is the parent of this intent.
 22874  	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
 22875  
 22876  	// The updated list of sample utterances for the intent.
 22877  	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
 22878  
 22879  	// The updated list of slots and their priorities that are elicited from the
 22880  	// user for the intent.
 22881  	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
 22882  }
 22883  
 22884  // String returns the string representation.
 22885  //
 22886  // API parameter values that are decorated as "sensitive" in the API will not
 22887  // be included in the string output. The member name will be present, but the
 22888  // value will be replaced with "sensitive".
 22889  func (s UpdateIntentOutput) String() string {
 22890  	return awsutil.Prettify(s)
 22891  }
 22892  
 22893  // GoString returns the string representation.
 22894  //
 22895  // API parameter values that are decorated as "sensitive" in the API will not
 22896  // be included in the string output. The member name will be present, but the
 22897  // value will be replaced with "sensitive".
 22898  func (s UpdateIntentOutput) GoString() string {
 22899  	return s.String()
 22900  }
 22901  
 22902  // SetBotId sets the BotId field's value.
 22903  func (s *UpdateIntentOutput) SetBotId(v string) *UpdateIntentOutput {
 22904  	s.BotId = &v
 22905  	return s
 22906  }
 22907  
 22908  // SetBotVersion sets the BotVersion field's value.
 22909  func (s *UpdateIntentOutput) SetBotVersion(v string) *UpdateIntentOutput {
 22910  	s.BotVersion = &v
 22911  	return s
 22912  }
 22913  
 22914  // SetCreationDateTime sets the CreationDateTime field's value.
 22915  func (s *UpdateIntentOutput) SetCreationDateTime(v time.Time) *UpdateIntentOutput {
 22916  	s.CreationDateTime = &v
 22917  	return s
 22918  }
 22919  
 22920  // SetDescription sets the Description field's value.
 22921  func (s *UpdateIntentOutput) SetDescription(v string) *UpdateIntentOutput {
 22922  	s.Description = &v
 22923  	return s
 22924  }
 22925  
 22926  // SetDialogCodeHook sets the DialogCodeHook field's value.
 22927  func (s *UpdateIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *UpdateIntentOutput {
 22928  	s.DialogCodeHook = v
 22929  	return s
 22930  }
 22931  
 22932  // SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
 22933  func (s *UpdateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *UpdateIntentOutput {
 22934  	s.FulfillmentCodeHook = v
 22935  	return s
 22936  }
 22937  
 22938  // SetInputContexts sets the InputContexts field's value.
 22939  func (s *UpdateIntentOutput) SetInputContexts(v []*InputContext) *UpdateIntentOutput {
 22940  	s.InputContexts = v
 22941  	return s
 22942  }
 22943  
 22944  // SetIntentClosingSetting sets the IntentClosingSetting field's value.
 22945  func (s *UpdateIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *UpdateIntentOutput {
 22946  	s.IntentClosingSetting = v
 22947  	return s
 22948  }
 22949  
 22950  // SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
 22951  func (s *UpdateIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *UpdateIntentOutput {
 22952  	s.IntentConfirmationSetting = v
 22953  	return s
 22954  }
 22955  
 22956  // SetIntentId sets the IntentId field's value.
 22957  func (s *UpdateIntentOutput) SetIntentId(v string) *UpdateIntentOutput {
 22958  	s.IntentId = &v
 22959  	return s
 22960  }
 22961  
 22962  // SetIntentName sets the IntentName field's value.
 22963  func (s *UpdateIntentOutput) SetIntentName(v string) *UpdateIntentOutput {
 22964  	s.IntentName = &v
 22965  	return s
 22966  }
 22967  
 22968  // SetKendraConfiguration sets the KendraConfiguration field's value.
 22969  func (s *UpdateIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *UpdateIntentOutput {
 22970  	s.KendraConfiguration = v
 22971  	return s
 22972  }
 22973  
 22974  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 22975  func (s *UpdateIntentOutput) SetLastUpdatedDateTime(v time.Time) *UpdateIntentOutput {
 22976  	s.LastUpdatedDateTime = &v
 22977  	return s
 22978  }
 22979  
 22980  // SetLocaleId sets the LocaleId field's value.
 22981  func (s *UpdateIntentOutput) SetLocaleId(v string) *UpdateIntentOutput {
 22982  	s.LocaleId = &v
 22983  	return s
 22984  }
 22985  
 22986  // SetOutputContexts sets the OutputContexts field's value.
 22987  func (s *UpdateIntentOutput) SetOutputContexts(v []*OutputContext) *UpdateIntentOutput {
 22988  	s.OutputContexts = v
 22989  	return s
 22990  }
 22991  
 22992  // SetParentIntentSignature sets the ParentIntentSignature field's value.
 22993  func (s *UpdateIntentOutput) SetParentIntentSignature(v string) *UpdateIntentOutput {
 22994  	s.ParentIntentSignature = &v
 22995  	return s
 22996  }
 22997  
 22998  // SetSampleUtterances sets the SampleUtterances field's value.
 22999  func (s *UpdateIntentOutput) SetSampleUtterances(v []*SampleUtterance) *UpdateIntentOutput {
 23000  	s.SampleUtterances = v
 23001  	return s
 23002  }
 23003  
 23004  // SetSlotPriorities sets the SlotPriorities field's value.
 23005  func (s *UpdateIntentOutput) SetSlotPriorities(v []*SlotPriority) *UpdateIntentOutput {
 23006  	s.SlotPriorities = v
 23007  	return s
 23008  }
 23009  
 23010  type UpdateResourcePolicyInput struct {
 23011  	_ struct{} `type:"structure"`
 23012  
 23013  	// The identifier of the revision of the policy to update. If this revision
 23014  	// ID doesn't match the current revision ID, Amazon Lex throws an exception.
 23015  	//
 23016  	// If you don't specify a revision, Amazon Lex overwrites the contents of the
 23017  	// policy with the new values.
 23018  	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
 23019  
 23020  	// A resource policy to add to the resource. The policy is a JSON structure
 23021  	// that contains one or more statements that define the policy. The policy must
 23022  	// follow the IAM syntax. For more information about the contents of a JSON
 23023  	// policy document, see IAM JSON policy reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html).
 23024  	//
 23025  	// If the policy isn't valid, Amazon Lex returns a validation exception.
 23026  	//
 23027  	// Policy is a required field
 23028  	Policy *string `locationName:"policy" min:"2" type:"string" required:"true"`
 23029  
 23030  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 23031  	// policy is attached to.
 23032  	//
 23033  	// ResourceArn is a required field
 23034  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 23035  }
 23036  
 23037  // String returns the string representation.
 23038  //
 23039  // API parameter values that are decorated as "sensitive" in the API will not
 23040  // be included in the string output. The member name will be present, but the
 23041  // value will be replaced with "sensitive".
 23042  func (s UpdateResourcePolicyInput) String() string {
 23043  	return awsutil.Prettify(s)
 23044  }
 23045  
 23046  // GoString returns the string representation.
 23047  //
 23048  // API parameter values that are decorated as "sensitive" in the API will not
 23049  // be included in the string output. The member name will be present, but the
 23050  // value will be replaced with "sensitive".
 23051  func (s UpdateResourcePolicyInput) GoString() string {
 23052  	return s.String()
 23053  }
 23054  
 23055  // Validate inspects the fields of the type to determine if they are valid.
 23056  func (s *UpdateResourcePolicyInput) Validate() error {
 23057  	invalidParams := request.ErrInvalidParams{Context: "UpdateResourcePolicyInput"}
 23058  	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
 23059  		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
 23060  	}
 23061  	if s.Policy == nil {
 23062  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 23063  	}
 23064  	if s.Policy != nil && len(*s.Policy) < 2 {
 23065  		invalidParams.Add(request.NewErrParamMinLen("Policy", 2))
 23066  	}
 23067  	if s.ResourceArn == nil {
 23068  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 23069  	}
 23070  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 23071  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 23072  	}
 23073  
 23074  	if invalidParams.Len() > 0 {
 23075  		return invalidParams
 23076  	}
 23077  	return nil
 23078  }
 23079  
 23080  // SetExpectedRevisionId sets the ExpectedRevisionId field's value.
 23081  func (s *UpdateResourcePolicyInput) SetExpectedRevisionId(v string) *UpdateResourcePolicyInput {
 23082  	s.ExpectedRevisionId = &v
 23083  	return s
 23084  }
 23085  
 23086  // SetPolicy sets the Policy field's value.
 23087  func (s *UpdateResourcePolicyInput) SetPolicy(v string) *UpdateResourcePolicyInput {
 23088  	s.Policy = &v
 23089  	return s
 23090  }
 23091  
 23092  // SetResourceArn sets the ResourceArn field's value.
 23093  func (s *UpdateResourcePolicyInput) SetResourceArn(v string) *UpdateResourcePolicyInput {
 23094  	s.ResourceArn = &v
 23095  	return s
 23096  }
 23097  
 23098  type UpdateResourcePolicyOutput struct {
 23099  	_ struct{} `type:"structure"`
 23100  
 23101  	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
 23102  	// policy is attached to.
 23103  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 23104  
 23105  	// The current revision of the resource policy. Use the revision ID to make
 23106  	// sure that you are updating the most current version of a resource policy
 23107  	// when you add a policy statement to a resource, delete a resource, or update
 23108  	// a resource.
 23109  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 23110  }
 23111  
 23112  // String returns the string representation.
 23113  //
 23114  // API parameter values that are decorated as "sensitive" in the API will not
 23115  // be included in the string output. The member name will be present, but the
 23116  // value will be replaced with "sensitive".
 23117  func (s UpdateResourcePolicyOutput) String() string {
 23118  	return awsutil.Prettify(s)
 23119  }
 23120  
 23121  // GoString returns the string representation.
 23122  //
 23123  // API parameter values that are decorated as "sensitive" in the API will not
 23124  // be included in the string output. The member name will be present, but the
 23125  // value will be replaced with "sensitive".
 23126  func (s UpdateResourcePolicyOutput) GoString() string {
 23127  	return s.String()
 23128  }
 23129  
 23130  // SetResourceArn sets the ResourceArn field's value.
 23131  func (s *UpdateResourcePolicyOutput) SetResourceArn(v string) *UpdateResourcePolicyOutput {
 23132  	s.ResourceArn = &v
 23133  	return s
 23134  }
 23135  
 23136  // SetRevisionId sets the RevisionId field's value.
 23137  func (s *UpdateResourcePolicyOutput) SetRevisionId(v string) *UpdateResourcePolicyOutput {
 23138  	s.RevisionId = &v
 23139  	return s
 23140  }
 23141  
 23142  type UpdateSlotInput struct {
 23143  	_ struct{} `type:"structure"`
 23144  
 23145  	// The unique identifier of the bot that contains the slot.
 23146  	//
 23147  	// BotId is a required field
 23148  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 23149  
 23150  	// The version of the bot that contains the slot. Must always be DRAFT.
 23151  	//
 23152  	// BotVersion is a required field
 23153  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 23154  
 23155  	// The new description for the slot.
 23156  	Description *string `locationName:"description" type:"string"`
 23157  
 23158  	// The identifier of the intent that contains the slot.
 23159  	//
 23160  	// IntentId is a required field
 23161  	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
 23162  
 23163  	// The identifier of the language and locale that contains the slot. The string
 23164  	// must match one of the supported locales. For more information, see Supported
 23165  	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 23166  	//
 23167  	// LocaleId is a required field
 23168  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 23169  
 23170  	// Determines whether the slot accepts multiple values in one response. Multiple
 23171  	// value slots are only available in the en-US locale. If you set this value
 23172  	// to true in any other locale, Amazon Lex throws a ValidationException.
 23173  	//
 23174  	// If the multipleValuesSetting is not set, the default value is false.
 23175  	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
 23176  
 23177  	// New settings that determine how slot values are formatted in Amazon CloudWatch
 23178  	// logs.
 23179  	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
 23180  
 23181  	// The unique identifier for the slot to update.
 23182  	//
 23183  	// SlotId is a required field
 23184  	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
 23185  
 23186  	// The new name for the slot.
 23187  	//
 23188  	// SlotName is a required field
 23189  	SlotName *string `locationName:"slotName" min:"1" type:"string" required:"true"`
 23190  
 23191  	// The unique identifier of the new slot type to associate with this slot.
 23192  	//
 23193  	// SlotTypeId is a required field
 23194  	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string" required:"true"`
 23195  
 23196  	// A new set of prompts that Amazon Lex sends to the user to elicit a response
 23197  	// the provides a value for the slot.
 23198  	//
 23199  	// ValueElicitationSetting is a required field
 23200  	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure" required:"true"`
 23201  }
 23202  
 23203  // String returns the string representation.
 23204  //
 23205  // API parameter values that are decorated as "sensitive" in the API will not
 23206  // be included in the string output. The member name will be present, but the
 23207  // value will be replaced with "sensitive".
 23208  func (s UpdateSlotInput) String() string {
 23209  	return awsutil.Prettify(s)
 23210  }
 23211  
 23212  // GoString returns the string representation.
 23213  //
 23214  // API parameter values that are decorated as "sensitive" in the API will not
 23215  // be included in the string output. The member name will be present, but the
 23216  // value will be replaced with "sensitive".
 23217  func (s UpdateSlotInput) GoString() string {
 23218  	return s.String()
 23219  }
 23220  
 23221  // Validate inspects the fields of the type to determine if they are valid.
 23222  func (s *UpdateSlotInput) Validate() error {
 23223  	invalidParams := request.ErrInvalidParams{Context: "UpdateSlotInput"}
 23224  	if s.BotId == nil {
 23225  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 23226  	}
 23227  	if s.BotId != nil && len(*s.BotId) < 10 {
 23228  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 23229  	}
 23230  	if s.BotVersion == nil {
 23231  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 23232  	}
 23233  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 23234  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 23235  	}
 23236  	if s.IntentId == nil {
 23237  		invalidParams.Add(request.NewErrParamRequired("IntentId"))
 23238  	}
 23239  	if s.IntentId != nil && len(*s.IntentId) < 10 {
 23240  		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
 23241  	}
 23242  	if s.LocaleId == nil {
 23243  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 23244  	}
 23245  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 23246  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 23247  	}
 23248  	if s.SlotId == nil {
 23249  		invalidParams.Add(request.NewErrParamRequired("SlotId"))
 23250  	}
 23251  	if s.SlotId != nil && len(*s.SlotId) < 10 {
 23252  		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
 23253  	}
 23254  	if s.SlotName == nil {
 23255  		invalidParams.Add(request.NewErrParamRequired("SlotName"))
 23256  	}
 23257  	if s.SlotName != nil && len(*s.SlotName) < 1 {
 23258  		invalidParams.Add(request.NewErrParamMinLen("SlotName", 1))
 23259  	}
 23260  	if s.SlotTypeId == nil {
 23261  		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
 23262  	}
 23263  	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 1 {
 23264  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 1))
 23265  	}
 23266  	if s.ValueElicitationSetting == nil {
 23267  		invalidParams.Add(request.NewErrParamRequired("ValueElicitationSetting"))
 23268  	}
 23269  	if s.ObfuscationSetting != nil {
 23270  		if err := s.ObfuscationSetting.Validate(); err != nil {
 23271  			invalidParams.AddNested("ObfuscationSetting", err.(request.ErrInvalidParams))
 23272  		}
 23273  	}
 23274  	if s.ValueElicitationSetting != nil {
 23275  		if err := s.ValueElicitationSetting.Validate(); err != nil {
 23276  			invalidParams.AddNested("ValueElicitationSetting", err.(request.ErrInvalidParams))
 23277  		}
 23278  	}
 23279  
 23280  	if invalidParams.Len() > 0 {
 23281  		return invalidParams
 23282  	}
 23283  	return nil
 23284  }
 23285  
 23286  // SetBotId sets the BotId field's value.
 23287  func (s *UpdateSlotInput) SetBotId(v string) *UpdateSlotInput {
 23288  	s.BotId = &v
 23289  	return s
 23290  }
 23291  
 23292  // SetBotVersion sets the BotVersion field's value.
 23293  func (s *UpdateSlotInput) SetBotVersion(v string) *UpdateSlotInput {
 23294  	s.BotVersion = &v
 23295  	return s
 23296  }
 23297  
 23298  // SetDescription sets the Description field's value.
 23299  func (s *UpdateSlotInput) SetDescription(v string) *UpdateSlotInput {
 23300  	s.Description = &v
 23301  	return s
 23302  }
 23303  
 23304  // SetIntentId sets the IntentId field's value.
 23305  func (s *UpdateSlotInput) SetIntentId(v string) *UpdateSlotInput {
 23306  	s.IntentId = &v
 23307  	return s
 23308  }
 23309  
 23310  // SetLocaleId sets the LocaleId field's value.
 23311  func (s *UpdateSlotInput) SetLocaleId(v string) *UpdateSlotInput {
 23312  	s.LocaleId = &v
 23313  	return s
 23314  }
 23315  
 23316  // SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
 23317  func (s *UpdateSlotInput) SetMultipleValuesSetting(v *MultipleValuesSetting) *UpdateSlotInput {
 23318  	s.MultipleValuesSetting = v
 23319  	return s
 23320  }
 23321  
 23322  // SetObfuscationSetting sets the ObfuscationSetting field's value.
 23323  func (s *UpdateSlotInput) SetObfuscationSetting(v *ObfuscationSetting) *UpdateSlotInput {
 23324  	s.ObfuscationSetting = v
 23325  	return s
 23326  }
 23327  
 23328  // SetSlotId sets the SlotId field's value.
 23329  func (s *UpdateSlotInput) SetSlotId(v string) *UpdateSlotInput {
 23330  	s.SlotId = &v
 23331  	return s
 23332  }
 23333  
 23334  // SetSlotName sets the SlotName field's value.
 23335  func (s *UpdateSlotInput) SetSlotName(v string) *UpdateSlotInput {
 23336  	s.SlotName = &v
 23337  	return s
 23338  }
 23339  
 23340  // SetSlotTypeId sets the SlotTypeId field's value.
 23341  func (s *UpdateSlotInput) SetSlotTypeId(v string) *UpdateSlotInput {
 23342  	s.SlotTypeId = &v
 23343  	return s
 23344  }
 23345  
 23346  // SetValueElicitationSetting sets the ValueElicitationSetting field's value.
 23347  func (s *UpdateSlotInput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *UpdateSlotInput {
 23348  	s.ValueElicitationSetting = v
 23349  	return s
 23350  }
 23351  
 23352  type UpdateSlotOutput struct {
 23353  	_ struct{} `type:"structure"`
 23354  
 23355  	// The identifier of the bot that contains the slot.
 23356  	BotId *string `locationName:"botId" min:"10" type:"string"`
 23357  
 23358  	// The identifier of the slot version that contains the slot. Will always be
 23359  	// DRAFT.
 23360  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 23361  
 23362  	// The timestamp of the date and time that the slot was created.
 23363  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 23364  
 23365  	// The updated description of the bot.
 23366  	Description *string `locationName:"description" type:"string"`
 23367  
 23368  	// The intent that contains the slot.
 23369  	IntentId *string `locationName:"intentId" min:"10" type:"string"`
 23370  
 23371  	// The timestamp of the date and time that the slot was last updated.
 23372  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 23373  
 23374  	// The locale that contains the slot.
 23375  	LocaleId *string `locationName:"localeId" type:"string"`
 23376  
 23377  	// Indicates whether the slot accepts multiple values in one response.
 23378  	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
 23379  
 23380  	// The updated setting that determines whether the slot value is obfuscated
 23381  	// in the Amazon CloudWatch logs.
 23382  	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
 23383  
 23384  	// The unique identifier of the slot that was updated.
 23385  	SlotId *string `locationName:"slotId" min:"10" type:"string"`
 23386  
 23387  	// The updated name of the slot.
 23388  	SlotName *string `locationName:"slotName" min:"1" type:"string"`
 23389  
 23390  	// The updated identifier of the slot type that provides values for the slot.
 23391  	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
 23392  
 23393  	// The updated prompts that Amazon Lex sends to the user to elicit a response
 23394  	// that provides a value for the slot.
 23395  	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
 23396  }
 23397  
 23398  // String returns the string representation.
 23399  //
 23400  // API parameter values that are decorated as "sensitive" in the API will not
 23401  // be included in the string output. The member name will be present, but the
 23402  // value will be replaced with "sensitive".
 23403  func (s UpdateSlotOutput) String() string {
 23404  	return awsutil.Prettify(s)
 23405  }
 23406  
 23407  // GoString returns the string representation.
 23408  //
 23409  // API parameter values that are decorated as "sensitive" in the API will not
 23410  // be included in the string output. The member name will be present, but the
 23411  // value will be replaced with "sensitive".
 23412  func (s UpdateSlotOutput) GoString() string {
 23413  	return s.String()
 23414  }
 23415  
 23416  // SetBotId sets the BotId field's value.
 23417  func (s *UpdateSlotOutput) SetBotId(v string) *UpdateSlotOutput {
 23418  	s.BotId = &v
 23419  	return s
 23420  }
 23421  
 23422  // SetBotVersion sets the BotVersion field's value.
 23423  func (s *UpdateSlotOutput) SetBotVersion(v string) *UpdateSlotOutput {
 23424  	s.BotVersion = &v
 23425  	return s
 23426  }
 23427  
 23428  // SetCreationDateTime sets the CreationDateTime field's value.
 23429  func (s *UpdateSlotOutput) SetCreationDateTime(v time.Time) *UpdateSlotOutput {
 23430  	s.CreationDateTime = &v
 23431  	return s
 23432  }
 23433  
 23434  // SetDescription sets the Description field's value.
 23435  func (s *UpdateSlotOutput) SetDescription(v string) *UpdateSlotOutput {
 23436  	s.Description = &v
 23437  	return s
 23438  }
 23439  
 23440  // SetIntentId sets the IntentId field's value.
 23441  func (s *UpdateSlotOutput) SetIntentId(v string) *UpdateSlotOutput {
 23442  	s.IntentId = &v
 23443  	return s
 23444  }
 23445  
 23446  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 23447  func (s *UpdateSlotOutput) SetLastUpdatedDateTime(v time.Time) *UpdateSlotOutput {
 23448  	s.LastUpdatedDateTime = &v
 23449  	return s
 23450  }
 23451  
 23452  // SetLocaleId sets the LocaleId field's value.
 23453  func (s *UpdateSlotOutput) SetLocaleId(v string) *UpdateSlotOutput {
 23454  	s.LocaleId = &v
 23455  	return s
 23456  }
 23457  
 23458  // SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
 23459  func (s *UpdateSlotOutput) SetMultipleValuesSetting(v *MultipleValuesSetting) *UpdateSlotOutput {
 23460  	s.MultipleValuesSetting = v
 23461  	return s
 23462  }
 23463  
 23464  // SetObfuscationSetting sets the ObfuscationSetting field's value.
 23465  func (s *UpdateSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *UpdateSlotOutput {
 23466  	s.ObfuscationSetting = v
 23467  	return s
 23468  }
 23469  
 23470  // SetSlotId sets the SlotId field's value.
 23471  func (s *UpdateSlotOutput) SetSlotId(v string) *UpdateSlotOutput {
 23472  	s.SlotId = &v
 23473  	return s
 23474  }
 23475  
 23476  // SetSlotName sets the SlotName field's value.
 23477  func (s *UpdateSlotOutput) SetSlotName(v string) *UpdateSlotOutput {
 23478  	s.SlotName = &v
 23479  	return s
 23480  }
 23481  
 23482  // SetSlotTypeId sets the SlotTypeId field's value.
 23483  func (s *UpdateSlotOutput) SetSlotTypeId(v string) *UpdateSlotOutput {
 23484  	s.SlotTypeId = &v
 23485  	return s
 23486  }
 23487  
 23488  // SetValueElicitationSetting sets the ValueElicitationSetting field's value.
 23489  func (s *UpdateSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *UpdateSlotOutput {
 23490  	s.ValueElicitationSetting = v
 23491  	return s
 23492  }
 23493  
 23494  type UpdateSlotTypeInput struct {
 23495  	_ struct{} `type:"structure"`
 23496  
 23497  	// The identifier of the bot that contains the slot type.
 23498  	//
 23499  	// BotId is a required field
 23500  	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
 23501  
 23502  	// The version of the bot that contains the slot type. Must be DRAFT.
 23503  	//
 23504  	// BotVersion is a required field
 23505  	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
 23506  
 23507  	// The new description of the slot type.
 23508  	Description *string `locationName:"description" type:"string"`
 23509  
 23510  	// The identifier of the language and locale that contains the slot type. The
 23511  	// string must match one of the supported locales. For more information, see
 23512  	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
 23513  	//
 23514  	// LocaleId is a required field
 23515  	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
 23516  
 23517  	// The new built-in slot type that should be used as the parent of this slot
 23518  	// type.
 23519  	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
 23520  
 23521  	// The unique identifier of the slot type to update.
 23522  	//
 23523  	// SlotTypeId is a required field
 23524  	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
 23525  
 23526  	// The new name of the slot type.
 23527  	//
 23528  	// SlotTypeName is a required field
 23529  	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string" required:"true"`
 23530  
 23531  	// A new list of values and their optional synonyms that define the values that
 23532  	// the slot type can take.
 23533  	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
 23534  
 23535  	// The strategy that Amazon Lex should use when deciding on a value from the
 23536  	// list of slot type values.
 23537  	//
 23538  	// ValueSelectionSetting is a required field
 23539  	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure" required:"true"`
 23540  }
 23541  
 23542  // String returns the string representation.
 23543  //
 23544  // API parameter values that are decorated as "sensitive" in the API will not
 23545  // be included in the string output. The member name will be present, but the
 23546  // value will be replaced with "sensitive".
 23547  func (s UpdateSlotTypeInput) String() string {
 23548  	return awsutil.Prettify(s)
 23549  }
 23550  
 23551  // GoString returns the string representation.
 23552  //
 23553  // API parameter values that are decorated as "sensitive" in the API will not
 23554  // be included in the string output. The member name will be present, but the
 23555  // value will be replaced with "sensitive".
 23556  func (s UpdateSlotTypeInput) GoString() string {
 23557  	return s.String()
 23558  }
 23559  
 23560  // Validate inspects the fields of the type to determine if they are valid.
 23561  func (s *UpdateSlotTypeInput) Validate() error {
 23562  	invalidParams := request.ErrInvalidParams{Context: "UpdateSlotTypeInput"}
 23563  	if s.BotId == nil {
 23564  		invalidParams.Add(request.NewErrParamRequired("BotId"))
 23565  	}
 23566  	if s.BotId != nil && len(*s.BotId) < 10 {
 23567  		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
 23568  	}
 23569  	if s.BotVersion == nil {
 23570  		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
 23571  	}
 23572  	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
 23573  		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
 23574  	}
 23575  	if s.LocaleId == nil {
 23576  		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
 23577  	}
 23578  	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
 23579  		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
 23580  	}
 23581  	if s.SlotTypeId == nil {
 23582  		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
 23583  	}
 23584  	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
 23585  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
 23586  	}
 23587  	if s.SlotTypeName == nil {
 23588  		invalidParams.Add(request.NewErrParamRequired("SlotTypeName"))
 23589  	}
 23590  	if s.SlotTypeName != nil && len(*s.SlotTypeName) < 1 {
 23591  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeName", 1))
 23592  	}
 23593  	if s.SlotTypeValues != nil && len(s.SlotTypeValues) < 1 {
 23594  		invalidParams.Add(request.NewErrParamMinLen("SlotTypeValues", 1))
 23595  	}
 23596  	if s.ValueSelectionSetting == nil {
 23597  		invalidParams.Add(request.NewErrParamRequired("ValueSelectionSetting"))
 23598  	}
 23599  	if s.SlotTypeValues != nil {
 23600  		for i, v := range s.SlotTypeValues {
 23601  			if v == nil {
 23602  				continue
 23603  			}
 23604  			if err := v.Validate(); err != nil {
 23605  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotTypeValues", i), err.(request.ErrInvalidParams))
 23606  			}
 23607  		}
 23608  	}
 23609  	if s.ValueSelectionSetting != nil {
 23610  		if err := s.ValueSelectionSetting.Validate(); err != nil {
 23611  			invalidParams.AddNested("ValueSelectionSetting", err.(request.ErrInvalidParams))
 23612  		}
 23613  	}
 23614  
 23615  	if invalidParams.Len() > 0 {
 23616  		return invalidParams
 23617  	}
 23618  	return nil
 23619  }
 23620  
 23621  // SetBotId sets the BotId field's value.
 23622  func (s *UpdateSlotTypeInput) SetBotId(v string) *UpdateSlotTypeInput {
 23623  	s.BotId = &v
 23624  	return s
 23625  }
 23626  
 23627  // SetBotVersion sets the BotVersion field's value.
 23628  func (s *UpdateSlotTypeInput) SetBotVersion(v string) *UpdateSlotTypeInput {
 23629  	s.BotVersion = &v
 23630  	return s
 23631  }
 23632  
 23633  // SetDescription sets the Description field's value.
 23634  func (s *UpdateSlotTypeInput) SetDescription(v string) *UpdateSlotTypeInput {
 23635  	s.Description = &v
 23636  	return s
 23637  }
 23638  
 23639  // SetLocaleId sets the LocaleId field's value.
 23640  func (s *UpdateSlotTypeInput) SetLocaleId(v string) *UpdateSlotTypeInput {
 23641  	s.LocaleId = &v
 23642  	return s
 23643  }
 23644  
 23645  // SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
 23646  func (s *UpdateSlotTypeInput) SetParentSlotTypeSignature(v string) *UpdateSlotTypeInput {
 23647  	s.ParentSlotTypeSignature = &v
 23648  	return s
 23649  }
 23650  
 23651  // SetSlotTypeId sets the SlotTypeId field's value.
 23652  func (s *UpdateSlotTypeInput) SetSlotTypeId(v string) *UpdateSlotTypeInput {
 23653  	s.SlotTypeId = &v
 23654  	return s
 23655  }
 23656  
 23657  // SetSlotTypeName sets the SlotTypeName field's value.
 23658  func (s *UpdateSlotTypeInput) SetSlotTypeName(v string) *UpdateSlotTypeInput {
 23659  	s.SlotTypeName = &v
 23660  	return s
 23661  }
 23662  
 23663  // SetSlotTypeValues sets the SlotTypeValues field's value.
 23664  func (s *UpdateSlotTypeInput) SetSlotTypeValues(v []*SlotTypeValue) *UpdateSlotTypeInput {
 23665  	s.SlotTypeValues = v
 23666  	return s
 23667  }
 23668  
 23669  // SetValueSelectionSetting sets the ValueSelectionSetting field's value.
 23670  func (s *UpdateSlotTypeInput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *UpdateSlotTypeInput {
 23671  	s.ValueSelectionSetting = v
 23672  	return s
 23673  }
 23674  
 23675  type UpdateSlotTypeOutput struct {
 23676  	_ struct{} `type:"structure"`
 23677  
 23678  	// The identifier of the bot that contains the slot type.
 23679  	BotId *string `locationName:"botId" min:"10" type:"string"`
 23680  
 23681  	// The version of the bot that contains the slot type. This is always DRAFT.
 23682  	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
 23683  
 23684  	// The timestamp of the date and time that the slot type was created.
 23685  	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
 23686  
 23687  	// The updated description of the slot type.
 23688  	Description *string `locationName:"description" type:"string"`
 23689  
 23690  	// A timestamp of the date and time that the slot type was last updated.
 23691  	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
 23692  
 23693  	// The language and locale of the updated slot type.
 23694  	LocaleId *string `locationName:"localeId" type:"string"`
 23695  
 23696  	// The updated signature of the built-in slot type that is the parent of this
 23697  	// slot type.
 23698  	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
 23699  
 23700  	// The unique identifier of the updated slot type.
 23701  	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
 23702  
 23703  	// The updated name of the slot type.
 23704  	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
 23705  
 23706  	// The updated values that the slot type provides.
 23707  	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
 23708  
 23709  	// The updated strategy that Amazon Lex uses to determine which value to select
 23710  	// from the slot type.
 23711  	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
 23712  }
 23713  
 23714  // String returns the string representation.
 23715  //
 23716  // API parameter values that are decorated as "sensitive" in the API will not
 23717  // be included in the string output. The member name will be present, but the
 23718  // value will be replaced with "sensitive".
 23719  func (s UpdateSlotTypeOutput) String() string {
 23720  	return awsutil.Prettify(s)
 23721  }
 23722  
 23723  // GoString returns the string representation.
 23724  //
 23725  // API parameter values that are decorated as "sensitive" in the API will not
 23726  // be included in the string output. The member name will be present, but the
 23727  // value will be replaced with "sensitive".
 23728  func (s UpdateSlotTypeOutput) GoString() string {
 23729  	return s.String()
 23730  }
 23731  
 23732  // SetBotId sets the BotId field's value.
 23733  func (s *UpdateSlotTypeOutput) SetBotId(v string) *UpdateSlotTypeOutput {
 23734  	s.BotId = &v
 23735  	return s
 23736  }
 23737  
 23738  // SetBotVersion sets the BotVersion field's value.
 23739  func (s *UpdateSlotTypeOutput) SetBotVersion(v string) *UpdateSlotTypeOutput {
 23740  	s.BotVersion = &v
 23741  	return s
 23742  }
 23743  
 23744  // SetCreationDateTime sets the CreationDateTime field's value.
 23745  func (s *UpdateSlotTypeOutput) SetCreationDateTime(v time.Time) *UpdateSlotTypeOutput {
 23746  	s.CreationDateTime = &v
 23747  	return s
 23748  }
 23749  
 23750  // SetDescription sets the Description field's value.
 23751  func (s *UpdateSlotTypeOutput) SetDescription(v string) *UpdateSlotTypeOutput {
 23752  	s.Description = &v
 23753  	return s
 23754  }
 23755  
 23756  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 23757  func (s *UpdateSlotTypeOutput) SetLastUpdatedDateTime(v time.Time) *UpdateSlotTypeOutput {
 23758  	s.LastUpdatedDateTime = &v
 23759  	return s
 23760  }
 23761  
 23762  // SetLocaleId sets the LocaleId field's value.
 23763  func (s *UpdateSlotTypeOutput) SetLocaleId(v string) *UpdateSlotTypeOutput {
 23764  	s.LocaleId = &v
 23765  	return s
 23766  }
 23767  
 23768  // SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
 23769  func (s *UpdateSlotTypeOutput) SetParentSlotTypeSignature(v string) *UpdateSlotTypeOutput {
 23770  	s.ParentSlotTypeSignature = &v
 23771  	return s
 23772  }
 23773  
 23774  // SetSlotTypeId sets the SlotTypeId field's value.
 23775  func (s *UpdateSlotTypeOutput) SetSlotTypeId(v string) *UpdateSlotTypeOutput {
 23776  	s.SlotTypeId = &v
 23777  	return s
 23778  }
 23779  
 23780  // SetSlotTypeName sets the SlotTypeName field's value.
 23781  func (s *UpdateSlotTypeOutput) SetSlotTypeName(v string) *UpdateSlotTypeOutput {
 23782  	s.SlotTypeName = &v
 23783  	return s
 23784  }
 23785  
 23786  // SetSlotTypeValues sets the SlotTypeValues field's value.
 23787  func (s *UpdateSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *UpdateSlotTypeOutput {
 23788  	s.SlotTypeValues = v
 23789  	return s
 23790  }
 23791  
 23792  // SetValueSelectionSetting sets the ValueSelectionSetting field's value.
 23793  func (s *UpdateSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *UpdateSlotTypeOutput {
 23794  	s.ValueSelectionSetting = v
 23795  	return s
 23796  }
 23797  
 23798  // Provides parameters for setting the time window and duration for aggregating
 23799  // utterance data.
 23800  type UtteranceAggregationDuration struct {
 23801  	_ struct{} `type:"structure"`
 23802  
 23803  	// The desired time window for aggregating utterances.
 23804  	//
 23805  	// RelativeAggregationDuration is a required field
 23806  	RelativeAggregationDuration *RelativeAggregationDuration `locationName:"relativeAggregationDuration" type:"structure" required:"true"`
 23807  }
 23808  
 23809  // String returns the string representation.
 23810  //
 23811  // API parameter values that are decorated as "sensitive" in the API will not
 23812  // be included in the string output. The member name will be present, but the
 23813  // value will be replaced with "sensitive".
 23814  func (s UtteranceAggregationDuration) String() string {
 23815  	return awsutil.Prettify(s)
 23816  }
 23817  
 23818  // GoString returns the string representation.
 23819  //
 23820  // API parameter values that are decorated as "sensitive" in the API will not
 23821  // be included in the string output. The member name will be present, but the
 23822  // value will be replaced with "sensitive".
 23823  func (s UtteranceAggregationDuration) GoString() string {
 23824  	return s.String()
 23825  }
 23826  
 23827  // Validate inspects the fields of the type to determine if they are valid.
 23828  func (s *UtteranceAggregationDuration) Validate() error {
 23829  	invalidParams := request.ErrInvalidParams{Context: "UtteranceAggregationDuration"}
 23830  	if s.RelativeAggregationDuration == nil {
 23831  		invalidParams.Add(request.NewErrParamRequired("RelativeAggregationDuration"))
 23832  	}
 23833  	if s.RelativeAggregationDuration != nil {
 23834  		if err := s.RelativeAggregationDuration.Validate(); err != nil {
 23835  			invalidParams.AddNested("RelativeAggregationDuration", err.(request.ErrInvalidParams))
 23836  		}
 23837  	}
 23838  
 23839  	if invalidParams.Len() > 0 {
 23840  		return invalidParams
 23841  	}
 23842  	return nil
 23843  }
 23844  
 23845  // SetRelativeAggregationDuration sets the RelativeAggregationDuration field's value.
 23846  func (s *UtteranceAggregationDuration) SetRelativeAggregationDuration(v *RelativeAggregationDuration) *UtteranceAggregationDuration {
 23847  	s.RelativeAggregationDuration = v
 23848  	return s
 23849  }
 23850  
 23851  // One of the input parameters in your request isn't valid. Check the parameters
 23852  // and try your request again.
 23853  type ValidationException struct {
 23854  	_            struct{}                  `type:"structure"`
 23855  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23856  
 23857  	Message_ *string `locationName:"message" type:"string"`
 23858  }
 23859  
 23860  // String returns the string representation.
 23861  //
 23862  // API parameter values that are decorated as "sensitive" in the API will not
 23863  // be included in the string output. The member name will be present, but the
 23864  // value will be replaced with "sensitive".
 23865  func (s ValidationException) String() string {
 23866  	return awsutil.Prettify(s)
 23867  }
 23868  
 23869  // GoString returns the string representation.
 23870  //
 23871  // API parameter values that are decorated as "sensitive" in the API will not
 23872  // be included in the string output. The member name will be present, but the
 23873  // value will be replaced with "sensitive".
 23874  func (s ValidationException) GoString() string {
 23875  	return s.String()
 23876  }
 23877  
 23878  func newErrorValidationException(v protocol.ResponseMetadata) error {
 23879  	return &ValidationException{
 23880  		RespMetadata: v,
 23881  	}
 23882  }
 23883  
 23884  // Code returns the exception type name.
 23885  func (s *ValidationException) Code() string {
 23886  	return "ValidationException"
 23887  }
 23888  
 23889  // Message returns the exception's message.
 23890  func (s *ValidationException) Message() string {
 23891  	if s.Message_ != nil {
 23892  		return *s.Message_
 23893  	}
 23894  	return ""
 23895  }
 23896  
 23897  // OrigErr always returns nil, satisfies awserr.Error interface.
 23898  func (s *ValidationException) OrigErr() error {
 23899  	return nil
 23900  }
 23901  
 23902  func (s *ValidationException) Error() string {
 23903  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23904  }
 23905  
 23906  // Status code returns the HTTP status code for the request's response error.
 23907  func (s *ValidationException) StatusCode() int {
 23908  	return s.RespMetadata.StatusCode
 23909  }
 23910  
 23911  // RequestID returns the service's response RequestID for request.
 23912  func (s *ValidationException) RequestID() string {
 23913  	return s.RespMetadata.RequestID
 23914  }
 23915  
 23916  // Defines settings for using an Amazon Polly voice to communicate with a user.
 23917  type VoiceSettings struct {
 23918  	_ struct{} `type:"structure"`
 23919  
 23920  	// The identifier of the Amazon Polly voice to use.
 23921  	//
 23922  	// VoiceId is a required field
 23923  	VoiceId *string `locationName:"voiceId" type:"string" required:"true"`
 23924  }
 23925  
 23926  // String returns the string representation.
 23927  //
 23928  // API parameter values that are decorated as "sensitive" in the API will not
 23929  // be included in the string output. The member name will be present, but the
 23930  // value will be replaced with "sensitive".
 23931  func (s VoiceSettings) String() string {
 23932  	return awsutil.Prettify(s)
 23933  }
 23934  
 23935  // GoString returns the string representation.
 23936  //
 23937  // API parameter values that are decorated as "sensitive" in the API will not
 23938  // be included in the string output. The member name will be present, but the
 23939  // value will be replaced with "sensitive".
 23940  func (s VoiceSettings) GoString() string {
 23941  	return s.String()
 23942  }
 23943  
 23944  // Validate inspects the fields of the type to determine if they are valid.
 23945  func (s *VoiceSettings) Validate() error {
 23946  	invalidParams := request.ErrInvalidParams{Context: "VoiceSettings"}
 23947  	if s.VoiceId == nil {
 23948  		invalidParams.Add(request.NewErrParamRequired("VoiceId"))
 23949  	}
 23950  
 23951  	if invalidParams.Len() > 0 {
 23952  		return invalidParams
 23953  	}
 23954  	return nil
 23955  }
 23956  
 23957  // SetVoiceId sets the VoiceId field's value.
 23958  func (s *VoiceSettings) SetVoiceId(v string) *VoiceSettings {
 23959  	s.VoiceId = &v
 23960  	return s
 23961  }
 23962  
 23963  // Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
 23964  // input.
 23965  type WaitAndContinueSpecification struct {
 23966  	_ struct{} `type:"structure"`
 23967  
 23968  	// Specifies whether the bot will wait for a user to respond. When this field
 23969  	// is false, wait and continue responses for a slot aren't used. If the active
 23970  	// field isn't specified, the default is true.
 23971  	Active *bool `locationName:"active" type:"boolean"`
 23972  
 23973  	// The response that Amazon Lex sends to indicate that the bot is ready to continue
 23974  	// the conversation.
 23975  	//
 23976  	// ContinueResponse is a required field
 23977  	ContinueResponse *ResponseSpecification `locationName:"continueResponse" type:"structure" required:"true"`
 23978  
 23979  	// A response that Amazon Lex sends periodically to the user to indicate that
 23980  	// the bot is still waiting for input from the user.
 23981  	StillWaitingResponse *StillWaitingResponseSpecification `locationName:"stillWaitingResponse" type:"structure"`
 23982  
 23983  	// The response that Amazon Lex sends to indicate that the bot is waiting for
 23984  	// the conversation to continue.
 23985  	//
 23986  	// WaitingResponse is a required field
 23987  	WaitingResponse *ResponseSpecification `locationName:"waitingResponse" type:"structure" required:"true"`
 23988  }
 23989  
 23990  // String returns the string representation.
 23991  //
 23992  // API parameter values that are decorated as "sensitive" in the API will not
 23993  // be included in the string output. The member name will be present, but the
 23994  // value will be replaced with "sensitive".
 23995  func (s WaitAndContinueSpecification) String() string {
 23996  	return awsutil.Prettify(s)
 23997  }
 23998  
 23999  // GoString returns the string representation.
 24000  //
 24001  // API parameter values that are decorated as "sensitive" in the API will not
 24002  // be included in the string output. The member name will be present, but the
 24003  // value will be replaced with "sensitive".
 24004  func (s WaitAndContinueSpecification) GoString() string {
 24005  	return s.String()
 24006  }
 24007  
 24008  // Validate inspects the fields of the type to determine if they are valid.
 24009  func (s *WaitAndContinueSpecification) Validate() error {
 24010  	invalidParams := request.ErrInvalidParams{Context: "WaitAndContinueSpecification"}
 24011  	if s.ContinueResponse == nil {
 24012  		invalidParams.Add(request.NewErrParamRequired("ContinueResponse"))
 24013  	}
 24014  	if s.WaitingResponse == nil {
 24015  		invalidParams.Add(request.NewErrParamRequired("WaitingResponse"))
 24016  	}
 24017  	if s.ContinueResponse != nil {
 24018  		if err := s.ContinueResponse.Validate(); err != nil {
 24019  			invalidParams.AddNested("ContinueResponse", err.(request.ErrInvalidParams))
 24020  		}
 24021  	}
 24022  	if s.StillWaitingResponse != nil {
 24023  		if err := s.StillWaitingResponse.Validate(); err != nil {
 24024  			invalidParams.AddNested("StillWaitingResponse", err.(request.ErrInvalidParams))
 24025  		}
 24026  	}
 24027  	if s.WaitingResponse != nil {
 24028  		if err := s.WaitingResponse.Validate(); err != nil {
 24029  			invalidParams.AddNested("WaitingResponse", err.(request.ErrInvalidParams))
 24030  		}
 24031  	}
 24032  
 24033  	if invalidParams.Len() > 0 {
 24034  		return invalidParams
 24035  	}
 24036  	return nil
 24037  }
 24038  
 24039  // SetActive sets the Active field's value.
 24040  func (s *WaitAndContinueSpecification) SetActive(v bool) *WaitAndContinueSpecification {
 24041  	s.Active = &v
 24042  	return s
 24043  }
 24044  
 24045  // SetContinueResponse sets the ContinueResponse field's value.
 24046  func (s *WaitAndContinueSpecification) SetContinueResponse(v *ResponseSpecification) *WaitAndContinueSpecification {
 24047  	s.ContinueResponse = v
 24048  	return s
 24049  }
 24050  
 24051  // SetStillWaitingResponse sets the StillWaitingResponse field's value.
 24052  func (s *WaitAndContinueSpecification) SetStillWaitingResponse(v *StillWaitingResponseSpecification) *WaitAndContinueSpecification {
 24053  	s.StillWaitingResponse = v
 24054  	return s
 24055  }
 24056  
 24057  // SetWaitingResponse sets the WaitingResponse field's value.
 24058  func (s *WaitAndContinueSpecification) SetWaitingResponse(v *ResponseSpecification) *WaitAndContinueSpecification {
 24059  	s.WaitingResponse = v
 24060  	return s
 24061  }
 24062  
 24063  const (
 24064  	// AggregatedUtterancesFilterNameUtterance is a AggregatedUtterancesFilterName enum value
 24065  	AggregatedUtterancesFilterNameUtterance = "Utterance"
 24066  )
 24067  
 24068  // AggregatedUtterancesFilterName_Values returns all elements of the AggregatedUtterancesFilterName enum
 24069  func AggregatedUtterancesFilterName_Values() []string {
 24070  	return []string{
 24071  		AggregatedUtterancesFilterNameUtterance,
 24072  	}
 24073  }
 24074  
 24075  const (
 24076  	// AggregatedUtterancesFilterOperatorCo is a AggregatedUtterancesFilterOperator enum value
 24077  	AggregatedUtterancesFilterOperatorCo = "CO"
 24078  
 24079  	// AggregatedUtterancesFilterOperatorEq is a AggregatedUtterancesFilterOperator enum value
 24080  	AggregatedUtterancesFilterOperatorEq = "EQ"
 24081  )
 24082  
 24083  // AggregatedUtterancesFilterOperator_Values returns all elements of the AggregatedUtterancesFilterOperator enum
 24084  func AggregatedUtterancesFilterOperator_Values() []string {
 24085  	return []string{
 24086  		AggregatedUtterancesFilterOperatorCo,
 24087  		AggregatedUtterancesFilterOperatorEq,
 24088  	}
 24089  }
 24090  
 24091  const (
 24092  	// AggregatedUtterancesSortAttributeHitCount is a AggregatedUtterancesSortAttribute enum value
 24093  	AggregatedUtterancesSortAttributeHitCount = "HitCount"
 24094  
 24095  	// AggregatedUtterancesSortAttributeMissedCount is a AggregatedUtterancesSortAttribute enum value
 24096  	AggregatedUtterancesSortAttributeMissedCount = "MissedCount"
 24097  )
 24098  
 24099  // AggregatedUtterancesSortAttribute_Values returns all elements of the AggregatedUtterancesSortAttribute enum
 24100  func AggregatedUtterancesSortAttribute_Values() []string {
 24101  	return []string{
 24102  		AggregatedUtterancesSortAttributeHitCount,
 24103  		AggregatedUtterancesSortAttributeMissedCount,
 24104  	}
 24105  }
 24106  
 24107  const (
 24108  	// BotAliasStatusCreating is a BotAliasStatus enum value
 24109  	BotAliasStatusCreating = "Creating"
 24110  
 24111  	// BotAliasStatusAvailable is a BotAliasStatus enum value
 24112  	BotAliasStatusAvailable = "Available"
 24113  
 24114  	// BotAliasStatusDeleting is a BotAliasStatus enum value
 24115  	BotAliasStatusDeleting = "Deleting"
 24116  
 24117  	// BotAliasStatusFailed is a BotAliasStatus enum value
 24118  	BotAliasStatusFailed = "Failed"
 24119  )
 24120  
 24121  // BotAliasStatus_Values returns all elements of the BotAliasStatus enum
 24122  func BotAliasStatus_Values() []string {
 24123  	return []string{
 24124  		BotAliasStatusCreating,
 24125  		BotAliasStatusAvailable,
 24126  		BotAliasStatusDeleting,
 24127  		BotAliasStatusFailed,
 24128  	}
 24129  }
 24130  
 24131  const (
 24132  	// BotFilterNameBotName is a BotFilterName enum value
 24133  	BotFilterNameBotName = "BotName"
 24134  )
 24135  
 24136  // BotFilterName_Values returns all elements of the BotFilterName enum
 24137  func BotFilterName_Values() []string {
 24138  	return []string{
 24139  		BotFilterNameBotName,
 24140  	}
 24141  }
 24142  
 24143  const (
 24144  	// BotFilterOperatorCo is a BotFilterOperator enum value
 24145  	BotFilterOperatorCo = "CO"
 24146  
 24147  	// BotFilterOperatorEq is a BotFilterOperator enum value
 24148  	BotFilterOperatorEq = "EQ"
 24149  )
 24150  
 24151  // BotFilterOperator_Values returns all elements of the BotFilterOperator enum
 24152  func BotFilterOperator_Values() []string {
 24153  	return []string{
 24154  		BotFilterOperatorCo,
 24155  		BotFilterOperatorEq,
 24156  	}
 24157  }
 24158  
 24159  const (
 24160  	// BotLocaleFilterNameBotLocaleName is a BotLocaleFilterName enum value
 24161  	BotLocaleFilterNameBotLocaleName = "BotLocaleName"
 24162  )
 24163  
 24164  // BotLocaleFilterName_Values returns all elements of the BotLocaleFilterName enum
 24165  func BotLocaleFilterName_Values() []string {
 24166  	return []string{
 24167  		BotLocaleFilterNameBotLocaleName,
 24168  	}
 24169  }
 24170  
 24171  const (
 24172  	// BotLocaleFilterOperatorCo is a BotLocaleFilterOperator enum value
 24173  	BotLocaleFilterOperatorCo = "CO"
 24174  
 24175  	// BotLocaleFilterOperatorEq is a BotLocaleFilterOperator enum value
 24176  	BotLocaleFilterOperatorEq = "EQ"
 24177  )
 24178  
 24179  // BotLocaleFilterOperator_Values returns all elements of the BotLocaleFilterOperator enum
 24180  func BotLocaleFilterOperator_Values() []string {
 24181  	return []string{
 24182  		BotLocaleFilterOperatorCo,
 24183  		BotLocaleFilterOperatorEq,
 24184  	}
 24185  }
 24186  
 24187  const (
 24188  	// BotLocaleSortAttributeBotLocaleName is a BotLocaleSortAttribute enum value
 24189  	BotLocaleSortAttributeBotLocaleName = "BotLocaleName"
 24190  )
 24191  
 24192  // BotLocaleSortAttribute_Values returns all elements of the BotLocaleSortAttribute enum
 24193  func BotLocaleSortAttribute_Values() []string {
 24194  	return []string{
 24195  		BotLocaleSortAttributeBotLocaleName,
 24196  	}
 24197  }
 24198  
 24199  const (
 24200  	// BotLocaleStatusCreating is a BotLocaleStatus enum value
 24201  	BotLocaleStatusCreating = "Creating"
 24202  
 24203  	// BotLocaleStatusBuilding is a BotLocaleStatus enum value
 24204  	BotLocaleStatusBuilding = "Building"
 24205  
 24206  	// BotLocaleStatusBuilt is a BotLocaleStatus enum value
 24207  	BotLocaleStatusBuilt = "Built"
 24208  
 24209  	// BotLocaleStatusReadyExpressTesting is a BotLocaleStatus enum value
 24210  	BotLocaleStatusReadyExpressTesting = "ReadyExpressTesting"
 24211  
 24212  	// BotLocaleStatusFailed is a BotLocaleStatus enum value
 24213  	BotLocaleStatusFailed = "Failed"
 24214  
 24215  	// BotLocaleStatusDeleting is a BotLocaleStatus enum value
 24216  	BotLocaleStatusDeleting = "Deleting"
 24217  
 24218  	// BotLocaleStatusNotBuilt is a BotLocaleStatus enum value
 24219  	BotLocaleStatusNotBuilt = "NotBuilt"
 24220  
 24221  	// BotLocaleStatusImporting is a BotLocaleStatus enum value
 24222  	BotLocaleStatusImporting = "Importing"
 24223  )
 24224  
 24225  // BotLocaleStatus_Values returns all elements of the BotLocaleStatus enum
 24226  func BotLocaleStatus_Values() []string {
 24227  	return []string{
 24228  		BotLocaleStatusCreating,
 24229  		BotLocaleStatusBuilding,
 24230  		BotLocaleStatusBuilt,
 24231  		BotLocaleStatusReadyExpressTesting,
 24232  		BotLocaleStatusFailed,
 24233  		BotLocaleStatusDeleting,
 24234  		BotLocaleStatusNotBuilt,
 24235  		BotLocaleStatusImporting,
 24236  	}
 24237  }
 24238  
 24239  const (
 24240  	// BotSortAttributeBotName is a BotSortAttribute enum value
 24241  	BotSortAttributeBotName = "BotName"
 24242  )
 24243  
 24244  // BotSortAttribute_Values returns all elements of the BotSortAttribute enum
 24245  func BotSortAttribute_Values() []string {
 24246  	return []string{
 24247  		BotSortAttributeBotName,
 24248  	}
 24249  }
 24250  
 24251  const (
 24252  	// BotStatusCreating is a BotStatus enum value
 24253  	BotStatusCreating = "Creating"
 24254  
 24255  	// BotStatusAvailable is a BotStatus enum value
 24256  	BotStatusAvailable = "Available"
 24257  
 24258  	// BotStatusInactive is a BotStatus enum value
 24259  	BotStatusInactive = "Inactive"
 24260  
 24261  	// BotStatusDeleting is a BotStatus enum value
 24262  	BotStatusDeleting = "Deleting"
 24263  
 24264  	// BotStatusFailed is a BotStatus enum value
 24265  	BotStatusFailed = "Failed"
 24266  
 24267  	// BotStatusVersioning is a BotStatus enum value
 24268  	BotStatusVersioning = "Versioning"
 24269  
 24270  	// BotStatusImporting is a BotStatus enum value
 24271  	BotStatusImporting = "Importing"
 24272  )
 24273  
 24274  // BotStatus_Values returns all elements of the BotStatus enum
 24275  func BotStatus_Values() []string {
 24276  	return []string{
 24277  		BotStatusCreating,
 24278  		BotStatusAvailable,
 24279  		BotStatusInactive,
 24280  		BotStatusDeleting,
 24281  		BotStatusFailed,
 24282  		BotStatusVersioning,
 24283  		BotStatusImporting,
 24284  	}
 24285  }
 24286  
 24287  const (
 24288  	// BotVersionSortAttributeBotVersion is a BotVersionSortAttribute enum value
 24289  	BotVersionSortAttributeBotVersion = "BotVersion"
 24290  )
 24291  
 24292  // BotVersionSortAttribute_Values returns all elements of the BotVersionSortAttribute enum
 24293  func BotVersionSortAttribute_Values() []string {
 24294  	return []string{
 24295  		BotVersionSortAttributeBotVersion,
 24296  	}
 24297  }
 24298  
 24299  const (
 24300  	// BuiltInIntentSortAttributeIntentSignature is a BuiltInIntentSortAttribute enum value
 24301  	BuiltInIntentSortAttributeIntentSignature = "IntentSignature"
 24302  )
 24303  
 24304  // BuiltInIntentSortAttribute_Values returns all elements of the BuiltInIntentSortAttribute enum
 24305  func BuiltInIntentSortAttribute_Values() []string {
 24306  	return []string{
 24307  		BuiltInIntentSortAttributeIntentSignature,
 24308  	}
 24309  }
 24310  
 24311  const (
 24312  	// BuiltInSlotTypeSortAttributeSlotTypeSignature is a BuiltInSlotTypeSortAttribute enum value
 24313  	BuiltInSlotTypeSortAttributeSlotTypeSignature = "SlotTypeSignature"
 24314  )
 24315  
 24316  // BuiltInSlotTypeSortAttribute_Values returns all elements of the BuiltInSlotTypeSortAttribute enum
 24317  func BuiltInSlotTypeSortAttribute_Values() []string {
 24318  	return []string{
 24319  		BuiltInSlotTypeSortAttributeSlotTypeSignature,
 24320  	}
 24321  }
 24322  
 24323  const (
 24324  	// EffectAllow is a Effect enum value
 24325  	EffectAllow = "Allow"
 24326  
 24327  	// EffectDeny is a Effect enum value
 24328  	EffectDeny = "Deny"
 24329  )
 24330  
 24331  // Effect_Values returns all elements of the Effect enum
 24332  func Effect_Values() []string {
 24333  	return []string{
 24334  		EffectAllow,
 24335  		EffectDeny,
 24336  	}
 24337  }
 24338  
 24339  const (
 24340  	// ExportFilterNameExportResourceType is a ExportFilterName enum value
 24341  	ExportFilterNameExportResourceType = "ExportResourceType"
 24342  )
 24343  
 24344  // ExportFilterName_Values returns all elements of the ExportFilterName enum
 24345  func ExportFilterName_Values() []string {
 24346  	return []string{
 24347  		ExportFilterNameExportResourceType,
 24348  	}
 24349  }
 24350  
 24351  const (
 24352  	// ExportFilterOperatorCo is a ExportFilterOperator enum value
 24353  	ExportFilterOperatorCo = "CO"
 24354  
 24355  	// ExportFilterOperatorEq is a ExportFilterOperator enum value
 24356  	ExportFilterOperatorEq = "EQ"
 24357  )
 24358  
 24359  // ExportFilterOperator_Values returns all elements of the ExportFilterOperator enum
 24360  func ExportFilterOperator_Values() []string {
 24361  	return []string{
 24362  		ExportFilterOperatorCo,
 24363  		ExportFilterOperatorEq,
 24364  	}
 24365  }
 24366  
 24367  const (
 24368  	// ExportSortAttributeLastUpdatedDateTime is a ExportSortAttribute enum value
 24369  	ExportSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
 24370  )
 24371  
 24372  // ExportSortAttribute_Values returns all elements of the ExportSortAttribute enum
 24373  func ExportSortAttribute_Values() []string {
 24374  	return []string{
 24375  		ExportSortAttributeLastUpdatedDateTime,
 24376  	}
 24377  }
 24378  
 24379  const (
 24380  	// ExportStatusInProgress is a ExportStatus enum value
 24381  	ExportStatusInProgress = "InProgress"
 24382  
 24383  	// ExportStatusCompleted is a ExportStatus enum value
 24384  	ExportStatusCompleted = "Completed"
 24385  
 24386  	// ExportStatusFailed is a ExportStatus enum value
 24387  	ExportStatusFailed = "Failed"
 24388  
 24389  	// ExportStatusDeleting is a ExportStatus enum value
 24390  	ExportStatusDeleting = "Deleting"
 24391  )
 24392  
 24393  // ExportStatus_Values returns all elements of the ExportStatus enum
 24394  func ExportStatus_Values() []string {
 24395  	return []string{
 24396  		ExportStatusInProgress,
 24397  		ExportStatusCompleted,
 24398  		ExportStatusFailed,
 24399  		ExportStatusDeleting,
 24400  	}
 24401  }
 24402  
 24403  const (
 24404  	// ImportExportFileFormatLexJson is a ImportExportFileFormat enum value
 24405  	ImportExportFileFormatLexJson = "LexJson"
 24406  )
 24407  
 24408  // ImportExportFileFormat_Values returns all elements of the ImportExportFileFormat enum
 24409  func ImportExportFileFormat_Values() []string {
 24410  	return []string{
 24411  		ImportExportFileFormatLexJson,
 24412  	}
 24413  }
 24414  
 24415  const (
 24416  	// ImportFilterNameImportResourceType is a ImportFilterName enum value
 24417  	ImportFilterNameImportResourceType = "ImportResourceType"
 24418  )
 24419  
 24420  // ImportFilterName_Values returns all elements of the ImportFilterName enum
 24421  func ImportFilterName_Values() []string {
 24422  	return []string{
 24423  		ImportFilterNameImportResourceType,
 24424  	}
 24425  }
 24426  
 24427  const (
 24428  	// ImportFilterOperatorCo is a ImportFilterOperator enum value
 24429  	ImportFilterOperatorCo = "CO"
 24430  
 24431  	// ImportFilterOperatorEq is a ImportFilterOperator enum value
 24432  	ImportFilterOperatorEq = "EQ"
 24433  )
 24434  
 24435  // ImportFilterOperator_Values returns all elements of the ImportFilterOperator enum
 24436  func ImportFilterOperator_Values() []string {
 24437  	return []string{
 24438  		ImportFilterOperatorCo,
 24439  		ImportFilterOperatorEq,
 24440  	}
 24441  }
 24442  
 24443  const (
 24444  	// ImportSortAttributeLastUpdatedDateTime is a ImportSortAttribute enum value
 24445  	ImportSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
 24446  )
 24447  
 24448  // ImportSortAttribute_Values returns all elements of the ImportSortAttribute enum
 24449  func ImportSortAttribute_Values() []string {
 24450  	return []string{
 24451  		ImportSortAttributeLastUpdatedDateTime,
 24452  	}
 24453  }
 24454  
 24455  const (
 24456  	// ImportStatusInProgress is a ImportStatus enum value
 24457  	ImportStatusInProgress = "InProgress"
 24458  
 24459  	// ImportStatusCompleted is a ImportStatus enum value
 24460  	ImportStatusCompleted = "Completed"
 24461  
 24462  	// ImportStatusFailed is a ImportStatus enum value
 24463  	ImportStatusFailed = "Failed"
 24464  
 24465  	// ImportStatusDeleting is a ImportStatus enum value
 24466  	ImportStatusDeleting = "Deleting"
 24467  )
 24468  
 24469  // ImportStatus_Values returns all elements of the ImportStatus enum
 24470  func ImportStatus_Values() []string {
 24471  	return []string{
 24472  		ImportStatusInProgress,
 24473  		ImportStatusCompleted,
 24474  		ImportStatusFailed,
 24475  		ImportStatusDeleting,
 24476  	}
 24477  }
 24478  
 24479  const (
 24480  	// IntentFilterNameIntentName is a IntentFilterName enum value
 24481  	IntentFilterNameIntentName = "IntentName"
 24482  )
 24483  
 24484  // IntentFilterName_Values returns all elements of the IntentFilterName enum
 24485  func IntentFilterName_Values() []string {
 24486  	return []string{
 24487  		IntentFilterNameIntentName,
 24488  	}
 24489  }
 24490  
 24491  const (
 24492  	// IntentFilterOperatorCo is a IntentFilterOperator enum value
 24493  	IntentFilterOperatorCo = "CO"
 24494  
 24495  	// IntentFilterOperatorEq is a IntentFilterOperator enum value
 24496  	IntentFilterOperatorEq = "EQ"
 24497  )
 24498  
 24499  // IntentFilterOperator_Values returns all elements of the IntentFilterOperator enum
 24500  func IntentFilterOperator_Values() []string {
 24501  	return []string{
 24502  		IntentFilterOperatorCo,
 24503  		IntentFilterOperatorEq,
 24504  	}
 24505  }
 24506  
 24507  const (
 24508  	// IntentSortAttributeIntentName is a IntentSortAttribute enum value
 24509  	IntentSortAttributeIntentName = "IntentName"
 24510  
 24511  	// IntentSortAttributeLastUpdatedDateTime is a IntentSortAttribute enum value
 24512  	IntentSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
 24513  )
 24514  
 24515  // IntentSortAttribute_Values returns all elements of the IntentSortAttribute enum
 24516  func IntentSortAttribute_Values() []string {
 24517  	return []string{
 24518  		IntentSortAttributeIntentName,
 24519  		IntentSortAttributeLastUpdatedDateTime,
 24520  	}
 24521  }
 24522  
 24523  const (
 24524  	// MergeStrategyOverwrite is a MergeStrategy enum value
 24525  	MergeStrategyOverwrite = "Overwrite"
 24526  
 24527  	// MergeStrategyFailOnConflict is a MergeStrategy enum value
 24528  	MergeStrategyFailOnConflict = "FailOnConflict"
 24529  )
 24530  
 24531  // MergeStrategy_Values returns all elements of the MergeStrategy enum
 24532  func MergeStrategy_Values() []string {
 24533  	return []string{
 24534  		MergeStrategyOverwrite,
 24535  		MergeStrategyFailOnConflict,
 24536  	}
 24537  }
 24538  
 24539  const (
 24540  	// ObfuscationSettingTypeNone is a ObfuscationSettingType enum value
 24541  	ObfuscationSettingTypeNone = "None"
 24542  
 24543  	// ObfuscationSettingTypeDefaultObfuscation is a ObfuscationSettingType enum value
 24544  	ObfuscationSettingTypeDefaultObfuscation = "DefaultObfuscation"
 24545  )
 24546  
 24547  // ObfuscationSettingType_Values returns all elements of the ObfuscationSettingType enum
 24548  func ObfuscationSettingType_Values() []string {
 24549  	return []string{
 24550  		ObfuscationSettingTypeNone,
 24551  		ObfuscationSettingTypeDefaultObfuscation,
 24552  	}
 24553  }
 24554  
 24555  const (
 24556  	// SlotConstraintRequired is a SlotConstraint enum value
 24557  	SlotConstraintRequired = "Required"
 24558  
 24559  	// SlotConstraintOptional is a SlotConstraint enum value
 24560  	SlotConstraintOptional = "Optional"
 24561  )
 24562  
 24563  // SlotConstraint_Values returns all elements of the SlotConstraint enum
 24564  func SlotConstraint_Values() []string {
 24565  	return []string{
 24566  		SlotConstraintRequired,
 24567  		SlotConstraintOptional,
 24568  	}
 24569  }
 24570  
 24571  const (
 24572  	// SlotFilterNameSlotName is a SlotFilterName enum value
 24573  	SlotFilterNameSlotName = "SlotName"
 24574  )
 24575  
 24576  // SlotFilterName_Values returns all elements of the SlotFilterName enum
 24577  func SlotFilterName_Values() []string {
 24578  	return []string{
 24579  		SlotFilterNameSlotName,
 24580  	}
 24581  }
 24582  
 24583  const (
 24584  	// SlotFilterOperatorCo is a SlotFilterOperator enum value
 24585  	SlotFilterOperatorCo = "CO"
 24586  
 24587  	// SlotFilterOperatorEq is a SlotFilterOperator enum value
 24588  	SlotFilterOperatorEq = "EQ"
 24589  )
 24590  
 24591  // SlotFilterOperator_Values returns all elements of the SlotFilterOperator enum
 24592  func SlotFilterOperator_Values() []string {
 24593  	return []string{
 24594  		SlotFilterOperatorCo,
 24595  		SlotFilterOperatorEq,
 24596  	}
 24597  }
 24598  
 24599  const (
 24600  	// SlotSortAttributeSlotName is a SlotSortAttribute enum value
 24601  	SlotSortAttributeSlotName = "SlotName"
 24602  
 24603  	// SlotSortAttributeLastUpdatedDateTime is a SlotSortAttribute enum value
 24604  	SlotSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
 24605  )
 24606  
 24607  // SlotSortAttribute_Values returns all elements of the SlotSortAttribute enum
 24608  func SlotSortAttribute_Values() []string {
 24609  	return []string{
 24610  		SlotSortAttributeSlotName,
 24611  		SlotSortAttributeLastUpdatedDateTime,
 24612  	}
 24613  }
 24614  
 24615  const (
 24616  	// SlotTypeFilterNameSlotTypeName is a SlotTypeFilterName enum value
 24617  	SlotTypeFilterNameSlotTypeName = "SlotTypeName"
 24618  )
 24619  
 24620  // SlotTypeFilterName_Values returns all elements of the SlotTypeFilterName enum
 24621  func SlotTypeFilterName_Values() []string {
 24622  	return []string{
 24623  		SlotTypeFilterNameSlotTypeName,
 24624  	}
 24625  }
 24626  
 24627  const (
 24628  	// SlotTypeFilterOperatorCo is a SlotTypeFilterOperator enum value
 24629  	SlotTypeFilterOperatorCo = "CO"
 24630  
 24631  	// SlotTypeFilterOperatorEq is a SlotTypeFilterOperator enum value
 24632  	SlotTypeFilterOperatorEq = "EQ"
 24633  )
 24634  
 24635  // SlotTypeFilterOperator_Values returns all elements of the SlotTypeFilterOperator enum
 24636  func SlotTypeFilterOperator_Values() []string {
 24637  	return []string{
 24638  		SlotTypeFilterOperatorCo,
 24639  		SlotTypeFilterOperatorEq,
 24640  	}
 24641  }
 24642  
 24643  const (
 24644  	// SlotTypeSortAttributeSlotTypeName is a SlotTypeSortAttribute enum value
 24645  	SlotTypeSortAttributeSlotTypeName = "SlotTypeName"
 24646  
 24647  	// SlotTypeSortAttributeLastUpdatedDateTime is a SlotTypeSortAttribute enum value
 24648  	SlotTypeSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
 24649  )
 24650  
 24651  // SlotTypeSortAttribute_Values returns all elements of the SlotTypeSortAttribute enum
 24652  func SlotTypeSortAttribute_Values() []string {
 24653  	return []string{
 24654  		SlotTypeSortAttributeSlotTypeName,
 24655  		SlotTypeSortAttributeLastUpdatedDateTime,
 24656  	}
 24657  }
 24658  
 24659  const (
 24660  	// SlotValueResolutionStrategyOriginalValue is a SlotValueResolutionStrategy enum value
 24661  	SlotValueResolutionStrategyOriginalValue = "OriginalValue"
 24662  
 24663  	// SlotValueResolutionStrategyTopResolution is a SlotValueResolutionStrategy enum value
 24664  	SlotValueResolutionStrategyTopResolution = "TopResolution"
 24665  )
 24666  
 24667  // SlotValueResolutionStrategy_Values returns all elements of the SlotValueResolutionStrategy enum
 24668  func SlotValueResolutionStrategy_Values() []string {
 24669  	return []string{
 24670  		SlotValueResolutionStrategyOriginalValue,
 24671  		SlotValueResolutionStrategyTopResolution,
 24672  	}
 24673  }
 24674  
 24675  const (
 24676  	// SortOrderAscending is a SortOrder enum value
 24677  	SortOrderAscending = "Ascending"
 24678  
 24679  	// SortOrderDescending is a SortOrder enum value
 24680  	SortOrderDescending = "Descending"
 24681  )
 24682  
 24683  // SortOrder_Values returns all elements of the SortOrder enum
 24684  func SortOrder_Values() []string {
 24685  	return []string{
 24686  		SortOrderAscending,
 24687  		SortOrderDescending,
 24688  	}
 24689  }
 24690  
 24691  const (
 24692  	// TimeDimensionHours is a TimeDimension enum value
 24693  	TimeDimensionHours = "Hours"
 24694  
 24695  	// TimeDimensionDays is a TimeDimension enum value
 24696  	TimeDimensionDays = "Days"
 24697  
 24698  	// TimeDimensionWeeks is a TimeDimension enum value
 24699  	TimeDimensionWeeks = "Weeks"
 24700  )
 24701  
 24702  // TimeDimension_Values returns all elements of the TimeDimension enum
 24703  func TimeDimension_Values() []string {
 24704  	return []string{
 24705  		TimeDimensionHours,
 24706  		TimeDimensionDays,
 24707  		TimeDimensionWeeks,
 24708  	}
 24709  }