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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package gluedatabrew
     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 opBatchDeleteRecipeVersion = "BatchDeleteRecipeVersion"
    17  
    18  // BatchDeleteRecipeVersionRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchDeleteRecipeVersion 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 BatchDeleteRecipeVersion for more information on using the BatchDeleteRecipeVersion
    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 BatchDeleteRecipeVersionRequest method.
    34  //    req, resp := client.BatchDeleteRecipeVersionRequest(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/databrew-2017-07-25/BatchDeleteRecipeVersion
    42  func (c *GlueDataBrew) BatchDeleteRecipeVersionRequest(input *BatchDeleteRecipeVersionInput) (req *request.Request, output *BatchDeleteRecipeVersionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchDeleteRecipeVersion,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/recipes/{name}/batchDeleteRecipeVersion",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchDeleteRecipeVersionInput{}
    51  	}
    52  
    53  	output = &BatchDeleteRecipeVersionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchDeleteRecipeVersion API operation for AWS Glue DataBrew.
    59  //
    60  // Deletes one or more versions of a recipe at a time.
    61  //
    62  // The entire request will be rejected if:
    63  //
    64  //    * The recipe does not exist.
    65  //
    66  //    * There is an invalid version identifier in the list of versions.
    67  //
    68  //    * The version list is empty.
    69  //
    70  //    * The version list size exceeds 50.
    71  //
    72  //    * The version list contains duplicate entries.
    73  //
    74  // The request will complete successfully, but with partial failures, if:
    75  //
    76  //    * A version does not exist.
    77  //
    78  //    * A version is being used by a job.
    79  //
    80  //    * You specify LATEST_WORKING, but it's being used by a project.
    81  //
    82  //    * The version fails to be deleted.
    83  //
    84  // The LATEST_WORKING version will only be deleted if the recipe has no other
    85  // versions. If you try to delete LATEST_WORKING while other versions exist
    86  // (or if they can't be deleted), then LATEST_WORKING will be listed as partial
    87  // failure in the response.
    88  //
    89  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    90  // with awserr.Error's Code and Message methods to get detailed information about
    91  // the error.
    92  //
    93  // See the AWS API reference guide for AWS Glue DataBrew's
    94  // API operation BatchDeleteRecipeVersion for usage and error information.
    95  //
    96  // Returned Error Types:
    97  //   * ConflictException
    98  //   Updating or deleting a resource can cause an inconsistent state.
    99  //
   100  //   * ResourceNotFoundException
   101  //   One or more resources can't be found.
   102  //
   103  //   * ValidationException
   104  //   The input parameters for this request failed validation.
   105  //
   106  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/BatchDeleteRecipeVersion
   107  func (c *GlueDataBrew) BatchDeleteRecipeVersion(input *BatchDeleteRecipeVersionInput) (*BatchDeleteRecipeVersionOutput, error) {
   108  	req, out := c.BatchDeleteRecipeVersionRequest(input)
   109  	return out, req.Send()
   110  }
   111  
   112  // BatchDeleteRecipeVersionWithContext is the same as BatchDeleteRecipeVersion with the addition of
   113  // the ability to pass a context and additional request options.
   114  //
   115  // See BatchDeleteRecipeVersion for details on how to use this API operation.
   116  //
   117  // The context must be non-nil and will be used for request cancellation. If
   118  // the context is nil a panic will occur. In the future the SDK may create
   119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   120  // for more information on using Contexts.
   121  func (c *GlueDataBrew) BatchDeleteRecipeVersionWithContext(ctx aws.Context, input *BatchDeleteRecipeVersionInput, opts ...request.Option) (*BatchDeleteRecipeVersionOutput, error) {
   122  	req, out := c.BatchDeleteRecipeVersionRequest(input)
   123  	req.SetContext(ctx)
   124  	req.ApplyOptions(opts...)
   125  	return out, req.Send()
   126  }
   127  
   128  const opCreateDataset = "CreateDataset"
   129  
   130  // CreateDatasetRequest generates a "aws/request.Request" representing the
   131  // client's request for the CreateDataset operation. The "output" return
   132  // value will be populated with the request's response once the request completes
   133  // successfully.
   134  //
   135  // Use "Send" method on the returned Request to send the API call to the service.
   136  // the "output" return value is not valid until after Send returns without error.
   137  //
   138  // See CreateDataset for more information on using the CreateDataset
   139  // API call, and error handling.
   140  //
   141  // This method is useful when you want to inject custom logic or configuration
   142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   143  //
   144  //
   145  //    // Example sending a request using the CreateDatasetRequest method.
   146  //    req, resp := client.CreateDatasetRequest(params)
   147  //
   148  //    err := req.Send()
   149  //    if err == nil { // resp is now filled
   150  //        fmt.Println(resp)
   151  //    }
   152  //
   153  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateDataset
   154  func (c *GlueDataBrew) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
   155  	op := &request.Operation{
   156  		Name:       opCreateDataset,
   157  		HTTPMethod: "POST",
   158  		HTTPPath:   "/datasets",
   159  	}
   160  
   161  	if input == nil {
   162  		input = &CreateDatasetInput{}
   163  	}
   164  
   165  	output = &CreateDatasetOutput{}
   166  	req = c.newRequest(op, input, output)
   167  	return
   168  }
   169  
   170  // CreateDataset API operation for AWS Glue DataBrew.
   171  //
   172  // Creates a new DataBrew dataset.
   173  //
   174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   175  // with awserr.Error's Code and Message methods to get detailed information about
   176  // the error.
   177  //
   178  // See the AWS API reference guide for AWS Glue DataBrew's
   179  // API operation CreateDataset for usage and error information.
   180  //
   181  // Returned Error Types:
   182  //   * AccessDeniedException
   183  //   Access to the specified resource was denied.
   184  //
   185  //   * ConflictException
   186  //   Updating or deleting a resource can cause an inconsistent state.
   187  //
   188  //   * ServiceQuotaExceededException
   189  //   A service quota is exceeded.
   190  //
   191  //   * ValidationException
   192  //   The input parameters for this request failed validation.
   193  //
   194  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateDataset
   195  func (c *GlueDataBrew) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
   196  	req, out := c.CreateDatasetRequest(input)
   197  	return out, req.Send()
   198  }
   199  
   200  // CreateDatasetWithContext is the same as CreateDataset with the addition of
   201  // the ability to pass a context and additional request options.
   202  //
   203  // See CreateDataset for details on how to use this API operation.
   204  //
   205  // The context must be non-nil and will be used for request cancellation. If
   206  // the context is nil a panic will occur. In the future the SDK may create
   207  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   208  // for more information on using Contexts.
   209  func (c *GlueDataBrew) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
   210  	req, out := c.CreateDatasetRequest(input)
   211  	req.SetContext(ctx)
   212  	req.ApplyOptions(opts...)
   213  	return out, req.Send()
   214  }
   215  
   216  const opCreateProfileJob = "CreateProfileJob"
   217  
   218  // CreateProfileJobRequest generates a "aws/request.Request" representing the
   219  // client's request for the CreateProfileJob operation. The "output" return
   220  // value will be populated with the request's response once the request completes
   221  // successfully.
   222  //
   223  // Use "Send" method on the returned Request to send the API call to the service.
   224  // the "output" return value is not valid until after Send returns without error.
   225  //
   226  // See CreateProfileJob for more information on using the CreateProfileJob
   227  // API call, and error handling.
   228  //
   229  // This method is useful when you want to inject custom logic or configuration
   230  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   231  //
   232  //
   233  //    // Example sending a request using the CreateProfileJobRequest method.
   234  //    req, resp := client.CreateProfileJobRequest(params)
   235  //
   236  //    err := req.Send()
   237  //    if err == nil { // resp is now filled
   238  //        fmt.Println(resp)
   239  //    }
   240  //
   241  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProfileJob
   242  func (c *GlueDataBrew) CreateProfileJobRequest(input *CreateProfileJobInput) (req *request.Request, output *CreateProfileJobOutput) {
   243  	op := &request.Operation{
   244  		Name:       opCreateProfileJob,
   245  		HTTPMethod: "POST",
   246  		HTTPPath:   "/profileJobs",
   247  	}
   248  
   249  	if input == nil {
   250  		input = &CreateProfileJobInput{}
   251  	}
   252  
   253  	output = &CreateProfileJobOutput{}
   254  	req = c.newRequest(op, input, output)
   255  	return
   256  }
   257  
   258  // CreateProfileJob API operation for AWS Glue DataBrew.
   259  //
   260  // Creates a new job to analyze a dataset and create its data profile.
   261  //
   262  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   263  // with awserr.Error's Code and Message methods to get detailed information about
   264  // the error.
   265  //
   266  // See the AWS API reference guide for AWS Glue DataBrew's
   267  // API operation CreateProfileJob for usage and error information.
   268  //
   269  // Returned Error Types:
   270  //   * AccessDeniedException
   271  //   Access to the specified resource was denied.
   272  //
   273  //   * ConflictException
   274  //   Updating or deleting a resource can cause an inconsistent state.
   275  //
   276  //   * ResourceNotFoundException
   277  //   One or more resources can't be found.
   278  //
   279  //   * ServiceQuotaExceededException
   280  //   A service quota is exceeded.
   281  //
   282  //   * ValidationException
   283  //   The input parameters for this request failed validation.
   284  //
   285  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProfileJob
   286  func (c *GlueDataBrew) CreateProfileJob(input *CreateProfileJobInput) (*CreateProfileJobOutput, error) {
   287  	req, out := c.CreateProfileJobRequest(input)
   288  	return out, req.Send()
   289  }
   290  
   291  // CreateProfileJobWithContext is the same as CreateProfileJob with the addition of
   292  // the ability to pass a context and additional request options.
   293  //
   294  // See CreateProfileJob for details on how to use this API operation.
   295  //
   296  // The context must be non-nil and will be used for request cancellation. If
   297  // the context is nil a panic will occur. In the future the SDK may create
   298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   299  // for more information on using Contexts.
   300  func (c *GlueDataBrew) CreateProfileJobWithContext(ctx aws.Context, input *CreateProfileJobInput, opts ...request.Option) (*CreateProfileJobOutput, error) {
   301  	req, out := c.CreateProfileJobRequest(input)
   302  	req.SetContext(ctx)
   303  	req.ApplyOptions(opts...)
   304  	return out, req.Send()
   305  }
   306  
   307  const opCreateProject = "CreateProject"
   308  
   309  // CreateProjectRequest generates a "aws/request.Request" representing the
   310  // client's request for the CreateProject operation. The "output" return
   311  // value will be populated with the request's response once the request completes
   312  // successfully.
   313  //
   314  // Use "Send" method on the returned Request to send the API call to the service.
   315  // the "output" return value is not valid until after Send returns without error.
   316  //
   317  // See CreateProject for more information on using the CreateProject
   318  // API call, and error handling.
   319  //
   320  // This method is useful when you want to inject custom logic or configuration
   321  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   322  //
   323  //
   324  //    // Example sending a request using the CreateProjectRequest method.
   325  //    req, resp := client.CreateProjectRequest(params)
   326  //
   327  //    err := req.Send()
   328  //    if err == nil { // resp is now filled
   329  //        fmt.Println(resp)
   330  //    }
   331  //
   332  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProject
   333  func (c *GlueDataBrew) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
   334  	op := &request.Operation{
   335  		Name:       opCreateProject,
   336  		HTTPMethod: "POST",
   337  		HTTPPath:   "/projects",
   338  	}
   339  
   340  	if input == nil {
   341  		input = &CreateProjectInput{}
   342  	}
   343  
   344  	output = &CreateProjectOutput{}
   345  	req = c.newRequest(op, input, output)
   346  	return
   347  }
   348  
   349  // CreateProject API operation for AWS Glue DataBrew.
   350  //
   351  // Creates a new DataBrew project.
   352  //
   353  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   354  // with awserr.Error's Code and Message methods to get detailed information about
   355  // the error.
   356  //
   357  // See the AWS API reference guide for AWS Glue DataBrew's
   358  // API operation CreateProject for usage and error information.
   359  //
   360  // Returned Error Types:
   361  //   * ConflictException
   362  //   Updating or deleting a resource can cause an inconsistent state.
   363  //
   364  //   * InternalServerException
   365  //   An internal service failure occurred.
   366  //
   367  //   * ServiceQuotaExceededException
   368  //   A service quota is exceeded.
   369  //
   370  //   * ValidationException
   371  //   The input parameters for this request failed validation.
   372  //
   373  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateProject
   374  func (c *GlueDataBrew) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
   375  	req, out := c.CreateProjectRequest(input)
   376  	return out, req.Send()
   377  }
   378  
   379  // CreateProjectWithContext is the same as CreateProject with the addition of
   380  // the ability to pass a context and additional request options.
   381  //
   382  // See CreateProject for details on how to use this API operation.
   383  //
   384  // The context must be non-nil and will be used for request cancellation. If
   385  // the context is nil a panic will occur. In the future the SDK may create
   386  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   387  // for more information on using Contexts.
   388  func (c *GlueDataBrew) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
   389  	req, out := c.CreateProjectRequest(input)
   390  	req.SetContext(ctx)
   391  	req.ApplyOptions(opts...)
   392  	return out, req.Send()
   393  }
   394  
   395  const opCreateRecipe = "CreateRecipe"
   396  
   397  // CreateRecipeRequest generates a "aws/request.Request" representing the
   398  // client's request for the CreateRecipe operation. The "output" return
   399  // value will be populated with the request's response once the request completes
   400  // successfully.
   401  //
   402  // Use "Send" method on the returned Request to send the API call to the service.
   403  // the "output" return value is not valid until after Send returns without error.
   404  //
   405  // See CreateRecipe for more information on using the CreateRecipe
   406  // API call, and error handling.
   407  //
   408  // This method is useful when you want to inject custom logic or configuration
   409  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   410  //
   411  //
   412  //    // Example sending a request using the CreateRecipeRequest method.
   413  //    req, resp := client.CreateRecipeRequest(params)
   414  //
   415  //    err := req.Send()
   416  //    if err == nil { // resp is now filled
   417  //        fmt.Println(resp)
   418  //    }
   419  //
   420  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipe
   421  func (c *GlueDataBrew) CreateRecipeRequest(input *CreateRecipeInput) (req *request.Request, output *CreateRecipeOutput) {
   422  	op := &request.Operation{
   423  		Name:       opCreateRecipe,
   424  		HTTPMethod: "POST",
   425  		HTTPPath:   "/recipes",
   426  	}
   427  
   428  	if input == nil {
   429  		input = &CreateRecipeInput{}
   430  	}
   431  
   432  	output = &CreateRecipeOutput{}
   433  	req = c.newRequest(op, input, output)
   434  	return
   435  }
   436  
   437  // CreateRecipe API operation for AWS Glue DataBrew.
   438  //
   439  // Creates a new DataBrew recipe.
   440  //
   441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   442  // with awserr.Error's Code and Message methods to get detailed information about
   443  // the error.
   444  //
   445  // See the AWS API reference guide for AWS Glue DataBrew's
   446  // API operation CreateRecipe for usage and error information.
   447  //
   448  // Returned Error Types:
   449  //   * ConflictException
   450  //   Updating or deleting a resource can cause an inconsistent state.
   451  //
   452  //   * ServiceQuotaExceededException
   453  //   A service quota is exceeded.
   454  //
   455  //   * ValidationException
   456  //   The input parameters for this request failed validation.
   457  //
   458  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipe
   459  func (c *GlueDataBrew) CreateRecipe(input *CreateRecipeInput) (*CreateRecipeOutput, error) {
   460  	req, out := c.CreateRecipeRequest(input)
   461  	return out, req.Send()
   462  }
   463  
   464  // CreateRecipeWithContext is the same as CreateRecipe with the addition of
   465  // the ability to pass a context and additional request options.
   466  //
   467  // See CreateRecipe for details on how to use this API operation.
   468  //
   469  // The context must be non-nil and will be used for request cancellation. If
   470  // the context is nil a panic will occur. In the future the SDK may create
   471  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   472  // for more information on using Contexts.
   473  func (c *GlueDataBrew) CreateRecipeWithContext(ctx aws.Context, input *CreateRecipeInput, opts ...request.Option) (*CreateRecipeOutput, error) {
   474  	req, out := c.CreateRecipeRequest(input)
   475  	req.SetContext(ctx)
   476  	req.ApplyOptions(opts...)
   477  	return out, req.Send()
   478  }
   479  
   480  const opCreateRecipeJob = "CreateRecipeJob"
   481  
   482  // CreateRecipeJobRequest generates a "aws/request.Request" representing the
   483  // client's request for the CreateRecipeJob operation. The "output" return
   484  // value will be populated with the request's response once the request completes
   485  // successfully.
   486  //
   487  // Use "Send" method on the returned Request to send the API call to the service.
   488  // the "output" return value is not valid until after Send returns without error.
   489  //
   490  // See CreateRecipeJob for more information on using the CreateRecipeJob
   491  // API call, and error handling.
   492  //
   493  // This method is useful when you want to inject custom logic or configuration
   494  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   495  //
   496  //
   497  //    // Example sending a request using the CreateRecipeJobRequest method.
   498  //    req, resp := client.CreateRecipeJobRequest(params)
   499  //
   500  //    err := req.Send()
   501  //    if err == nil { // resp is now filled
   502  //        fmt.Println(resp)
   503  //    }
   504  //
   505  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipeJob
   506  func (c *GlueDataBrew) CreateRecipeJobRequest(input *CreateRecipeJobInput) (req *request.Request, output *CreateRecipeJobOutput) {
   507  	op := &request.Operation{
   508  		Name:       opCreateRecipeJob,
   509  		HTTPMethod: "POST",
   510  		HTTPPath:   "/recipeJobs",
   511  	}
   512  
   513  	if input == nil {
   514  		input = &CreateRecipeJobInput{}
   515  	}
   516  
   517  	output = &CreateRecipeJobOutput{}
   518  	req = c.newRequest(op, input, output)
   519  	return
   520  }
   521  
   522  // CreateRecipeJob API operation for AWS Glue DataBrew.
   523  //
   524  // Creates a new job to transform input data, using steps defined in an existing
   525  // Glue DataBrew recipe
   526  //
   527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   528  // with awserr.Error's Code and Message methods to get detailed information about
   529  // the error.
   530  //
   531  // See the AWS API reference guide for AWS Glue DataBrew's
   532  // API operation CreateRecipeJob for usage and error information.
   533  //
   534  // Returned Error Types:
   535  //   * AccessDeniedException
   536  //   Access to the specified resource was denied.
   537  //
   538  //   * ConflictException
   539  //   Updating or deleting a resource can cause an inconsistent state.
   540  //
   541  //   * ResourceNotFoundException
   542  //   One or more resources can't be found.
   543  //
   544  //   * ServiceQuotaExceededException
   545  //   A service quota is exceeded.
   546  //
   547  //   * ValidationException
   548  //   The input parameters for this request failed validation.
   549  //
   550  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateRecipeJob
   551  func (c *GlueDataBrew) CreateRecipeJob(input *CreateRecipeJobInput) (*CreateRecipeJobOutput, error) {
   552  	req, out := c.CreateRecipeJobRequest(input)
   553  	return out, req.Send()
   554  }
   555  
   556  // CreateRecipeJobWithContext is the same as CreateRecipeJob with the addition of
   557  // the ability to pass a context and additional request options.
   558  //
   559  // See CreateRecipeJob for details on how to use this API operation.
   560  //
   561  // The context must be non-nil and will be used for request cancellation. If
   562  // the context is nil a panic will occur. In the future the SDK may create
   563  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   564  // for more information on using Contexts.
   565  func (c *GlueDataBrew) CreateRecipeJobWithContext(ctx aws.Context, input *CreateRecipeJobInput, opts ...request.Option) (*CreateRecipeJobOutput, error) {
   566  	req, out := c.CreateRecipeJobRequest(input)
   567  	req.SetContext(ctx)
   568  	req.ApplyOptions(opts...)
   569  	return out, req.Send()
   570  }
   571  
   572  const opCreateSchedule = "CreateSchedule"
   573  
   574  // CreateScheduleRequest generates a "aws/request.Request" representing the
   575  // client's request for the CreateSchedule operation. The "output" return
   576  // value will be populated with the request's response once the request completes
   577  // successfully.
   578  //
   579  // Use "Send" method on the returned Request to send the API call to the service.
   580  // the "output" return value is not valid until after Send returns without error.
   581  //
   582  // See CreateSchedule for more information on using the CreateSchedule
   583  // API call, and error handling.
   584  //
   585  // This method is useful when you want to inject custom logic or configuration
   586  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   587  //
   588  //
   589  //    // Example sending a request using the CreateScheduleRequest method.
   590  //    req, resp := client.CreateScheduleRequest(params)
   591  //
   592  //    err := req.Send()
   593  //    if err == nil { // resp is now filled
   594  //        fmt.Println(resp)
   595  //    }
   596  //
   597  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateSchedule
   598  func (c *GlueDataBrew) CreateScheduleRequest(input *CreateScheduleInput) (req *request.Request, output *CreateScheduleOutput) {
   599  	op := &request.Operation{
   600  		Name:       opCreateSchedule,
   601  		HTTPMethod: "POST",
   602  		HTTPPath:   "/schedules",
   603  	}
   604  
   605  	if input == nil {
   606  		input = &CreateScheduleInput{}
   607  	}
   608  
   609  	output = &CreateScheduleOutput{}
   610  	req = c.newRequest(op, input, output)
   611  	return
   612  }
   613  
   614  // CreateSchedule API operation for AWS Glue DataBrew.
   615  //
   616  // Creates a new schedule for one or more DataBrew jobs. Jobs can be run at
   617  // a specific date and time, or at regular intervals.
   618  //
   619  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   620  // with awserr.Error's Code and Message methods to get detailed information about
   621  // the error.
   622  //
   623  // See the AWS API reference guide for AWS Glue DataBrew's
   624  // API operation CreateSchedule for usage and error information.
   625  //
   626  // Returned Error Types:
   627  //   * ConflictException
   628  //   Updating or deleting a resource can cause an inconsistent state.
   629  //
   630  //   * ServiceQuotaExceededException
   631  //   A service quota is exceeded.
   632  //
   633  //   * ValidationException
   634  //   The input parameters for this request failed validation.
   635  //
   636  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/CreateSchedule
   637  func (c *GlueDataBrew) CreateSchedule(input *CreateScheduleInput) (*CreateScheduleOutput, error) {
   638  	req, out := c.CreateScheduleRequest(input)
   639  	return out, req.Send()
   640  }
   641  
   642  // CreateScheduleWithContext is the same as CreateSchedule with the addition of
   643  // the ability to pass a context and additional request options.
   644  //
   645  // See CreateSchedule for details on how to use this API operation.
   646  //
   647  // The context must be non-nil and will be used for request cancellation. If
   648  // the context is nil a panic will occur. In the future the SDK may create
   649  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   650  // for more information on using Contexts.
   651  func (c *GlueDataBrew) CreateScheduleWithContext(ctx aws.Context, input *CreateScheduleInput, opts ...request.Option) (*CreateScheduleOutput, error) {
   652  	req, out := c.CreateScheduleRequest(input)
   653  	req.SetContext(ctx)
   654  	req.ApplyOptions(opts...)
   655  	return out, req.Send()
   656  }
   657  
   658  const opDeleteDataset = "DeleteDataset"
   659  
   660  // DeleteDatasetRequest generates a "aws/request.Request" representing the
   661  // client's request for the DeleteDataset operation. The "output" return
   662  // value will be populated with the request's response once the request completes
   663  // successfully.
   664  //
   665  // Use "Send" method on the returned Request to send the API call to the service.
   666  // the "output" return value is not valid until after Send returns without error.
   667  //
   668  // See DeleteDataset for more information on using the DeleteDataset
   669  // API call, and error handling.
   670  //
   671  // This method is useful when you want to inject custom logic or configuration
   672  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   673  //
   674  //
   675  //    // Example sending a request using the DeleteDatasetRequest method.
   676  //    req, resp := client.DeleteDatasetRequest(params)
   677  //
   678  //    err := req.Send()
   679  //    if err == nil { // resp is now filled
   680  //        fmt.Println(resp)
   681  //    }
   682  //
   683  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteDataset
   684  func (c *GlueDataBrew) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
   685  	op := &request.Operation{
   686  		Name:       opDeleteDataset,
   687  		HTTPMethod: "DELETE",
   688  		HTTPPath:   "/datasets/{name}",
   689  	}
   690  
   691  	if input == nil {
   692  		input = &DeleteDatasetInput{}
   693  	}
   694  
   695  	output = &DeleteDatasetOutput{}
   696  	req = c.newRequest(op, input, output)
   697  	return
   698  }
   699  
   700  // DeleteDataset API operation for AWS Glue DataBrew.
   701  //
   702  // Deletes a dataset from DataBrew.
   703  //
   704  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   705  // with awserr.Error's Code and Message methods to get detailed information about
   706  // the error.
   707  //
   708  // See the AWS API reference guide for AWS Glue DataBrew's
   709  // API operation DeleteDataset for usage and error information.
   710  //
   711  // Returned Error Types:
   712  //   * ConflictException
   713  //   Updating or deleting a resource can cause an inconsistent state.
   714  //
   715  //   * ResourceNotFoundException
   716  //   One or more resources can't be found.
   717  //
   718  //   * ValidationException
   719  //   The input parameters for this request failed validation.
   720  //
   721  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteDataset
   722  func (c *GlueDataBrew) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
   723  	req, out := c.DeleteDatasetRequest(input)
   724  	return out, req.Send()
   725  }
   726  
   727  // DeleteDatasetWithContext is the same as DeleteDataset with the addition of
   728  // the ability to pass a context and additional request options.
   729  //
   730  // See DeleteDataset for details on how to use this API operation.
   731  //
   732  // The context must be non-nil and will be used for request cancellation. If
   733  // the context is nil a panic will occur. In the future the SDK may create
   734  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   735  // for more information on using Contexts.
   736  func (c *GlueDataBrew) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
   737  	req, out := c.DeleteDatasetRequest(input)
   738  	req.SetContext(ctx)
   739  	req.ApplyOptions(opts...)
   740  	return out, req.Send()
   741  }
   742  
   743  const opDeleteJob = "DeleteJob"
   744  
   745  // DeleteJobRequest generates a "aws/request.Request" representing the
   746  // client's request for the DeleteJob operation. The "output" return
   747  // value will be populated with the request's response once the request completes
   748  // successfully.
   749  //
   750  // Use "Send" method on the returned Request to send the API call to the service.
   751  // the "output" return value is not valid until after Send returns without error.
   752  //
   753  // See DeleteJob for more information on using the DeleteJob
   754  // API call, and error handling.
   755  //
   756  // This method is useful when you want to inject custom logic or configuration
   757  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   758  //
   759  //
   760  //    // Example sending a request using the DeleteJobRequest method.
   761  //    req, resp := client.DeleteJobRequest(params)
   762  //
   763  //    err := req.Send()
   764  //    if err == nil { // resp is now filled
   765  //        fmt.Println(resp)
   766  //    }
   767  //
   768  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteJob
   769  func (c *GlueDataBrew) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, output *DeleteJobOutput) {
   770  	op := &request.Operation{
   771  		Name:       opDeleteJob,
   772  		HTTPMethod: "DELETE",
   773  		HTTPPath:   "/jobs/{name}",
   774  	}
   775  
   776  	if input == nil {
   777  		input = &DeleteJobInput{}
   778  	}
   779  
   780  	output = &DeleteJobOutput{}
   781  	req = c.newRequest(op, input, output)
   782  	return
   783  }
   784  
   785  // DeleteJob API operation for AWS Glue DataBrew.
   786  //
   787  // Deletes the specified DataBrew job.
   788  //
   789  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   790  // with awserr.Error's Code and Message methods to get detailed information about
   791  // the error.
   792  //
   793  // See the AWS API reference guide for AWS Glue DataBrew's
   794  // API operation DeleteJob for usage and error information.
   795  //
   796  // Returned Error Types:
   797  //   * ConflictException
   798  //   Updating or deleting a resource can cause an inconsistent state.
   799  //
   800  //   * ResourceNotFoundException
   801  //   One or more resources can't be found.
   802  //
   803  //   * ValidationException
   804  //   The input parameters for this request failed validation.
   805  //
   806  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteJob
   807  func (c *GlueDataBrew) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) {
   808  	req, out := c.DeleteJobRequest(input)
   809  	return out, req.Send()
   810  }
   811  
   812  // DeleteJobWithContext is the same as DeleteJob with the addition of
   813  // the ability to pass a context and additional request options.
   814  //
   815  // See DeleteJob for details on how to use this API operation.
   816  //
   817  // The context must be non-nil and will be used for request cancellation. If
   818  // the context is nil a panic will occur. In the future the SDK may create
   819  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   820  // for more information on using Contexts.
   821  func (c *GlueDataBrew) DeleteJobWithContext(ctx aws.Context, input *DeleteJobInput, opts ...request.Option) (*DeleteJobOutput, error) {
   822  	req, out := c.DeleteJobRequest(input)
   823  	req.SetContext(ctx)
   824  	req.ApplyOptions(opts...)
   825  	return out, req.Send()
   826  }
   827  
   828  const opDeleteProject = "DeleteProject"
   829  
   830  // DeleteProjectRequest generates a "aws/request.Request" representing the
   831  // client's request for the DeleteProject operation. The "output" return
   832  // value will be populated with the request's response once the request completes
   833  // successfully.
   834  //
   835  // Use "Send" method on the returned Request to send the API call to the service.
   836  // the "output" return value is not valid until after Send returns without error.
   837  //
   838  // See DeleteProject for more information on using the DeleteProject
   839  // API call, and error handling.
   840  //
   841  // This method is useful when you want to inject custom logic or configuration
   842  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   843  //
   844  //
   845  //    // Example sending a request using the DeleteProjectRequest method.
   846  //    req, resp := client.DeleteProjectRequest(params)
   847  //
   848  //    err := req.Send()
   849  //    if err == nil { // resp is now filled
   850  //        fmt.Println(resp)
   851  //    }
   852  //
   853  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteProject
   854  func (c *GlueDataBrew) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
   855  	op := &request.Operation{
   856  		Name:       opDeleteProject,
   857  		HTTPMethod: "DELETE",
   858  		HTTPPath:   "/projects/{name}",
   859  	}
   860  
   861  	if input == nil {
   862  		input = &DeleteProjectInput{}
   863  	}
   864  
   865  	output = &DeleteProjectOutput{}
   866  	req = c.newRequest(op, input, output)
   867  	return
   868  }
   869  
   870  // DeleteProject API operation for AWS Glue DataBrew.
   871  //
   872  // Deletes an existing DataBrew project.
   873  //
   874  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   875  // with awserr.Error's Code and Message methods to get detailed information about
   876  // the error.
   877  //
   878  // See the AWS API reference guide for AWS Glue DataBrew's
   879  // API operation DeleteProject for usage and error information.
   880  //
   881  // Returned Error Types:
   882  //   * ConflictException
   883  //   Updating or deleting a resource can cause an inconsistent state.
   884  //
   885  //   * ResourceNotFoundException
   886  //   One or more resources can't be found.
   887  //
   888  //   * ValidationException
   889  //   The input parameters for this request failed validation.
   890  //
   891  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteProject
   892  func (c *GlueDataBrew) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
   893  	req, out := c.DeleteProjectRequest(input)
   894  	return out, req.Send()
   895  }
   896  
   897  // DeleteProjectWithContext is the same as DeleteProject with the addition of
   898  // the ability to pass a context and additional request options.
   899  //
   900  // See DeleteProject for details on how to use this API operation.
   901  //
   902  // The context must be non-nil and will be used for request cancellation. If
   903  // the context is nil a panic will occur. In the future the SDK may create
   904  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   905  // for more information on using Contexts.
   906  func (c *GlueDataBrew) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
   907  	req, out := c.DeleteProjectRequest(input)
   908  	req.SetContext(ctx)
   909  	req.ApplyOptions(opts...)
   910  	return out, req.Send()
   911  }
   912  
   913  const opDeleteRecipeVersion = "DeleteRecipeVersion"
   914  
   915  // DeleteRecipeVersionRequest generates a "aws/request.Request" representing the
   916  // client's request for the DeleteRecipeVersion operation. The "output" return
   917  // value will be populated with the request's response once the request completes
   918  // successfully.
   919  //
   920  // Use "Send" method on the returned Request to send the API call to the service.
   921  // the "output" return value is not valid until after Send returns without error.
   922  //
   923  // See DeleteRecipeVersion for more information on using the DeleteRecipeVersion
   924  // API call, and error handling.
   925  //
   926  // This method is useful when you want to inject custom logic or configuration
   927  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   928  //
   929  //
   930  //    // Example sending a request using the DeleteRecipeVersionRequest method.
   931  //    req, resp := client.DeleteRecipeVersionRequest(params)
   932  //
   933  //    err := req.Send()
   934  //    if err == nil { // resp is now filled
   935  //        fmt.Println(resp)
   936  //    }
   937  //
   938  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteRecipeVersion
   939  func (c *GlueDataBrew) DeleteRecipeVersionRequest(input *DeleteRecipeVersionInput) (req *request.Request, output *DeleteRecipeVersionOutput) {
   940  	op := &request.Operation{
   941  		Name:       opDeleteRecipeVersion,
   942  		HTTPMethod: "DELETE",
   943  		HTTPPath:   "/recipes/{name}/recipeVersion/{recipeVersion}",
   944  	}
   945  
   946  	if input == nil {
   947  		input = &DeleteRecipeVersionInput{}
   948  	}
   949  
   950  	output = &DeleteRecipeVersionOutput{}
   951  	req = c.newRequest(op, input, output)
   952  	return
   953  }
   954  
   955  // DeleteRecipeVersion API operation for AWS Glue DataBrew.
   956  //
   957  // Deletes a single version of a DataBrew recipe.
   958  //
   959  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   960  // with awserr.Error's Code and Message methods to get detailed information about
   961  // the error.
   962  //
   963  // See the AWS API reference guide for AWS Glue DataBrew's
   964  // API operation DeleteRecipeVersion for usage and error information.
   965  //
   966  // Returned Error Types:
   967  //   * ConflictException
   968  //   Updating or deleting a resource can cause an inconsistent state.
   969  //
   970  //   * ResourceNotFoundException
   971  //   One or more resources can't be found.
   972  //
   973  //   * ValidationException
   974  //   The input parameters for this request failed validation.
   975  //
   976  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteRecipeVersion
   977  func (c *GlueDataBrew) DeleteRecipeVersion(input *DeleteRecipeVersionInput) (*DeleteRecipeVersionOutput, error) {
   978  	req, out := c.DeleteRecipeVersionRequest(input)
   979  	return out, req.Send()
   980  }
   981  
   982  // DeleteRecipeVersionWithContext is the same as DeleteRecipeVersion with the addition of
   983  // the ability to pass a context and additional request options.
   984  //
   985  // See DeleteRecipeVersion for details on how to use this API operation.
   986  //
   987  // The context must be non-nil and will be used for request cancellation. If
   988  // the context is nil a panic will occur. In the future the SDK may create
   989  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   990  // for more information on using Contexts.
   991  func (c *GlueDataBrew) DeleteRecipeVersionWithContext(ctx aws.Context, input *DeleteRecipeVersionInput, opts ...request.Option) (*DeleteRecipeVersionOutput, error) {
   992  	req, out := c.DeleteRecipeVersionRequest(input)
   993  	req.SetContext(ctx)
   994  	req.ApplyOptions(opts...)
   995  	return out, req.Send()
   996  }
   997  
   998  const opDeleteSchedule = "DeleteSchedule"
   999  
  1000  // DeleteScheduleRequest generates a "aws/request.Request" representing the
  1001  // client's request for the DeleteSchedule operation. The "output" return
  1002  // value will be populated with the request's response once the request completes
  1003  // successfully.
  1004  //
  1005  // Use "Send" method on the returned Request to send the API call to the service.
  1006  // the "output" return value is not valid until after Send returns without error.
  1007  //
  1008  // See DeleteSchedule for more information on using the DeleteSchedule
  1009  // API call, and error handling.
  1010  //
  1011  // This method is useful when you want to inject custom logic or configuration
  1012  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1013  //
  1014  //
  1015  //    // Example sending a request using the DeleteScheduleRequest method.
  1016  //    req, resp := client.DeleteScheduleRequest(params)
  1017  //
  1018  //    err := req.Send()
  1019  //    if err == nil { // resp is now filled
  1020  //        fmt.Println(resp)
  1021  //    }
  1022  //
  1023  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteSchedule
  1024  func (c *GlueDataBrew) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) {
  1025  	op := &request.Operation{
  1026  		Name:       opDeleteSchedule,
  1027  		HTTPMethod: "DELETE",
  1028  		HTTPPath:   "/schedules/{name}",
  1029  	}
  1030  
  1031  	if input == nil {
  1032  		input = &DeleteScheduleInput{}
  1033  	}
  1034  
  1035  	output = &DeleteScheduleOutput{}
  1036  	req = c.newRequest(op, input, output)
  1037  	return
  1038  }
  1039  
  1040  // DeleteSchedule API operation for AWS Glue DataBrew.
  1041  //
  1042  // Deletes the specified DataBrew schedule.
  1043  //
  1044  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1045  // with awserr.Error's Code and Message methods to get detailed information about
  1046  // the error.
  1047  //
  1048  // See the AWS API reference guide for AWS Glue DataBrew's
  1049  // API operation DeleteSchedule for usage and error information.
  1050  //
  1051  // Returned Error Types:
  1052  //   * ResourceNotFoundException
  1053  //   One or more resources can't be found.
  1054  //
  1055  //   * ValidationException
  1056  //   The input parameters for this request failed validation.
  1057  //
  1058  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DeleteSchedule
  1059  func (c *GlueDataBrew) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) {
  1060  	req, out := c.DeleteScheduleRequest(input)
  1061  	return out, req.Send()
  1062  }
  1063  
  1064  // DeleteScheduleWithContext is the same as DeleteSchedule with the addition of
  1065  // the ability to pass a context and additional request options.
  1066  //
  1067  // See DeleteSchedule for details on how to use this API operation.
  1068  //
  1069  // The context must be non-nil and will be used for request cancellation. If
  1070  // the context is nil a panic will occur. In the future the SDK may create
  1071  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1072  // for more information on using Contexts.
  1073  func (c *GlueDataBrew) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) {
  1074  	req, out := c.DeleteScheduleRequest(input)
  1075  	req.SetContext(ctx)
  1076  	req.ApplyOptions(opts...)
  1077  	return out, req.Send()
  1078  }
  1079  
  1080  const opDescribeDataset = "DescribeDataset"
  1081  
  1082  // DescribeDatasetRequest generates a "aws/request.Request" representing the
  1083  // client's request for the DescribeDataset operation. The "output" return
  1084  // value will be populated with the request's response once the request completes
  1085  // successfully.
  1086  //
  1087  // Use "Send" method on the returned Request to send the API call to the service.
  1088  // the "output" return value is not valid until after Send returns without error.
  1089  //
  1090  // See DescribeDataset for more information on using the DescribeDataset
  1091  // API call, and error handling.
  1092  //
  1093  // This method is useful when you want to inject custom logic or configuration
  1094  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1095  //
  1096  //
  1097  //    // Example sending a request using the DescribeDatasetRequest method.
  1098  //    req, resp := client.DescribeDatasetRequest(params)
  1099  //
  1100  //    err := req.Send()
  1101  //    if err == nil { // resp is now filled
  1102  //        fmt.Println(resp)
  1103  //    }
  1104  //
  1105  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeDataset
  1106  func (c *GlueDataBrew) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
  1107  	op := &request.Operation{
  1108  		Name:       opDescribeDataset,
  1109  		HTTPMethod: "GET",
  1110  		HTTPPath:   "/datasets/{name}",
  1111  	}
  1112  
  1113  	if input == nil {
  1114  		input = &DescribeDatasetInput{}
  1115  	}
  1116  
  1117  	output = &DescribeDatasetOutput{}
  1118  	req = c.newRequest(op, input, output)
  1119  	return
  1120  }
  1121  
  1122  // DescribeDataset API operation for AWS Glue DataBrew.
  1123  //
  1124  // Returns the definition of a specific DataBrew dataset.
  1125  //
  1126  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1127  // with awserr.Error's Code and Message methods to get detailed information about
  1128  // the error.
  1129  //
  1130  // See the AWS API reference guide for AWS Glue DataBrew's
  1131  // API operation DescribeDataset for usage and error information.
  1132  //
  1133  // Returned Error Types:
  1134  //   * ResourceNotFoundException
  1135  //   One or more resources can't be found.
  1136  //
  1137  //   * ValidationException
  1138  //   The input parameters for this request failed validation.
  1139  //
  1140  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeDataset
  1141  func (c *GlueDataBrew) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
  1142  	req, out := c.DescribeDatasetRequest(input)
  1143  	return out, req.Send()
  1144  }
  1145  
  1146  // DescribeDatasetWithContext is the same as DescribeDataset with the addition of
  1147  // the ability to pass a context and additional request options.
  1148  //
  1149  // See DescribeDataset for details on how to use this API operation.
  1150  //
  1151  // The context must be non-nil and will be used for request cancellation. If
  1152  // the context is nil a panic will occur. In the future the SDK may create
  1153  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1154  // for more information on using Contexts.
  1155  func (c *GlueDataBrew) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
  1156  	req, out := c.DescribeDatasetRequest(input)
  1157  	req.SetContext(ctx)
  1158  	req.ApplyOptions(opts...)
  1159  	return out, req.Send()
  1160  }
  1161  
  1162  const opDescribeJob = "DescribeJob"
  1163  
  1164  // DescribeJobRequest generates a "aws/request.Request" representing the
  1165  // client's request for the DescribeJob operation. The "output" return
  1166  // value will be populated with the request's response once the request completes
  1167  // successfully.
  1168  //
  1169  // Use "Send" method on the returned Request to send the API call to the service.
  1170  // the "output" return value is not valid until after Send returns without error.
  1171  //
  1172  // See DescribeJob for more information on using the DescribeJob
  1173  // API call, and error handling.
  1174  //
  1175  // This method is useful when you want to inject custom logic or configuration
  1176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1177  //
  1178  //
  1179  //    // Example sending a request using the DescribeJobRequest method.
  1180  //    req, resp := client.DescribeJobRequest(params)
  1181  //
  1182  //    err := req.Send()
  1183  //    if err == nil { // resp is now filled
  1184  //        fmt.Println(resp)
  1185  //    }
  1186  //
  1187  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJob
  1188  func (c *GlueDataBrew) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) {
  1189  	op := &request.Operation{
  1190  		Name:       opDescribeJob,
  1191  		HTTPMethod: "GET",
  1192  		HTTPPath:   "/jobs/{name}",
  1193  	}
  1194  
  1195  	if input == nil {
  1196  		input = &DescribeJobInput{}
  1197  	}
  1198  
  1199  	output = &DescribeJobOutput{}
  1200  	req = c.newRequest(op, input, output)
  1201  	return
  1202  }
  1203  
  1204  // DescribeJob API operation for AWS Glue DataBrew.
  1205  //
  1206  // Returns the definition of a specific DataBrew job.
  1207  //
  1208  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1209  // with awserr.Error's Code and Message methods to get detailed information about
  1210  // the error.
  1211  //
  1212  // See the AWS API reference guide for AWS Glue DataBrew's
  1213  // API operation DescribeJob for usage and error information.
  1214  //
  1215  // Returned Error Types:
  1216  //   * ResourceNotFoundException
  1217  //   One or more resources can't be found.
  1218  //
  1219  //   * ValidationException
  1220  //   The input parameters for this request failed validation.
  1221  //
  1222  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJob
  1223  func (c *GlueDataBrew) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) {
  1224  	req, out := c.DescribeJobRequest(input)
  1225  	return out, req.Send()
  1226  }
  1227  
  1228  // DescribeJobWithContext is the same as DescribeJob with the addition of
  1229  // the ability to pass a context and additional request options.
  1230  //
  1231  // See DescribeJob for details on how to use this API operation.
  1232  //
  1233  // The context must be non-nil and will be used for request cancellation. If
  1234  // the context is nil a panic will occur. In the future the SDK may create
  1235  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1236  // for more information on using Contexts.
  1237  func (c *GlueDataBrew) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) {
  1238  	req, out := c.DescribeJobRequest(input)
  1239  	req.SetContext(ctx)
  1240  	req.ApplyOptions(opts...)
  1241  	return out, req.Send()
  1242  }
  1243  
  1244  const opDescribeJobRun = "DescribeJobRun"
  1245  
  1246  // DescribeJobRunRequest generates a "aws/request.Request" representing the
  1247  // client's request for the DescribeJobRun operation. The "output" return
  1248  // value will be populated with the request's response once the request completes
  1249  // successfully.
  1250  //
  1251  // Use "Send" method on the returned Request to send the API call to the service.
  1252  // the "output" return value is not valid until after Send returns without error.
  1253  //
  1254  // See DescribeJobRun for more information on using the DescribeJobRun
  1255  // API call, and error handling.
  1256  //
  1257  // This method is useful when you want to inject custom logic or configuration
  1258  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1259  //
  1260  //
  1261  //    // Example sending a request using the DescribeJobRunRequest method.
  1262  //    req, resp := client.DescribeJobRunRequest(params)
  1263  //
  1264  //    err := req.Send()
  1265  //    if err == nil { // resp is now filled
  1266  //        fmt.Println(resp)
  1267  //    }
  1268  //
  1269  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJobRun
  1270  func (c *GlueDataBrew) DescribeJobRunRequest(input *DescribeJobRunInput) (req *request.Request, output *DescribeJobRunOutput) {
  1271  	op := &request.Operation{
  1272  		Name:       opDescribeJobRun,
  1273  		HTTPMethod: "GET",
  1274  		HTTPPath:   "/jobs/{name}/jobRun/{runId}",
  1275  	}
  1276  
  1277  	if input == nil {
  1278  		input = &DescribeJobRunInput{}
  1279  	}
  1280  
  1281  	output = &DescribeJobRunOutput{}
  1282  	req = c.newRequest(op, input, output)
  1283  	return
  1284  }
  1285  
  1286  // DescribeJobRun API operation for AWS Glue DataBrew.
  1287  //
  1288  // Represents one run of a DataBrew job.
  1289  //
  1290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1291  // with awserr.Error's Code and Message methods to get detailed information about
  1292  // the error.
  1293  //
  1294  // See the AWS API reference guide for AWS Glue DataBrew's
  1295  // API operation DescribeJobRun for usage and error information.
  1296  //
  1297  // Returned Error Types:
  1298  //   * ResourceNotFoundException
  1299  //   One or more resources can't be found.
  1300  //
  1301  //   * ValidationException
  1302  //   The input parameters for this request failed validation.
  1303  //
  1304  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeJobRun
  1305  func (c *GlueDataBrew) DescribeJobRun(input *DescribeJobRunInput) (*DescribeJobRunOutput, error) {
  1306  	req, out := c.DescribeJobRunRequest(input)
  1307  	return out, req.Send()
  1308  }
  1309  
  1310  // DescribeJobRunWithContext is the same as DescribeJobRun with the addition of
  1311  // the ability to pass a context and additional request options.
  1312  //
  1313  // See DescribeJobRun for details on how to use this API operation.
  1314  //
  1315  // The context must be non-nil and will be used for request cancellation. If
  1316  // the context is nil a panic will occur. In the future the SDK may create
  1317  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1318  // for more information on using Contexts.
  1319  func (c *GlueDataBrew) DescribeJobRunWithContext(ctx aws.Context, input *DescribeJobRunInput, opts ...request.Option) (*DescribeJobRunOutput, error) {
  1320  	req, out := c.DescribeJobRunRequest(input)
  1321  	req.SetContext(ctx)
  1322  	req.ApplyOptions(opts...)
  1323  	return out, req.Send()
  1324  }
  1325  
  1326  const opDescribeProject = "DescribeProject"
  1327  
  1328  // DescribeProjectRequest generates a "aws/request.Request" representing the
  1329  // client's request for the DescribeProject operation. The "output" return
  1330  // value will be populated with the request's response once the request completes
  1331  // successfully.
  1332  //
  1333  // Use "Send" method on the returned Request to send the API call to the service.
  1334  // the "output" return value is not valid until after Send returns without error.
  1335  //
  1336  // See DescribeProject for more information on using the DescribeProject
  1337  // API call, and error handling.
  1338  //
  1339  // This method is useful when you want to inject custom logic or configuration
  1340  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1341  //
  1342  //
  1343  //    // Example sending a request using the DescribeProjectRequest method.
  1344  //    req, resp := client.DescribeProjectRequest(params)
  1345  //
  1346  //    err := req.Send()
  1347  //    if err == nil { // resp is now filled
  1348  //        fmt.Println(resp)
  1349  //    }
  1350  //
  1351  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeProject
  1352  func (c *GlueDataBrew) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
  1353  	op := &request.Operation{
  1354  		Name:       opDescribeProject,
  1355  		HTTPMethod: "GET",
  1356  		HTTPPath:   "/projects/{name}",
  1357  	}
  1358  
  1359  	if input == nil {
  1360  		input = &DescribeProjectInput{}
  1361  	}
  1362  
  1363  	output = &DescribeProjectOutput{}
  1364  	req = c.newRequest(op, input, output)
  1365  	return
  1366  }
  1367  
  1368  // DescribeProject API operation for AWS Glue DataBrew.
  1369  //
  1370  // Returns the definition of a specific DataBrew project.
  1371  //
  1372  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1373  // with awserr.Error's Code and Message methods to get detailed information about
  1374  // the error.
  1375  //
  1376  // See the AWS API reference guide for AWS Glue DataBrew's
  1377  // API operation DescribeProject for usage and error information.
  1378  //
  1379  // Returned Error Types:
  1380  //   * ResourceNotFoundException
  1381  //   One or more resources can't be found.
  1382  //
  1383  //   * ValidationException
  1384  //   The input parameters for this request failed validation.
  1385  //
  1386  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeProject
  1387  func (c *GlueDataBrew) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
  1388  	req, out := c.DescribeProjectRequest(input)
  1389  	return out, req.Send()
  1390  }
  1391  
  1392  // DescribeProjectWithContext is the same as DescribeProject with the addition of
  1393  // the ability to pass a context and additional request options.
  1394  //
  1395  // See DescribeProject for details on how to use this API operation.
  1396  //
  1397  // The context must be non-nil and will be used for request cancellation. If
  1398  // the context is nil a panic will occur. In the future the SDK may create
  1399  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1400  // for more information on using Contexts.
  1401  func (c *GlueDataBrew) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
  1402  	req, out := c.DescribeProjectRequest(input)
  1403  	req.SetContext(ctx)
  1404  	req.ApplyOptions(opts...)
  1405  	return out, req.Send()
  1406  }
  1407  
  1408  const opDescribeRecipe = "DescribeRecipe"
  1409  
  1410  // DescribeRecipeRequest generates a "aws/request.Request" representing the
  1411  // client's request for the DescribeRecipe operation. The "output" return
  1412  // value will be populated with the request's response once the request completes
  1413  // successfully.
  1414  //
  1415  // Use "Send" method on the returned Request to send the API call to the service.
  1416  // the "output" return value is not valid until after Send returns without error.
  1417  //
  1418  // See DescribeRecipe for more information on using the DescribeRecipe
  1419  // API call, and error handling.
  1420  //
  1421  // This method is useful when you want to inject custom logic or configuration
  1422  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1423  //
  1424  //
  1425  //    // Example sending a request using the DescribeRecipeRequest method.
  1426  //    req, resp := client.DescribeRecipeRequest(params)
  1427  //
  1428  //    err := req.Send()
  1429  //    if err == nil { // resp is now filled
  1430  //        fmt.Println(resp)
  1431  //    }
  1432  //
  1433  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeRecipe
  1434  func (c *GlueDataBrew) DescribeRecipeRequest(input *DescribeRecipeInput) (req *request.Request, output *DescribeRecipeOutput) {
  1435  	op := &request.Operation{
  1436  		Name:       opDescribeRecipe,
  1437  		HTTPMethod: "GET",
  1438  		HTTPPath:   "/recipes/{name}",
  1439  	}
  1440  
  1441  	if input == nil {
  1442  		input = &DescribeRecipeInput{}
  1443  	}
  1444  
  1445  	output = &DescribeRecipeOutput{}
  1446  	req = c.newRequest(op, input, output)
  1447  	return
  1448  }
  1449  
  1450  // DescribeRecipe API operation for AWS Glue DataBrew.
  1451  //
  1452  // Returns the definition of a specific DataBrew recipe corresponding to a particular
  1453  // version.
  1454  //
  1455  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1456  // with awserr.Error's Code and Message methods to get detailed information about
  1457  // the error.
  1458  //
  1459  // See the AWS API reference guide for AWS Glue DataBrew's
  1460  // API operation DescribeRecipe for usage and error information.
  1461  //
  1462  // Returned Error Types:
  1463  //   * ResourceNotFoundException
  1464  //   One or more resources can't be found.
  1465  //
  1466  //   * ValidationException
  1467  //   The input parameters for this request failed validation.
  1468  //
  1469  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeRecipe
  1470  func (c *GlueDataBrew) DescribeRecipe(input *DescribeRecipeInput) (*DescribeRecipeOutput, error) {
  1471  	req, out := c.DescribeRecipeRequest(input)
  1472  	return out, req.Send()
  1473  }
  1474  
  1475  // DescribeRecipeWithContext is the same as DescribeRecipe with the addition of
  1476  // the ability to pass a context and additional request options.
  1477  //
  1478  // See DescribeRecipe for details on how to use this API operation.
  1479  //
  1480  // The context must be non-nil and will be used for request cancellation. If
  1481  // the context is nil a panic will occur. In the future the SDK may create
  1482  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1483  // for more information on using Contexts.
  1484  func (c *GlueDataBrew) DescribeRecipeWithContext(ctx aws.Context, input *DescribeRecipeInput, opts ...request.Option) (*DescribeRecipeOutput, error) {
  1485  	req, out := c.DescribeRecipeRequest(input)
  1486  	req.SetContext(ctx)
  1487  	req.ApplyOptions(opts...)
  1488  	return out, req.Send()
  1489  }
  1490  
  1491  const opDescribeSchedule = "DescribeSchedule"
  1492  
  1493  // DescribeScheduleRequest generates a "aws/request.Request" representing the
  1494  // client's request for the DescribeSchedule operation. The "output" return
  1495  // value will be populated with the request's response once the request completes
  1496  // successfully.
  1497  //
  1498  // Use "Send" method on the returned Request to send the API call to the service.
  1499  // the "output" return value is not valid until after Send returns without error.
  1500  //
  1501  // See DescribeSchedule for more information on using the DescribeSchedule
  1502  // API call, and error handling.
  1503  //
  1504  // This method is useful when you want to inject custom logic or configuration
  1505  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1506  //
  1507  //
  1508  //    // Example sending a request using the DescribeScheduleRequest method.
  1509  //    req, resp := client.DescribeScheduleRequest(params)
  1510  //
  1511  //    err := req.Send()
  1512  //    if err == nil { // resp is now filled
  1513  //        fmt.Println(resp)
  1514  //    }
  1515  //
  1516  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeSchedule
  1517  func (c *GlueDataBrew) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) {
  1518  	op := &request.Operation{
  1519  		Name:       opDescribeSchedule,
  1520  		HTTPMethod: "GET",
  1521  		HTTPPath:   "/schedules/{name}",
  1522  	}
  1523  
  1524  	if input == nil {
  1525  		input = &DescribeScheduleInput{}
  1526  	}
  1527  
  1528  	output = &DescribeScheduleOutput{}
  1529  	req = c.newRequest(op, input, output)
  1530  	return
  1531  }
  1532  
  1533  // DescribeSchedule API operation for AWS Glue DataBrew.
  1534  //
  1535  // Returns the definition of a specific DataBrew schedule.
  1536  //
  1537  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1538  // with awserr.Error's Code and Message methods to get detailed information about
  1539  // the error.
  1540  //
  1541  // See the AWS API reference guide for AWS Glue DataBrew's
  1542  // API operation DescribeSchedule for usage and error information.
  1543  //
  1544  // Returned Error Types:
  1545  //   * ResourceNotFoundException
  1546  //   One or more resources can't be found.
  1547  //
  1548  //   * ValidationException
  1549  //   The input parameters for this request failed validation.
  1550  //
  1551  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/DescribeSchedule
  1552  func (c *GlueDataBrew) DescribeSchedule(input *DescribeScheduleInput) (*DescribeScheduleOutput, error) {
  1553  	req, out := c.DescribeScheduleRequest(input)
  1554  	return out, req.Send()
  1555  }
  1556  
  1557  // DescribeScheduleWithContext is the same as DescribeSchedule with the addition of
  1558  // the ability to pass a context and additional request options.
  1559  //
  1560  // See DescribeSchedule for details on how to use this API operation.
  1561  //
  1562  // The context must be non-nil and will be used for request cancellation. If
  1563  // the context is nil a panic will occur. In the future the SDK may create
  1564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1565  // for more information on using Contexts.
  1566  func (c *GlueDataBrew) DescribeScheduleWithContext(ctx aws.Context, input *DescribeScheduleInput, opts ...request.Option) (*DescribeScheduleOutput, error) {
  1567  	req, out := c.DescribeScheduleRequest(input)
  1568  	req.SetContext(ctx)
  1569  	req.ApplyOptions(opts...)
  1570  	return out, req.Send()
  1571  }
  1572  
  1573  const opListDatasets = "ListDatasets"
  1574  
  1575  // ListDatasetsRequest generates a "aws/request.Request" representing the
  1576  // client's request for the ListDatasets operation. The "output" return
  1577  // value will be populated with the request's response once the request completes
  1578  // successfully.
  1579  //
  1580  // Use "Send" method on the returned Request to send the API call to the service.
  1581  // the "output" return value is not valid until after Send returns without error.
  1582  //
  1583  // See ListDatasets for more information on using the ListDatasets
  1584  // API call, and error handling.
  1585  //
  1586  // This method is useful when you want to inject custom logic or configuration
  1587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1588  //
  1589  //
  1590  //    // Example sending a request using the ListDatasetsRequest method.
  1591  //    req, resp := client.ListDatasetsRequest(params)
  1592  //
  1593  //    err := req.Send()
  1594  //    if err == nil { // resp is now filled
  1595  //        fmt.Println(resp)
  1596  //    }
  1597  //
  1598  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListDatasets
  1599  func (c *GlueDataBrew) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
  1600  	op := &request.Operation{
  1601  		Name:       opListDatasets,
  1602  		HTTPMethod: "GET",
  1603  		HTTPPath:   "/datasets",
  1604  		Paginator: &request.Paginator{
  1605  			InputTokens:     []string{"NextToken"},
  1606  			OutputTokens:    []string{"NextToken"},
  1607  			LimitToken:      "MaxResults",
  1608  			TruncationToken: "",
  1609  		},
  1610  	}
  1611  
  1612  	if input == nil {
  1613  		input = &ListDatasetsInput{}
  1614  	}
  1615  
  1616  	output = &ListDatasetsOutput{}
  1617  	req = c.newRequest(op, input, output)
  1618  	return
  1619  }
  1620  
  1621  // ListDatasets API operation for AWS Glue DataBrew.
  1622  //
  1623  // Lists all of the DataBrew datasets.
  1624  //
  1625  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1626  // with awserr.Error's Code and Message methods to get detailed information about
  1627  // the error.
  1628  //
  1629  // See the AWS API reference guide for AWS Glue DataBrew's
  1630  // API operation ListDatasets for usage and error information.
  1631  //
  1632  // Returned Error Types:
  1633  //   * ValidationException
  1634  //   The input parameters for this request failed validation.
  1635  //
  1636  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListDatasets
  1637  func (c *GlueDataBrew) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
  1638  	req, out := c.ListDatasetsRequest(input)
  1639  	return out, req.Send()
  1640  }
  1641  
  1642  // ListDatasetsWithContext is the same as ListDatasets with the addition of
  1643  // the ability to pass a context and additional request options.
  1644  //
  1645  // See ListDatasets for details on how to use this API operation.
  1646  //
  1647  // The context must be non-nil and will be used for request cancellation. If
  1648  // the context is nil a panic will occur. In the future the SDK may create
  1649  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1650  // for more information on using Contexts.
  1651  func (c *GlueDataBrew) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
  1652  	req, out := c.ListDatasetsRequest(input)
  1653  	req.SetContext(ctx)
  1654  	req.ApplyOptions(opts...)
  1655  	return out, req.Send()
  1656  }
  1657  
  1658  // ListDatasetsPages iterates over the pages of a ListDatasets operation,
  1659  // calling the "fn" function with the response data for each page. To stop
  1660  // iterating, return false from the fn function.
  1661  //
  1662  // See ListDatasets method for more information on how to use this operation.
  1663  //
  1664  // Note: This operation can generate multiple requests to a service.
  1665  //
  1666  //    // Example iterating over at most 3 pages of a ListDatasets operation.
  1667  //    pageNum := 0
  1668  //    err := client.ListDatasetsPages(params,
  1669  //        func(page *gluedatabrew.ListDatasetsOutput, lastPage bool) bool {
  1670  //            pageNum++
  1671  //            fmt.Println(page)
  1672  //            return pageNum <= 3
  1673  //        })
  1674  //
  1675  func (c *GlueDataBrew) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
  1676  	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
  1677  }
  1678  
  1679  // ListDatasetsPagesWithContext same as ListDatasetsPages except
  1680  // it takes a Context and allows setting request options on the pages.
  1681  //
  1682  // The context must be non-nil and will be used for request cancellation. If
  1683  // the context is nil a panic will occur. In the future the SDK may create
  1684  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1685  // for more information on using Contexts.
  1686  func (c *GlueDataBrew) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
  1687  	p := request.Pagination{
  1688  		NewRequest: func() (*request.Request, error) {
  1689  			var inCpy *ListDatasetsInput
  1690  			if input != nil {
  1691  				tmp := *input
  1692  				inCpy = &tmp
  1693  			}
  1694  			req, _ := c.ListDatasetsRequest(inCpy)
  1695  			req.SetContext(ctx)
  1696  			req.ApplyOptions(opts...)
  1697  			return req, nil
  1698  		},
  1699  	}
  1700  
  1701  	for p.Next() {
  1702  		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
  1703  			break
  1704  		}
  1705  	}
  1706  
  1707  	return p.Err()
  1708  }
  1709  
  1710  const opListJobRuns = "ListJobRuns"
  1711  
  1712  // ListJobRunsRequest generates a "aws/request.Request" representing the
  1713  // client's request for the ListJobRuns operation. The "output" return
  1714  // value will be populated with the request's response once the request completes
  1715  // successfully.
  1716  //
  1717  // Use "Send" method on the returned Request to send the API call to the service.
  1718  // the "output" return value is not valid until after Send returns without error.
  1719  //
  1720  // See ListJobRuns for more information on using the ListJobRuns
  1721  // API call, and error handling.
  1722  //
  1723  // This method is useful when you want to inject custom logic or configuration
  1724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1725  //
  1726  //
  1727  //    // Example sending a request using the ListJobRunsRequest method.
  1728  //    req, resp := client.ListJobRunsRequest(params)
  1729  //
  1730  //    err := req.Send()
  1731  //    if err == nil { // resp is now filled
  1732  //        fmt.Println(resp)
  1733  //    }
  1734  //
  1735  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobRuns
  1736  func (c *GlueDataBrew) ListJobRunsRequest(input *ListJobRunsInput) (req *request.Request, output *ListJobRunsOutput) {
  1737  	op := &request.Operation{
  1738  		Name:       opListJobRuns,
  1739  		HTTPMethod: "GET",
  1740  		HTTPPath:   "/jobs/{name}/jobRuns",
  1741  		Paginator: &request.Paginator{
  1742  			InputTokens:     []string{"NextToken"},
  1743  			OutputTokens:    []string{"NextToken"},
  1744  			LimitToken:      "MaxResults",
  1745  			TruncationToken: "",
  1746  		},
  1747  	}
  1748  
  1749  	if input == nil {
  1750  		input = &ListJobRunsInput{}
  1751  	}
  1752  
  1753  	output = &ListJobRunsOutput{}
  1754  	req = c.newRequest(op, input, output)
  1755  	return
  1756  }
  1757  
  1758  // ListJobRuns API operation for AWS Glue DataBrew.
  1759  //
  1760  // Lists all of the previous runs of a particular DataBrew job.
  1761  //
  1762  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1763  // with awserr.Error's Code and Message methods to get detailed information about
  1764  // the error.
  1765  //
  1766  // See the AWS API reference guide for AWS Glue DataBrew's
  1767  // API operation ListJobRuns for usage and error information.
  1768  //
  1769  // Returned Error Types:
  1770  //   * ResourceNotFoundException
  1771  //   One or more resources can't be found.
  1772  //
  1773  //   * ValidationException
  1774  //   The input parameters for this request failed validation.
  1775  //
  1776  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobRuns
  1777  func (c *GlueDataBrew) ListJobRuns(input *ListJobRunsInput) (*ListJobRunsOutput, error) {
  1778  	req, out := c.ListJobRunsRequest(input)
  1779  	return out, req.Send()
  1780  }
  1781  
  1782  // ListJobRunsWithContext is the same as ListJobRuns with the addition of
  1783  // the ability to pass a context and additional request options.
  1784  //
  1785  // See ListJobRuns for details on how to use this API operation.
  1786  //
  1787  // The context must be non-nil and will be used for request cancellation. If
  1788  // the context is nil a panic will occur. In the future the SDK may create
  1789  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1790  // for more information on using Contexts.
  1791  func (c *GlueDataBrew) ListJobRunsWithContext(ctx aws.Context, input *ListJobRunsInput, opts ...request.Option) (*ListJobRunsOutput, error) {
  1792  	req, out := c.ListJobRunsRequest(input)
  1793  	req.SetContext(ctx)
  1794  	req.ApplyOptions(opts...)
  1795  	return out, req.Send()
  1796  }
  1797  
  1798  // ListJobRunsPages iterates over the pages of a ListJobRuns operation,
  1799  // calling the "fn" function with the response data for each page. To stop
  1800  // iterating, return false from the fn function.
  1801  //
  1802  // See ListJobRuns method for more information on how to use this operation.
  1803  //
  1804  // Note: This operation can generate multiple requests to a service.
  1805  //
  1806  //    // Example iterating over at most 3 pages of a ListJobRuns operation.
  1807  //    pageNum := 0
  1808  //    err := client.ListJobRunsPages(params,
  1809  //        func(page *gluedatabrew.ListJobRunsOutput, lastPage bool) bool {
  1810  //            pageNum++
  1811  //            fmt.Println(page)
  1812  //            return pageNum <= 3
  1813  //        })
  1814  //
  1815  func (c *GlueDataBrew) ListJobRunsPages(input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool) error {
  1816  	return c.ListJobRunsPagesWithContext(aws.BackgroundContext(), input, fn)
  1817  }
  1818  
  1819  // ListJobRunsPagesWithContext same as ListJobRunsPages except
  1820  // it takes a Context and allows setting request options on the pages.
  1821  //
  1822  // The context must be non-nil and will be used for request cancellation. If
  1823  // the context is nil a panic will occur. In the future the SDK may create
  1824  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1825  // for more information on using Contexts.
  1826  func (c *GlueDataBrew) ListJobRunsPagesWithContext(ctx aws.Context, input *ListJobRunsInput, fn func(*ListJobRunsOutput, bool) bool, opts ...request.Option) error {
  1827  	p := request.Pagination{
  1828  		NewRequest: func() (*request.Request, error) {
  1829  			var inCpy *ListJobRunsInput
  1830  			if input != nil {
  1831  				tmp := *input
  1832  				inCpy = &tmp
  1833  			}
  1834  			req, _ := c.ListJobRunsRequest(inCpy)
  1835  			req.SetContext(ctx)
  1836  			req.ApplyOptions(opts...)
  1837  			return req, nil
  1838  		},
  1839  	}
  1840  
  1841  	for p.Next() {
  1842  		if !fn(p.Page().(*ListJobRunsOutput), !p.HasNextPage()) {
  1843  			break
  1844  		}
  1845  	}
  1846  
  1847  	return p.Err()
  1848  }
  1849  
  1850  const opListJobs = "ListJobs"
  1851  
  1852  // ListJobsRequest generates a "aws/request.Request" representing the
  1853  // client's request for the ListJobs operation. The "output" return
  1854  // value will be populated with the request's response once the request completes
  1855  // successfully.
  1856  //
  1857  // Use "Send" method on the returned Request to send the API call to the service.
  1858  // the "output" return value is not valid until after Send returns without error.
  1859  //
  1860  // See ListJobs for more information on using the ListJobs
  1861  // API call, and error handling.
  1862  //
  1863  // This method is useful when you want to inject custom logic or configuration
  1864  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1865  //
  1866  //
  1867  //    // Example sending a request using the ListJobsRequest method.
  1868  //    req, resp := client.ListJobsRequest(params)
  1869  //
  1870  //    err := req.Send()
  1871  //    if err == nil { // resp is now filled
  1872  //        fmt.Println(resp)
  1873  //    }
  1874  //
  1875  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobs
  1876  func (c *GlueDataBrew) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
  1877  	op := &request.Operation{
  1878  		Name:       opListJobs,
  1879  		HTTPMethod: "GET",
  1880  		HTTPPath:   "/jobs",
  1881  		Paginator: &request.Paginator{
  1882  			InputTokens:     []string{"NextToken"},
  1883  			OutputTokens:    []string{"NextToken"},
  1884  			LimitToken:      "MaxResults",
  1885  			TruncationToken: "",
  1886  		},
  1887  	}
  1888  
  1889  	if input == nil {
  1890  		input = &ListJobsInput{}
  1891  	}
  1892  
  1893  	output = &ListJobsOutput{}
  1894  	req = c.newRequest(op, input, output)
  1895  	return
  1896  }
  1897  
  1898  // ListJobs API operation for AWS Glue DataBrew.
  1899  //
  1900  // Lists all of the DataBrew jobs that are defined.
  1901  //
  1902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1903  // with awserr.Error's Code and Message methods to get detailed information about
  1904  // the error.
  1905  //
  1906  // See the AWS API reference guide for AWS Glue DataBrew's
  1907  // API operation ListJobs for usage and error information.
  1908  //
  1909  // Returned Error Types:
  1910  //   * ValidationException
  1911  //   The input parameters for this request failed validation.
  1912  //
  1913  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListJobs
  1914  func (c *GlueDataBrew) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
  1915  	req, out := c.ListJobsRequest(input)
  1916  	return out, req.Send()
  1917  }
  1918  
  1919  // ListJobsWithContext is the same as ListJobs with the addition of
  1920  // the ability to pass a context and additional request options.
  1921  //
  1922  // See ListJobs for details on how to use this API operation.
  1923  //
  1924  // The context must be non-nil and will be used for request cancellation. If
  1925  // the context is nil a panic will occur. In the future the SDK may create
  1926  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1927  // for more information on using Contexts.
  1928  func (c *GlueDataBrew) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
  1929  	req, out := c.ListJobsRequest(input)
  1930  	req.SetContext(ctx)
  1931  	req.ApplyOptions(opts...)
  1932  	return out, req.Send()
  1933  }
  1934  
  1935  // ListJobsPages iterates over the pages of a ListJobs operation,
  1936  // calling the "fn" function with the response data for each page. To stop
  1937  // iterating, return false from the fn function.
  1938  //
  1939  // See ListJobs method for more information on how to use this operation.
  1940  //
  1941  // Note: This operation can generate multiple requests to a service.
  1942  //
  1943  //    // Example iterating over at most 3 pages of a ListJobs operation.
  1944  //    pageNum := 0
  1945  //    err := client.ListJobsPages(params,
  1946  //        func(page *gluedatabrew.ListJobsOutput, lastPage bool) bool {
  1947  //            pageNum++
  1948  //            fmt.Println(page)
  1949  //            return pageNum <= 3
  1950  //        })
  1951  //
  1952  func (c *GlueDataBrew) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
  1953  	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  1954  }
  1955  
  1956  // ListJobsPagesWithContext same as ListJobsPages except
  1957  // it takes a Context and allows setting request options on the pages.
  1958  //
  1959  // The context must be non-nil and will be used for request cancellation. If
  1960  // the context is nil a panic will occur. In the future the SDK may create
  1961  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1962  // for more information on using Contexts.
  1963  func (c *GlueDataBrew) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
  1964  	p := request.Pagination{
  1965  		NewRequest: func() (*request.Request, error) {
  1966  			var inCpy *ListJobsInput
  1967  			if input != nil {
  1968  				tmp := *input
  1969  				inCpy = &tmp
  1970  			}
  1971  			req, _ := c.ListJobsRequest(inCpy)
  1972  			req.SetContext(ctx)
  1973  			req.ApplyOptions(opts...)
  1974  			return req, nil
  1975  		},
  1976  	}
  1977  
  1978  	for p.Next() {
  1979  		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
  1980  			break
  1981  		}
  1982  	}
  1983  
  1984  	return p.Err()
  1985  }
  1986  
  1987  const opListProjects = "ListProjects"
  1988  
  1989  // ListProjectsRequest generates a "aws/request.Request" representing the
  1990  // client's request for the ListProjects operation. The "output" return
  1991  // value will be populated with the request's response once the request completes
  1992  // successfully.
  1993  //
  1994  // Use "Send" method on the returned Request to send the API call to the service.
  1995  // the "output" return value is not valid until after Send returns without error.
  1996  //
  1997  // See ListProjects for more information on using the ListProjects
  1998  // API call, and error handling.
  1999  //
  2000  // This method is useful when you want to inject custom logic or configuration
  2001  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2002  //
  2003  //
  2004  //    // Example sending a request using the ListProjectsRequest method.
  2005  //    req, resp := client.ListProjectsRequest(params)
  2006  //
  2007  //    err := req.Send()
  2008  //    if err == nil { // resp is now filled
  2009  //        fmt.Println(resp)
  2010  //    }
  2011  //
  2012  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListProjects
  2013  func (c *GlueDataBrew) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
  2014  	op := &request.Operation{
  2015  		Name:       opListProjects,
  2016  		HTTPMethod: "GET",
  2017  		HTTPPath:   "/projects",
  2018  		Paginator: &request.Paginator{
  2019  			InputTokens:     []string{"NextToken"},
  2020  			OutputTokens:    []string{"NextToken"},
  2021  			LimitToken:      "MaxResults",
  2022  			TruncationToken: "",
  2023  		},
  2024  	}
  2025  
  2026  	if input == nil {
  2027  		input = &ListProjectsInput{}
  2028  	}
  2029  
  2030  	output = &ListProjectsOutput{}
  2031  	req = c.newRequest(op, input, output)
  2032  	return
  2033  }
  2034  
  2035  // ListProjects API operation for AWS Glue DataBrew.
  2036  //
  2037  // Lists all of the DataBrew projects that are defined.
  2038  //
  2039  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2040  // with awserr.Error's Code and Message methods to get detailed information about
  2041  // the error.
  2042  //
  2043  // See the AWS API reference guide for AWS Glue DataBrew's
  2044  // API operation ListProjects for usage and error information.
  2045  //
  2046  // Returned Error Types:
  2047  //   * ValidationException
  2048  //   The input parameters for this request failed validation.
  2049  //
  2050  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListProjects
  2051  func (c *GlueDataBrew) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
  2052  	req, out := c.ListProjectsRequest(input)
  2053  	return out, req.Send()
  2054  }
  2055  
  2056  // ListProjectsWithContext is the same as ListProjects with the addition of
  2057  // the ability to pass a context and additional request options.
  2058  //
  2059  // See ListProjects for details on how to use this API operation.
  2060  //
  2061  // The context must be non-nil and will be used for request cancellation. If
  2062  // the context is nil a panic will occur. In the future the SDK may create
  2063  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2064  // for more information on using Contexts.
  2065  func (c *GlueDataBrew) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
  2066  	req, out := c.ListProjectsRequest(input)
  2067  	req.SetContext(ctx)
  2068  	req.ApplyOptions(opts...)
  2069  	return out, req.Send()
  2070  }
  2071  
  2072  // ListProjectsPages iterates over the pages of a ListProjects operation,
  2073  // calling the "fn" function with the response data for each page. To stop
  2074  // iterating, return false from the fn function.
  2075  //
  2076  // See ListProjects method for more information on how to use this operation.
  2077  //
  2078  // Note: This operation can generate multiple requests to a service.
  2079  //
  2080  //    // Example iterating over at most 3 pages of a ListProjects operation.
  2081  //    pageNum := 0
  2082  //    err := client.ListProjectsPages(params,
  2083  //        func(page *gluedatabrew.ListProjectsOutput, lastPage bool) bool {
  2084  //            pageNum++
  2085  //            fmt.Println(page)
  2086  //            return pageNum <= 3
  2087  //        })
  2088  //
  2089  func (c *GlueDataBrew) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
  2090  	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  2091  }
  2092  
  2093  // ListProjectsPagesWithContext same as ListProjectsPages except
  2094  // it takes a Context and allows setting request options on the pages.
  2095  //
  2096  // The context must be non-nil and will be used for request cancellation. If
  2097  // the context is nil a panic will occur. In the future the SDK may create
  2098  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2099  // for more information on using Contexts.
  2100  func (c *GlueDataBrew) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
  2101  	p := request.Pagination{
  2102  		NewRequest: func() (*request.Request, error) {
  2103  			var inCpy *ListProjectsInput
  2104  			if input != nil {
  2105  				tmp := *input
  2106  				inCpy = &tmp
  2107  			}
  2108  			req, _ := c.ListProjectsRequest(inCpy)
  2109  			req.SetContext(ctx)
  2110  			req.ApplyOptions(opts...)
  2111  			return req, nil
  2112  		},
  2113  	}
  2114  
  2115  	for p.Next() {
  2116  		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
  2117  			break
  2118  		}
  2119  	}
  2120  
  2121  	return p.Err()
  2122  }
  2123  
  2124  const opListRecipeVersions = "ListRecipeVersions"
  2125  
  2126  // ListRecipeVersionsRequest generates a "aws/request.Request" representing the
  2127  // client's request for the ListRecipeVersions operation. The "output" return
  2128  // value will be populated with the request's response once the request completes
  2129  // successfully.
  2130  //
  2131  // Use "Send" method on the returned Request to send the API call to the service.
  2132  // the "output" return value is not valid until after Send returns without error.
  2133  //
  2134  // See ListRecipeVersions for more information on using the ListRecipeVersions
  2135  // API call, and error handling.
  2136  //
  2137  // This method is useful when you want to inject custom logic or configuration
  2138  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2139  //
  2140  //
  2141  //    // Example sending a request using the ListRecipeVersionsRequest method.
  2142  //    req, resp := client.ListRecipeVersionsRequest(params)
  2143  //
  2144  //    err := req.Send()
  2145  //    if err == nil { // resp is now filled
  2146  //        fmt.Println(resp)
  2147  //    }
  2148  //
  2149  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipeVersions
  2150  func (c *GlueDataBrew) ListRecipeVersionsRequest(input *ListRecipeVersionsInput) (req *request.Request, output *ListRecipeVersionsOutput) {
  2151  	op := &request.Operation{
  2152  		Name:       opListRecipeVersions,
  2153  		HTTPMethod: "GET",
  2154  		HTTPPath:   "/recipeVersions",
  2155  		Paginator: &request.Paginator{
  2156  			InputTokens:     []string{"NextToken"},
  2157  			OutputTokens:    []string{"NextToken"},
  2158  			LimitToken:      "MaxResults",
  2159  			TruncationToken: "",
  2160  		},
  2161  	}
  2162  
  2163  	if input == nil {
  2164  		input = &ListRecipeVersionsInput{}
  2165  	}
  2166  
  2167  	output = &ListRecipeVersionsOutput{}
  2168  	req = c.newRequest(op, input, output)
  2169  	return
  2170  }
  2171  
  2172  // ListRecipeVersions API operation for AWS Glue DataBrew.
  2173  //
  2174  // Lists the versions of a particular DataBrew recipe, except for LATEST_WORKING.
  2175  //
  2176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2177  // with awserr.Error's Code and Message methods to get detailed information about
  2178  // the error.
  2179  //
  2180  // See the AWS API reference guide for AWS Glue DataBrew's
  2181  // API operation ListRecipeVersions for usage and error information.
  2182  //
  2183  // Returned Error Types:
  2184  //   * ValidationException
  2185  //   The input parameters for this request failed validation.
  2186  //
  2187  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipeVersions
  2188  func (c *GlueDataBrew) ListRecipeVersions(input *ListRecipeVersionsInput) (*ListRecipeVersionsOutput, error) {
  2189  	req, out := c.ListRecipeVersionsRequest(input)
  2190  	return out, req.Send()
  2191  }
  2192  
  2193  // ListRecipeVersionsWithContext is the same as ListRecipeVersions with the addition of
  2194  // the ability to pass a context and additional request options.
  2195  //
  2196  // See ListRecipeVersions for details on how to use this API operation.
  2197  //
  2198  // The context must be non-nil and will be used for request cancellation. If
  2199  // the context is nil a panic will occur. In the future the SDK may create
  2200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2201  // for more information on using Contexts.
  2202  func (c *GlueDataBrew) ListRecipeVersionsWithContext(ctx aws.Context, input *ListRecipeVersionsInput, opts ...request.Option) (*ListRecipeVersionsOutput, error) {
  2203  	req, out := c.ListRecipeVersionsRequest(input)
  2204  	req.SetContext(ctx)
  2205  	req.ApplyOptions(opts...)
  2206  	return out, req.Send()
  2207  }
  2208  
  2209  // ListRecipeVersionsPages iterates over the pages of a ListRecipeVersions operation,
  2210  // calling the "fn" function with the response data for each page. To stop
  2211  // iterating, return false from the fn function.
  2212  //
  2213  // See ListRecipeVersions method for more information on how to use this operation.
  2214  //
  2215  // Note: This operation can generate multiple requests to a service.
  2216  //
  2217  //    // Example iterating over at most 3 pages of a ListRecipeVersions operation.
  2218  //    pageNum := 0
  2219  //    err := client.ListRecipeVersionsPages(params,
  2220  //        func(page *gluedatabrew.ListRecipeVersionsOutput, lastPage bool) bool {
  2221  //            pageNum++
  2222  //            fmt.Println(page)
  2223  //            return pageNum <= 3
  2224  //        })
  2225  //
  2226  func (c *GlueDataBrew) ListRecipeVersionsPages(input *ListRecipeVersionsInput, fn func(*ListRecipeVersionsOutput, bool) bool) error {
  2227  	return c.ListRecipeVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2228  }
  2229  
  2230  // ListRecipeVersionsPagesWithContext same as ListRecipeVersionsPages except
  2231  // it takes a Context and allows setting request options on the pages.
  2232  //
  2233  // The context must be non-nil and will be used for request cancellation. If
  2234  // the context is nil a panic will occur. In the future the SDK may create
  2235  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2236  // for more information on using Contexts.
  2237  func (c *GlueDataBrew) ListRecipeVersionsPagesWithContext(ctx aws.Context, input *ListRecipeVersionsInput, fn func(*ListRecipeVersionsOutput, bool) bool, opts ...request.Option) error {
  2238  	p := request.Pagination{
  2239  		NewRequest: func() (*request.Request, error) {
  2240  			var inCpy *ListRecipeVersionsInput
  2241  			if input != nil {
  2242  				tmp := *input
  2243  				inCpy = &tmp
  2244  			}
  2245  			req, _ := c.ListRecipeVersionsRequest(inCpy)
  2246  			req.SetContext(ctx)
  2247  			req.ApplyOptions(opts...)
  2248  			return req, nil
  2249  		},
  2250  	}
  2251  
  2252  	for p.Next() {
  2253  		if !fn(p.Page().(*ListRecipeVersionsOutput), !p.HasNextPage()) {
  2254  			break
  2255  		}
  2256  	}
  2257  
  2258  	return p.Err()
  2259  }
  2260  
  2261  const opListRecipes = "ListRecipes"
  2262  
  2263  // ListRecipesRequest generates a "aws/request.Request" representing the
  2264  // client's request for the ListRecipes operation. The "output" return
  2265  // value will be populated with the request's response once the request completes
  2266  // successfully.
  2267  //
  2268  // Use "Send" method on the returned Request to send the API call to the service.
  2269  // the "output" return value is not valid until after Send returns without error.
  2270  //
  2271  // See ListRecipes for more information on using the ListRecipes
  2272  // API call, and error handling.
  2273  //
  2274  // This method is useful when you want to inject custom logic or configuration
  2275  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2276  //
  2277  //
  2278  //    // Example sending a request using the ListRecipesRequest method.
  2279  //    req, resp := client.ListRecipesRequest(params)
  2280  //
  2281  //    err := req.Send()
  2282  //    if err == nil { // resp is now filled
  2283  //        fmt.Println(resp)
  2284  //    }
  2285  //
  2286  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipes
  2287  func (c *GlueDataBrew) ListRecipesRequest(input *ListRecipesInput) (req *request.Request, output *ListRecipesOutput) {
  2288  	op := &request.Operation{
  2289  		Name:       opListRecipes,
  2290  		HTTPMethod: "GET",
  2291  		HTTPPath:   "/recipes",
  2292  		Paginator: &request.Paginator{
  2293  			InputTokens:     []string{"NextToken"},
  2294  			OutputTokens:    []string{"NextToken"},
  2295  			LimitToken:      "MaxResults",
  2296  			TruncationToken: "",
  2297  		},
  2298  	}
  2299  
  2300  	if input == nil {
  2301  		input = &ListRecipesInput{}
  2302  	}
  2303  
  2304  	output = &ListRecipesOutput{}
  2305  	req = c.newRequest(op, input, output)
  2306  	return
  2307  }
  2308  
  2309  // ListRecipes API operation for AWS Glue DataBrew.
  2310  //
  2311  // Lists all of the DataBrew recipes that are defined.
  2312  //
  2313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2314  // with awserr.Error's Code and Message methods to get detailed information about
  2315  // the error.
  2316  //
  2317  // See the AWS API reference guide for AWS Glue DataBrew's
  2318  // API operation ListRecipes for usage and error information.
  2319  //
  2320  // Returned Error Types:
  2321  //   * ValidationException
  2322  //   The input parameters for this request failed validation.
  2323  //
  2324  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListRecipes
  2325  func (c *GlueDataBrew) ListRecipes(input *ListRecipesInput) (*ListRecipesOutput, error) {
  2326  	req, out := c.ListRecipesRequest(input)
  2327  	return out, req.Send()
  2328  }
  2329  
  2330  // ListRecipesWithContext is the same as ListRecipes with the addition of
  2331  // the ability to pass a context and additional request options.
  2332  //
  2333  // See ListRecipes for details on how to use this API operation.
  2334  //
  2335  // The context must be non-nil and will be used for request cancellation. If
  2336  // the context is nil a panic will occur. In the future the SDK may create
  2337  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2338  // for more information on using Contexts.
  2339  func (c *GlueDataBrew) ListRecipesWithContext(ctx aws.Context, input *ListRecipesInput, opts ...request.Option) (*ListRecipesOutput, error) {
  2340  	req, out := c.ListRecipesRequest(input)
  2341  	req.SetContext(ctx)
  2342  	req.ApplyOptions(opts...)
  2343  	return out, req.Send()
  2344  }
  2345  
  2346  // ListRecipesPages iterates over the pages of a ListRecipes operation,
  2347  // calling the "fn" function with the response data for each page. To stop
  2348  // iterating, return false from the fn function.
  2349  //
  2350  // See ListRecipes method for more information on how to use this operation.
  2351  //
  2352  // Note: This operation can generate multiple requests to a service.
  2353  //
  2354  //    // Example iterating over at most 3 pages of a ListRecipes operation.
  2355  //    pageNum := 0
  2356  //    err := client.ListRecipesPages(params,
  2357  //        func(page *gluedatabrew.ListRecipesOutput, lastPage bool) bool {
  2358  //            pageNum++
  2359  //            fmt.Println(page)
  2360  //            return pageNum <= 3
  2361  //        })
  2362  //
  2363  func (c *GlueDataBrew) ListRecipesPages(input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool) error {
  2364  	return c.ListRecipesPagesWithContext(aws.BackgroundContext(), input, fn)
  2365  }
  2366  
  2367  // ListRecipesPagesWithContext same as ListRecipesPages except
  2368  // it takes a Context and allows setting request options on the pages.
  2369  //
  2370  // The context must be non-nil and will be used for request cancellation. If
  2371  // the context is nil a panic will occur. In the future the SDK may create
  2372  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2373  // for more information on using Contexts.
  2374  func (c *GlueDataBrew) ListRecipesPagesWithContext(ctx aws.Context, input *ListRecipesInput, fn func(*ListRecipesOutput, bool) bool, opts ...request.Option) error {
  2375  	p := request.Pagination{
  2376  		NewRequest: func() (*request.Request, error) {
  2377  			var inCpy *ListRecipesInput
  2378  			if input != nil {
  2379  				tmp := *input
  2380  				inCpy = &tmp
  2381  			}
  2382  			req, _ := c.ListRecipesRequest(inCpy)
  2383  			req.SetContext(ctx)
  2384  			req.ApplyOptions(opts...)
  2385  			return req, nil
  2386  		},
  2387  	}
  2388  
  2389  	for p.Next() {
  2390  		if !fn(p.Page().(*ListRecipesOutput), !p.HasNextPage()) {
  2391  			break
  2392  		}
  2393  	}
  2394  
  2395  	return p.Err()
  2396  }
  2397  
  2398  const opListSchedules = "ListSchedules"
  2399  
  2400  // ListSchedulesRequest generates a "aws/request.Request" representing the
  2401  // client's request for the ListSchedules operation. The "output" return
  2402  // value will be populated with the request's response once the request completes
  2403  // successfully.
  2404  //
  2405  // Use "Send" method on the returned Request to send the API call to the service.
  2406  // the "output" return value is not valid until after Send returns without error.
  2407  //
  2408  // See ListSchedules for more information on using the ListSchedules
  2409  // API call, and error handling.
  2410  //
  2411  // This method is useful when you want to inject custom logic or configuration
  2412  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2413  //
  2414  //
  2415  //    // Example sending a request using the ListSchedulesRequest method.
  2416  //    req, resp := client.ListSchedulesRequest(params)
  2417  //
  2418  //    err := req.Send()
  2419  //    if err == nil { // resp is now filled
  2420  //        fmt.Println(resp)
  2421  //    }
  2422  //
  2423  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListSchedules
  2424  func (c *GlueDataBrew) ListSchedulesRequest(input *ListSchedulesInput) (req *request.Request, output *ListSchedulesOutput) {
  2425  	op := &request.Operation{
  2426  		Name:       opListSchedules,
  2427  		HTTPMethod: "GET",
  2428  		HTTPPath:   "/schedules",
  2429  		Paginator: &request.Paginator{
  2430  			InputTokens:     []string{"NextToken"},
  2431  			OutputTokens:    []string{"NextToken"},
  2432  			LimitToken:      "MaxResults",
  2433  			TruncationToken: "",
  2434  		},
  2435  	}
  2436  
  2437  	if input == nil {
  2438  		input = &ListSchedulesInput{}
  2439  	}
  2440  
  2441  	output = &ListSchedulesOutput{}
  2442  	req = c.newRequest(op, input, output)
  2443  	return
  2444  }
  2445  
  2446  // ListSchedules API operation for AWS Glue DataBrew.
  2447  //
  2448  // Lists the DataBrew schedules that are defined.
  2449  //
  2450  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2451  // with awserr.Error's Code and Message methods to get detailed information about
  2452  // the error.
  2453  //
  2454  // See the AWS API reference guide for AWS Glue DataBrew's
  2455  // API operation ListSchedules for usage and error information.
  2456  //
  2457  // Returned Error Types:
  2458  //   * ValidationException
  2459  //   The input parameters for this request failed validation.
  2460  //
  2461  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListSchedules
  2462  func (c *GlueDataBrew) ListSchedules(input *ListSchedulesInput) (*ListSchedulesOutput, error) {
  2463  	req, out := c.ListSchedulesRequest(input)
  2464  	return out, req.Send()
  2465  }
  2466  
  2467  // ListSchedulesWithContext is the same as ListSchedules with the addition of
  2468  // the ability to pass a context and additional request options.
  2469  //
  2470  // See ListSchedules for details on how to use this API operation.
  2471  //
  2472  // The context must be non-nil and will be used for request cancellation. If
  2473  // the context is nil a panic will occur. In the future the SDK may create
  2474  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2475  // for more information on using Contexts.
  2476  func (c *GlueDataBrew) ListSchedulesWithContext(ctx aws.Context, input *ListSchedulesInput, opts ...request.Option) (*ListSchedulesOutput, error) {
  2477  	req, out := c.ListSchedulesRequest(input)
  2478  	req.SetContext(ctx)
  2479  	req.ApplyOptions(opts...)
  2480  	return out, req.Send()
  2481  }
  2482  
  2483  // ListSchedulesPages iterates over the pages of a ListSchedules operation,
  2484  // calling the "fn" function with the response data for each page. To stop
  2485  // iterating, return false from the fn function.
  2486  //
  2487  // See ListSchedules method for more information on how to use this operation.
  2488  //
  2489  // Note: This operation can generate multiple requests to a service.
  2490  //
  2491  //    // Example iterating over at most 3 pages of a ListSchedules operation.
  2492  //    pageNum := 0
  2493  //    err := client.ListSchedulesPages(params,
  2494  //        func(page *gluedatabrew.ListSchedulesOutput, lastPage bool) bool {
  2495  //            pageNum++
  2496  //            fmt.Println(page)
  2497  //            return pageNum <= 3
  2498  //        })
  2499  //
  2500  func (c *GlueDataBrew) ListSchedulesPages(input *ListSchedulesInput, fn func(*ListSchedulesOutput, bool) bool) error {
  2501  	return c.ListSchedulesPagesWithContext(aws.BackgroundContext(), input, fn)
  2502  }
  2503  
  2504  // ListSchedulesPagesWithContext same as ListSchedulesPages except
  2505  // it takes a Context and allows setting request options on the pages.
  2506  //
  2507  // The context must be non-nil and will be used for request cancellation. If
  2508  // the context is nil a panic will occur. In the future the SDK may create
  2509  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2510  // for more information on using Contexts.
  2511  func (c *GlueDataBrew) ListSchedulesPagesWithContext(ctx aws.Context, input *ListSchedulesInput, fn func(*ListSchedulesOutput, bool) bool, opts ...request.Option) error {
  2512  	p := request.Pagination{
  2513  		NewRequest: func() (*request.Request, error) {
  2514  			var inCpy *ListSchedulesInput
  2515  			if input != nil {
  2516  				tmp := *input
  2517  				inCpy = &tmp
  2518  			}
  2519  			req, _ := c.ListSchedulesRequest(inCpy)
  2520  			req.SetContext(ctx)
  2521  			req.ApplyOptions(opts...)
  2522  			return req, nil
  2523  		},
  2524  	}
  2525  
  2526  	for p.Next() {
  2527  		if !fn(p.Page().(*ListSchedulesOutput), !p.HasNextPage()) {
  2528  			break
  2529  		}
  2530  	}
  2531  
  2532  	return p.Err()
  2533  }
  2534  
  2535  const opListTagsForResource = "ListTagsForResource"
  2536  
  2537  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2538  // client's request for the ListTagsForResource operation. The "output" return
  2539  // value will be populated with the request's response once the request completes
  2540  // successfully.
  2541  //
  2542  // Use "Send" method on the returned Request to send the API call to the service.
  2543  // the "output" return value is not valid until after Send returns without error.
  2544  //
  2545  // See ListTagsForResource for more information on using the ListTagsForResource
  2546  // API call, and error handling.
  2547  //
  2548  // This method is useful when you want to inject custom logic or configuration
  2549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2550  //
  2551  //
  2552  //    // Example sending a request using the ListTagsForResourceRequest method.
  2553  //    req, resp := client.ListTagsForResourceRequest(params)
  2554  //
  2555  //    err := req.Send()
  2556  //    if err == nil { // resp is now filled
  2557  //        fmt.Println(resp)
  2558  //    }
  2559  //
  2560  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListTagsForResource
  2561  func (c *GlueDataBrew) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2562  	op := &request.Operation{
  2563  		Name:       opListTagsForResource,
  2564  		HTTPMethod: "GET",
  2565  		HTTPPath:   "/tags/{ResourceArn}",
  2566  	}
  2567  
  2568  	if input == nil {
  2569  		input = &ListTagsForResourceInput{}
  2570  	}
  2571  
  2572  	output = &ListTagsForResourceOutput{}
  2573  	req = c.newRequest(op, input, output)
  2574  	return
  2575  }
  2576  
  2577  // ListTagsForResource API operation for AWS Glue DataBrew.
  2578  //
  2579  // Lists all the tags for a DataBrew resource.
  2580  //
  2581  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2582  // with awserr.Error's Code and Message methods to get detailed information about
  2583  // the error.
  2584  //
  2585  // See the AWS API reference guide for AWS Glue DataBrew's
  2586  // API operation ListTagsForResource for usage and error information.
  2587  //
  2588  // Returned Error Types:
  2589  //   * InternalServerException
  2590  //   An internal service failure occurred.
  2591  //
  2592  //   * ResourceNotFoundException
  2593  //   One or more resources can't be found.
  2594  //
  2595  //   * ValidationException
  2596  //   The input parameters for this request failed validation.
  2597  //
  2598  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ListTagsForResource
  2599  func (c *GlueDataBrew) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2600  	req, out := c.ListTagsForResourceRequest(input)
  2601  	return out, req.Send()
  2602  }
  2603  
  2604  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2605  // the ability to pass a context and additional request options.
  2606  //
  2607  // See ListTagsForResource for details on how to use this API operation.
  2608  //
  2609  // The context must be non-nil and will be used for request cancellation. If
  2610  // the context is nil a panic will occur. In the future the SDK may create
  2611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2612  // for more information on using Contexts.
  2613  func (c *GlueDataBrew) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2614  	req, out := c.ListTagsForResourceRequest(input)
  2615  	req.SetContext(ctx)
  2616  	req.ApplyOptions(opts...)
  2617  	return out, req.Send()
  2618  }
  2619  
  2620  const opPublishRecipe = "PublishRecipe"
  2621  
  2622  // PublishRecipeRequest generates a "aws/request.Request" representing the
  2623  // client's request for the PublishRecipe operation. The "output" return
  2624  // value will be populated with the request's response once the request completes
  2625  // successfully.
  2626  //
  2627  // Use "Send" method on the returned Request to send the API call to the service.
  2628  // the "output" return value is not valid until after Send returns without error.
  2629  //
  2630  // See PublishRecipe for more information on using the PublishRecipe
  2631  // API call, and error handling.
  2632  //
  2633  // This method is useful when you want to inject custom logic or configuration
  2634  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2635  //
  2636  //
  2637  //    // Example sending a request using the PublishRecipeRequest method.
  2638  //    req, resp := client.PublishRecipeRequest(params)
  2639  //
  2640  //    err := req.Send()
  2641  //    if err == nil { // resp is now filled
  2642  //        fmt.Println(resp)
  2643  //    }
  2644  //
  2645  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/PublishRecipe
  2646  func (c *GlueDataBrew) PublishRecipeRequest(input *PublishRecipeInput) (req *request.Request, output *PublishRecipeOutput) {
  2647  	op := &request.Operation{
  2648  		Name:       opPublishRecipe,
  2649  		HTTPMethod: "POST",
  2650  		HTTPPath:   "/recipes/{name}/publishRecipe",
  2651  	}
  2652  
  2653  	if input == nil {
  2654  		input = &PublishRecipeInput{}
  2655  	}
  2656  
  2657  	output = &PublishRecipeOutput{}
  2658  	req = c.newRequest(op, input, output)
  2659  	return
  2660  }
  2661  
  2662  // PublishRecipe API operation for AWS Glue DataBrew.
  2663  //
  2664  // Publishes a new version of a DataBrew recipe.
  2665  //
  2666  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2667  // with awserr.Error's Code and Message methods to get detailed information about
  2668  // the error.
  2669  //
  2670  // See the AWS API reference guide for AWS Glue DataBrew's
  2671  // API operation PublishRecipe for usage and error information.
  2672  //
  2673  // Returned Error Types:
  2674  //   * ValidationException
  2675  //   The input parameters for this request failed validation.
  2676  //
  2677  //   * ResourceNotFoundException
  2678  //   One or more resources can't be found.
  2679  //
  2680  //   * ServiceQuotaExceededException
  2681  //   A service quota is exceeded.
  2682  //
  2683  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/PublishRecipe
  2684  func (c *GlueDataBrew) PublishRecipe(input *PublishRecipeInput) (*PublishRecipeOutput, error) {
  2685  	req, out := c.PublishRecipeRequest(input)
  2686  	return out, req.Send()
  2687  }
  2688  
  2689  // PublishRecipeWithContext is the same as PublishRecipe with the addition of
  2690  // the ability to pass a context and additional request options.
  2691  //
  2692  // See PublishRecipe for details on how to use this API operation.
  2693  //
  2694  // The context must be non-nil and will be used for request cancellation. If
  2695  // the context is nil a panic will occur. In the future the SDK may create
  2696  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2697  // for more information on using Contexts.
  2698  func (c *GlueDataBrew) PublishRecipeWithContext(ctx aws.Context, input *PublishRecipeInput, opts ...request.Option) (*PublishRecipeOutput, error) {
  2699  	req, out := c.PublishRecipeRequest(input)
  2700  	req.SetContext(ctx)
  2701  	req.ApplyOptions(opts...)
  2702  	return out, req.Send()
  2703  }
  2704  
  2705  const opSendProjectSessionAction = "SendProjectSessionAction"
  2706  
  2707  // SendProjectSessionActionRequest generates a "aws/request.Request" representing the
  2708  // client's request for the SendProjectSessionAction operation. The "output" return
  2709  // value will be populated with the request's response once the request completes
  2710  // successfully.
  2711  //
  2712  // Use "Send" method on the returned Request to send the API call to the service.
  2713  // the "output" return value is not valid until after Send returns without error.
  2714  //
  2715  // See SendProjectSessionAction for more information on using the SendProjectSessionAction
  2716  // API call, and error handling.
  2717  //
  2718  // This method is useful when you want to inject custom logic or configuration
  2719  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2720  //
  2721  //
  2722  //    // Example sending a request using the SendProjectSessionActionRequest method.
  2723  //    req, resp := client.SendProjectSessionActionRequest(params)
  2724  //
  2725  //    err := req.Send()
  2726  //    if err == nil { // resp is now filled
  2727  //        fmt.Println(resp)
  2728  //    }
  2729  //
  2730  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/SendProjectSessionAction
  2731  func (c *GlueDataBrew) SendProjectSessionActionRequest(input *SendProjectSessionActionInput) (req *request.Request, output *SendProjectSessionActionOutput) {
  2732  	op := &request.Operation{
  2733  		Name:       opSendProjectSessionAction,
  2734  		HTTPMethod: "PUT",
  2735  		HTTPPath:   "/projects/{name}/sendProjectSessionAction",
  2736  	}
  2737  
  2738  	if input == nil {
  2739  		input = &SendProjectSessionActionInput{}
  2740  	}
  2741  
  2742  	output = &SendProjectSessionActionOutput{}
  2743  	req = c.newRequest(op, input, output)
  2744  	return
  2745  }
  2746  
  2747  // SendProjectSessionAction API operation for AWS Glue DataBrew.
  2748  //
  2749  // Performs a recipe step within an interactive DataBrew session that's currently
  2750  // open.
  2751  //
  2752  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2753  // with awserr.Error's Code and Message methods to get detailed information about
  2754  // the error.
  2755  //
  2756  // See the AWS API reference guide for AWS Glue DataBrew's
  2757  // API operation SendProjectSessionAction for usage and error information.
  2758  //
  2759  // Returned Error Types:
  2760  //   * ConflictException
  2761  //   Updating or deleting a resource can cause an inconsistent state.
  2762  //
  2763  //   * ResourceNotFoundException
  2764  //   One or more resources can't be found.
  2765  //
  2766  //   * ValidationException
  2767  //   The input parameters for this request failed validation.
  2768  //
  2769  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/SendProjectSessionAction
  2770  func (c *GlueDataBrew) SendProjectSessionAction(input *SendProjectSessionActionInput) (*SendProjectSessionActionOutput, error) {
  2771  	req, out := c.SendProjectSessionActionRequest(input)
  2772  	return out, req.Send()
  2773  }
  2774  
  2775  // SendProjectSessionActionWithContext is the same as SendProjectSessionAction with the addition of
  2776  // the ability to pass a context and additional request options.
  2777  //
  2778  // See SendProjectSessionAction for details on how to use this API operation.
  2779  //
  2780  // The context must be non-nil and will be used for request cancellation. If
  2781  // the context is nil a panic will occur. In the future the SDK may create
  2782  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2783  // for more information on using Contexts.
  2784  func (c *GlueDataBrew) SendProjectSessionActionWithContext(ctx aws.Context, input *SendProjectSessionActionInput, opts ...request.Option) (*SendProjectSessionActionOutput, error) {
  2785  	req, out := c.SendProjectSessionActionRequest(input)
  2786  	req.SetContext(ctx)
  2787  	req.ApplyOptions(opts...)
  2788  	return out, req.Send()
  2789  }
  2790  
  2791  const opStartJobRun = "StartJobRun"
  2792  
  2793  // StartJobRunRequest generates a "aws/request.Request" representing the
  2794  // client's request for the StartJobRun operation. The "output" return
  2795  // value will be populated with the request's response once the request completes
  2796  // successfully.
  2797  //
  2798  // Use "Send" method on the returned Request to send the API call to the service.
  2799  // the "output" return value is not valid until after Send returns without error.
  2800  //
  2801  // See StartJobRun for more information on using the StartJobRun
  2802  // API call, and error handling.
  2803  //
  2804  // This method is useful when you want to inject custom logic or configuration
  2805  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2806  //
  2807  //
  2808  //    // Example sending a request using the StartJobRunRequest method.
  2809  //    req, resp := client.StartJobRunRequest(params)
  2810  //
  2811  //    err := req.Send()
  2812  //    if err == nil { // resp is now filled
  2813  //        fmt.Println(resp)
  2814  //    }
  2815  //
  2816  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartJobRun
  2817  func (c *GlueDataBrew) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) {
  2818  	op := &request.Operation{
  2819  		Name:       opStartJobRun,
  2820  		HTTPMethod: "POST",
  2821  		HTTPPath:   "/jobs/{name}/startJobRun",
  2822  	}
  2823  
  2824  	if input == nil {
  2825  		input = &StartJobRunInput{}
  2826  	}
  2827  
  2828  	output = &StartJobRunOutput{}
  2829  	req = c.newRequest(op, input, output)
  2830  	return
  2831  }
  2832  
  2833  // StartJobRun API operation for AWS Glue DataBrew.
  2834  //
  2835  // Runs a DataBrew job.
  2836  //
  2837  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2838  // with awserr.Error's Code and Message methods to get detailed information about
  2839  // the error.
  2840  //
  2841  // See the AWS API reference guide for AWS Glue DataBrew's
  2842  // API operation StartJobRun for usage and error information.
  2843  //
  2844  // Returned Error Types:
  2845  //   * ConflictException
  2846  //   Updating or deleting a resource can cause an inconsistent state.
  2847  //
  2848  //   * ResourceNotFoundException
  2849  //   One or more resources can't be found.
  2850  //
  2851  //   * ServiceQuotaExceededException
  2852  //   A service quota is exceeded.
  2853  //
  2854  //   * ValidationException
  2855  //   The input parameters for this request failed validation.
  2856  //
  2857  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartJobRun
  2858  func (c *GlueDataBrew) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) {
  2859  	req, out := c.StartJobRunRequest(input)
  2860  	return out, req.Send()
  2861  }
  2862  
  2863  // StartJobRunWithContext is the same as StartJobRun with the addition of
  2864  // the ability to pass a context and additional request options.
  2865  //
  2866  // See StartJobRun for details on how to use this API operation.
  2867  //
  2868  // The context must be non-nil and will be used for request cancellation. If
  2869  // the context is nil a panic will occur. In the future the SDK may create
  2870  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2871  // for more information on using Contexts.
  2872  func (c *GlueDataBrew) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) {
  2873  	req, out := c.StartJobRunRequest(input)
  2874  	req.SetContext(ctx)
  2875  	req.ApplyOptions(opts...)
  2876  	return out, req.Send()
  2877  }
  2878  
  2879  const opStartProjectSession = "StartProjectSession"
  2880  
  2881  // StartProjectSessionRequest generates a "aws/request.Request" representing the
  2882  // client's request for the StartProjectSession operation. The "output" return
  2883  // value will be populated with the request's response once the request completes
  2884  // successfully.
  2885  //
  2886  // Use "Send" method on the returned Request to send the API call to the service.
  2887  // the "output" return value is not valid until after Send returns without error.
  2888  //
  2889  // See StartProjectSession for more information on using the StartProjectSession
  2890  // API call, and error handling.
  2891  //
  2892  // This method is useful when you want to inject custom logic or configuration
  2893  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2894  //
  2895  //
  2896  //    // Example sending a request using the StartProjectSessionRequest method.
  2897  //    req, resp := client.StartProjectSessionRequest(params)
  2898  //
  2899  //    err := req.Send()
  2900  //    if err == nil { // resp is now filled
  2901  //        fmt.Println(resp)
  2902  //    }
  2903  //
  2904  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartProjectSession
  2905  func (c *GlueDataBrew) StartProjectSessionRequest(input *StartProjectSessionInput) (req *request.Request, output *StartProjectSessionOutput) {
  2906  	op := &request.Operation{
  2907  		Name:       opStartProjectSession,
  2908  		HTTPMethod: "PUT",
  2909  		HTTPPath:   "/projects/{name}/startProjectSession",
  2910  	}
  2911  
  2912  	if input == nil {
  2913  		input = &StartProjectSessionInput{}
  2914  	}
  2915  
  2916  	output = &StartProjectSessionOutput{}
  2917  	req = c.newRequest(op, input, output)
  2918  	return
  2919  }
  2920  
  2921  // StartProjectSession API operation for AWS Glue DataBrew.
  2922  //
  2923  // Creates an interactive session, enabling you to manipulate data in a DataBrew
  2924  // project.
  2925  //
  2926  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2927  // with awserr.Error's Code and Message methods to get detailed information about
  2928  // the error.
  2929  //
  2930  // See the AWS API reference guide for AWS Glue DataBrew's
  2931  // API operation StartProjectSession for usage and error information.
  2932  //
  2933  // Returned Error Types:
  2934  //   * ConflictException
  2935  //   Updating or deleting a resource can cause an inconsistent state.
  2936  //
  2937  //   * ResourceNotFoundException
  2938  //   One or more resources can't be found.
  2939  //
  2940  //   * ServiceQuotaExceededException
  2941  //   A service quota is exceeded.
  2942  //
  2943  //   * ValidationException
  2944  //   The input parameters for this request failed validation.
  2945  //
  2946  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StartProjectSession
  2947  func (c *GlueDataBrew) StartProjectSession(input *StartProjectSessionInput) (*StartProjectSessionOutput, error) {
  2948  	req, out := c.StartProjectSessionRequest(input)
  2949  	return out, req.Send()
  2950  }
  2951  
  2952  // StartProjectSessionWithContext is the same as StartProjectSession with the addition of
  2953  // the ability to pass a context and additional request options.
  2954  //
  2955  // See StartProjectSession for details on how to use this API operation.
  2956  //
  2957  // The context must be non-nil and will be used for request cancellation. If
  2958  // the context is nil a panic will occur. In the future the SDK may create
  2959  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2960  // for more information on using Contexts.
  2961  func (c *GlueDataBrew) StartProjectSessionWithContext(ctx aws.Context, input *StartProjectSessionInput, opts ...request.Option) (*StartProjectSessionOutput, error) {
  2962  	req, out := c.StartProjectSessionRequest(input)
  2963  	req.SetContext(ctx)
  2964  	req.ApplyOptions(opts...)
  2965  	return out, req.Send()
  2966  }
  2967  
  2968  const opStopJobRun = "StopJobRun"
  2969  
  2970  // StopJobRunRequest generates a "aws/request.Request" representing the
  2971  // client's request for the StopJobRun operation. The "output" return
  2972  // value will be populated with the request's response once the request completes
  2973  // successfully.
  2974  //
  2975  // Use "Send" method on the returned Request to send the API call to the service.
  2976  // the "output" return value is not valid until after Send returns without error.
  2977  //
  2978  // See StopJobRun for more information on using the StopJobRun
  2979  // API call, and error handling.
  2980  //
  2981  // This method is useful when you want to inject custom logic or configuration
  2982  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2983  //
  2984  //
  2985  //    // Example sending a request using the StopJobRunRequest method.
  2986  //    req, resp := client.StopJobRunRequest(params)
  2987  //
  2988  //    err := req.Send()
  2989  //    if err == nil { // resp is now filled
  2990  //        fmt.Println(resp)
  2991  //    }
  2992  //
  2993  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StopJobRun
  2994  func (c *GlueDataBrew) StopJobRunRequest(input *StopJobRunInput) (req *request.Request, output *StopJobRunOutput) {
  2995  	op := &request.Operation{
  2996  		Name:       opStopJobRun,
  2997  		HTTPMethod: "POST",
  2998  		HTTPPath:   "/jobs/{name}/jobRun/{runId}/stopJobRun",
  2999  	}
  3000  
  3001  	if input == nil {
  3002  		input = &StopJobRunInput{}
  3003  	}
  3004  
  3005  	output = &StopJobRunOutput{}
  3006  	req = c.newRequest(op, input, output)
  3007  	return
  3008  }
  3009  
  3010  // StopJobRun API operation for AWS Glue DataBrew.
  3011  //
  3012  // Stops a particular run of a job.
  3013  //
  3014  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3015  // with awserr.Error's Code and Message methods to get detailed information about
  3016  // the error.
  3017  //
  3018  // See the AWS API reference guide for AWS Glue DataBrew's
  3019  // API operation StopJobRun for usage and error information.
  3020  //
  3021  // Returned Error Types:
  3022  //   * ResourceNotFoundException
  3023  //   One or more resources can't be found.
  3024  //
  3025  //   * ValidationException
  3026  //   The input parameters for this request failed validation.
  3027  //
  3028  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/StopJobRun
  3029  func (c *GlueDataBrew) StopJobRun(input *StopJobRunInput) (*StopJobRunOutput, error) {
  3030  	req, out := c.StopJobRunRequest(input)
  3031  	return out, req.Send()
  3032  }
  3033  
  3034  // StopJobRunWithContext is the same as StopJobRun with the addition of
  3035  // the ability to pass a context and additional request options.
  3036  //
  3037  // See StopJobRun for details on how to use this API operation.
  3038  //
  3039  // The context must be non-nil and will be used for request cancellation. If
  3040  // the context is nil a panic will occur. In the future the SDK may create
  3041  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3042  // for more information on using Contexts.
  3043  func (c *GlueDataBrew) StopJobRunWithContext(ctx aws.Context, input *StopJobRunInput, opts ...request.Option) (*StopJobRunOutput, error) {
  3044  	req, out := c.StopJobRunRequest(input)
  3045  	req.SetContext(ctx)
  3046  	req.ApplyOptions(opts...)
  3047  	return out, req.Send()
  3048  }
  3049  
  3050  const opTagResource = "TagResource"
  3051  
  3052  // TagResourceRequest generates a "aws/request.Request" representing the
  3053  // client's request for the TagResource operation. The "output" return
  3054  // value will be populated with the request's response once the request completes
  3055  // successfully.
  3056  //
  3057  // Use "Send" method on the returned Request to send the API call to the service.
  3058  // the "output" return value is not valid until after Send returns without error.
  3059  //
  3060  // See TagResource for more information on using the TagResource
  3061  // API call, and error handling.
  3062  //
  3063  // This method is useful when you want to inject custom logic or configuration
  3064  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3065  //
  3066  //
  3067  //    // Example sending a request using the TagResourceRequest method.
  3068  //    req, resp := client.TagResourceRequest(params)
  3069  //
  3070  //    err := req.Send()
  3071  //    if err == nil { // resp is now filled
  3072  //        fmt.Println(resp)
  3073  //    }
  3074  //
  3075  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/TagResource
  3076  func (c *GlueDataBrew) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3077  	op := &request.Operation{
  3078  		Name:       opTagResource,
  3079  		HTTPMethod: "POST",
  3080  		HTTPPath:   "/tags/{ResourceArn}",
  3081  	}
  3082  
  3083  	if input == nil {
  3084  		input = &TagResourceInput{}
  3085  	}
  3086  
  3087  	output = &TagResourceOutput{}
  3088  	req = c.newRequest(op, input, output)
  3089  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3090  	return
  3091  }
  3092  
  3093  // TagResource API operation for AWS Glue DataBrew.
  3094  //
  3095  // Adds metadata tags to a DataBrew resource, such as a dataset, project, recipe,
  3096  // job, or schedule.
  3097  //
  3098  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3099  // with awserr.Error's Code and Message methods to get detailed information about
  3100  // the error.
  3101  //
  3102  // See the AWS API reference guide for AWS Glue DataBrew's
  3103  // API operation TagResource for usage and error information.
  3104  //
  3105  // Returned Error Types:
  3106  //   * InternalServerException
  3107  //   An internal service failure occurred.
  3108  //
  3109  //   * ResourceNotFoundException
  3110  //   One or more resources can't be found.
  3111  //
  3112  //   * ValidationException
  3113  //   The input parameters for this request failed validation.
  3114  //
  3115  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/TagResource
  3116  func (c *GlueDataBrew) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3117  	req, out := c.TagResourceRequest(input)
  3118  	return out, req.Send()
  3119  }
  3120  
  3121  // TagResourceWithContext is the same as TagResource with the addition of
  3122  // the ability to pass a context and additional request options.
  3123  //
  3124  // See TagResource for details on how to use this API operation.
  3125  //
  3126  // The context must be non-nil and will be used for request cancellation. If
  3127  // the context is nil a panic will occur. In the future the SDK may create
  3128  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3129  // for more information on using Contexts.
  3130  func (c *GlueDataBrew) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3131  	req, out := c.TagResourceRequest(input)
  3132  	req.SetContext(ctx)
  3133  	req.ApplyOptions(opts...)
  3134  	return out, req.Send()
  3135  }
  3136  
  3137  const opUntagResource = "UntagResource"
  3138  
  3139  // UntagResourceRequest generates a "aws/request.Request" representing the
  3140  // client's request for the UntagResource operation. The "output" return
  3141  // value will be populated with the request's response once the request completes
  3142  // successfully.
  3143  //
  3144  // Use "Send" method on the returned Request to send the API call to the service.
  3145  // the "output" return value is not valid until after Send returns without error.
  3146  //
  3147  // See UntagResource for more information on using the UntagResource
  3148  // API call, and error handling.
  3149  //
  3150  // This method is useful when you want to inject custom logic or configuration
  3151  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3152  //
  3153  //
  3154  //    // Example sending a request using the UntagResourceRequest method.
  3155  //    req, resp := client.UntagResourceRequest(params)
  3156  //
  3157  //    err := req.Send()
  3158  //    if err == nil { // resp is now filled
  3159  //        fmt.Println(resp)
  3160  //    }
  3161  //
  3162  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UntagResource
  3163  func (c *GlueDataBrew) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3164  	op := &request.Operation{
  3165  		Name:       opUntagResource,
  3166  		HTTPMethod: "DELETE",
  3167  		HTTPPath:   "/tags/{ResourceArn}",
  3168  	}
  3169  
  3170  	if input == nil {
  3171  		input = &UntagResourceInput{}
  3172  	}
  3173  
  3174  	output = &UntagResourceOutput{}
  3175  	req = c.newRequest(op, input, output)
  3176  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3177  	return
  3178  }
  3179  
  3180  // UntagResource API operation for AWS Glue DataBrew.
  3181  //
  3182  // Removes metadata tags from a DataBrew resource.
  3183  //
  3184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3185  // with awserr.Error's Code and Message methods to get detailed information about
  3186  // the error.
  3187  //
  3188  // See the AWS API reference guide for AWS Glue DataBrew's
  3189  // API operation UntagResource for usage and error information.
  3190  //
  3191  // Returned Error Types:
  3192  //   * InternalServerException
  3193  //   An internal service failure occurred.
  3194  //
  3195  //   * ResourceNotFoundException
  3196  //   One or more resources can't be found.
  3197  //
  3198  //   * ValidationException
  3199  //   The input parameters for this request failed validation.
  3200  //
  3201  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UntagResource
  3202  func (c *GlueDataBrew) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3203  	req, out := c.UntagResourceRequest(input)
  3204  	return out, req.Send()
  3205  }
  3206  
  3207  // UntagResourceWithContext is the same as UntagResource with the addition of
  3208  // the ability to pass a context and additional request options.
  3209  //
  3210  // See UntagResource for details on how to use this API operation.
  3211  //
  3212  // The context must be non-nil and will be used for request cancellation. If
  3213  // the context is nil a panic will occur. In the future the SDK may create
  3214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3215  // for more information on using Contexts.
  3216  func (c *GlueDataBrew) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3217  	req, out := c.UntagResourceRequest(input)
  3218  	req.SetContext(ctx)
  3219  	req.ApplyOptions(opts...)
  3220  	return out, req.Send()
  3221  }
  3222  
  3223  const opUpdateDataset = "UpdateDataset"
  3224  
  3225  // UpdateDatasetRequest generates a "aws/request.Request" representing the
  3226  // client's request for the UpdateDataset operation. The "output" return
  3227  // value will be populated with the request's response once the request completes
  3228  // successfully.
  3229  //
  3230  // Use "Send" method on the returned Request to send the API call to the service.
  3231  // the "output" return value is not valid until after Send returns without error.
  3232  //
  3233  // See UpdateDataset for more information on using the UpdateDataset
  3234  // API call, and error handling.
  3235  //
  3236  // This method is useful when you want to inject custom logic or configuration
  3237  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3238  //
  3239  //
  3240  //    // Example sending a request using the UpdateDatasetRequest method.
  3241  //    req, resp := client.UpdateDatasetRequest(params)
  3242  //
  3243  //    err := req.Send()
  3244  //    if err == nil { // resp is now filled
  3245  //        fmt.Println(resp)
  3246  //    }
  3247  //
  3248  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateDataset
  3249  func (c *GlueDataBrew) UpdateDatasetRequest(input *UpdateDatasetInput) (req *request.Request, output *UpdateDatasetOutput) {
  3250  	op := &request.Operation{
  3251  		Name:       opUpdateDataset,
  3252  		HTTPMethod: "PUT",
  3253  		HTTPPath:   "/datasets/{name}",
  3254  	}
  3255  
  3256  	if input == nil {
  3257  		input = &UpdateDatasetInput{}
  3258  	}
  3259  
  3260  	output = &UpdateDatasetOutput{}
  3261  	req = c.newRequest(op, input, output)
  3262  	return
  3263  }
  3264  
  3265  // UpdateDataset API operation for AWS Glue DataBrew.
  3266  //
  3267  // Modifies the definition of an existing DataBrew dataset.
  3268  //
  3269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3270  // with awserr.Error's Code and Message methods to get detailed information about
  3271  // the error.
  3272  //
  3273  // See the AWS API reference guide for AWS Glue DataBrew's
  3274  // API operation UpdateDataset for usage and error information.
  3275  //
  3276  // Returned Error Types:
  3277  //   * AccessDeniedException
  3278  //   Access to the specified resource was denied.
  3279  //
  3280  //   * ResourceNotFoundException
  3281  //   One or more resources can't be found.
  3282  //
  3283  //   * ValidationException
  3284  //   The input parameters for this request failed validation.
  3285  //
  3286  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateDataset
  3287  func (c *GlueDataBrew) UpdateDataset(input *UpdateDatasetInput) (*UpdateDatasetOutput, error) {
  3288  	req, out := c.UpdateDatasetRequest(input)
  3289  	return out, req.Send()
  3290  }
  3291  
  3292  // UpdateDatasetWithContext is the same as UpdateDataset with the addition of
  3293  // the ability to pass a context and additional request options.
  3294  //
  3295  // See UpdateDataset for details on how to use this API operation.
  3296  //
  3297  // The context must be non-nil and will be used for request cancellation. If
  3298  // the context is nil a panic will occur. In the future the SDK may create
  3299  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3300  // for more information on using Contexts.
  3301  func (c *GlueDataBrew) UpdateDatasetWithContext(ctx aws.Context, input *UpdateDatasetInput, opts ...request.Option) (*UpdateDatasetOutput, error) {
  3302  	req, out := c.UpdateDatasetRequest(input)
  3303  	req.SetContext(ctx)
  3304  	req.ApplyOptions(opts...)
  3305  	return out, req.Send()
  3306  }
  3307  
  3308  const opUpdateProfileJob = "UpdateProfileJob"
  3309  
  3310  // UpdateProfileJobRequest generates a "aws/request.Request" representing the
  3311  // client's request for the UpdateProfileJob operation. The "output" return
  3312  // value will be populated with the request's response once the request completes
  3313  // successfully.
  3314  //
  3315  // Use "Send" method on the returned Request to send the API call to the service.
  3316  // the "output" return value is not valid until after Send returns without error.
  3317  //
  3318  // See UpdateProfileJob for more information on using the UpdateProfileJob
  3319  // API call, and error handling.
  3320  //
  3321  // This method is useful when you want to inject custom logic or configuration
  3322  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3323  //
  3324  //
  3325  //    // Example sending a request using the UpdateProfileJobRequest method.
  3326  //    req, resp := client.UpdateProfileJobRequest(params)
  3327  //
  3328  //    err := req.Send()
  3329  //    if err == nil { // resp is now filled
  3330  //        fmt.Println(resp)
  3331  //    }
  3332  //
  3333  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProfileJob
  3334  func (c *GlueDataBrew) UpdateProfileJobRequest(input *UpdateProfileJobInput) (req *request.Request, output *UpdateProfileJobOutput) {
  3335  	op := &request.Operation{
  3336  		Name:       opUpdateProfileJob,
  3337  		HTTPMethod: "PUT",
  3338  		HTTPPath:   "/profileJobs/{name}",
  3339  	}
  3340  
  3341  	if input == nil {
  3342  		input = &UpdateProfileJobInput{}
  3343  	}
  3344  
  3345  	output = &UpdateProfileJobOutput{}
  3346  	req = c.newRequest(op, input, output)
  3347  	return
  3348  }
  3349  
  3350  // UpdateProfileJob API operation for AWS Glue DataBrew.
  3351  //
  3352  // Modifies the definition of an existing profile job.
  3353  //
  3354  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3355  // with awserr.Error's Code and Message methods to get detailed information about
  3356  // the error.
  3357  //
  3358  // See the AWS API reference guide for AWS Glue DataBrew's
  3359  // API operation UpdateProfileJob for usage and error information.
  3360  //
  3361  // Returned Error Types:
  3362  //   * AccessDeniedException
  3363  //   Access to the specified resource was denied.
  3364  //
  3365  //   * ResourceNotFoundException
  3366  //   One or more resources can't be found.
  3367  //
  3368  //   * ValidationException
  3369  //   The input parameters for this request failed validation.
  3370  //
  3371  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProfileJob
  3372  func (c *GlueDataBrew) UpdateProfileJob(input *UpdateProfileJobInput) (*UpdateProfileJobOutput, error) {
  3373  	req, out := c.UpdateProfileJobRequest(input)
  3374  	return out, req.Send()
  3375  }
  3376  
  3377  // UpdateProfileJobWithContext is the same as UpdateProfileJob with the addition of
  3378  // the ability to pass a context and additional request options.
  3379  //
  3380  // See UpdateProfileJob for details on how to use this API operation.
  3381  //
  3382  // The context must be non-nil and will be used for request cancellation. If
  3383  // the context is nil a panic will occur. In the future the SDK may create
  3384  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3385  // for more information on using Contexts.
  3386  func (c *GlueDataBrew) UpdateProfileJobWithContext(ctx aws.Context, input *UpdateProfileJobInput, opts ...request.Option) (*UpdateProfileJobOutput, error) {
  3387  	req, out := c.UpdateProfileJobRequest(input)
  3388  	req.SetContext(ctx)
  3389  	req.ApplyOptions(opts...)
  3390  	return out, req.Send()
  3391  }
  3392  
  3393  const opUpdateProject = "UpdateProject"
  3394  
  3395  // UpdateProjectRequest generates a "aws/request.Request" representing the
  3396  // client's request for the UpdateProject operation. The "output" return
  3397  // value will be populated with the request's response once the request completes
  3398  // successfully.
  3399  //
  3400  // Use "Send" method on the returned Request to send the API call to the service.
  3401  // the "output" return value is not valid until after Send returns without error.
  3402  //
  3403  // See UpdateProject for more information on using the UpdateProject
  3404  // API call, and error handling.
  3405  //
  3406  // This method is useful when you want to inject custom logic or configuration
  3407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3408  //
  3409  //
  3410  //    // Example sending a request using the UpdateProjectRequest method.
  3411  //    req, resp := client.UpdateProjectRequest(params)
  3412  //
  3413  //    err := req.Send()
  3414  //    if err == nil { // resp is now filled
  3415  //        fmt.Println(resp)
  3416  //    }
  3417  //
  3418  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProject
  3419  func (c *GlueDataBrew) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
  3420  	op := &request.Operation{
  3421  		Name:       opUpdateProject,
  3422  		HTTPMethod: "PUT",
  3423  		HTTPPath:   "/projects/{name}",
  3424  	}
  3425  
  3426  	if input == nil {
  3427  		input = &UpdateProjectInput{}
  3428  	}
  3429  
  3430  	output = &UpdateProjectOutput{}
  3431  	req = c.newRequest(op, input, output)
  3432  	return
  3433  }
  3434  
  3435  // UpdateProject API operation for AWS Glue DataBrew.
  3436  //
  3437  // Modifies the definition of an existing DataBrew project.
  3438  //
  3439  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3440  // with awserr.Error's Code and Message methods to get detailed information about
  3441  // the error.
  3442  //
  3443  // See the AWS API reference guide for AWS Glue DataBrew's
  3444  // API operation UpdateProject for usage and error information.
  3445  //
  3446  // Returned Error Types:
  3447  //   * ResourceNotFoundException
  3448  //   One or more resources can't be found.
  3449  //
  3450  //   * ValidationException
  3451  //   The input parameters for this request failed validation.
  3452  //
  3453  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateProject
  3454  func (c *GlueDataBrew) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
  3455  	req, out := c.UpdateProjectRequest(input)
  3456  	return out, req.Send()
  3457  }
  3458  
  3459  // UpdateProjectWithContext is the same as UpdateProject with the addition of
  3460  // the ability to pass a context and additional request options.
  3461  //
  3462  // See UpdateProject for details on how to use this API operation.
  3463  //
  3464  // The context must be non-nil and will be used for request cancellation. If
  3465  // the context is nil a panic will occur. In the future the SDK may create
  3466  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3467  // for more information on using Contexts.
  3468  func (c *GlueDataBrew) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
  3469  	req, out := c.UpdateProjectRequest(input)
  3470  	req.SetContext(ctx)
  3471  	req.ApplyOptions(opts...)
  3472  	return out, req.Send()
  3473  }
  3474  
  3475  const opUpdateRecipe = "UpdateRecipe"
  3476  
  3477  // UpdateRecipeRequest generates a "aws/request.Request" representing the
  3478  // client's request for the UpdateRecipe operation. The "output" return
  3479  // value will be populated with the request's response once the request completes
  3480  // successfully.
  3481  //
  3482  // Use "Send" method on the returned Request to send the API call to the service.
  3483  // the "output" return value is not valid until after Send returns without error.
  3484  //
  3485  // See UpdateRecipe for more information on using the UpdateRecipe
  3486  // API call, and error handling.
  3487  //
  3488  // This method is useful when you want to inject custom logic or configuration
  3489  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3490  //
  3491  //
  3492  //    // Example sending a request using the UpdateRecipeRequest method.
  3493  //    req, resp := client.UpdateRecipeRequest(params)
  3494  //
  3495  //    err := req.Send()
  3496  //    if err == nil { // resp is now filled
  3497  //        fmt.Println(resp)
  3498  //    }
  3499  //
  3500  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipe
  3501  func (c *GlueDataBrew) UpdateRecipeRequest(input *UpdateRecipeInput) (req *request.Request, output *UpdateRecipeOutput) {
  3502  	op := &request.Operation{
  3503  		Name:       opUpdateRecipe,
  3504  		HTTPMethod: "PUT",
  3505  		HTTPPath:   "/recipes/{name}",
  3506  	}
  3507  
  3508  	if input == nil {
  3509  		input = &UpdateRecipeInput{}
  3510  	}
  3511  
  3512  	output = &UpdateRecipeOutput{}
  3513  	req = c.newRequest(op, input, output)
  3514  	return
  3515  }
  3516  
  3517  // UpdateRecipe API operation for AWS Glue DataBrew.
  3518  //
  3519  // Modifies the definition of the LATEST_WORKING version of a DataBrew recipe.
  3520  //
  3521  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3522  // with awserr.Error's Code and Message methods to get detailed information about
  3523  // the error.
  3524  //
  3525  // See the AWS API reference guide for AWS Glue DataBrew's
  3526  // API operation UpdateRecipe for usage and error information.
  3527  //
  3528  // Returned Error Types:
  3529  //   * ValidationException
  3530  //   The input parameters for this request failed validation.
  3531  //
  3532  //   * ResourceNotFoundException
  3533  //   One or more resources can't be found.
  3534  //
  3535  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipe
  3536  func (c *GlueDataBrew) UpdateRecipe(input *UpdateRecipeInput) (*UpdateRecipeOutput, error) {
  3537  	req, out := c.UpdateRecipeRequest(input)
  3538  	return out, req.Send()
  3539  }
  3540  
  3541  // UpdateRecipeWithContext is the same as UpdateRecipe with the addition of
  3542  // the ability to pass a context and additional request options.
  3543  //
  3544  // See UpdateRecipe for details on how to use this API operation.
  3545  //
  3546  // The context must be non-nil and will be used for request cancellation. If
  3547  // the context is nil a panic will occur. In the future the SDK may create
  3548  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3549  // for more information on using Contexts.
  3550  func (c *GlueDataBrew) UpdateRecipeWithContext(ctx aws.Context, input *UpdateRecipeInput, opts ...request.Option) (*UpdateRecipeOutput, error) {
  3551  	req, out := c.UpdateRecipeRequest(input)
  3552  	req.SetContext(ctx)
  3553  	req.ApplyOptions(opts...)
  3554  	return out, req.Send()
  3555  }
  3556  
  3557  const opUpdateRecipeJob = "UpdateRecipeJob"
  3558  
  3559  // UpdateRecipeJobRequest generates a "aws/request.Request" representing the
  3560  // client's request for the UpdateRecipeJob operation. The "output" return
  3561  // value will be populated with the request's response once the request completes
  3562  // successfully.
  3563  //
  3564  // Use "Send" method on the returned Request to send the API call to the service.
  3565  // the "output" return value is not valid until after Send returns without error.
  3566  //
  3567  // See UpdateRecipeJob for more information on using the UpdateRecipeJob
  3568  // API call, and error handling.
  3569  //
  3570  // This method is useful when you want to inject custom logic or configuration
  3571  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3572  //
  3573  //
  3574  //    // Example sending a request using the UpdateRecipeJobRequest method.
  3575  //    req, resp := client.UpdateRecipeJobRequest(params)
  3576  //
  3577  //    err := req.Send()
  3578  //    if err == nil { // resp is now filled
  3579  //        fmt.Println(resp)
  3580  //    }
  3581  //
  3582  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipeJob
  3583  func (c *GlueDataBrew) UpdateRecipeJobRequest(input *UpdateRecipeJobInput) (req *request.Request, output *UpdateRecipeJobOutput) {
  3584  	op := &request.Operation{
  3585  		Name:       opUpdateRecipeJob,
  3586  		HTTPMethod: "PUT",
  3587  		HTTPPath:   "/recipeJobs/{name}",
  3588  	}
  3589  
  3590  	if input == nil {
  3591  		input = &UpdateRecipeJobInput{}
  3592  	}
  3593  
  3594  	output = &UpdateRecipeJobOutput{}
  3595  	req = c.newRequest(op, input, output)
  3596  	return
  3597  }
  3598  
  3599  // UpdateRecipeJob API operation for AWS Glue DataBrew.
  3600  //
  3601  // Modifies the definition of an existing DataBrew recipe job.
  3602  //
  3603  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3604  // with awserr.Error's Code and Message methods to get detailed information about
  3605  // the error.
  3606  //
  3607  // See the AWS API reference guide for AWS Glue DataBrew's
  3608  // API operation UpdateRecipeJob for usage and error information.
  3609  //
  3610  // Returned Error Types:
  3611  //   * AccessDeniedException
  3612  //   Access to the specified resource was denied.
  3613  //
  3614  //   * ResourceNotFoundException
  3615  //   One or more resources can't be found.
  3616  //
  3617  //   * ValidationException
  3618  //   The input parameters for this request failed validation.
  3619  //
  3620  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateRecipeJob
  3621  func (c *GlueDataBrew) UpdateRecipeJob(input *UpdateRecipeJobInput) (*UpdateRecipeJobOutput, error) {
  3622  	req, out := c.UpdateRecipeJobRequest(input)
  3623  	return out, req.Send()
  3624  }
  3625  
  3626  // UpdateRecipeJobWithContext is the same as UpdateRecipeJob with the addition of
  3627  // the ability to pass a context and additional request options.
  3628  //
  3629  // See UpdateRecipeJob for details on how to use this API operation.
  3630  //
  3631  // The context must be non-nil and will be used for request cancellation. If
  3632  // the context is nil a panic will occur. In the future the SDK may create
  3633  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3634  // for more information on using Contexts.
  3635  func (c *GlueDataBrew) UpdateRecipeJobWithContext(ctx aws.Context, input *UpdateRecipeJobInput, opts ...request.Option) (*UpdateRecipeJobOutput, error) {
  3636  	req, out := c.UpdateRecipeJobRequest(input)
  3637  	req.SetContext(ctx)
  3638  	req.ApplyOptions(opts...)
  3639  	return out, req.Send()
  3640  }
  3641  
  3642  const opUpdateSchedule = "UpdateSchedule"
  3643  
  3644  // UpdateScheduleRequest generates a "aws/request.Request" representing the
  3645  // client's request for the UpdateSchedule operation. The "output" return
  3646  // value will be populated with the request's response once the request completes
  3647  // successfully.
  3648  //
  3649  // Use "Send" method on the returned Request to send the API call to the service.
  3650  // the "output" return value is not valid until after Send returns without error.
  3651  //
  3652  // See UpdateSchedule for more information on using the UpdateSchedule
  3653  // API call, and error handling.
  3654  //
  3655  // This method is useful when you want to inject custom logic or configuration
  3656  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3657  //
  3658  //
  3659  //    // Example sending a request using the UpdateScheduleRequest method.
  3660  //    req, resp := client.UpdateScheduleRequest(params)
  3661  //
  3662  //    err := req.Send()
  3663  //    if err == nil { // resp is now filled
  3664  //        fmt.Println(resp)
  3665  //    }
  3666  //
  3667  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateSchedule
  3668  func (c *GlueDataBrew) UpdateScheduleRequest(input *UpdateScheduleInput) (req *request.Request, output *UpdateScheduleOutput) {
  3669  	op := &request.Operation{
  3670  		Name:       opUpdateSchedule,
  3671  		HTTPMethod: "PUT",
  3672  		HTTPPath:   "/schedules/{name}",
  3673  	}
  3674  
  3675  	if input == nil {
  3676  		input = &UpdateScheduleInput{}
  3677  	}
  3678  
  3679  	output = &UpdateScheduleOutput{}
  3680  	req = c.newRequest(op, input, output)
  3681  	return
  3682  }
  3683  
  3684  // UpdateSchedule API operation for AWS Glue DataBrew.
  3685  //
  3686  // Modifies the definition of an existing DataBrew schedule.
  3687  //
  3688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3689  // with awserr.Error's Code and Message methods to get detailed information about
  3690  // the error.
  3691  //
  3692  // See the AWS API reference guide for AWS Glue DataBrew's
  3693  // API operation UpdateSchedule for usage and error information.
  3694  //
  3695  // Returned Error Types:
  3696  //   * ResourceNotFoundException
  3697  //   One or more resources can't be found.
  3698  //
  3699  //   * ServiceQuotaExceededException
  3700  //   A service quota is exceeded.
  3701  //
  3702  //   * ValidationException
  3703  //   The input parameters for this request failed validation.
  3704  //
  3705  // See also, https://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/UpdateSchedule
  3706  func (c *GlueDataBrew) UpdateSchedule(input *UpdateScheduleInput) (*UpdateScheduleOutput, error) {
  3707  	req, out := c.UpdateScheduleRequest(input)
  3708  	return out, req.Send()
  3709  }
  3710  
  3711  // UpdateScheduleWithContext is the same as UpdateSchedule with the addition of
  3712  // the ability to pass a context and additional request options.
  3713  //
  3714  // See UpdateSchedule for details on how to use this API operation.
  3715  //
  3716  // The context must be non-nil and will be used for request cancellation. If
  3717  // the context is nil a panic will occur. In the future the SDK may create
  3718  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3719  // for more information on using Contexts.
  3720  func (c *GlueDataBrew) UpdateScheduleWithContext(ctx aws.Context, input *UpdateScheduleInput, opts ...request.Option) (*UpdateScheduleOutput, error) {
  3721  	req, out := c.UpdateScheduleRequest(input)
  3722  	req.SetContext(ctx)
  3723  	req.ApplyOptions(opts...)
  3724  	return out, req.Send()
  3725  }
  3726  
  3727  // Access to the specified resource was denied.
  3728  type AccessDeniedException struct {
  3729  	_            struct{}                  `type:"structure"`
  3730  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3731  
  3732  	Message_ *string `locationName:"Message" type:"string"`
  3733  }
  3734  
  3735  // String returns the string representation.
  3736  //
  3737  // API parameter values that are decorated as "sensitive" in the API will not
  3738  // be included in the string output. The member name will be present, but the
  3739  // value will be replaced with "sensitive".
  3740  func (s AccessDeniedException) String() string {
  3741  	return awsutil.Prettify(s)
  3742  }
  3743  
  3744  // GoString returns the string representation.
  3745  //
  3746  // API parameter values that are decorated as "sensitive" in the API will not
  3747  // be included in the string output. The member name will be present, but the
  3748  // value will be replaced with "sensitive".
  3749  func (s AccessDeniedException) GoString() string {
  3750  	return s.String()
  3751  }
  3752  
  3753  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3754  	return &AccessDeniedException{
  3755  		RespMetadata: v,
  3756  	}
  3757  }
  3758  
  3759  // Code returns the exception type name.
  3760  func (s *AccessDeniedException) Code() string {
  3761  	return "AccessDeniedException"
  3762  }
  3763  
  3764  // Message returns the exception's message.
  3765  func (s *AccessDeniedException) Message() string {
  3766  	if s.Message_ != nil {
  3767  		return *s.Message_
  3768  	}
  3769  	return ""
  3770  }
  3771  
  3772  // OrigErr always returns nil, satisfies awserr.Error interface.
  3773  func (s *AccessDeniedException) OrigErr() error {
  3774  	return nil
  3775  }
  3776  
  3777  func (s *AccessDeniedException) Error() string {
  3778  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3779  }
  3780  
  3781  // Status code returns the HTTP status code for the request's response error.
  3782  func (s *AccessDeniedException) StatusCode() int {
  3783  	return s.RespMetadata.StatusCode
  3784  }
  3785  
  3786  // RequestID returns the service's response RequestID for request.
  3787  func (s *AccessDeniedException) RequestID() string {
  3788  	return s.RespMetadata.RequestID
  3789  }
  3790  
  3791  type BatchDeleteRecipeVersionInput struct {
  3792  	_ struct{} `type:"structure"`
  3793  
  3794  	// The name of the recipe whose versions are to be deleted.
  3795  	//
  3796  	// Name is a required field
  3797  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  3798  
  3799  	// An array of version identifiers, for the recipe versions to be deleted. You
  3800  	// can specify numeric versions (X.Y) or LATEST_WORKING. LATEST_PUBLISHED is
  3801  	// not supported.
  3802  	//
  3803  	// RecipeVersions is a required field
  3804  	RecipeVersions []*string `min:"1" type:"list" required:"true"`
  3805  }
  3806  
  3807  // String returns the string representation.
  3808  //
  3809  // API parameter values that are decorated as "sensitive" in the API will not
  3810  // be included in the string output. The member name will be present, but the
  3811  // value will be replaced with "sensitive".
  3812  func (s BatchDeleteRecipeVersionInput) String() string {
  3813  	return awsutil.Prettify(s)
  3814  }
  3815  
  3816  // GoString returns the string representation.
  3817  //
  3818  // API parameter values that are decorated as "sensitive" in the API will not
  3819  // be included in the string output. The member name will be present, but the
  3820  // value will be replaced with "sensitive".
  3821  func (s BatchDeleteRecipeVersionInput) GoString() string {
  3822  	return s.String()
  3823  }
  3824  
  3825  // Validate inspects the fields of the type to determine if they are valid.
  3826  func (s *BatchDeleteRecipeVersionInput) Validate() error {
  3827  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteRecipeVersionInput"}
  3828  	if s.Name == nil {
  3829  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3830  	}
  3831  	if s.Name != nil && len(*s.Name) < 1 {
  3832  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3833  	}
  3834  	if s.RecipeVersions == nil {
  3835  		invalidParams.Add(request.NewErrParamRequired("RecipeVersions"))
  3836  	}
  3837  	if s.RecipeVersions != nil && len(s.RecipeVersions) < 1 {
  3838  		invalidParams.Add(request.NewErrParamMinLen("RecipeVersions", 1))
  3839  	}
  3840  
  3841  	if invalidParams.Len() > 0 {
  3842  		return invalidParams
  3843  	}
  3844  	return nil
  3845  }
  3846  
  3847  // SetName sets the Name field's value.
  3848  func (s *BatchDeleteRecipeVersionInput) SetName(v string) *BatchDeleteRecipeVersionInput {
  3849  	s.Name = &v
  3850  	return s
  3851  }
  3852  
  3853  // SetRecipeVersions sets the RecipeVersions field's value.
  3854  func (s *BatchDeleteRecipeVersionInput) SetRecipeVersions(v []*string) *BatchDeleteRecipeVersionInput {
  3855  	s.RecipeVersions = v
  3856  	return s
  3857  }
  3858  
  3859  type BatchDeleteRecipeVersionOutput struct {
  3860  	_ struct{} `type:"structure"`
  3861  
  3862  	// Errors, if any, that occurred while attempting to delete the recipe versions.
  3863  	Errors []*RecipeVersionErrorDetail `type:"list"`
  3864  
  3865  	// The name of the recipe that was modified.
  3866  	//
  3867  	// Name is a required field
  3868  	Name *string `min:"1" type:"string" required:"true"`
  3869  }
  3870  
  3871  // String returns the string representation.
  3872  //
  3873  // API parameter values that are decorated as "sensitive" in the API will not
  3874  // be included in the string output. The member name will be present, but the
  3875  // value will be replaced with "sensitive".
  3876  func (s BatchDeleteRecipeVersionOutput) String() string {
  3877  	return awsutil.Prettify(s)
  3878  }
  3879  
  3880  // GoString returns the string representation.
  3881  //
  3882  // API parameter values that are decorated as "sensitive" in the API will not
  3883  // be included in the string output. The member name will be present, but the
  3884  // value will be replaced with "sensitive".
  3885  func (s BatchDeleteRecipeVersionOutput) GoString() string {
  3886  	return s.String()
  3887  }
  3888  
  3889  // SetErrors sets the Errors field's value.
  3890  func (s *BatchDeleteRecipeVersionOutput) SetErrors(v []*RecipeVersionErrorDetail) *BatchDeleteRecipeVersionOutput {
  3891  	s.Errors = v
  3892  	return s
  3893  }
  3894  
  3895  // SetName sets the Name field's value.
  3896  func (s *BatchDeleteRecipeVersionOutput) SetName(v string) *BatchDeleteRecipeVersionOutput {
  3897  	s.Name = &v
  3898  	return s
  3899  }
  3900  
  3901  // Selector of a column from a dataset for profile job configuration. One selector
  3902  // includes either a column name or a regular expression.
  3903  type ColumnSelector struct {
  3904  	_ struct{} `type:"structure"`
  3905  
  3906  	// The name of a column from a dataset.
  3907  	Name *string `min:"1" type:"string"`
  3908  
  3909  	// A regular expression for selecting a column from a dataset.
  3910  	Regex *string `min:"1" type:"string"`
  3911  }
  3912  
  3913  // String returns the string representation.
  3914  //
  3915  // API parameter values that are decorated as "sensitive" in the API will not
  3916  // be included in the string output. The member name will be present, but the
  3917  // value will be replaced with "sensitive".
  3918  func (s ColumnSelector) String() string {
  3919  	return awsutil.Prettify(s)
  3920  }
  3921  
  3922  // GoString returns the string representation.
  3923  //
  3924  // API parameter values that are decorated as "sensitive" in the API will not
  3925  // be included in the string output. The member name will be present, but the
  3926  // value will be replaced with "sensitive".
  3927  func (s ColumnSelector) GoString() string {
  3928  	return s.String()
  3929  }
  3930  
  3931  // Validate inspects the fields of the type to determine if they are valid.
  3932  func (s *ColumnSelector) Validate() error {
  3933  	invalidParams := request.ErrInvalidParams{Context: "ColumnSelector"}
  3934  	if s.Name != nil && len(*s.Name) < 1 {
  3935  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3936  	}
  3937  	if s.Regex != nil && len(*s.Regex) < 1 {
  3938  		invalidParams.Add(request.NewErrParamMinLen("Regex", 1))
  3939  	}
  3940  
  3941  	if invalidParams.Len() > 0 {
  3942  		return invalidParams
  3943  	}
  3944  	return nil
  3945  }
  3946  
  3947  // SetName sets the Name field's value.
  3948  func (s *ColumnSelector) SetName(v string) *ColumnSelector {
  3949  	s.Name = &v
  3950  	return s
  3951  }
  3952  
  3953  // SetRegex sets the Regex field's value.
  3954  func (s *ColumnSelector) SetRegex(v string) *ColumnSelector {
  3955  	s.Regex = &v
  3956  	return s
  3957  }
  3958  
  3959  // Configuration for column evaluations for a profile job. ColumnStatisticsConfiguration
  3960  // can be used to select evaluations and override parameters of evaluations
  3961  // for particular columns.
  3962  type ColumnStatisticsConfiguration struct {
  3963  	_ struct{} `type:"structure"`
  3964  
  3965  	// List of column selectors. Selectors can be used to select columns from the
  3966  	// dataset. When selectors are undefined, configuration will be applied to all
  3967  	// supported columns.
  3968  	Selectors []*ColumnSelector `min:"1" type:"list"`
  3969  
  3970  	// Configuration for evaluations. Statistics can be used to select evaluations
  3971  	// and override parameters of evaluations.
  3972  	//
  3973  	// Statistics is a required field
  3974  	Statistics *StatisticsConfiguration `type:"structure" required:"true"`
  3975  }
  3976  
  3977  // String returns the string representation.
  3978  //
  3979  // API parameter values that are decorated as "sensitive" in the API will not
  3980  // be included in the string output. The member name will be present, but the
  3981  // value will be replaced with "sensitive".
  3982  func (s ColumnStatisticsConfiguration) String() string {
  3983  	return awsutil.Prettify(s)
  3984  }
  3985  
  3986  // GoString returns the string representation.
  3987  //
  3988  // API parameter values that are decorated as "sensitive" in the API will not
  3989  // be included in the string output. The member name will be present, but the
  3990  // value will be replaced with "sensitive".
  3991  func (s ColumnStatisticsConfiguration) GoString() string {
  3992  	return s.String()
  3993  }
  3994  
  3995  // Validate inspects the fields of the type to determine if they are valid.
  3996  func (s *ColumnStatisticsConfiguration) Validate() error {
  3997  	invalidParams := request.ErrInvalidParams{Context: "ColumnStatisticsConfiguration"}
  3998  	if s.Selectors != nil && len(s.Selectors) < 1 {
  3999  		invalidParams.Add(request.NewErrParamMinLen("Selectors", 1))
  4000  	}
  4001  	if s.Statistics == nil {
  4002  		invalidParams.Add(request.NewErrParamRequired("Statistics"))
  4003  	}
  4004  	if s.Selectors != nil {
  4005  		for i, v := range s.Selectors {
  4006  			if v == nil {
  4007  				continue
  4008  			}
  4009  			if err := v.Validate(); err != nil {
  4010  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Selectors", i), err.(request.ErrInvalidParams))
  4011  			}
  4012  		}
  4013  	}
  4014  	if s.Statistics != nil {
  4015  		if err := s.Statistics.Validate(); err != nil {
  4016  			invalidParams.AddNested("Statistics", err.(request.ErrInvalidParams))
  4017  		}
  4018  	}
  4019  
  4020  	if invalidParams.Len() > 0 {
  4021  		return invalidParams
  4022  	}
  4023  	return nil
  4024  }
  4025  
  4026  // SetSelectors sets the Selectors field's value.
  4027  func (s *ColumnStatisticsConfiguration) SetSelectors(v []*ColumnSelector) *ColumnStatisticsConfiguration {
  4028  	s.Selectors = v
  4029  	return s
  4030  }
  4031  
  4032  // SetStatistics sets the Statistics field's value.
  4033  func (s *ColumnStatisticsConfiguration) SetStatistics(v *StatisticsConfiguration) *ColumnStatisticsConfiguration {
  4034  	s.Statistics = v
  4035  	return s
  4036  }
  4037  
  4038  // Represents an individual condition that evaluates to true or false.
  4039  //
  4040  // Conditions are used with recipe actions. The action is only performed for
  4041  // column values where the condition evaluates to true.
  4042  //
  4043  // If a recipe requires more than one condition, then the recipe must specify
  4044  // multiple ConditionExpression elements. Each condition is applied to the rows
  4045  // in a dataset first, before the recipe action is performed.
  4046  type ConditionExpression struct {
  4047  	_ struct{} `type:"structure"`
  4048  
  4049  	// A specific condition to apply to a recipe action. For more information, see
  4050  	// Recipe structure (https://docs.aws.amazon.com/databrew/latest/dg/recipes.html#recipes.structure)
  4051  	// in the Glue DataBrew Developer Guide.
  4052  	//
  4053  	// Condition is a required field
  4054  	Condition *string `min:"1" type:"string" required:"true"`
  4055  
  4056  	// A column to apply this condition to.
  4057  	//
  4058  	// TargetColumn is a required field
  4059  	TargetColumn *string `min:"1" type:"string" required:"true"`
  4060  
  4061  	// A value that the condition must evaluate to for the condition to succeed.
  4062  	Value *string `type:"string"`
  4063  }
  4064  
  4065  // String returns the string representation.
  4066  //
  4067  // API parameter values that are decorated as "sensitive" in the API will not
  4068  // be included in the string output. The member name will be present, but the
  4069  // value will be replaced with "sensitive".
  4070  func (s ConditionExpression) String() string {
  4071  	return awsutil.Prettify(s)
  4072  }
  4073  
  4074  // GoString returns the string representation.
  4075  //
  4076  // API parameter values that are decorated as "sensitive" in the API will not
  4077  // be included in the string output. The member name will be present, but the
  4078  // value will be replaced with "sensitive".
  4079  func (s ConditionExpression) GoString() string {
  4080  	return s.String()
  4081  }
  4082  
  4083  // Validate inspects the fields of the type to determine if they are valid.
  4084  func (s *ConditionExpression) Validate() error {
  4085  	invalidParams := request.ErrInvalidParams{Context: "ConditionExpression"}
  4086  	if s.Condition == nil {
  4087  		invalidParams.Add(request.NewErrParamRequired("Condition"))
  4088  	}
  4089  	if s.Condition != nil && len(*s.Condition) < 1 {
  4090  		invalidParams.Add(request.NewErrParamMinLen("Condition", 1))
  4091  	}
  4092  	if s.TargetColumn == nil {
  4093  		invalidParams.Add(request.NewErrParamRequired("TargetColumn"))
  4094  	}
  4095  	if s.TargetColumn != nil && len(*s.TargetColumn) < 1 {
  4096  		invalidParams.Add(request.NewErrParamMinLen("TargetColumn", 1))
  4097  	}
  4098  
  4099  	if invalidParams.Len() > 0 {
  4100  		return invalidParams
  4101  	}
  4102  	return nil
  4103  }
  4104  
  4105  // SetCondition sets the Condition field's value.
  4106  func (s *ConditionExpression) SetCondition(v string) *ConditionExpression {
  4107  	s.Condition = &v
  4108  	return s
  4109  }
  4110  
  4111  // SetTargetColumn sets the TargetColumn field's value.
  4112  func (s *ConditionExpression) SetTargetColumn(v string) *ConditionExpression {
  4113  	s.TargetColumn = &v
  4114  	return s
  4115  }
  4116  
  4117  // SetValue sets the Value field's value.
  4118  func (s *ConditionExpression) SetValue(v string) *ConditionExpression {
  4119  	s.Value = &v
  4120  	return s
  4121  }
  4122  
  4123  // Updating or deleting a resource can cause an inconsistent state.
  4124  type ConflictException struct {
  4125  	_            struct{}                  `type:"structure"`
  4126  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4127  
  4128  	Message_ *string `locationName:"Message" type:"string"`
  4129  }
  4130  
  4131  // String returns the string representation.
  4132  //
  4133  // API parameter values that are decorated as "sensitive" in the API will not
  4134  // be included in the string output. The member name will be present, but the
  4135  // value will be replaced with "sensitive".
  4136  func (s ConflictException) String() string {
  4137  	return awsutil.Prettify(s)
  4138  }
  4139  
  4140  // GoString returns the string representation.
  4141  //
  4142  // API parameter values that are decorated as "sensitive" in the API will not
  4143  // be included in the string output. The member name will be present, but the
  4144  // value will be replaced with "sensitive".
  4145  func (s ConflictException) GoString() string {
  4146  	return s.String()
  4147  }
  4148  
  4149  func newErrorConflictException(v protocol.ResponseMetadata) error {
  4150  	return &ConflictException{
  4151  		RespMetadata: v,
  4152  	}
  4153  }
  4154  
  4155  // Code returns the exception type name.
  4156  func (s *ConflictException) Code() string {
  4157  	return "ConflictException"
  4158  }
  4159  
  4160  // Message returns the exception's message.
  4161  func (s *ConflictException) Message() string {
  4162  	if s.Message_ != nil {
  4163  		return *s.Message_
  4164  	}
  4165  	return ""
  4166  }
  4167  
  4168  // OrigErr always returns nil, satisfies awserr.Error interface.
  4169  func (s *ConflictException) OrigErr() error {
  4170  	return nil
  4171  }
  4172  
  4173  func (s *ConflictException) Error() string {
  4174  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4175  }
  4176  
  4177  // Status code returns the HTTP status code for the request's response error.
  4178  func (s *ConflictException) StatusCode() int {
  4179  	return s.RespMetadata.StatusCode
  4180  }
  4181  
  4182  // RequestID returns the service's response RequestID for request.
  4183  func (s *ConflictException) RequestID() string {
  4184  	return s.RespMetadata.RequestID
  4185  }
  4186  
  4187  type CreateDatasetInput struct {
  4188  	_ struct{} `type:"structure"`
  4189  
  4190  	// The file format of a dataset that is created from an Amazon S3 file or folder.
  4191  	Format *string `type:"string" enum:"InputFormat"`
  4192  
  4193  	// Represents a set of options that define the structure of either comma-separated
  4194  	// value (CSV), Excel, or JSON input.
  4195  	FormatOptions *FormatOptions `type:"structure"`
  4196  
  4197  	// Represents information on how DataBrew can find data, in either the Glue
  4198  	// Data Catalog or Amazon S3.
  4199  	//
  4200  	// Input is a required field
  4201  	Input *Input `type:"structure" required:"true"`
  4202  
  4203  	// The name of the dataset to be created. Valid characters are alphanumeric
  4204  	// (A-Z, a-z, 0-9), hyphen (-), period (.), and space.
  4205  	//
  4206  	// Name is a required field
  4207  	Name *string `min:"1" type:"string" required:"true"`
  4208  
  4209  	// A set of options that defines how DataBrew interprets an Amazon S3 path of
  4210  	// the dataset.
  4211  	PathOptions *PathOptions `type:"structure"`
  4212  
  4213  	// Metadata tags to apply to this dataset.
  4214  	Tags map[string]*string `min:"1" type:"map"`
  4215  }
  4216  
  4217  // String returns the string representation.
  4218  //
  4219  // API parameter values that are decorated as "sensitive" in the API will not
  4220  // be included in the string output. The member name will be present, but the
  4221  // value will be replaced with "sensitive".
  4222  func (s CreateDatasetInput) String() string {
  4223  	return awsutil.Prettify(s)
  4224  }
  4225  
  4226  // GoString returns the string representation.
  4227  //
  4228  // API parameter values that are decorated as "sensitive" in the API will not
  4229  // be included in the string output. The member name will be present, but the
  4230  // value will be replaced with "sensitive".
  4231  func (s CreateDatasetInput) GoString() string {
  4232  	return s.String()
  4233  }
  4234  
  4235  // Validate inspects the fields of the type to determine if they are valid.
  4236  func (s *CreateDatasetInput) Validate() error {
  4237  	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
  4238  	if s.Input == nil {
  4239  		invalidParams.Add(request.NewErrParamRequired("Input"))
  4240  	}
  4241  	if s.Name == nil {
  4242  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4243  	}
  4244  	if s.Name != nil && len(*s.Name) < 1 {
  4245  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4246  	}
  4247  	if s.Tags != nil && len(s.Tags) < 1 {
  4248  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4249  	}
  4250  	if s.FormatOptions != nil {
  4251  		if err := s.FormatOptions.Validate(); err != nil {
  4252  			invalidParams.AddNested("FormatOptions", err.(request.ErrInvalidParams))
  4253  		}
  4254  	}
  4255  	if s.Input != nil {
  4256  		if err := s.Input.Validate(); err != nil {
  4257  			invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
  4258  		}
  4259  	}
  4260  	if s.PathOptions != nil {
  4261  		if err := s.PathOptions.Validate(); err != nil {
  4262  			invalidParams.AddNested("PathOptions", err.(request.ErrInvalidParams))
  4263  		}
  4264  	}
  4265  
  4266  	if invalidParams.Len() > 0 {
  4267  		return invalidParams
  4268  	}
  4269  	return nil
  4270  }
  4271  
  4272  // SetFormat sets the Format field's value.
  4273  func (s *CreateDatasetInput) SetFormat(v string) *CreateDatasetInput {
  4274  	s.Format = &v
  4275  	return s
  4276  }
  4277  
  4278  // SetFormatOptions sets the FormatOptions field's value.
  4279  func (s *CreateDatasetInput) SetFormatOptions(v *FormatOptions) *CreateDatasetInput {
  4280  	s.FormatOptions = v
  4281  	return s
  4282  }
  4283  
  4284  // SetInput sets the Input field's value.
  4285  func (s *CreateDatasetInput) SetInput(v *Input) *CreateDatasetInput {
  4286  	s.Input = v
  4287  	return s
  4288  }
  4289  
  4290  // SetName sets the Name field's value.
  4291  func (s *CreateDatasetInput) SetName(v string) *CreateDatasetInput {
  4292  	s.Name = &v
  4293  	return s
  4294  }
  4295  
  4296  // SetPathOptions sets the PathOptions field's value.
  4297  func (s *CreateDatasetInput) SetPathOptions(v *PathOptions) *CreateDatasetInput {
  4298  	s.PathOptions = v
  4299  	return s
  4300  }
  4301  
  4302  // SetTags sets the Tags field's value.
  4303  func (s *CreateDatasetInput) SetTags(v map[string]*string) *CreateDatasetInput {
  4304  	s.Tags = v
  4305  	return s
  4306  }
  4307  
  4308  type CreateDatasetOutput struct {
  4309  	_ struct{} `type:"structure"`
  4310  
  4311  	// The name of the dataset that you created.
  4312  	//
  4313  	// Name is a required field
  4314  	Name *string `min:"1" type:"string" required:"true"`
  4315  }
  4316  
  4317  // String returns the string representation.
  4318  //
  4319  // API parameter values that are decorated as "sensitive" in the API will not
  4320  // be included in the string output. The member name will be present, but the
  4321  // value will be replaced with "sensitive".
  4322  func (s CreateDatasetOutput) String() string {
  4323  	return awsutil.Prettify(s)
  4324  }
  4325  
  4326  // GoString returns the string representation.
  4327  //
  4328  // API parameter values that are decorated as "sensitive" in the API will not
  4329  // be included in the string output. The member name will be present, but the
  4330  // value will be replaced with "sensitive".
  4331  func (s CreateDatasetOutput) GoString() string {
  4332  	return s.String()
  4333  }
  4334  
  4335  // SetName sets the Name field's value.
  4336  func (s *CreateDatasetOutput) SetName(v string) *CreateDatasetOutput {
  4337  	s.Name = &v
  4338  	return s
  4339  }
  4340  
  4341  type CreateProfileJobInput struct {
  4342  	_ struct{} `type:"structure"`
  4343  
  4344  	// Configuration for profile jobs. Used to select columns, do evaluations, and
  4345  	// override default parameters of evaluations. When configuration is null, the
  4346  	// profile job will run with default settings.
  4347  	Configuration *ProfileConfiguration `type:"structure"`
  4348  
  4349  	// The name of the dataset that this job is to act upon.
  4350  	//
  4351  	// DatasetName is a required field
  4352  	DatasetName *string `min:"1" type:"string" required:"true"`
  4353  
  4354  	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
  4355  	// the job.
  4356  	EncryptionKeyArn *string `min:"20" type:"string"`
  4357  
  4358  	// The encryption mode for the job, which can be one of the following:
  4359  	//
  4360  	//    * SSE-KMS - SSE-KMS - Server-side encryption with KMS-managed keys.
  4361  	//
  4362  	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
  4363  	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
  4364  
  4365  	// Sample configuration for profile jobs only. Determines the number of rows
  4366  	// on which the profile job will be executed. If a JobSample value is not provided,
  4367  	// the default value will be used. The default value is CUSTOM_ROWS for the
  4368  	// mode parameter and 20000 for the size parameter.
  4369  	JobSample *JobSample `type:"structure"`
  4370  
  4371  	// Enables or disables Amazon CloudWatch logging for the job. If logging is
  4372  	// enabled, CloudWatch writes one log stream for each job run.
  4373  	LogSubscription *string `type:"string" enum:"LogSubscription"`
  4374  
  4375  	// The maximum number of nodes that DataBrew can use when the job processes
  4376  	// data.
  4377  	MaxCapacity *int64 `type:"integer"`
  4378  
  4379  	// The maximum number of times to retry the job after a job run fails.
  4380  	MaxRetries *int64 `type:"integer"`
  4381  
  4382  	// The name of the job to be created. Valid characters are alphanumeric (A-Z,
  4383  	// a-z, 0-9), hyphen (-), period (.), and space.
  4384  	//
  4385  	// Name is a required field
  4386  	Name *string `min:"1" type:"string" required:"true"`
  4387  
  4388  	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
  4389  	// can read input data, or write output from a job.
  4390  	//
  4391  	// OutputLocation is a required field
  4392  	OutputLocation *S3Location `type:"structure" required:"true"`
  4393  
  4394  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  4395  	// role to be assumed when DataBrew runs the job.
  4396  	//
  4397  	// RoleArn is a required field
  4398  	RoleArn *string `min:"20" type:"string" required:"true"`
  4399  
  4400  	// Metadata tags to apply to this job.
  4401  	Tags map[string]*string `min:"1" type:"map"`
  4402  
  4403  	// The job's timeout in minutes. A job that attempts to run longer than this
  4404  	// timeout period ends with a status of TIMEOUT.
  4405  	Timeout *int64 `type:"integer"`
  4406  }
  4407  
  4408  // String returns the string representation.
  4409  //
  4410  // API parameter values that are decorated as "sensitive" in the API will not
  4411  // be included in the string output. The member name will be present, but the
  4412  // value will be replaced with "sensitive".
  4413  func (s CreateProfileJobInput) String() string {
  4414  	return awsutil.Prettify(s)
  4415  }
  4416  
  4417  // GoString returns the string representation.
  4418  //
  4419  // API parameter values that are decorated as "sensitive" in the API will not
  4420  // be included in the string output. The member name will be present, but the
  4421  // value will be replaced with "sensitive".
  4422  func (s CreateProfileJobInput) GoString() string {
  4423  	return s.String()
  4424  }
  4425  
  4426  // Validate inspects the fields of the type to determine if they are valid.
  4427  func (s *CreateProfileJobInput) Validate() error {
  4428  	invalidParams := request.ErrInvalidParams{Context: "CreateProfileJobInput"}
  4429  	if s.DatasetName == nil {
  4430  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  4431  	}
  4432  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  4433  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  4434  	}
  4435  	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
  4436  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
  4437  	}
  4438  	if s.Name == nil {
  4439  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4440  	}
  4441  	if s.Name != nil && len(*s.Name) < 1 {
  4442  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4443  	}
  4444  	if s.OutputLocation == nil {
  4445  		invalidParams.Add(request.NewErrParamRequired("OutputLocation"))
  4446  	}
  4447  	if s.RoleArn == nil {
  4448  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  4449  	}
  4450  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  4451  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  4452  	}
  4453  	if s.Tags != nil && len(s.Tags) < 1 {
  4454  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4455  	}
  4456  	if s.Configuration != nil {
  4457  		if err := s.Configuration.Validate(); err != nil {
  4458  			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
  4459  		}
  4460  	}
  4461  	if s.OutputLocation != nil {
  4462  		if err := s.OutputLocation.Validate(); err != nil {
  4463  			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
  4464  		}
  4465  	}
  4466  
  4467  	if invalidParams.Len() > 0 {
  4468  		return invalidParams
  4469  	}
  4470  	return nil
  4471  }
  4472  
  4473  // SetConfiguration sets the Configuration field's value.
  4474  func (s *CreateProfileJobInput) SetConfiguration(v *ProfileConfiguration) *CreateProfileJobInput {
  4475  	s.Configuration = v
  4476  	return s
  4477  }
  4478  
  4479  // SetDatasetName sets the DatasetName field's value.
  4480  func (s *CreateProfileJobInput) SetDatasetName(v string) *CreateProfileJobInput {
  4481  	s.DatasetName = &v
  4482  	return s
  4483  }
  4484  
  4485  // SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
  4486  func (s *CreateProfileJobInput) SetEncryptionKeyArn(v string) *CreateProfileJobInput {
  4487  	s.EncryptionKeyArn = &v
  4488  	return s
  4489  }
  4490  
  4491  // SetEncryptionMode sets the EncryptionMode field's value.
  4492  func (s *CreateProfileJobInput) SetEncryptionMode(v string) *CreateProfileJobInput {
  4493  	s.EncryptionMode = &v
  4494  	return s
  4495  }
  4496  
  4497  // SetJobSample sets the JobSample field's value.
  4498  func (s *CreateProfileJobInput) SetJobSample(v *JobSample) *CreateProfileJobInput {
  4499  	s.JobSample = v
  4500  	return s
  4501  }
  4502  
  4503  // SetLogSubscription sets the LogSubscription field's value.
  4504  func (s *CreateProfileJobInput) SetLogSubscription(v string) *CreateProfileJobInput {
  4505  	s.LogSubscription = &v
  4506  	return s
  4507  }
  4508  
  4509  // SetMaxCapacity sets the MaxCapacity field's value.
  4510  func (s *CreateProfileJobInput) SetMaxCapacity(v int64) *CreateProfileJobInput {
  4511  	s.MaxCapacity = &v
  4512  	return s
  4513  }
  4514  
  4515  // SetMaxRetries sets the MaxRetries field's value.
  4516  func (s *CreateProfileJobInput) SetMaxRetries(v int64) *CreateProfileJobInput {
  4517  	s.MaxRetries = &v
  4518  	return s
  4519  }
  4520  
  4521  // SetName sets the Name field's value.
  4522  func (s *CreateProfileJobInput) SetName(v string) *CreateProfileJobInput {
  4523  	s.Name = &v
  4524  	return s
  4525  }
  4526  
  4527  // SetOutputLocation sets the OutputLocation field's value.
  4528  func (s *CreateProfileJobInput) SetOutputLocation(v *S3Location) *CreateProfileJobInput {
  4529  	s.OutputLocation = v
  4530  	return s
  4531  }
  4532  
  4533  // SetRoleArn sets the RoleArn field's value.
  4534  func (s *CreateProfileJobInput) SetRoleArn(v string) *CreateProfileJobInput {
  4535  	s.RoleArn = &v
  4536  	return s
  4537  }
  4538  
  4539  // SetTags sets the Tags field's value.
  4540  func (s *CreateProfileJobInput) SetTags(v map[string]*string) *CreateProfileJobInput {
  4541  	s.Tags = v
  4542  	return s
  4543  }
  4544  
  4545  // SetTimeout sets the Timeout field's value.
  4546  func (s *CreateProfileJobInput) SetTimeout(v int64) *CreateProfileJobInput {
  4547  	s.Timeout = &v
  4548  	return s
  4549  }
  4550  
  4551  type CreateProfileJobOutput struct {
  4552  	_ struct{} `type:"structure"`
  4553  
  4554  	// The name of the job that was created.
  4555  	//
  4556  	// Name is a required field
  4557  	Name *string `min:"1" type:"string" required:"true"`
  4558  }
  4559  
  4560  // String returns the string representation.
  4561  //
  4562  // API parameter values that are decorated as "sensitive" in the API will not
  4563  // be included in the string output. The member name will be present, but the
  4564  // value will be replaced with "sensitive".
  4565  func (s CreateProfileJobOutput) String() string {
  4566  	return awsutil.Prettify(s)
  4567  }
  4568  
  4569  // GoString returns the string representation.
  4570  //
  4571  // API parameter values that are decorated as "sensitive" in the API will not
  4572  // be included in the string output. The member name will be present, but the
  4573  // value will be replaced with "sensitive".
  4574  func (s CreateProfileJobOutput) GoString() string {
  4575  	return s.String()
  4576  }
  4577  
  4578  // SetName sets the Name field's value.
  4579  func (s *CreateProfileJobOutput) SetName(v string) *CreateProfileJobOutput {
  4580  	s.Name = &v
  4581  	return s
  4582  }
  4583  
  4584  type CreateProjectInput struct {
  4585  	_ struct{} `type:"structure"`
  4586  
  4587  	// The name of an existing dataset to associate this project with.
  4588  	//
  4589  	// DatasetName is a required field
  4590  	DatasetName *string `min:"1" type:"string" required:"true"`
  4591  
  4592  	// A unique name for the new project. Valid characters are alphanumeric (A-Z,
  4593  	// a-z, 0-9), hyphen (-), period (.), and space.
  4594  	//
  4595  	// Name is a required field
  4596  	Name *string `min:"1" type:"string" required:"true"`
  4597  
  4598  	// The name of an existing recipe to associate with the project.
  4599  	//
  4600  	// RecipeName is a required field
  4601  	RecipeName *string `min:"1" type:"string" required:"true"`
  4602  
  4603  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  4604  	// role to be assumed for this request.
  4605  	//
  4606  	// RoleArn is a required field
  4607  	RoleArn *string `min:"20" type:"string" required:"true"`
  4608  
  4609  	// Represents the sample size and sampling type for DataBrew to use for interactive
  4610  	// data analysis.
  4611  	Sample *Sample `type:"structure"`
  4612  
  4613  	// Metadata tags to apply to this project.
  4614  	Tags map[string]*string `min:"1" type:"map"`
  4615  }
  4616  
  4617  // String returns the string representation.
  4618  //
  4619  // API parameter values that are decorated as "sensitive" in the API will not
  4620  // be included in the string output. The member name will be present, but the
  4621  // value will be replaced with "sensitive".
  4622  func (s CreateProjectInput) String() string {
  4623  	return awsutil.Prettify(s)
  4624  }
  4625  
  4626  // GoString returns the string representation.
  4627  //
  4628  // API parameter values that are decorated as "sensitive" in the API will not
  4629  // be included in the string output. The member name will be present, but the
  4630  // value will be replaced with "sensitive".
  4631  func (s CreateProjectInput) GoString() string {
  4632  	return s.String()
  4633  }
  4634  
  4635  // Validate inspects the fields of the type to determine if they are valid.
  4636  func (s *CreateProjectInput) Validate() error {
  4637  	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
  4638  	if s.DatasetName == nil {
  4639  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  4640  	}
  4641  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  4642  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  4643  	}
  4644  	if s.Name == nil {
  4645  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4646  	}
  4647  	if s.Name != nil && len(*s.Name) < 1 {
  4648  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4649  	}
  4650  	if s.RecipeName == nil {
  4651  		invalidParams.Add(request.NewErrParamRequired("RecipeName"))
  4652  	}
  4653  	if s.RecipeName != nil && len(*s.RecipeName) < 1 {
  4654  		invalidParams.Add(request.NewErrParamMinLen("RecipeName", 1))
  4655  	}
  4656  	if s.RoleArn == nil {
  4657  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  4658  	}
  4659  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  4660  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  4661  	}
  4662  	if s.Tags != nil && len(s.Tags) < 1 {
  4663  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4664  	}
  4665  	if s.Sample != nil {
  4666  		if err := s.Sample.Validate(); err != nil {
  4667  			invalidParams.AddNested("Sample", err.(request.ErrInvalidParams))
  4668  		}
  4669  	}
  4670  
  4671  	if invalidParams.Len() > 0 {
  4672  		return invalidParams
  4673  	}
  4674  	return nil
  4675  }
  4676  
  4677  // SetDatasetName sets the DatasetName field's value.
  4678  func (s *CreateProjectInput) SetDatasetName(v string) *CreateProjectInput {
  4679  	s.DatasetName = &v
  4680  	return s
  4681  }
  4682  
  4683  // SetName sets the Name field's value.
  4684  func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
  4685  	s.Name = &v
  4686  	return s
  4687  }
  4688  
  4689  // SetRecipeName sets the RecipeName field's value.
  4690  func (s *CreateProjectInput) SetRecipeName(v string) *CreateProjectInput {
  4691  	s.RecipeName = &v
  4692  	return s
  4693  }
  4694  
  4695  // SetRoleArn sets the RoleArn field's value.
  4696  func (s *CreateProjectInput) SetRoleArn(v string) *CreateProjectInput {
  4697  	s.RoleArn = &v
  4698  	return s
  4699  }
  4700  
  4701  // SetSample sets the Sample field's value.
  4702  func (s *CreateProjectInput) SetSample(v *Sample) *CreateProjectInput {
  4703  	s.Sample = v
  4704  	return s
  4705  }
  4706  
  4707  // SetTags sets the Tags field's value.
  4708  func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput {
  4709  	s.Tags = v
  4710  	return s
  4711  }
  4712  
  4713  type CreateProjectOutput struct {
  4714  	_ struct{} `type:"structure"`
  4715  
  4716  	// The name of the project that you created.
  4717  	//
  4718  	// Name is a required field
  4719  	Name *string `min:"1" type:"string" required:"true"`
  4720  }
  4721  
  4722  // String returns the string representation.
  4723  //
  4724  // API parameter values that are decorated as "sensitive" in the API will not
  4725  // be included in the string output. The member name will be present, but the
  4726  // value will be replaced with "sensitive".
  4727  func (s CreateProjectOutput) String() string {
  4728  	return awsutil.Prettify(s)
  4729  }
  4730  
  4731  // GoString returns the string representation.
  4732  //
  4733  // API parameter values that are decorated as "sensitive" in the API will not
  4734  // be included in the string output. The member name will be present, but the
  4735  // value will be replaced with "sensitive".
  4736  func (s CreateProjectOutput) GoString() string {
  4737  	return s.String()
  4738  }
  4739  
  4740  // SetName sets the Name field's value.
  4741  func (s *CreateProjectOutput) SetName(v string) *CreateProjectOutput {
  4742  	s.Name = &v
  4743  	return s
  4744  }
  4745  
  4746  type CreateRecipeInput struct {
  4747  	_ struct{} `type:"structure"`
  4748  
  4749  	// A description for the recipe.
  4750  	Description *string `type:"string"`
  4751  
  4752  	// A unique name for the recipe. Valid characters are alphanumeric (A-Z, a-z,
  4753  	// 0-9), hyphen (-), period (.), and space.
  4754  	//
  4755  	// Name is a required field
  4756  	Name *string `min:"1" type:"string" required:"true"`
  4757  
  4758  	// An array containing the steps to be performed by the recipe. Each recipe
  4759  	// step consists of one recipe action and (optionally) an array of condition
  4760  	// expressions.
  4761  	//
  4762  	// Steps is a required field
  4763  	Steps []*RecipeStep `type:"list" required:"true"`
  4764  
  4765  	// Metadata tags to apply to this recipe.
  4766  	Tags map[string]*string `min:"1" type:"map"`
  4767  }
  4768  
  4769  // String returns the string representation.
  4770  //
  4771  // API parameter values that are decorated as "sensitive" in the API will not
  4772  // be included in the string output. The member name will be present, but the
  4773  // value will be replaced with "sensitive".
  4774  func (s CreateRecipeInput) String() string {
  4775  	return awsutil.Prettify(s)
  4776  }
  4777  
  4778  // GoString returns the string representation.
  4779  //
  4780  // API parameter values that are decorated as "sensitive" in the API will not
  4781  // be included in the string output. The member name will be present, but the
  4782  // value will be replaced with "sensitive".
  4783  func (s CreateRecipeInput) GoString() string {
  4784  	return s.String()
  4785  }
  4786  
  4787  // Validate inspects the fields of the type to determine if they are valid.
  4788  func (s *CreateRecipeInput) Validate() error {
  4789  	invalidParams := request.ErrInvalidParams{Context: "CreateRecipeInput"}
  4790  	if s.Name == nil {
  4791  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4792  	}
  4793  	if s.Name != nil && len(*s.Name) < 1 {
  4794  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4795  	}
  4796  	if s.Steps == nil {
  4797  		invalidParams.Add(request.NewErrParamRequired("Steps"))
  4798  	}
  4799  	if s.Tags != nil && len(s.Tags) < 1 {
  4800  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4801  	}
  4802  	if s.Steps != nil {
  4803  		for i, v := range s.Steps {
  4804  			if v == nil {
  4805  				continue
  4806  			}
  4807  			if err := v.Validate(); err != nil {
  4808  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams))
  4809  			}
  4810  		}
  4811  	}
  4812  
  4813  	if invalidParams.Len() > 0 {
  4814  		return invalidParams
  4815  	}
  4816  	return nil
  4817  }
  4818  
  4819  // SetDescription sets the Description field's value.
  4820  func (s *CreateRecipeInput) SetDescription(v string) *CreateRecipeInput {
  4821  	s.Description = &v
  4822  	return s
  4823  }
  4824  
  4825  // SetName sets the Name field's value.
  4826  func (s *CreateRecipeInput) SetName(v string) *CreateRecipeInput {
  4827  	s.Name = &v
  4828  	return s
  4829  }
  4830  
  4831  // SetSteps sets the Steps field's value.
  4832  func (s *CreateRecipeInput) SetSteps(v []*RecipeStep) *CreateRecipeInput {
  4833  	s.Steps = v
  4834  	return s
  4835  }
  4836  
  4837  // SetTags sets the Tags field's value.
  4838  func (s *CreateRecipeInput) SetTags(v map[string]*string) *CreateRecipeInput {
  4839  	s.Tags = v
  4840  	return s
  4841  }
  4842  
  4843  type CreateRecipeJobInput struct {
  4844  	_ struct{} `type:"structure"`
  4845  
  4846  	// One or more artifacts that represent the Glue Data Catalog output from running
  4847  	// the job.
  4848  	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
  4849  
  4850  	// Represents a list of JDBC database output objects which defines the output
  4851  	// destination for a DataBrew recipe job to write to.
  4852  	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
  4853  
  4854  	// The name of the dataset that this job processes.
  4855  	DatasetName *string `min:"1" type:"string"`
  4856  
  4857  	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
  4858  	// the job.
  4859  	EncryptionKeyArn *string `min:"20" type:"string"`
  4860  
  4861  	// The encryption mode for the job, which can be one of the following:
  4862  	//
  4863  	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
  4864  	//
  4865  	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
  4866  	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
  4867  
  4868  	// Enables or disables Amazon CloudWatch logging for the job. If logging is
  4869  	// enabled, CloudWatch writes one log stream for each job run.
  4870  	LogSubscription *string `type:"string" enum:"LogSubscription"`
  4871  
  4872  	// The maximum number of nodes that DataBrew can consume when the job processes
  4873  	// data.
  4874  	MaxCapacity *int64 `type:"integer"`
  4875  
  4876  	// The maximum number of times to retry the job after a job run fails.
  4877  	MaxRetries *int64 `type:"integer"`
  4878  
  4879  	// A unique name for the job. Valid characters are alphanumeric (A-Z, a-z, 0-9),
  4880  	// hyphen (-), period (.), and space.
  4881  	//
  4882  	// Name is a required field
  4883  	Name *string `min:"1" type:"string" required:"true"`
  4884  
  4885  	// One or more artifacts that represent the output from running the job.
  4886  	Outputs []*Output `min:"1" type:"list"`
  4887  
  4888  	// Either the name of an existing project, or a combination of a recipe and
  4889  	// a dataset to associate with the recipe.
  4890  	ProjectName *string `min:"1" type:"string"`
  4891  
  4892  	// Represents the name and version of a DataBrew recipe.
  4893  	RecipeReference *RecipeReference `type:"structure"`
  4894  
  4895  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  4896  	// role to be assumed when DataBrew runs the job.
  4897  	//
  4898  	// RoleArn is a required field
  4899  	RoleArn *string `min:"20" type:"string" required:"true"`
  4900  
  4901  	// Metadata tags to apply to this job.
  4902  	Tags map[string]*string `min:"1" type:"map"`
  4903  
  4904  	// The job's timeout in minutes. A job that attempts to run longer than this
  4905  	// timeout period ends with a status of TIMEOUT.
  4906  	Timeout *int64 `type:"integer"`
  4907  }
  4908  
  4909  // String returns the string representation.
  4910  //
  4911  // API parameter values that are decorated as "sensitive" in the API will not
  4912  // be included in the string output. The member name will be present, but the
  4913  // value will be replaced with "sensitive".
  4914  func (s CreateRecipeJobInput) String() string {
  4915  	return awsutil.Prettify(s)
  4916  }
  4917  
  4918  // GoString returns the string representation.
  4919  //
  4920  // API parameter values that are decorated as "sensitive" in the API will not
  4921  // be included in the string output. The member name will be present, but the
  4922  // value will be replaced with "sensitive".
  4923  func (s CreateRecipeJobInput) GoString() string {
  4924  	return s.String()
  4925  }
  4926  
  4927  // Validate inspects the fields of the type to determine if they are valid.
  4928  func (s *CreateRecipeJobInput) Validate() error {
  4929  	invalidParams := request.ErrInvalidParams{Context: "CreateRecipeJobInput"}
  4930  	if s.DataCatalogOutputs != nil && len(s.DataCatalogOutputs) < 1 {
  4931  		invalidParams.Add(request.NewErrParamMinLen("DataCatalogOutputs", 1))
  4932  	}
  4933  	if s.DatabaseOutputs != nil && len(s.DatabaseOutputs) < 1 {
  4934  		invalidParams.Add(request.NewErrParamMinLen("DatabaseOutputs", 1))
  4935  	}
  4936  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  4937  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  4938  	}
  4939  	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
  4940  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
  4941  	}
  4942  	if s.Name == nil {
  4943  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4944  	}
  4945  	if s.Name != nil && len(*s.Name) < 1 {
  4946  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4947  	}
  4948  	if s.Outputs != nil && len(s.Outputs) < 1 {
  4949  		invalidParams.Add(request.NewErrParamMinLen("Outputs", 1))
  4950  	}
  4951  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
  4952  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
  4953  	}
  4954  	if s.RoleArn == nil {
  4955  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  4956  	}
  4957  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
  4958  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
  4959  	}
  4960  	if s.Tags != nil && len(s.Tags) < 1 {
  4961  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4962  	}
  4963  	if s.DataCatalogOutputs != nil {
  4964  		for i, v := range s.DataCatalogOutputs {
  4965  			if v == nil {
  4966  				continue
  4967  			}
  4968  			if err := v.Validate(); err != nil {
  4969  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataCatalogOutputs", i), err.(request.ErrInvalidParams))
  4970  			}
  4971  		}
  4972  	}
  4973  	if s.DatabaseOutputs != nil {
  4974  		for i, v := range s.DatabaseOutputs {
  4975  			if v == nil {
  4976  				continue
  4977  			}
  4978  			if err := v.Validate(); err != nil {
  4979  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DatabaseOutputs", i), err.(request.ErrInvalidParams))
  4980  			}
  4981  		}
  4982  	}
  4983  	if s.Outputs != nil {
  4984  		for i, v := range s.Outputs {
  4985  			if v == nil {
  4986  				continue
  4987  			}
  4988  			if err := v.Validate(); err != nil {
  4989  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
  4990  			}
  4991  		}
  4992  	}
  4993  	if s.RecipeReference != nil {
  4994  		if err := s.RecipeReference.Validate(); err != nil {
  4995  			invalidParams.AddNested("RecipeReference", err.(request.ErrInvalidParams))
  4996  		}
  4997  	}
  4998  
  4999  	if invalidParams.Len() > 0 {
  5000  		return invalidParams
  5001  	}
  5002  	return nil
  5003  }
  5004  
  5005  // SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
  5006  func (s *CreateRecipeJobInput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *CreateRecipeJobInput {
  5007  	s.DataCatalogOutputs = v
  5008  	return s
  5009  }
  5010  
  5011  // SetDatabaseOutputs sets the DatabaseOutputs field's value.
  5012  func (s *CreateRecipeJobInput) SetDatabaseOutputs(v []*DatabaseOutput_) *CreateRecipeJobInput {
  5013  	s.DatabaseOutputs = v
  5014  	return s
  5015  }
  5016  
  5017  // SetDatasetName sets the DatasetName field's value.
  5018  func (s *CreateRecipeJobInput) SetDatasetName(v string) *CreateRecipeJobInput {
  5019  	s.DatasetName = &v
  5020  	return s
  5021  }
  5022  
  5023  // SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
  5024  func (s *CreateRecipeJobInput) SetEncryptionKeyArn(v string) *CreateRecipeJobInput {
  5025  	s.EncryptionKeyArn = &v
  5026  	return s
  5027  }
  5028  
  5029  // SetEncryptionMode sets the EncryptionMode field's value.
  5030  func (s *CreateRecipeJobInput) SetEncryptionMode(v string) *CreateRecipeJobInput {
  5031  	s.EncryptionMode = &v
  5032  	return s
  5033  }
  5034  
  5035  // SetLogSubscription sets the LogSubscription field's value.
  5036  func (s *CreateRecipeJobInput) SetLogSubscription(v string) *CreateRecipeJobInput {
  5037  	s.LogSubscription = &v
  5038  	return s
  5039  }
  5040  
  5041  // SetMaxCapacity sets the MaxCapacity field's value.
  5042  func (s *CreateRecipeJobInput) SetMaxCapacity(v int64) *CreateRecipeJobInput {
  5043  	s.MaxCapacity = &v
  5044  	return s
  5045  }
  5046  
  5047  // SetMaxRetries sets the MaxRetries field's value.
  5048  func (s *CreateRecipeJobInput) SetMaxRetries(v int64) *CreateRecipeJobInput {
  5049  	s.MaxRetries = &v
  5050  	return s
  5051  }
  5052  
  5053  // SetName sets the Name field's value.
  5054  func (s *CreateRecipeJobInput) SetName(v string) *CreateRecipeJobInput {
  5055  	s.Name = &v
  5056  	return s
  5057  }
  5058  
  5059  // SetOutputs sets the Outputs field's value.
  5060  func (s *CreateRecipeJobInput) SetOutputs(v []*Output) *CreateRecipeJobInput {
  5061  	s.Outputs = v
  5062  	return s
  5063  }
  5064  
  5065  // SetProjectName sets the ProjectName field's value.
  5066  func (s *CreateRecipeJobInput) SetProjectName(v string) *CreateRecipeJobInput {
  5067  	s.ProjectName = &v
  5068  	return s
  5069  }
  5070  
  5071  // SetRecipeReference sets the RecipeReference field's value.
  5072  func (s *CreateRecipeJobInput) SetRecipeReference(v *RecipeReference) *CreateRecipeJobInput {
  5073  	s.RecipeReference = v
  5074  	return s
  5075  }
  5076  
  5077  // SetRoleArn sets the RoleArn field's value.
  5078  func (s *CreateRecipeJobInput) SetRoleArn(v string) *CreateRecipeJobInput {
  5079  	s.RoleArn = &v
  5080  	return s
  5081  }
  5082  
  5083  // SetTags sets the Tags field's value.
  5084  func (s *CreateRecipeJobInput) SetTags(v map[string]*string) *CreateRecipeJobInput {
  5085  	s.Tags = v
  5086  	return s
  5087  }
  5088  
  5089  // SetTimeout sets the Timeout field's value.
  5090  func (s *CreateRecipeJobInput) SetTimeout(v int64) *CreateRecipeJobInput {
  5091  	s.Timeout = &v
  5092  	return s
  5093  }
  5094  
  5095  type CreateRecipeJobOutput struct {
  5096  	_ struct{} `type:"structure"`
  5097  
  5098  	// The name of the job that you created.
  5099  	//
  5100  	// Name is a required field
  5101  	Name *string `min:"1" type:"string" required:"true"`
  5102  }
  5103  
  5104  // String returns the string representation.
  5105  //
  5106  // API parameter values that are decorated as "sensitive" in the API will not
  5107  // be included in the string output. The member name will be present, but the
  5108  // value will be replaced with "sensitive".
  5109  func (s CreateRecipeJobOutput) String() string {
  5110  	return awsutil.Prettify(s)
  5111  }
  5112  
  5113  // GoString returns the string representation.
  5114  //
  5115  // API parameter values that are decorated as "sensitive" in the API will not
  5116  // be included in the string output. The member name will be present, but the
  5117  // value will be replaced with "sensitive".
  5118  func (s CreateRecipeJobOutput) GoString() string {
  5119  	return s.String()
  5120  }
  5121  
  5122  // SetName sets the Name field's value.
  5123  func (s *CreateRecipeJobOutput) SetName(v string) *CreateRecipeJobOutput {
  5124  	s.Name = &v
  5125  	return s
  5126  }
  5127  
  5128  type CreateRecipeOutput struct {
  5129  	_ struct{} `type:"structure"`
  5130  
  5131  	// The name of the recipe that you created.
  5132  	//
  5133  	// Name is a required field
  5134  	Name *string `min:"1" type:"string" required:"true"`
  5135  }
  5136  
  5137  // String returns the string representation.
  5138  //
  5139  // API parameter values that are decorated as "sensitive" in the API will not
  5140  // be included in the string output. The member name will be present, but the
  5141  // value will be replaced with "sensitive".
  5142  func (s CreateRecipeOutput) String() string {
  5143  	return awsutil.Prettify(s)
  5144  }
  5145  
  5146  // GoString returns the string representation.
  5147  //
  5148  // API parameter values that are decorated as "sensitive" in the API will not
  5149  // be included in the string output. The member name will be present, but the
  5150  // value will be replaced with "sensitive".
  5151  func (s CreateRecipeOutput) GoString() string {
  5152  	return s.String()
  5153  }
  5154  
  5155  // SetName sets the Name field's value.
  5156  func (s *CreateRecipeOutput) SetName(v string) *CreateRecipeOutput {
  5157  	s.Name = &v
  5158  	return s
  5159  }
  5160  
  5161  type CreateScheduleInput struct {
  5162  	_ struct{} `type:"structure"`
  5163  
  5164  	// The date or dates and time or times when the jobs are to be run. For more
  5165  	// information, see Cron expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
  5166  	// in the Glue DataBrew Developer Guide.
  5167  	//
  5168  	// CronExpression is a required field
  5169  	CronExpression *string `min:"1" type:"string" required:"true"`
  5170  
  5171  	// The name or names of one or more jobs to be run.
  5172  	JobNames []*string `type:"list"`
  5173  
  5174  	// A unique name for the schedule. Valid characters are alphanumeric (A-Z, a-z,
  5175  	// 0-9), hyphen (-), period (.), and space.
  5176  	//
  5177  	// Name is a required field
  5178  	Name *string `min:"1" type:"string" required:"true"`
  5179  
  5180  	// Metadata tags to apply to this schedule.
  5181  	Tags map[string]*string `min:"1" type:"map"`
  5182  }
  5183  
  5184  // String returns the string representation.
  5185  //
  5186  // API parameter values that are decorated as "sensitive" in the API will not
  5187  // be included in the string output. The member name will be present, but the
  5188  // value will be replaced with "sensitive".
  5189  func (s CreateScheduleInput) String() string {
  5190  	return awsutil.Prettify(s)
  5191  }
  5192  
  5193  // GoString returns the string representation.
  5194  //
  5195  // API parameter values that are decorated as "sensitive" in the API will not
  5196  // be included in the string output. The member name will be present, but the
  5197  // value will be replaced with "sensitive".
  5198  func (s CreateScheduleInput) GoString() string {
  5199  	return s.String()
  5200  }
  5201  
  5202  // Validate inspects the fields of the type to determine if they are valid.
  5203  func (s *CreateScheduleInput) Validate() error {
  5204  	invalidParams := request.ErrInvalidParams{Context: "CreateScheduleInput"}
  5205  	if s.CronExpression == nil {
  5206  		invalidParams.Add(request.NewErrParamRequired("CronExpression"))
  5207  	}
  5208  	if s.CronExpression != nil && len(*s.CronExpression) < 1 {
  5209  		invalidParams.Add(request.NewErrParamMinLen("CronExpression", 1))
  5210  	}
  5211  	if s.Name == nil {
  5212  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5213  	}
  5214  	if s.Name != nil && len(*s.Name) < 1 {
  5215  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  5216  	}
  5217  	if s.Tags != nil && len(s.Tags) < 1 {
  5218  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5219  	}
  5220  
  5221  	if invalidParams.Len() > 0 {
  5222  		return invalidParams
  5223  	}
  5224  	return nil
  5225  }
  5226  
  5227  // SetCronExpression sets the CronExpression field's value.
  5228  func (s *CreateScheduleInput) SetCronExpression(v string) *CreateScheduleInput {
  5229  	s.CronExpression = &v
  5230  	return s
  5231  }
  5232  
  5233  // SetJobNames sets the JobNames field's value.
  5234  func (s *CreateScheduleInput) SetJobNames(v []*string) *CreateScheduleInput {
  5235  	s.JobNames = v
  5236  	return s
  5237  }
  5238  
  5239  // SetName sets the Name field's value.
  5240  func (s *CreateScheduleInput) SetName(v string) *CreateScheduleInput {
  5241  	s.Name = &v
  5242  	return s
  5243  }
  5244  
  5245  // SetTags sets the Tags field's value.
  5246  func (s *CreateScheduleInput) SetTags(v map[string]*string) *CreateScheduleInput {
  5247  	s.Tags = v
  5248  	return s
  5249  }
  5250  
  5251  type CreateScheduleOutput struct {
  5252  	_ struct{} `type:"structure"`
  5253  
  5254  	// The name of the schedule that was created.
  5255  	//
  5256  	// Name is a required field
  5257  	Name *string `min:"1" type:"string" required:"true"`
  5258  }
  5259  
  5260  // String returns the string representation.
  5261  //
  5262  // API parameter values that are decorated as "sensitive" in the API will not
  5263  // be included in the string output. The member name will be present, but the
  5264  // value will be replaced with "sensitive".
  5265  func (s CreateScheduleOutput) String() string {
  5266  	return awsutil.Prettify(s)
  5267  }
  5268  
  5269  // GoString returns the string representation.
  5270  //
  5271  // API parameter values that are decorated as "sensitive" in the API will not
  5272  // be included in the string output. The member name will be present, but the
  5273  // value will be replaced with "sensitive".
  5274  func (s CreateScheduleOutput) GoString() string {
  5275  	return s.String()
  5276  }
  5277  
  5278  // SetName sets the Name field's value.
  5279  func (s *CreateScheduleOutput) SetName(v string) *CreateScheduleOutput {
  5280  	s.Name = &v
  5281  	return s
  5282  }
  5283  
  5284  // Represents a set of options that define how DataBrew will read a comma-separated
  5285  // value (CSV) file when creating a dataset from that file.
  5286  type CsvOptions struct {
  5287  	_ struct{} `type:"structure"`
  5288  
  5289  	// A single character that specifies the delimiter being used in the CSV file.
  5290  	Delimiter *string `min:"1" type:"string"`
  5291  
  5292  	// A variable that specifies whether the first row in the file is parsed as
  5293  	// the header. If this value is false, column names are auto-generated.
  5294  	HeaderRow *bool `type:"boolean"`
  5295  }
  5296  
  5297  // String returns the string representation.
  5298  //
  5299  // API parameter values that are decorated as "sensitive" in the API will not
  5300  // be included in the string output. The member name will be present, but the
  5301  // value will be replaced with "sensitive".
  5302  func (s CsvOptions) String() string {
  5303  	return awsutil.Prettify(s)
  5304  }
  5305  
  5306  // GoString returns the string representation.
  5307  //
  5308  // API parameter values that are decorated as "sensitive" in the API will not
  5309  // be included in the string output. The member name will be present, but the
  5310  // value will be replaced with "sensitive".
  5311  func (s CsvOptions) GoString() string {
  5312  	return s.String()
  5313  }
  5314  
  5315  // Validate inspects the fields of the type to determine if they are valid.
  5316  func (s *CsvOptions) Validate() error {
  5317  	invalidParams := request.ErrInvalidParams{Context: "CsvOptions"}
  5318  	if s.Delimiter != nil && len(*s.Delimiter) < 1 {
  5319  		invalidParams.Add(request.NewErrParamMinLen("Delimiter", 1))
  5320  	}
  5321  
  5322  	if invalidParams.Len() > 0 {
  5323  		return invalidParams
  5324  	}
  5325  	return nil
  5326  }
  5327  
  5328  // SetDelimiter sets the Delimiter field's value.
  5329  func (s *CsvOptions) SetDelimiter(v string) *CsvOptions {
  5330  	s.Delimiter = &v
  5331  	return s
  5332  }
  5333  
  5334  // SetHeaderRow sets the HeaderRow field's value.
  5335  func (s *CsvOptions) SetHeaderRow(v bool) *CsvOptions {
  5336  	s.HeaderRow = &v
  5337  	return s
  5338  }
  5339  
  5340  // Represents a set of options that define how DataBrew will write a comma-separated
  5341  // value (CSV) file.
  5342  type CsvOutputOptions struct {
  5343  	_ struct{} `type:"structure"`
  5344  
  5345  	// A single character that specifies the delimiter used to create CSV job output.
  5346  	Delimiter *string `min:"1" type:"string"`
  5347  }
  5348  
  5349  // String returns the string representation.
  5350  //
  5351  // API parameter values that are decorated as "sensitive" in the API will not
  5352  // be included in the string output. The member name will be present, but the
  5353  // value will be replaced with "sensitive".
  5354  func (s CsvOutputOptions) String() string {
  5355  	return awsutil.Prettify(s)
  5356  }
  5357  
  5358  // GoString returns the string representation.
  5359  //
  5360  // API parameter values that are decorated as "sensitive" in the API will not
  5361  // be included in the string output. The member name will be present, but the
  5362  // value will be replaced with "sensitive".
  5363  func (s CsvOutputOptions) GoString() string {
  5364  	return s.String()
  5365  }
  5366  
  5367  // Validate inspects the fields of the type to determine if they are valid.
  5368  func (s *CsvOutputOptions) Validate() error {
  5369  	invalidParams := request.ErrInvalidParams{Context: "CsvOutputOptions"}
  5370  	if s.Delimiter != nil && len(*s.Delimiter) < 1 {
  5371  		invalidParams.Add(request.NewErrParamMinLen("Delimiter", 1))
  5372  	}
  5373  
  5374  	if invalidParams.Len() > 0 {
  5375  		return invalidParams
  5376  	}
  5377  	return nil
  5378  }
  5379  
  5380  // SetDelimiter sets the Delimiter field's value.
  5381  func (s *CsvOutputOptions) SetDelimiter(v string) *CsvOutputOptions {
  5382  	s.Delimiter = &v
  5383  	return s
  5384  }
  5385  
  5386  // Represents how metadata stored in the Glue Data Catalog is defined in a DataBrew
  5387  // dataset.
  5388  type DataCatalogInputDefinition struct {
  5389  	_ struct{} `type:"structure"`
  5390  
  5391  	// The unique identifier of the Amazon Web Services account that holds the Data
  5392  	// Catalog that stores the data.
  5393  	CatalogId *string `min:"1" type:"string"`
  5394  
  5395  	// The name of a database in the Data Catalog.
  5396  	//
  5397  	// DatabaseName is a required field
  5398  	DatabaseName *string `min:"1" type:"string" required:"true"`
  5399  
  5400  	// The name of a database table in the Data Catalog. This table corresponds
  5401  	// to a DataBrew dataset.
  5402  	//
  5403  	// TableName is a required field
  5404  	TableName *string `min:"1" type:"string" required:"true"`
  5405  
  5406  	// Represents an Amazon location where DataBrew can store intermediate results.
  5407  	TempDirectory *S3Location `type:"structure"`
  5408  }
  5409  
  5410  // String returns the string representation.
  5411  //
  5412  // API parameter values that are decorated as "sensitive" in the API will not
  5413  // be included in the string output. The member name will be present, but the
  5414  // value will be replaced with "sensitive".
  5415  func (s DataCatalogInputDefinition) String() string {
  5416  	return awsutil.Prettify(s)
  5417  }
  5418  
  5419  // GoString returns the string representation.
  5420  //
  5421  // API parameter values that are decorated as "sensitive" in the API will not
  5422  // be included in the string output. The member name will be present, but the
  5423  // value will be replaced with "sensitive".
  5424  func (s DataCatalogInputDefinition) GoString() string {
  5425  	return s.String()
  5426  }
  5427  
  5428  // Validate inspects the fields of the type to determine if they are valid.
  5429  func (s *DataCatalogInputDefinition) Validate() error {
  5430  	invalidParams := request.ErrInvalidParams{Context: "DataCatalogInputDefinition"}
  5431  	if s.CatalogId != nil && len(*s.CatalogId) < 1 {
  5432  		invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1))
  5433  	}
  5434  	if s.DatabaseName == nil {
  5435  		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
  5436  	}
  5437  	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
  5438  		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
  5439  	}
  5440  	if s.TableName == nil {
  5441  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  5442  	}
  5443  	if s.TableName != nil && len(*s.TableName) < 1 {
  5444  		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
  5445  	}
  5446  	if s.TempDirectory != nil {
  5447  		if err := s.TempDirectory.Validate(); err != nil {
  5448  			invalidParams.AddNested("TempDirectory", err.(request.ErrInvalidParams))
  5449  		}
  5450  	}
  5451  
  5452  	if invalidParams.Len() > 0 {
  5453  		return invalidParams
  5454  	}
  5455  	return nil
  5456  }
  5457  
  5458  // SetCatalogId sets the CatalogId field's value.
  5459  func (s *DataCatalogInputDefinition) SetCatalogId(v string) *DataCatalogInputDefinition {
  5460  	s.CatalogId = &v
  5461  	return s
  5462  }
  5463  
  5464  // SetDatabaseName sets the DatabaseName field's value.
  5465  func (s *DataCatalogInputDefinition) SetDatabaseName(v string) *DataCatalogInputDefinition {
  5466  	s.DatabaseName = &v
  5467  	return s
  5468  }
  5469  
  5470  // SetTableName sets the TableName field's value.
  5471  func (s *DataCatalogInputDefinition) SetTableName(v string) *DataCatalogInputDefinition {
  5472  	s.TableName = &v
  5473  	return s
  5474  }
  5475  
  5476  // SetTempDirectory sets the TempDirectory field's value.
  5477  func (s *DataCatalogInputDefinition) SetTempDirectory(v *S3Location) *DataCatalogInputDefinition {
  5478  	s.TempDirectory = v
  5479  	return s
  5480  }
  5481  
  5482  // Represents options that specify how and where in the Glue Data Catalog DataBrew
  5483  // writes the output generated by recipe jobs.
  5484  type DataCatalogOutput_ struct {
  5485  	_ struct{} `type:"structure"`
  5486  
  5487  	// The unique identifier of the Amazon Web Services account that holds the Data
  5488  	// Catalog that stores the data.
  5489  	CatalogId *string `min:"1" type:"string"`
  5490  
  5491  	// The name of a database in the Data Catalog.
  5492  	//
  5493  	// DatabaseName is a required field
  5494  	DatabaseName *string `min:"1" type:"string" required:"true"`
  5495  
  5496  	// Represents options that specify how and where DataBrew writes the database
  5497  	// output generated by recipe jobs.
  5498  	DatabaseOptions *DatabaseTableOutputOptions `type:"structure"`
  5499  
  5500  	// A value that, if true, means that any data in the location specified for
  5501  	// output is overwritten with new output. Not supported with DatabaseOptions.
  5502  	Overwrite *bool `type:"boolean"`
  5503  
  5504  	// Represents options that specify how and where DataBrew writes the Amazon
  5505  	// S3 output generated by recipe jobs.
  5506  	S3Options *S3TableOutputOptions `type:"structure"`
  5507  
  5508  	// The name of a table in the Data Catalog.
  5509  	//
  5510  	// TableName is a required field
  5511  	TableName *string `min:"1" type:"string" required:"true"`
  5512  }
  5513  
  5514  // String returns the string representation.
  5515  //
  5516  // API parameter values that are decorated as "sensitive" in the API will not
  5517  // be included in the string output. The member name will be present, but the
  5518  // value will be replaced with "sensitive".
  5519  func (s DataCatalogOutput_) String() string {
  5520  	return awsutil.Prettify(s)
  5521  }
  5522  
  5523  // GoString returns the string representation.
  5524  //
  5525  // API parameter values that are decorated as "sensitive" in the API will not
  5526  // be included in the string output. The member name will be present, but the
  5527  // value will be replaced with "sensitive".
  5528  func (s DataCatalogOutput_) GoString() string {
  5529  	return s.String()
  5530  }
  5531  
  5532  // Validate inspects the fields of the type to determine if they are valid.
  5533  func (s *DataCatalogOutput_) Validate() error {
  5534  	invalidParams := request.ErrInvalidParams{Context: "DataCatalogOutput_"}
  5535  	if s.CatalogId != nil && len(*s.CatalogId) < 1 {
  5536  		invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1))
  5537  	}
  5538  	if s.DatabaseName == nil {
  5539  		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
  5540  	}
  5541  	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
  5542  		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
  5543  	}
  5544  	if s.TableName == nil {
  5545  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  5546  	}
  5547  	if s.TableName != nil && len(*s.TableName) < 1 {
  5548  		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
  5549  	}
  5550  	if s.DatabaseOptions != nil {
  5551  		if err := s.DatabaseOptions.Validate(); err != nil {
  5552  			invalidParams.AddNested("DatabaseOptions", err.(request.ErrInvalidParams))
  5553  		}
  5554  	}
  5555  	if s.S3Options != nil {
  5556  		if err := s.S3Options.Validate(); err != nil {
  5557  			invalidParams.AddNested("S3Options", err.(request.ErrInvalidParams))
  5558  		}
  5559  	}
  5560  
  5561  	if invalidParams.Len() > 0 {
  5562  		return invalidParams
  5563  	}
  5564  	return nil
  5565  }
  5566  
  5567  // SetCatalogId sets the CatalogId field's value.
  5568  func (s *DataCatalogOutput_) SetCatalogId(v string) *DataCatalogOutput_ {
  5569  	s.CatalogId = &v
  5570  	return s
  5571  }
  5572  
  5573  // SetDatabaseName sets the DatabaseName field's value.
  5574  func (s *DataCatalogOutput_) SetDatabaseName(v string) *DataCatalogOutput_ {
  5575  	s.DatabaseName = &v
  5576  	return s
  5577  }
  5578  
  5579  // SetDatabaseOptions sets the DatabaseOptions field's value.
  5580  func (s *DataCatalogOutput_) SetDatabaseOptions(v *DatabaseTableOutputOptions) *DataCatalogOutput_ {
  5581  	s.DatabaseOptions = v
  5582  	return s
  5583  }
  5584  
  5585  // SetOverwrite sets the Overwrite field's value.
  5586  func (s *DataCatalogOutput_) SetOverwrite(v bool) *DataCatalogOutput_ {
  5587  	s.Overwrite = &v
  5588  	return s
  5589  }
  5590  
  5591  // SetS3Options sets the S3Options field's value.
  5592  func (s *DataCatalogOutput_) SetS3Options(v *S3TableOutputOptions) *DataCatalogOutput_ {
  5593  	s.S3Options = v
  5594  	return s
  5595  }
  5596  
  5597  // SetTableName sets the TableName field's value.
  5598  func (s *DataCatalogOutput_) SetTableName(v string) *DataCatalogOutput_ {
  5599  	s.TableName = &v
  5600  	return s
  5601  }
  5602  
  5603  // Connection information for dataset input files stored in a database.
  5604  type DatabaseInputDefinition struct {
  5605  	_ struct{} `type:"structure"`
  5606  
  5607  	// The table within the target database.
  5608  	//
  5609  	// DatabaseTableName is a required field
  5610  	DatabaseTableName *string `min:"1" type:"string" required:"true"`
  5611  
  5612  	// The Glue Connection that stores the connection information for the target
  5613  	// database.
  5614  	//
  5615  	// GlueConnectionName is a required field
  5616  	GlueConnectionName *string `min:"1" type:"string" required:"true"`
  5617  
  5618  	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
  5619  	// can read input data, or write output from a job.
  5620  	TempDirectory *S3Location `type:"structure"`
  5621  }
  5622  
  5623  // String returns the string representation.
  5624  //
  5625  // API parameter values that are decorated as "sensitive" in the API will not
  5626  // be included in the string output. The member name will be present, but the
  5627  // value will be replaced with "sensitive".
  5628  func (s DatabaseInputDefinition) String() string {
  5629  	return awsutil.Prettify(s)
  5630  }
  5631  
  5632  // GoString returns the string representation.
  5633  //
  5634  // API parameter values that are decorated as "sensitive" in the API will not
  5635  // be included in the string output. The member name will be present, but the
  5636  // value will be replaced with "sensitive".
  5637  func (s DatabaseInputDefinition) GoString() string {
  5638  	return s.String()
  5639  }
  5640  
  5641  // Validate inspects the fields of the type to determine if they are valid.
  5642  func (s *DatabaseInputDefinition) Validate() error {
  5643  	invalidParams := request.ErrInvalidParams{Context: "DatabaseInputDefinition"}
  5644  	if s.DatabaseTableName == nil {
  5645  		invalidParams.Add(request.NewErrParamRequired("DatabaseTableName"))
  5646  	}
  5647  	if s.DatabaseTableName != nil && len(*s.DatabaseTableName) < 1 {
  5648  		invalidParams.Add(request.NewErrParamMinLen("DatabaseTableName", 1))
  5649  	}
  5650  	if s.GlueConnectionName == nil {
  5651  		invalidParams.Add(request.NewErrParamRequired("GlueConnectionName"))
  5652  	}
  5653  	if s.GlueConnectionName != nil && len(*s.GlueConnectionName) < 1 {
  5654  		invalidParams.Add(request.NewErrParamMinLen("GlueConnectionName", 1))
  5655  	}
  5656  	if s.TempDirectory != nil {
  5657  		if err := s.TempDirectory.Validate(); err != nil {
  5658  			invalidParams.AddNested("TempDirectory", err.(request.ErrInvalidParams))
  5659  		}
  5660  	}
  5661  
  5662  	if invalidParams.Len() > 0 {
  5663  		return invalidParams
  5664  	}
  5665  	return nil
  5666  }
  5667  
  5668  // SetDatabaseTableName sets the DatabaseTableName field's value.
  5669  func (s *DatabaseInputDefinition) SetDatabaseTableName(v string) *DatabaseInputDefinition {
  5670  	s.DatabaseTableName = &v
  5671  	return s
  5672  }
  5673  
  5674  // SetGlueConnectionName sets the GlueConnectionName field's value.
  5675  func (s *DatabaseInputDefinition) SetGlueConnectionName(v string) *DatabaseInputDefinition {
  5676  	s.GlueConnectionName = &v
  5677  	return s
  5678  }
  5679  
  5680  // SetTempDirectory sets the TempDirectory field's value.
  5681  func (s *DatabaseInputDefinition) SetTempDirectory(v *S3Location) *DatabaseInputDefinition {
  5682  	s.TempDirectory = v
  5683  	return s
  5684  }
  5685  
  5686  // Represents a JDBC database output object which defines the output destination
  5687  // for a DataBrew recipe job to write into.
  5688  type DatabaseOutput_ struct {
  5689  	_ struct{} `type:"structure"`
  5690  
  5691  	// Represents options that specify how and where DataBrew writes the database
  5692  	// output generated by recipe jobs.
  5693  	//
  5694  	// DatabaseOptions is a required field
  5695  	DatabaseOptions *DatabaseTableOutputOptions `type:"structure" required:"true"`
  5696  
  5697  	// The output mode to write into the database. Currently supported option: NEW_TABLE.
  5698  	DatabaseOutputMode *string `type:"string" enum:"DatabaseOutputMode"`
  5699  
  5700  	// The Glue connection that stores the connection information for the target
  5701  	// database.
  5702  	//
  5703  	// GlueConnectionName is a required field
  5704  	GlueConnectionName *string `min:"1" type:"string" required:"true"`
  5705  }
  5706  
  5707  // String returns the string representation.
  5708  //
  5709  // API parameter values that are decorated as "sensitive" in the API will not
  5710  // be included in the string output. The member name will be present, but the
  5711  // value will be replaced with "sensitive".
  5712  func (s DatabaseOutput_) String() string {
  5713  	return awsutil.Prettify(s)
  5714  }
  5715  
  5716  // GoString returns the string representation.
  5717  //
  5718  // API parameter values that are decorated as "sensitive" in the API will not
  5719  // be included in the string output. The member name will be present, but the
  5720  // value will be replaced with "sensitive".
  5721  func (s DatabaseOutput_) GoString() string {
  5722  	return s.String()
  5723  }
  5724  
  5725  // Validate inspects the fields of the type to determine if they are valid.
  5726  func (s *DatabaseOutput_) Validate() error {
  5727  	invalidParams := request.ErrInvalidParams{Context: "DatabaseOutput_"}
  5728  	if s.DatabaseOptions == nil {
  5729  		invalidParams.Add(request.NewErrParamRequired("DatabaseOptions"))
  5730  	}
  5731  	if s.GlueConnectionName == nil {
  5732  		invalidParams.Add(request.NewErrParamRequired("GlueConnectionName"))
  5733  	}
  5734  	if s.GlueConnectionName != nil && len(*s.GlueConnectionName) < 1 {
  5735  		invalidParams.Add(request.NewErrParamMinLen("GlueConnectionName", 1))
  5736  	}
  5737  	if s.DatabaseOptions != nil {
  5738  		if err := s.DatabaseOptions.Validate(); err != nil {
  5739  			invalidParams.AddNested("DatabaseOptions", err.(request.ErrInvalidParams))
  5740  		}
  5741  	}
  5742  
  5743  	if invalidParams.Len() > 0 {
  5744  		return invalidParams
  5745  	}
  5746  	return nil
  5747  }
  5748  
  5749  // SetDatabaseOptions sets the DatabaseOptions field's value.
  5750  func (s *DatabaseOutput_) SetDatabaseOptions(v *DatabaseTableOutputOptions) *DatabaseOutput_ {
  5751  	s.DatabaseOptions = v
  5752  	return s
  5753  }
  5754  
  5755  // SetDatabaseOutputMode sets the DatabaseOutputMode field's value.
  5756  func (s *DatabaseOutput_) SetDatabaseOutputMode(v string) *DatabaseOutput_ {
  5757  	s.DatabaseOutputMode = &v
  5758  	return s
  5759  }
  5760  
  5761  // SetGlueConnectionName sets the GlueConnectionName field's value.
  5762  func (s *DatabaseOutput_) SetGlueConnectionName(v string) *DatabaseOutput_ {
  5763  	s.GlueConnectionName = &v
  5764  	return s
  5765  }
  5766  
  5767  // Represents options that specify how and where DataBrew writes the database
  5768  // output generated by recipe jobs.
  5769  type DatabaseTableOutputOptions struct {
  5770  	_ struct{} `type:"structure"`
  5771  
  5772  	// A prefix for the name of a table DataBrew will create in the database.
  5773  	//
  5774  	// TableName is a required field
  5775  	TableName *string `min:"1" type:"string" required:"true"`
  5776  
  5777  	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
  5778  	// can store intermediate results.
  5779  	TempDirectory *S3Location `type:"structure"`
  5780  }
  5781  
  5782  // String returns the string representation.
  5783  //
  5784  // API parameter values that are decorated as "sensitive" in the API will not
  5785  // be included in the string output. The member name will be present, but the
  5786  // value will be replaced with "sensitive".
  5787  func (s DatabaseTableOutputOptions) String() string {
  5788  	return awsutil.Prettify(s)
  5789  }
  5790  
  5791  // GoString returns the string representation.
  5792  //
  5793  // API parameter values that are decorated as "sensitive" in the API will not
  5794  // be included in the string output. The member name will be present, but the
  5795  // value will be replaced with "sensitive".
  5796  func (s DatabaseTableOutputOptions) GoString() string {
  5797  	return s.String()
  5798  }
  5799  
  5800  // Validate inspects the fields of the type to determine if they are valid.
  5801  func (s *DatabaseTableOutputOptions) Validate() error {
  5802  	invalidParams := request.ErrInvalidParams{Context: "DatabaseTableOutputOptions"}
  5803  	if s.TableName == nil {
  5804  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  5805  	}
  5806  	if s.TableName != nil && len(*s.TableName) < 1 {
  5807  		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
  5808  	}
  5809  	if s.TempDirectory != nil {
  5810  		if err := s.TempDirectory.Validate(); err != nil {
  5811  			invalidParams.AddNested("TempDirectory", err.(request.ErrInvalidParams))
  5812  		}
  5813  	}
  5814  
  5815  	if invalidParams.Len() > 0 {
  5816  		return invalidParams
  5817  	}
  5818  	return nil
  5819  }
  5820  
  5821  // SetTableName sets the TableName field's value.
  5822  func (s *DatabaseTableOutputOptions) SetTableName(v string) *DatabaseTableOutputOptions {
  5823  	s.TableName = &v
  5824  	return s
  5825  }
  5826  
  5827  // SetTempDirectory sets the TempDirectory field's value.
  5828  func (s *DatabaseTableOutputOptions) SetTempDirectory(v *S3Location) *DatabaseTableOutputOptions {
  5829  	s.TempDirectory = v
  5830  	return s
  5831  }
  5832  
  5833  // Represents a dataset that can be processed by DataBrew.
  5834  type Dataset struct {
  5835  	_ struct{} `type:"structure"`
  5836  
  5837  	// The ID of the Amazon Web Services account that owns the dataset.
  5838  	AccountId *string `type:"string"`
  5839  
  5840  	// The date and time that the dataset was created.
  5841  	CreateDate *time.Time `type:"timestamp"`
  5842  
  5843  	// The Amazon Resource Name (ARN) of the user who created the dataset.
  5844  	CreatedBy *string `type:"string"`
  5845  
  5846  	// The file format of a dataset that is created from an Amazon S3 file or folder.
  5847  	Format *string `type:"string" enum:"InputFormat"`
  5848  
  5849  	// A set of options that define how DataBrew interprets the data in the dataset.
  5850  	FormatOptions *FormatOptions `type:"structure"`
  5851  
  5852  	// Information on how DataBrew can find the dataset, in either the Glue Data
  5853  	// Catalog or Amazon S3.
  5854  	//
  5855  	// Input is a required field
  5856  	Input *Input `type:"structure" required:"true"`
  5857  
  5858  	// The Amazon Resource Name (ARN) of the user who last modified the dataset.
  5859  	LastModifiedBy *string `type:"string"`
  5860  
  5861  	// The last modification date and time of the dataset.
  5862  	LastModifiedDate *time.Time `type:"timestamp"`
  5863  
  5864  	// The unique name of the dataset.
  5865  	//
  5866  	// Name is a required field
  5867  	Name *string `min:"1" type:"string" required:"true"`
  5868  
  5869  	// A set of options that defines how DataBrew interprets an Amazon S3 path of
  5870  	// the dataset.
  5871  	PathOptions *PathOptions `type:"structure"`
  5872  
  5873  	// The unique Amazon Resource Name (ARN) for the dataset.
  5874  	ResourceArn *string `min:"20" type:"string"`
  5875  
  5876  	// The location of the data for the dataset, either Amazon S3 or the Glue Data
  5877  	// Catalog.
  5878  	Source *string `type:"string" enum:"Source"`
  5879  
  5880  	// Metadata tags that have been applied to the dataset.
  5881  	Tags map[string]*string `min:"1" type:"map"`
  5882  }
  5883  
  5884  // String returns the string representation.
  5885  //
  5886  // API parameter values that are decorated as "sensitive" in the API will not
  5887  // be included in the string output. The member name will be present, but the
  5888  // value will be replaced with "sensitive".
  5889  func (s Dataset) String() string {
  5890  	return awsutil.Prettify(s)
  5891  }
  5892  
  5893  // GoString returns the string representation.
  5894  //
  5895  // API parameter values that are decorated as "sensitive" in the API will not
  5896  // be included in the string output. The member name will be present, but the
  5897  // value will be replaced with "sensitive".
  5898  func (s Dataset) GoString() string {
  5899  	return s.String()
  5900  }
  5901  
  5902  // SetAccountId sets the AccountId field's value.
  5903  func (s *Dataset) SetAccountId(v string) *Dataset {
  5904  	s.AccountId = &v
  5905  	return s
  5906  }
  5907  
  5908  // SetCreateDate sets the CreateDate field's value.
  5909  func (s *Dataset) SetCreateDate(v time.Time) *Dataset {
  5910  	s.CreateDate = &v
  5911  	return s
  5912  }
  5913  
  5914  // SetCreatedBy sets the CreatedBy field's value.
  5915  func (s *Dataset) SetCreatedBy(v string) *Dataset {
  5916  	s.CreatedBy = &v
  5917  	return s
  5918  }
  5919  
  5920  // SetFormat sets the Format field's value.
  5921  func (s *Dataset) SetFormat(v string) *Dataset {
  5922  	s.Format = &v
  5923  	return s
  5924  }
  5925  
  5926  // SetFormatOptions sets the FormatOptions field's value.
  5927  func (s *Dataset) SetFormatOptions(v *FormatOptions) *Dataset {
  5928  	s.FormatOptions = v
  5929  	return s
  5930  }
  5931  
  5932  // SetInput sets the Input field's value.
  5933  func (s *Dataset) SetInput(v *Input) *Dataset {
  5934  	s.Input = v
  5935  	return s
  5936  }
  5937  
  5938  // SetLastModifiedBy sets the LastModifiedBy field's value.
  5939  func (s *Dataset) SetLastModifiedBy(v string) *Dataset {
  5940  	s.LastModifiedBy = &v
  5941  	return s
  5942  }
  5943  
  5944  // SetLastModifiedDate sets the LastModifiedDate field's value.
  5945  func (s *Dataset) SetLastModifiedDate(v time.Time) *Dataset {
  5946  	s.LastModifiedDate = &v
  5947  	return s
  5948  }
  5949  
  5950  // SetName sets the Name field's value.
  5951  func (s *Dataset) SetName(v string) *Dataset {
  5952  	s.Name = &v
  5953  	return s
  5954  }
  5955  
  5956  // SetPathOptions sets the PathOptions field's value.
  5957  func (s *Dataset) SetPathOptions(v *PathOptions) *Dataset {
  5958  	s.PathOptions = v
  5959  	return s
  5960  }
  5961  
  5962  // SetResourceArn sets the ResourceArn field's value.
  5963  func (s *Dataset) SetResourceArn(v string) *Dataset {
  5964  	s.ResourceArn = &v
  5965  	return s
  5966  }
  5967  
  5968  // SetSource sets the Source field's value.
  5969  func (s *Dataset) SetSource(v string) *Dataset {
  5970  	s.Source = &v
  5971  	return s
  5972  }
  5973  
  5974  // SetTags sets the Tags field's value.
  5975  func (s *Dataset) SetTags(v map[string]*string) *Dataset {
  5976  	s.Tags = v
  5977  	return s
  5978  }
  5979  
  5980  // Represents a dataset paramater that defines type and conditions for a parameter
  5981  // in the Amazon S3 path of the dataset.
  5982  type DatasetParameter struct {
  5983  	_ struct{} `type:"structure"`
  5984  
  5985  	// Optional boolean value that defines whether the captured value of this parameter
  5986  	// should be used to create a new column in a dataset.
  5987  	CreateColumn *bool `type:"boolean"`
  5988  
  5989  	// Additional parameter options such as a format and a timezone. Required for
  5990  	// datetime parameters.
  5991  	DatetimeOptions *DatetimeOptions `type:"structure"`
  5992  
  5993  	// The optional filter expression structure to apply additional matching criteria
  5994  	// to the parameter.
  5995  	Filter *FilterExpression `type:"structure"`
  5996  
  5997  	// The name of the parameter that is used in the dataset's Amazon S3 path.
  5998  	//
  5999  	// Name is a required field
  6000  	Name *string `min:"1" type:"string" required:"true"`
  6001  
  6002  	// The type of the dataset parameter, can be one of a 'String', 'Number' or
  6003  	// 'Datetime'.
  6004  	//
  6005  	// Type is a required field
  6006  	Type *string `type:"string" required:"true" enum:"ParameterType"`
  6007  }
  6008  
  6009  // String returns the string representation.
  6010  //
  6011  // API parameter values that are decorated as "sensitive" in the API will not
  6012  // be included in the string output. The member name will be present, but the
  6013  // value will be replaced with "sensitive".
  6014  func (s DatasetParameter) String() string {
  6015  	return awsutil.Prettify(s)
  6016  }
  6017  
  6018  // GoString returns the string representation.
  6019  //
  6020  // API parameter values that are decorated as "sensitive" in the API will not
  6021  // be included in the string output. The member name will be present, but the
  6022  // value will be replaced with "sensitive".
  6023  func (s DatasetParameter) GoString() string {
  6024  	return s.String()
  6025  }
  6026  
  6027  // Validate inspects the fields of the type to determine if they are valid.
  6028  func (s *DatasetParameter) Validate() error {
  6029  	invalidParams := request.ErrInvalidParams{Context: "DatasetParameter"}
  6030  	if s.Name == nil {
  6031  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6032  	}
  6033  	if s.Name != nil && len(*s.Name) < 1 {
  6034  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6035  	}
  6036  	if s.Type == nil {
  6037  		invalidParams.Add(request.NewErrParamRequired("Type"))
  6038  	}
  6039  	if s.DatetimeOptions != nil {
  6040  		if err := s.DatetimeOptions.Validate(); err != nil {
  6041  			invalidParams.AddNested("DatetimeOptions", err.(request.ErrInvalidParams))
  6042  		}
  6043  	}
  6044  	if s.Filter != nil {
  6045  		if err := s.Filter.Validate(); err != nil {
  6046  			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
  6047  		}
  6048  	}
  6049  
  6050  	if invalidParams.Len() > 0 {
  6051  		return invalidParams
  6052  	}
  6053  	return nil
  6054  }
  6055  
  6056  // SetCreateColumn sets the CreateColumn field's value.
  6057  func (s *DatasetParameter) SetCreateColumn(v bool) *DatasetParameter {
  6058  	s.CreateColumn = &v
  6059  	return s
  6060  }
  6061  
  6062  // SetDatetimeOptions sets the DatetimeOptions field's value.
  6063  func (s *DatasetParameter) SetDatetimeOptions(v *DatetimeOptions) *DatasetParameter {
  6064  	s.DatetimeOptions = v
  6065  	return s
  6066  }
  6067  
  6068  // SetFilter sets the Filter field's value.
  6069  func (s *DatasetParameter) SetFilter(v *FilterExpression) *DatasetParameter {
  6070  	s.Filter = v
  6071  	return s
  6072  }
  6073  
  6074  // SetName sets the Name field's value.
  6075  func (s *DatasetParameter) SetName(v string) *DatasetParameter {
  6076  	s.Name = &v
  6077  	return s
  6078  }
  6079  
  6080  // SetType sets the Type field's value.
  6081  func (s *DatasetParameter) SetType(v string) *DatasetParameter {
  6082  	s.Type = &v
  6083  	return s
  6084  }
  6085  
  6086  // Represents additional options for correct interpretation of datetime parameters
  6087  // used in the Amazon S3 path of a dataset.
  6088  type DatetimeOptions struct {
  6089  	_ struct{} `type:"structure"`
  6090  
  6091  	// Required option, that defines the datetime format used for a date parameter
  6092  	// in the Amazon S3 path. Should use only supported datetime specifiers and
  6093  	// separation characters, all literal a-z or A-Z characters should be escaped
  6094  	// with single quotes. E.g. "MM.dd.yyyy-'at'-HH:mm".
  6095  	//
  6096  	// Format is a required field
  6097  	Format *string `min:"2" type:"string" required:"true"`
  6098  
  6099  	// Optional value for a non-US locale code, needed for correct interpretation
  6100  	// of some date formats.
  6101  	LocaleCode *string `min:"2" type:"string"`
  6102  
  6103  	// Optional value for a timezone offset of the datetime parameter value in the
  6104  	// Amazon S3 path. Shouldn't be used if Format for this parameter includes timezone
  6105  	// fields. If no offset specified, UTC is assumed.
  6106  	TimezoneOffset *string `min:"1" type:"string"`
  6107  }
  6108  
  6109  // String returns the string representation.
  6110  //
  6111  // API parameter values that are decorated as "sensitive" in the API will not
  6112  // be included in the string output. The member name will be present, but the
  6113  // value will be replaced with "sensitive".
  6114  func (s DatetimeOptions) String() string {
  6115  	return awsutil.Prettify(s)
  6116  }
  6117  
  6118  // GoString returns the string representation.
  6119  //
  6120  // API parameter values that are decorated as "sensitive" in the API will not
  6121  // be included in the string output. The member name will be present, but the
  6122  // value will be replaced with "sensitive".
  6123  func (s DatetimeOptions) GoString() string {
  6124  	return s.String()
  6125  }
  6126  
  6127  // Validate inspects the fields of the type to determine if they are valid.
  6128  func (s *DatetimeOptions) Validate() error {
  6129  	invalidParams := request.ErrInvalidParams{Context: "DatetimeOptions"}
  6130  	if s.Format == nil {
  6131  		invalidParams.Add(request.NewErrParamRequired("Format"))
  6132  	}
  6133  	if s.Format != nil && len(*s.Format) < 2 {
  6134  		invalidParams.Add(request.NewErrParamMinLen("Format", 2))
  6135  	}
  6136  	if s.LocaleCode != nil && len(*s.LocaleCode) < 2 {
  6137  		invalidParams.Add(request.NewErrParamMinLen("LocaleCode", 2))
  6138  	}
  6139  	if s.TimezoneOffset != nil && len(*s.TimezoneOffset) < 1 {
  6140  		invalidParams.Add(request.NewErrParamMinLen("TimezoneOffset", 1))
  6141  	}
  6142  
  6143  	if invalidParams.Len() > 0 {
  6144  		return invalidParams
  6145  	}
  6146  	return nil
  6147  }
  6148  
  6149  // SetFormat sets the Format field's value.
  6150  func (s *DatetimeOptions) SetFormat(v string) *DatetimeOptions {
  6151  	s.Format = &v
  6152  	return s
  6153  }
  6154  
  6155  // SetLocaleCode sets the LocaleCode field's value.
  6156  func (s *DatetimeOptions) SetLocaleCode(v string) *DatetimeOptions {
  6157  	s.LocaleCode = &v
  6158  	return s
  6159  }
  6160  
  6161  // SetTimezoneOffset sets the TimezoneOffset field's value.
  6162  func (s *DatetimeOptions) SetTimezoneOffset(v string) *DatetimeOptions {
  6163  	s.TimezoneOffset = &v
  6164  	return s
  6165  }
  6166  
  6167  type DeleteDatasetInput struct {
  6168  	_ struct{} `type:"structure" nopayload:"true"`
  6169  
  6170  	// The name of the dataset to be deleted.
  6171  	//
  6172  	// Name is a required field
  6173  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6174  }
  6175  
  6176  // String returns the string representation.
  6177  //
  6178  // API parameter values that are decorated as "sensitive" in the API will not
  6179  // be included in the string output. The member name will be present, but the
  6180  // value will be replaced with "sensitive".
  6181  func (s DeleteDatasetInput) String() string {
  6182  	return awsutil.Prettify(s)
  6183  }
  6184  
  6185  // GoString returns the string representation.
  6186  //
  6187  // API parameter values that are decorated as "sensitive" in the API will not
  6188  // be included in the string output. The member name will be present, but the
  6189  // value will be replaced with "sensitive".
  6190  func (s DeleteDatasetInput) GoString() string {
  6191  	return s.String()
  6192  }
  6193  
  6194  // Validate inspects the fields of the type to determine if they are valid.
  6195  func (s *DeleteDatasetInput) Validate() error {
  6196  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
  6197  	if s.Name == nil {
  6198  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6199  	}
  6200  	if s.Name != nil && len(*s.Name) < 1 {
  6201  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6202  	}
  6203  
  6204  	if invalidParams.Len() > 0 {
  6205  		return invalidParams
  6206  	}
  6207  	return nil
  6208  }
  6209  
  6210  // SetName sets the Name field's value.
  6211  func (s *DeleteDatasetInput) SetName(v string) *DeleteDatasetInput {
  6212  	s.Name = &v
  6213  	return s
  6214  }
  6215  
  6216  type DeleteDatasetOutput struct {
  6217  	_ struct{} `type:"structure"`
  6218  
  6219  	// The name of the dataset that you deleted.
  6220  	//
  6221  	// Name is a required field
  6222  	Name *string `min:"1" type:"string" required:"true"`
  6223  }
  6224  
  6225  // String returns the string representation.
  6226  //
  6227  // API parameter values that are decorated as "sensitive" in the API will not
  6228  // be included in the string output. The member name will be present, but the
  6229  // value will be replaced with "sensitive".
  6230  func (s DeleteDatasetOutput) String() string {
  6231  	return awsutil.Prettify(s)
  6232  }
  6233  
  6234  // GoString returns the string representation.
  6235  //
  6236  // API parameter values that are decorated as "sensitive" in the API will not
  6237  // be included in the string output. The member name will be present, but the
  6238  // value will be replaced with "sensitive".
  6239  func (s DeleteDatasetOutput) GoString() string {
  6240  	return s.String()
  6241  }
  6242  
  6243  // SetName sets the Name field's value.
  6244  func (s *DeleteDatasetOutput) SetName(v string) *DeleteDatasetOutput {
  6245  	s.Name = &v
  6246  	return s
  6247  }
  6248  
  6249  type DeleteJobInput struct {
  6250  	_ struct{} `type:"structure" nopayload:"true"`
  6251  
  6252  	// The name of the job to be deleted.
  6253  	//
  6254  	// Name is a required field
  6255  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6256  }
  6257  
  6258  // String returns the string representation.
  6259  //
  6260  // API parameter values that are decorated as "sensitive" in the API will not
  6261  // be included in the string output. The member name will be present, but the
  6262  // value will be replaced with "sensitive".
  6263  func (s DeleteJobInput) String() string {
  6264  	return awsutil.Prettify(s)
  6265  }
  6266  
  6267  // GoString returns the string representation.
  6268  //
  6269  // API parameter values that are decorated as "sensitive" in the API will not
  6270  // be included in the string output. The member name will be present, but the
  6271  // value will be replaced with "sensitive".
  6272  func (s DeleteJobInput) GoString() string {
  6273  	return s.String()
  6274  }
  6275  
  6276  // Validate inspects the fields of the type to determine if they are valid.
  6277  func (s *DeleteJobInput) Validate() error {
  6278  	invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"}
  6279  	if s.Name == nil {
  6280  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6281  	}
  6282  	if s.Name != nil && len(*s.Name) < 1 {
  6283  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6284  	}
  6285  
  6286  	if invalidParams.Len() > 0 {
  6287  		return invalidParams
  6288  	}
  6289  	return nil
  6290  }
  6291  
  6292  // SetName sets the Name field's value.
  6293  func (s *DeleteJobInput) SetName(v string) *DeleteJobInput {
  6294  	s.Name = &v
  6295  	return s
  6296  }
  6297  
  6298  type DeleteJobOutput struct {
  6299  	_ struct{} `type:"structure"`
  6300  
  6301  	// The name of the job that you deleted.
  6302  	//
  6303  	// Name is a required field
  6304  	Name *string `min:"1" type:"string" required:"true"`
  6305  }
  6306  
  6307  // String returns the string representation.
  6308  //
  6309  // API parameter values that are decorated as "sensitive" in the API will not
  6310  // be included in the string output. The member name will be present, but the
  6311  // value will be replaced with "sensitive".
  6312  func (s DeleteJobOutput) String() string {
  6313  	return awsutil.Prettify(s)
  6314  }
  6315  
  6316  // GoString returns the string representation.
  6317  //
  6318  // API parameter values that are decorated as "sensitive" in the API will not
  6319  // be included in the string output. The member name will be present, but the
  6320  // value will be replaced with "sensitive".
  6321  func (s DeleteJobOutput) GoString() string {
  6322  	return s.String()
  6323  }
  6324  
  6325  // SetName sets the Name field's value.
  6326  func (s *DeleteJobOutput) SetName(v string) *DeleteJobOutput {
  6327  	s.Name = &v
  6328  	return s
  6329  }
  6330  
  6331  type DeleteProjectInput struct {
  6332  	_ struct{} `type:"structure" nopayload:"true"`
  6333  
  6334  	// The name of the project to be deleted.
  6335  	//
  6336  	// Name is a required field
  6337  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6338  }
  6339  
  6340  // String returns the string representation.
  6341  //
  6342  // API parameter values that are decorated as "sensitive" in the API will not
  6343  // be included in the string output. The member name will be present, but the
  6344  // value will be replaced with "sensitive".
  6345  func (s DeleteProjectInput) String() string {
  6346  	return awsutil.Prettify(s)
  6347  }
  6348  
  6349  // GoString returns the string representation.
  6350  //
  6351  // API parameter values that are decorated as "sensitive" in the API will not
  6352  // be included in the string output. The member name will be present, but the
  6353  // value will be replaced with "sensitive".
  6354  func (s DeleteProjectInput) GoString() string {
  6355  	return s.String()
  6356  }
  6357  
  6358  // Validate inspects the fields of the type to determine if they are valid.
  6359  func (s *DeleteProjectInput) Validate() error {
  6360  	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
  6361  	if s.Name == nil {
  6362  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6363  	}
  6364  	if s.Name != nil && len(*s.Name) < 1 {
  6365  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6366  	}
  6367  
  6368  	if invalidParams.Len() > 0 {
  6369  		return invalidParams
  6370  	}
  6371  	return nil
  6372  }
  6373  
  6374  // SetName sets the Name field's value.
  6375  func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput {
  6376  	s.Name = &v
  6377  	return s
  6378  }
  6379  
  6380  type DeleteProjectOutput struct {
  6381  	_ struct{} `type:"structure"`
  6382  
  6383  	// The name of the project that you deleted.
  6384  	//
  6385  	// Name is a required field
  6386  	Name *string `min:"1" type:"string" required:"true"`
  6387  }
  6388  
  6389  // String returns the string representation.
  6390  //
  6391  // API parameter values that are decorated as "sensitive" in the API will not
  6392  // be included in the string output. The member name will be present, but the
  6393  // value will be replaced with "sensitive".
  6394  func (s DeleteProjectOutput) String() string {
  6395  	return awsutil.Prettify(s)
  6396  }
  6397  
  6398  // GoString returns the string representation.
  6399  //
  6400  // API parameter values that are decorated as "sensitive" in the API will not
  6401  // be included in the string output. The member name will be present, but the
  6402  // value will be replaced with "sensitive".
  6403  func (s DeleteProjectOutput) GoString() string {
  6404  	return s.String()
  6405  }
  6406  
  6407  // SetName sets the Name field's value.
  6408  func (s *DeleteProjectOutput) SetName(v string) *DeleteProjectOutput {
  6409  	s.Name = &v
  6410  	return s
  6411  }
  6412  
  6413  type DeleteRecipeVersionInput struct {
  6414  	_ struct{} `type:"structure" nopayload:"true"`
  6415  
  6416  	// The name of the recipe.
  6417  	//
  6418  	// Name is a required field
  6419  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6420  
  6421  	// The version of the recipe to be deleted. You can specify a numeric versions
  6422  	// (X.Y) or LATEST_WORKING. LATEST_PUBLISHED is not supported.
  6423  	//
  6424  	// RecipeVersion is a required field
  6425  	RecipeVersion *string `location:"uri" locationName:"recipeVersion" min:"1" type:"string" required:"true"`
  6426  }
  6427  
  6428  // String returns the string representation.
  6429  //
  6430  // API parameter values that are decorated as "sensitive" in the API will not
  6431  // be included in the string output. The member name will be present, but the
  6432  // value will be replaced with "sensitive".
  6433  func (s DeleteRecipeVersionInput) String() string {
  6434  	return awsutil.Prettify(s)
  6435  }
  6436  
  6437  // GoString returns the string representation.
  6438  //
  6439  // API parameter values that are decorated as "sensitive" in the API will not
  6440  // be included in the string output. The member name will be present, but the
  6441  // value will be replaced with "sensitive".
  6442  func (s DeleteRecipeVersionInput) GoString() string {
  6443  	return s.String()
  6444  }
  6445  
  6446  // Validate inspects the fields of the type to determine if they are valid.
  6447  func (s *DeleteRecipeVersionInput) Validate() error {
  6448  	invalidParams := request.ErrInvalidParams{Context: "DeleteRecipeVersionInput"}
  6449  	if s.Name == nil {
  6450  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6451  	}
  6452  	if s.Name != nil && len(*s.Name) < 1 {
  6453  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6454  	}
  6455  	if s.RecipeVersion == nil {
  6456  		invalidParams.Add(request.NewErrParamRequired("RecipeVersion"))
  6457  	}
  6458  	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
  6459  		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
  6460  	}
  6461  
  6462  	if invalidParams.Len() > 0 {
  6463  		return invalidParams
  6464  	}
  6465  	return nil
  6466  }
  6467  
  6468  // SetName sets the Name field's value.
  6469  func (s *DeleteRecipeVersionInput) SetName(v string) *DeleteRecipeVersionInput {
  6470  	s.Name = &v
  6471  	return s
  6472  }
  6473  
  6474  // SetRecipeVersion sets the RecipeVersion field's value.
  6475  func (s *DeleteRecipeVersionInput) SetRecipeVersion(v string) *DeleteRecipeVersionInput {
  6476  	s.RecipeVersion = &v
  6477  	return s
  6478  }
  6479  
  6480  type DeleteRecipeVersionOutput struct {
  6481  	_ struct{} `type:"structure"`
  6482  
  6483  	// The name of the recipe that was deleted.
  6484  	//
  6485  	// Name is a required field
  6486  	Name *string `min:"1" type:"string" required:"true"`
  6487  
  6488  	// The version of the recipe that was deleted.
  6489  	//
  6490  	// RecipeVersion is a required field
  6491  	RecipeVersion *string `min:"1" type:"string" required:"true"`
  6492  }
  6493  
  6494  // String returns the string representation.
  6495  //
  6496  // API parameter values that are decorated as "sensitive" in the API will not
  6497  // be included in the string output. The member name will be present, but the
  6498  // value will be replaced with "sensitive".
  6499  func (s DeleteRecipeVersionOutput) String() string {
  6500  	return awsutil.Prettify(s)
  6501  }
  6502  
  6503  // GoString returns the string representation.
  6504  //
  6505  // API parameter values that are decorated as "sensitive" in the API will not
  6506  // be included in the string output. The member name will be present, but the
  6507  // value will be replaced with "sensitive".
  6508  func (s DeleteRecipeVersionOutput) GoString() string {
  6509  	return s.String()
  6510  }
  6511  
  6512  // SetName sets the Name field's value.
  6513  func (s *DeleteRecipeVersionOutput) SetName(v string) *DeleteRecipeVersionOutput {
  6514  	s.Name = &v
  6515  	return s
  6516  }
  6517  
  6518  // SetRecipeVersion sets the RecipeVersion field's value.
  6519  func (s *DeleteRecipeVersionOutput) SetRecipeVersion(v string) *DeleteRecipeVersionOutput {
  6520  	s.RecipeVersion = &v
  6521  	return s
  6522  }
  6523  
  6524  type DeleteScheduleInput struct {
  6525  	_ struct{} `type:"structure" nopayload:"true"`
  6526  
  6527  	// The name of the schedule to be deleted.
  6528  	//
  6529  	// Name is a required field
  6530  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6531  }
  6532  
  6533  // String returns the string representation.
  6534  //
  6535  // API parameter values that are decorated as "sensitive" in the API will not
  6536  // be included in the string output. The member name will be present, but the
  6537  // value will be replaced with "sensitive".
  6538  func (s DeleteScheduleInput) String() string {
  6539  	return awsutil.Prettify(s)
  6540  }
  6541  
  6542  // GoString returns the string representation.
  6543  //
  6544  // API parameter values that are decorated as "sensitive" in the API will not
  6545  // be included in the string output. The member name will be present, but the
  6546  // value will be replaced with "sensitive".
  6547  func (s DeleteScheduleInput) GoString() string {
  6548  	return s.String()
  6549  }
  6550  
  6551  // Validate inspects the fields of the type to determine if they are valid.
  6552  func (s *DeleteScheduleInput) Validate() error {
  6553  	invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"}
  6554  	if s.Name == nil {
  6555  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6556  	}
  6557  	if s.Name != nil && len(*s.Name) < 1 {
  6558  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6559  	}
  6560  
  6561  	if invalidParams.Len() > 0 {
  6562  		return invalidParams
  6563  	}
  6564  	return nil
  6565  }
  6566  
  6567  // SetName sets the Name field's value.
  6568  func (s *DeleteScheduleInput) SetName(v string) *DeleteScheduleInput {
  6569  	s.Name = &v
  6570  	return s
  6571  }
  6572  
  6573  type DeleteScheduleOutput struct {
  6574  	_ struct{} `type:"structure"`
  6575  
  6576  	// The name of the schedule that was deleted.
  6577  	//
  6578  	// Name is a required field
  6579  	Name *string `min:"1" type:"string" required:"true"`
  6580  }
  6581  
  6582  // String returns the string representation.
  6583  //
  6584  // API parameter values that are decorated as "sensitive" in the API will not
  6585  // be included in the string output. The member name will be present, but the
  6586  // value will be replaced with "sensitive".
  6587  func (s DeleteScheduleOutput) String() string {
  6588  	return awsutil.Prettify(s)
  6589  }
  6590  
  6591  // GoString returns the string representation.
  6592  //
  6593  // API parameter values that are decorated as "sensitive" in the API will not
  6594  // be included in the string output. The member name will be present, but the
  6595  // value will be replaced with "sensitive".
  6596  func (s DeleteScheduleOutput) GoString() string {
  6597  	return s.String()
  6598  }
  6599  
  6600  // SetName sets the Name field's value.
  6601  func (s *DeleteScheduleOutput) SetName(v string) *DeleteScheduleOutput {
  6602  	s.Name = &v
  6603  	return s
  6604  }
  6605  
  6606  type DescribeDatasetInput struct {
  6607  	_ struct{} `type:"structure" nopayload:"true"`
  6608  
  6609  	// The name of the dataset to be described.
  6610  	//
  6611  	// Name is a required field
  6612  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6613  }
  6614  
  6615  // String returns the string representation.
  6616  //
  6617  // API parameter values that are decorated as "sensitive" in the API will not
  6618  // be included in the string output. The member name will be present, but the
  6619  // value will be replaced with "sensitive".
  6620  func (s DescribeDatasetInput) String() string {
  6621  	return awsutil.Prettify(s)
  6622  }
  6623  
  6624  // GoString returns the string representation.
  6625  //
  6626  // API parameter values that are decorated as "sensitive" in the API will not
  6627  // be included in the string output. The member name will be present, but the
  6628  // value will be replaced with "sensitive".
  6629  func (s DescribeDatasetInput) GoString() string {
  6630  	return s.String()
  6631  }
  6632  
  6633  // Validate inspects the fields of the type to determine if they are valid.
  6634  func (s *DescribeDatasetInput) Validate() error {
  6635  	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
  6636  	if s.Name == nil {
  6637  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6638  	}
  6639  	if s.Name != nil && len(*s.Name) < 1 {
  6640  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6641  	}
  6642  
  6643  	if invalidParams.Len() > 0 {
  6644  		return invalidParams
  6645  	}
  6646  	return nil
  6647  }
  6648  
  6649  // SetName sets the Name field's value.
  6650  func (s *DescribeDatasetInput) SetName(v string) *DescribeDatasetInput {
  6651  	s.Name = &v
  6652  	return s
  6653  }
  6654  
  6655  type DescribeDatasetOutput struct {
  6656  	_ struct{} `type:"structure"`
  6657  
  6658  	// The date and time that the dataset was created.
  6659  	CreateDate *time.Time `type:"timestamp"`
  6660  
  6661  	// The identifier (user name) of the user who created the dataset.
  6662  	CreatedBy *string `type:"string"`
  6663  
  6664  	// The file format of a dataset that is created from an Amazon S3 file or folder.
  6665  	Format *string `type:"string" enum:"InputFormat"`
  6666  
  6667  	// Represents a set of options that define the structure of either comma-separated
  6668  	// value (CSV), Excel, or JSON input.
  6669  	FormatOptions *FormatOptions `type:"structure"`
  6670  
  6671  	// Represents information on how DataBrew can find data, in either the Glue
  6672  	// Data Catalog or Amazon S3.
  6673  	//
  6674  	// Input is a required field
  6675  	Input *Input `type:"structure" required:"true"`
  6676  
  6677  	// The identifier (user name) of the user who last modified the dataset.
  6678  	LastModifiedBy *string `type:"string"`
  6679  
  6680  	// The date and time that the dataset was last modified.
  6681  	LastModifiedDate *time.Time `type:"timestamp"`
  6682  
  6683  	// The name of the dataset.
  6684  	//
  6685  	// Name is a required field
  6686  	Name *string `min:"1" type:"string" required:"true"`
  6687  
  6688  	// A set of options that defines how DataBrew interprets an Amazon S3 path of
  6689  	// the dataset.
  6690  	PathOptions *PathOptions `type:"structure"`
  6691  
  6692  	// The Amazon Resource Name (ARN) of the dataset.
  6693  	ResourceArn *string `min:"20" type:"string"`
  6694  
  6695  	// The location of the data for this dataset, Amazon S3 or the Glue Data Catalog.
  6696  	Source *string `type:"string" enum:"Source"`
  6697  
  6698  	// Metadata tags associated with this dataset.
  6699  	Tags map[string]*string `min:"1" type:"map"`
  6700  }
  6701  
  6702  // String returns the string representation.
  6703  //
  6704  // API parameter values that are decorated as "sensitive" in the API will not
  6705  // be included in the string output. The member name will be present, but the
  6706  // value will be replaced with "sensitive".
  6707  func (s DescribeDatasetOutput) String() string {
  6708  	return awsutil.Prettify(s)
  6709  }
  6710  
  6711  // GoString returns the string representation.
  6712  //
  6713  // API parameter values that are decorated as "sensitive" in the API will not
  6714  // be included in the string output. The member name will be present, but the
  6715  // value will be replaced with "sensitive".
  6716  func (s DescribeDatasetOutput) GoString() string {
  6717  	return s.String()
  6718  }
  6719  
  6720  // SetCreateDate sets the CreateDate field's value.
  6721  func (s *DescribeDatasetOutput) SetCreateDate(v time.Time) *DescribeDatasetOutput {
  6722  	s.CreateDate = &v
  6723  	return s
  6724  }
  6725  
  6726  // SetCreatedBy sets the CreatedBy field's value.
  6727  func (s *DescribeDatasetOutput) SetCreatedBy(v string) *DescribeDatasetOutput {
  6728  	s.CreatedBy = &v
  6729  	return s
  6730  }
  6731  
  6732  // SetFormat sets the Format field's value.
  6733  func (s *DescribeDatasetOutput) SetFormat(v string) *DescribeDatasetOutput {
  6734  	s.Format = &v
  6735  	return s
  6736  }
  6737  
  6738  // SetFormatOptions sets the FormatOptions field's value.
  6739  func (s *DescribeDatasetOutput) SetFormatOptions(v *FormatOptions) *DescribeDatasetOutput {
  6740  	s.FormatOptions = v
  6741  	return s
  6742  }
  6743  
  6744  // SetInput sets the Input field's value.
  6745  func (s *DescribeDatasetOutput) SetInput(v *Input) *DescribeDatasetOutput {
  6746  	s.Input = v
  6747  	return s
  6748  }
  6749  
  6750  // SetLastModifiedBy sets the LastModifiedBy field's value.
  6751  func (s *DescribeDatasetOutput) SetLastModifiedBy(v string) *DescribeDatasetOutput {
  6752  	s.LastModifiedBy = &v
  6753  	return s
  6754  }
  6755  
  6756  // SetLastModifiedDate sets the LastModifiedDate field's value.
  6757  func (s *DescribeDatasetOutput) SetLastModifiedDate(v time.Time) *DescribeDatasetOutput {
  6758  	s.LastModifiedDate = &v
  6759  	return s
  6760  }
  6761  
  6762  // SetName sets the Name field's value.
  6763  func (s *DescribeDatasetOutput) SetName(v string) *DescribeDatasetOutput {
  6764  	s.Name = &v
  6765  	return s
  6766  }
  6767  
  6768  // SetPathOptions sets the PathOptions field's value.
  6769  func (s *DescribeDatasetOutput) SetPathOptions(v *PathOptions) *DescribeDatasetOutput {
  6770  	s.PathOptions = v
  6771  	return s
  6772  }
  6773  
  6774  // SetResourceArn sets the ResourceArn field's value.
  6775  func (s *DescribeDatasetOutput) SetResourceArn(v string) *DescribeDatasetOutput {
  6776  	s.ResourceArn = &v
  6777  	return s
  6778  }
  6779  
  6780  // SetSource sets the Source field's value.
  6781  func (s *DescribeDatasetOutput) SetSource(v string) *DescribeDatasetOutput {
  6782  	s.Source = &v
  6783  	return s
  6784  }
  6785  
  6786  // SetTags sets the Tags field's value.
  6787  func (s *DescribeDatasetOutput) SetTags(v map[string]*string) *DescribeDatasetOutput {
  6788  	s.Tags = v
  6789  	return s
  6790  }
  6791  
  6792  type DescribeJobInput struct {
  6793  	_ struct{} `type:"structure" nopayload:"true"`
  6794  
  6795  	// The name of the job to be described.
  6796  	//
  6797  	// Name is a required field
  6798  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6799  }
  6800  
  6801  // String returns the string representation.
  6802  //
  6803  // API parameter values that are decorated as "sensitive" in the API will not
  6804  // be included in the string output. The member name will be present, but the
  6805  // value will be replaced with "sensitive".
  6806  func (s DescribeJobInput) String() string {
  6807  	return awsutil.Prettify(s)
  6808  }
  6809  
  6810  // GoString returns the string representation.
  6811  //
  6812  // API parameter values that are decorated as "sensitive" in the API will not
  6813  // be included in the string output. The member name will be present, but the
  6814  // value will be replaced with "sensitive".
  6815  func (s DescribeJobInput) GoString() string {
  6816  	return s.String()
  6817  }
  6818  
  6819  // Validate inspects the fields of the type to determine if they are valid.
  6820  func (s *DescribeJobInput) Validate() error {
  6821  	invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"}
  6822  	if s.Name == nil {
  6823  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6824  	}
  6825  	if s.Name != nil && len(*s.Name) < 1 {
  6826  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6827  	}
  6828  
  6829  	if invalidParams.Len() > 0 {
  6830  		return invalidParams
  6831  	}
  6832  	return nil
  6833  }
  6834  
  6835  // SetName sets the Name field's value.
  6836  func (s *DescribeJobInput) SetName(v string) *DescribeJobInput {
  6837  	s.Name = &v
  6838  	return s
  6839  }
  6840  
  6841  type DescribeJobOutput struct {
  6842  	_ struct{} `type:"structure"`
  6843  
  6844  	// The date and time that the job was created.
  6845  	CreateDate *time.Time `type:"timestamp"`
  6846  
  6847  	// The identifier (user name) of the user associated with the creation of the
  6848  	// job.
  6849  	CreatedBy *string `type:"string"`
  6850  
  6851  	// One or more artifacts that represent the Glue Data Catalog output from running
  6852  	// the job.
  6853  	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
  6854  
  6855  	// Represents a list of JDBC database output objects which defines the output
  6856  	// destination for a DataBrew recipe job to write into.
  6857  	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
  6858  
  6859  	// The dataset that the job acts upon.
  6860  	DatasetName *string `min:"1" type:"string"`
  6861  
  6862  	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
  6863  	// the job.
  6864  	EncryptionKeyArn *string `min:"20" type:"string"`
  6865  
  6866  	// The encryption mode for the job, which can be one of the following:
  6867  	//
  6868  	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
  6869  	//
  6870  	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
  6871  	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
  6872  
  6873  	// Sample configuration for profile jobs only. Determines the number of rows
  6874  	// on which the profile job will be executed.
  6875  	JobSample *JobSample `type:"structure"`
  6876  
  6877  	// The identifier (user name) of the user who last modified the job.
  6878  	LastModifiedBy *string `type:"string"`
  6879  
  6880  	// The date and time that the job was last modified.
  6881  	LastModifiedDate *time.Time `type:"timestamp"`
  6882  
  6883  	// Indicates whether Amazon CloudWatch logging is enabled for this job.
  6884  	LogSubscription *string `type:"string" enum:"LogSubscription"`
  6885  
  6886  	// The maximum number of compute nodes that DataBrew can consume when the job
  6887  	// processes data.
  6888  	MaxCapacity *int64 `type:"integer"`
  6889  
  6890  	// The maximum number of times to retry the job after a job run fails.
  6891  	MaxRetries *int64 `type:"integer"`
  6892  
  6893  	// The name of the job.
  6894  	//
  6895  	// Name is a required field
  6896  	Name *string `min:"1" type:"string" required:"true"`
  6897  
  6898  	// One or more artifacts that represent the output from running the job.
  6899  	Outputs []*Output `min:"1" type:"list"`
  6900  
  6901  	// Configuration for profile jobs. Used to select columns, do evaluations, and
  6902  	// override default parameters of evaluations. When configuration is null, the
  6903  	// profile job will run with default settings.
  6904  	ProfileConfiguration *ProfileConfiguration `type:"structure"`
  6905  
  6906  	// The DataBrew project associated with this job.
  6907  	ProjectName *string `min:"1" type:"string"`
  6908  
  6909  	// Represents the name and version of a DataBrew recipe.
  6910  	RecipeReference *RecipeReference `type:"structure"`
  6911  
  6912  	// The Amazon Resource Name (ARN) of the job.
  6913  	ResourceArn *string `min:"20" type:"string"`
  6914  
  6915  	// The ARN of the Identity and Access Management (IAM) role to be assumed when
  6916  	// DataBrew runs the job.
  6917  	RoleArn *string `min:"20" type:"string"`
  6918  
  6919  	// Metadata tags associated with this job.
  6920  	Tags map[string]*string `min:"1" type:"map"`
  6921  
  6922  	// The job's timeout in minutes. A job that attempts to run longer than this
  6923  	// timeout period ends with a status of TIMEOUT.
  6924  	Timeout *int64 `type:"integer"`
  6925  
  6926  	// The job type, which must be one of the following:
  6927  	//
  6928  	//    * PROFILE - The job analyzes the dataset to determine its size, data types,
  6929  	//    data distribution, and more.
  6930  	//
  6931  	//    * RECIPE - The job applies one or more transformations to a dataset.
  6932  	Type *string `type:"string" enum:"JobType"`
  6933  }
  6934  
  6935  // String returns the string representation.
  6936  //
  6937  // API parameter values that are decorated as "sensitive" in the API will not
  6938  // be included in the string output. The member name will be present, but the
  6939  // value will be replaced with "sensitive".
  6940  func (s DescribeJobOutput) String() string {
  6941  	return awsutil.Prettify(s)
  6942  }
  6943  
  6944  // GoString returns the string representation.
  6945  //
  6946  // API parameter values that are decorated as "sensitive" in the API will not
  6947  // be included in the string output. The member name will be present, but the
  6948  // value will be replaced with "sensitive".
  6949  func (s DescribeJobOutput) GoString() string {
  6950  	return s.String()
  6951  }
  6952  
  6953  // SetCreateDate sets the CreateDate field's value.
  6954  func (s *DescribeJobOutput) SetCreateDate(v time.Time) *DescribeJobOutput {
  6955  	s.CreateDate = &v
  6956  	return s
  6957  }
  6958  
  6959  // SetCreatedBy sets the CreatedBy field's value.
  6960  func (s *DescribeJobOutput) SetCreatedBy(v string) *DescribeJobOutput {
  6961  	s.CreatedBy = &v
  6962  	return s
  6963  }
  6964  
  6965  // SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
  6966  func (s *DescribeJobOutput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *DescribeJobOutput {
  6967  	s.DataCatalogOutputs = v
  6968  	return s
  6969  }
  6970  
  6971  // SetDatabaseOutputs sets the DatabaseOutputs field's value.
  6972  func (s *DescribeJobOutput) SetDatabaseOutputs(v []*DatabaseOutput_) *DescribeJobOutput {
  6973  	s.DatabaseOutputs = v
  6974  	return s
  6975  }
  6976  
  6977  // SetDatasetName sets the DatasetName field's value.
  6978  func (s *DescribeJobOutput) SetDatasetName(v string) *DescribeJobOutput {
  6979  	s.DatasetName = &v
  6980  	return s
  6981  }
  6982  
  6983  // SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
  6984  func (s *DescribeJobOutput) SetEncryptionKeyArn(v string) *DescribeJobOutput {
  6985  	s.EncryptionKeyArn = &v
  6986  	return s
  6987  }
  6988  
  6989  // SetEncryptionMode sets the EncryptionMode field's value.
  6990  func (s *DescribeJobOutput) SetEncryptionMode(v string) *DescribeJobOutput {
  6991  	s.EncryptionMode = &v
  6992  	return s
  6993  }
  6994  
  6995  // SetJobSample sets the JobSample field's value.
  6996  func (s *DescribeJobOutput) SetJobSample(v *JobSample) *DescribeJobOutput {
  6997  	s.JobSample = v
  6998  	return s
  6999  }
  7000  
  7001  // SetLastModifiedBy sets the LastModifiedBy field's value.
  7002  func (s *DescribeJobOutput) SetLastModifiedBy(v string) *DescribeJobOutput {
  7003  	s.LastModifiedBy = &v
  7004  	return s
  7005  }
  7006  
  7007  // SetLastModifiedDate sets the LastModifiedDate field's value.
  7008  func (s *DescribeJobOutput) SetLastModifiedDate(v time.Time) *DescribeJobOutput {
  7009  	s.LastModifiedDate = &v
  7010  	return s
  7011  }
  7012  
  7013  // SetLogSubscription sets the LogSubscription field's value.
  7014  func (s *DescribeJobOutput) SetLogSubscription(v string) *DescribeJobOutput {
  7015  	s.LogSubscription = &v
  7016  	return s
  7017  }
  7018  
  7019  // SetMaxCapacity sets the MaxCapacity field's value.
  7020  func (s *DescribeJobOutput) SetMaxCapacity(v int64) *DescribeJobOutput {
  7021  	s.MaxCapacity = &v
  7022  	return s
  7023  }
  7024  
  7025  // SetMaxRetries sets the MaxRetries field's value.
  7026  func (s *DescribeJobOutput) SetMaxRetries(v int64) *DescribeJobOutput {
  7027  	s.MaxRetries = &v
  7028  	return s
  7029  }
  7030  
  7031  // SetName sets the Name field's value.
  7032  func (s *DescribeJobOutput) SetName(v string) *DescribeJobOutput {
  7033  	s.Name = &v
  7034  	return s
  7035  }
  7036  
  7037  // SetOutputs sets the Outputs field's value.
  7038  func (s *DescribeJobOutput) SetOutputs(v []*Output) *DescribeJobOutput {
  7039  	s.Outputs = v
  7040  	return s
  7041  }
  7042  
  7043  // SetProfileConfiguration sets the ProfileConfiguration field's value.
  7044  func (s *DescribeJobOutput) SetProfileConfiguration(v *ProfileConfiguration) *DescribeJobOutput {
  7045  	s.ProfileConfiguration = v
  7046  	return s
  7047  }
  7048  
  7049  // SetProjectName sets the ProjectName field's value.
  7050  func (s *DescribeJobOutput) SetProjectName(v string) *DescribeJobOutput {
  7051  	s.ProjectName = &v
  7052  	return s
  7053  }
  7054  
  7055  // SetRecipeReference sets the RecipeReference field's value.
  7056  func (s *DescribeJobOutput) SetRecipeReference(v *RecipeReference) *DescribeJobOutput {
  7057  	s.RecipeReference = v
  7058  	return s
  7059  }
  7060  
  7061  // SetResourceArn sets the ResourceArn field's value.
  7062  func (s *DescribeJobOutput) SetResourceArn(v string) *DescribeJobOutput {
  7063  	s.ResourceArn = &v
  7064  	return s
  7065  }
  7066  
  7067  // SetRoleArn sets the RoleArn field's value.
  7068  func (s *DescribeJobOutput) SetRoleArn(v string) *DescribeJobOutput {
  7069  	s.RoleArn = &v
  7070  	return s
  7071  }
  7072  
  7073  // SetTags sets the Tags field's value.
  7074  func (s *DescribeJobOutput) SetTags(v map[string]*string) *DescribeJobOutput {
  7075  	s.Tags = v
  7076  	return s
  7077  }
  7078  
  7079  // SetTimeout sets the Timeout field's value.
  7080  func (s *DescribeJobOutput) SetTimeout(v int64) *DescribeJobOutput {
  7081  	s.Timeout = &v
  7082  	return s
  7083  }
  7084  
  7085  // SetType sets the Type field's value.
  7086  func (s *DescribeJobOutput) SetType(v string) *DescribeJobOutput {
  7087  	s.Type = &v
  7088  	return s
  7089  }
  7090  
  7091  type DescribeJobRunInput struct {
  7092  	_ struct{} `type:"structure" nopayload:"true"`
  7093  
  7094  	// The name of the job being processed during this run.
  7095  	//
  7096  	// Name is a required field
  7097  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  7098  
  7099  	// The unique identifier of the job run.
  7100  	//
  7101  	// RunId is a required field
  7102  	RunId *string `location:"uri" locationName:"runId" min:"1" type:"string" required:"true"`
  7103  }
  7104  
  7105  // String returns the string representation.
  7106  //
  7107  // API parameter values that are decorated as "sensitive" in the API will not
  7108  // be included in the string output. The member name will be present, but the
  7109  // value will be replaced with "sensitive".
  7110  func (s DescribeJobRunInput) String() string {
  7111  	return awsutil.Prettify(s)
  7112  }
  7113  
  7114  // GoString returns the string representation.
  7115  //
  7116  // API parameter values that are decorated as "sensitive" in the API will not
  7117  // be included in the string output. The member name will be present, but the
  7118  // value will be replaced with "sensitive".
  7119  func (s DescribeJobRunInput) GoString() string {
  7120  	return s.String()
  7121  }
  7122  
  7123  // Validate inspects the fields of the type to determine if they are valid.
  7124  func (s *DescribeJobRunInput) Validate() error {
  7125  	invalidParams := request.ErrInvalidParams{Context: "DescribeJobRunInput"}
  7126  	if s.Name == nil {
  7127  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7128  	}
  7129  	if s.Name != nil && len(*s.Name) < 1 {
  7130  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7131  	}
  7132  	if s.RunId == nil {
  7133  		invalidParams.Add(request.NewErrParamRequired("RunId"))
  7134  	}
  7135  	if s.RunId != nil && len(*s.RunId) < 1 {
  7136  		invalidParams.Add(request.NewErrParamMinLen("RunId", 1))
  7137  	}
  7138  
  7139  	if invalidParams.Len() > 0 {
  7140  		return invalidParams
  7141  	}
  7142  	return nil
  7143  }
  7144  
  7145  // SetName sets the Name field's value.
  7146  func (s *DescribeJobRunInput) SetName(v string) *DescribeJobRunInput {
  7147  	s.Name = &v
  7148  	return s
  7149  }
  7150  
  7151  // SetRunId sets the RunId field's value.
  7152  func (s *DescribeJobRunInput) SetRunId(v string) *DescribeJobRunInput {
  7153  	s.RunId = &v
  7154  	return s
  7155  }
  7156  
  7157  type DescribeJobRunOutput struct {
  7158  	_ struct{} `type:"structure"`
  7159  
  7160  	// The number of times that DataBrew has attempted to run the job.
  7161  	Attempt *int64 `type:"integer"`
  7162  
  7163  	// The date and time when the job completed processing.
  7164  	CompletedOn *time.Time `type:"timestamp"`
  7165  
  7166  	// One or more artifacts that represent the Glue Data Catalog output from running
  7167  	// the job.
  7168  	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
  7169  
  7170  	// Represents a list of JDBC database output objects which defines the output
  7171  	// destination for a DataBrew recipe job to write into.
  7172  	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
  7173  
  7174  	// The name of the dataset for the job to process.
  7175  	DatasetName *string `min:"1" type:"string"`
  7176  
  7177  	// A message indicating an error (if any) that was encountered when the job
  7178  	// ran.
  7179  	ErrorMessage *string `type:"string"`
  7180  
  7181  	// The amount of time, in seconds, during which the job run consumed resources.
  7182  	ExecutionTime *int64 `type:"integer"`
  7183  
  7184  	// The name of the job being processed during this run.
  7185  	//
  7186  	// JobName is a required field
  7187  	JobName *string `min:"1" type:"string" required:"true"`
  7188  
  7189  	// Sample configuration for profile jobs only. Determines the number of rows
  7190  	// on which the profile job will be executed. If a JobSample value is not provided,
  7191  	// the default value will be used. The default value is CUSTOM_ROWS for the
  7192  	// mode parameter and 20000 for the size parameter.
  7193  	JobSample *JobSample `type:"structure"`
  7194  
  7195  	// The name of an Amazon CloudWatch log group, where the job writes diagnostic
  7196  	// messages when it runs.
  7197  	LogGroupName *string `min:"1" type:"string"`
  7198  
  7199  	// The current status of Amazon CloudWatch logging for the job run.
  7200  	LogSubscription *string `type:"string" enum:"LogSubscription"`
  7201  
  7202  	// One or more output artifacts from a job run.
  7203  	Outputs []*Output `min:"1" type:"list"`
  7204  
  7205  	// Configuration for profile jobs. Used to select columns, do evaluations, and
  7206  	// override default parameters of evaluations. When configuration is null, the
  7207  	// profile job will run with default settings.
  7208  	ProfileConfiguration *ProfileConfiguration `type:"structure"`
  7209  
  7210  	// Represents the name and version of a DataBrew recipe.
  7211  	RecipeReference *RecipeReference `type:"structure"`
  7212  
  7213  	// The unique identifier of the job run.
  7214  	RunId *string `min:"1" type:"string"`
  7215  
  7216  	// The Amazon Resource Name (ARN) of the user who started the job run.
  7217  	StartedBy *string `type:"string"`
  7218  
  7219  	// The date and time when the job run began.
  7220  	StartedOn *time.Time `type:"timestamp"`
  7221  
  7222  	// The current state of the job run entity itself.
  7223  	State *string `type:"string" enum:"JobRunState"`
  7224  }
  7225  
  7226  // String returns the string representation.
  7227  //
  7228  // API parameter values that are decorated as "sensitive" in the API will not
  7229  // be included in the string output. The member name will be present, but the
  7230  // value will be replaced with "sensitive".
  7231  func (s DescribeJobRunOutput) String() string {
  7232  	return awsutil.Prettify(s)
  7233  }
  7234  
  7235  // GoString returns the string representation.
  7236  //
  7237  // API parameter values that are decorated as "sensitive" in the API will not
  7238  // be included in the string output. The member name will be present, but the
  7239  // value will be replaced with "sensitive".
  7240  func (s DescribeJobRunOutput) GoString() string {
  7241  	return s.String()
  7242  }
  7243  
  7244  // SetAttempt sets the Attempt field's value.
  7245  func (s *DescribeJobRunOutput) SetAttempt(v int64) *DescribeJobRunOutput {
  7246  	s.Attempt = &v
  7247  	return s
  7248  }
  7249  
  7250  // SetCompletedOn sets the CompletedOn field's value.
  7251  func (s *DescribeJobRunOutput) SetCompletedOn(v time.Time) *DescribeJobRunOutput {
  7252  	s.CompletedOn = &v
  7253  	return s
  7254  }
  7255  
  7256  // SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
  7257  func (s *DescribeJobRunOutput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *DescribeJobRunOutput {
  7258  	s.DataCatalogOutputs = v
  7259  	return s
  7260  }
  7261  
  7262  // SetDatabaseOutputs sets the DatabaseOutputs field's value.
  7263  func (s *DescribeJobRunOutput) SetDatabaseOutputs(v []*DatabaseOutput_) *DescribeJobRunOutput {
  7264  	s.DatabaseOutputs = v
  7265  	return s
  7266  }
  7267  
  7268  // SetDatasetName sets the DatasetName field's value.
  7269  func (s *DescribeJobRunOutput) SetDatasetName(v string) *DescribeJobRunOutput {
  7270  	s.DatasetName = &v
  7271  	return s
  7272  }
  7273  
  7274  // SetErrorMessage sets the ErrorMessage field's value.
  7275  func (s *DescribeJobRunOutput) SetErrorMessage(v string) *DescribeJobRunOutput {
  7276  	s.ErrorMessage = &v
  7277  	return s
  7278  }
  7279  
  7280  // SetExecutionTime sets the ExecutionTime field's value.
  7281  func (s *DescribeJobRunOutput) SetExecutionTime(v int64) *DescribeJobRunOutput {
  7282  	s.ExecutionTime = &v
  7283  	return s
  7284  }
  7285  
  7286  // SetJobName sets the JobName field's value.
  7287  func (s *DescribeJobRunOutput) SetJobName(v string) *DescribeJobRunOutput {
  7288  	s.JobName = &v
  7289  	return s
  7290  }
  7291  
  7292  // SetJobSample sets the JobSample field's value.
  7293  func (s *DescribeJobRunOutput) SetJobSample(v *JobSample) *DescribeJobRunOutput {
  7294  	s.JobSample = v
  7295  	return s
  7296  }
  7297  
  7298  // SetLogGroupName sets the LogGroupName field's value.
  7299  func (s *DescribeJobRunOutput) SetLogGroupName(v string) *DescribeJobRunOutput {
  7300  	s.LogGroupName = &v
  7301  	return s
  7302  }
  7303  
  7304  // SetLogSubscription sets the LogSubscription field's value.
  7305  func (s *DescribeJobRunOutput) SetLogSubscription(v string) *DescribeJobRunOutput {
  7306  	s.LogSubscription = &v
  7307  	return s
  7308  }
  7309  
  7310  // SetOutputs sets the Outputs field's value.
  7311  func (s *DescribeJobRunOutput) SetOutputs(v []*Output) *DescribeJobRunOutput {
  7312  	s.Outputs = v
  7313  	return s
  7314  }
  7315  
  7316  // SetProfileConfiguration sets the ProfileConfiguration field's value.
  7317  func (s *DescribeJobRunOutput) SetProfileConfiguration(v *ProfileConfiguration) *DescribeJobRunOutput {
  7318  	s.ProfileConfiguration = v
  7319  	return s
  7320  }
  7321  
  7322  // SetRecipeReference sets the RecipeReference field's value.
  7323  func (s *DescribeJobRunOutput) SetRecipeReference(v *RecipeReference) *DescribeJobRunOutput {
  7324  	s.RecipeReference = v
  7325  	return s
  7326  }
  7327  
  7328  // SetRunId sets the RunId field's value.
  7329  func (s *DescribeJobRunOutput) SetRunId(v string) *DescribeJobRunOutput {
  7330  	s.RunId = &v
  7331  	return s
  7332  }
  7333  
  7334  // SetStartedBy sets the StartedBy field's value.
  7335  func (s *DescribeJobRunOutput) SetStartedBy(v string) *DescribeJobRunOutput {
  7336  	s.StartedBy = &v
  7337  	return s
  7338  }
  7339  
  7340  // SetStartedOn sets the StartedOn field's value.
  7341  func (s *DescribeJobRunOutput) SetStartedOn(v time.Time) *DescribeJobRunOutput {
  7342  	s.StartedOn = &v
  7343  	return s
  7344  }
  7345  
  7346  // SetState sets the State field's value.
  7347  func (s *DescribeJobRunOutput) SetState(v string) *DescribeJobRunOutput {
  7348  	s.State = &v
  7349  	return s
  7350  }
  7351  
  7352  type DescribeProjectInput struct {
  7353  	_ struct{} `type:"structure" nopayload:"true"`
  7354  
  7355  	// The name of the project to be described.
  7356  	//
  7357  	// Name is a required field
  7358  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  7359  }
  7360  
  7361  // String returns the string representation.
  7362  //
  7363  // API parameter values that are decorated as "sensitive" in the API will not
  7364  // be included in the string output. The member name will be present, but the
  7365  // value will be replaced with "sensitive".
  7366  func (s DescribeProjectInput) String() string {
  7367  	return awsutil.Prettify(s)
  7368  }
  7369  
  7370  // GoString returns the string representation.
  7371  //
  7372  // API parameter values that are decorated as "sensitive" in the API will not
  7373  // be included in the string output. The member name will be present, but the
  7374  // value will be replaced with "sensitive".
  7375  func (s DescribeProjectInput) GoString() string {
  7376  	return s.String()
  7377  }
  7378  
  7379  // Validate inspects the fields of the type to determine if they are valid.
  7380  func (s *DescribeProjectInput) Validate() error {
  7381  	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
  7382  	if s.Name == nil {
  7383  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7384  	}
  7385  	if s.Name != nil && len(*s.Name) < 1 {
  7386  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7387  	}
  7388  
  7389  	if invalidParams.Len() > 0 {
  7390  		return invalidParams
  7391  	}
  7392  	return nil
  7393  }
  7394  
  7395  // SetName sets the Name field's value.
  7396  func (s *DescribeProjectInput) SetName(v string) *DescribeProjectInput {
  7397  	s.Name = &v
  7398  	return s
  7399  }
  7400  
  7401  type DescribeProjectOutput struct {
  7402  	_ struct{} `type:"structure"`
  7403  
  7404  	// The date and time that the project was created.
  7405  	CreateDate *time.Time `type:"timestamp"`
  7406  
  7407  	// The identifier (user name) of the user who created the project.
  7408  	CreatedBy *string `type:"string"`
  7409  
  7410  	// The dataset associated with the project.
  7411  	DatasetName *string `min:"1" type:"string"`
  7412  
  7413  	// The identifier (user name) of the user who last modified the project.
  7414  	LastModifiedBy *string `type:"string"`
  7415  
  7416  	// The date and time that the project was last modified.
  7417  	LastModifiedDate *time.Time `type:"timestamp"`
  7418  
  7419  	// The name of the project.
  7420  	//
  7421  	// Name is a required field
  7422  	Name *string `min:"1" type:"string" required:"true"`
  7423  
  7424  	// The date and time when the project was opened.
  7425  	OpenDate *time.Time `type:"timestamp"`
  7426  
  7427  	// The identifier (user name) of the user that opened the project for use.
  7428  	OpenedBy *string `type:"string"`
  7429  
  7430  	// The recipe associated with this job.
  7431  	RecipeName *string `min:"1" type:"string"`
  7432  
  7433  	// The Amazon Resource Name (ARN) of the project.
  7434  	ResourceArn *string `min:"20" type:"string"`
  7435  
  7436  	// The ARN of the Identity and Access Management (IAM) role to be assumed when
  7437  	// DataBrew runs the job.
  7438  	RoleArn *string `min:"20" type:"string"`
  7439  
  7440  	// Represents the sample size and sampling type for DataBrew to use for interactive
  7441  	// data analysis.
  7442  	Sample *Sample `type:"structure"`
  7443  
  7444  	// Describes the current state of the session:
  7445  	//
  7446  	//    * PROVISIONING - allocating resources for the session.
  7447  	//
  7448  	//    * INITIALIZING - getting the session ready for first use.
  7449  	//
  7450  	//    * ASSIGNED - the session is ready for use.
  7451  	SessionStatus *string `type:"string" enum:"SessionStatus"`
  7452  
  7453  	// Metadata tags associated with this project.
  7454  	Tags map[string]*string `min:"1" type:"map"`
  7455  }
  7456  
  7457  // String returns the string representation.
  7458  //
  7459  // API parameter values that are decorated as "sensitive" in the API will not
  7460  // be included in the string output. The member name will be present, but the
  7461  // value will be replaced with "sensitive".
  7462  func (s DescribeProjectOutput) String() string {
  7463  	return awsutil.Prettify(s)
  7464  }
  7465  
  7466  // GoString returns the string representation.
  7467  //
  7468  // API parameter values that are decorated as "sensitive" in the API will not
  7469  // be included in the string output. The member name will be present, but the
  7470  // value will be replaced with "sensitive".
  7471  func (s DescribeProjectOutput) GoString() string {
  7472  	return s.String()
  7473  }
  7474  
  7475  // SetCreateDate sets the CreateDate field's value.
  7476  func (s *DescribeProjectOutput) SetCreateDate(v time.Time) *DescribeProjectOutput {
  7477  	s.CreateDate = &v
  7478  	return s
  7479  }
  7480  
  7481  // SetCreatedBy sets the CreatedBy field's value.
  7482  func (s *DescribeProjectOutput) SetCreatedBy(v string) *DescribeProjectOutput {
  7483  	s.CreatedBy = &v
  7484  	return s
  7485  }
  7486  
  7487  // SetDatasetName sets the DatasetName field's value.
  7488  func (s *DescribeProjectOutput) SetDatasetName(v string) *DescribeProjectOutput {
  7489  	s.DatasetName = &v
  7490  	return s
  7491  }
  7492  
  7493  // SetLastModifiedBy sets the LastModifiedBy field's value.
  7494  func (s *DescribeProjectOutput) SetLastModifiedBy(v string) *DescribeProjectOutput {
  7495  	s.LastModifiedBy = &v
  7496  	return s
  7497  }
  7498  
  7499  // SetLastModifiedDate sets the LastModifiedDate field's value.
  7500  func (s *DescribeProjectOutput) SetLastModifiedDate(v time.Time) *DescribeProjectOutput {
  7501  	s.LastModifiedDate = &v
  7502  	return s
  7503  }
  7504  
  7505  // SetName sets the Name field's value.
  7506  func (s *DescribeProjectOutput) SetName(v string) *DescribeProjectOutput {
  7507  	s.Name = &v
  7508  	return s
  7509  }
  7510  
  7511  // SetOpenDate sets the OpenDate field's value.
  7512  func (s *DescribeProjectOutput) SetOpenDate(v time.Time) *DescribeProjectOutput {
  7513  	s.OpenDate = &v
  7514  	return s
  7515  }
  7516  
  7517  // SetOpenedBy sets the OpenedBy field's value.
  7518  func (s *DescribeProjectOutput) SetOpenedBy(v string) *DescribeProjectOutput {
  7519  	s.OpenedBy = &v
  7520  	return s
  7521  }
  7522  
  7523  // SetRecipeName sets the RecipeName field's value.
  7524  func (s *DescribeProjectOutput) SetRecipeName(v string) *DescribeProjectOutput {
  7525  	s.RecipeName = &v
  7526  	return s
  7527  }
  7528  
  7529  // SetResourceArn sets the ResourceArn field's value.
  7530  func (s *DescribeProjectOutput) SetResourceArn(v string) *DescribeProjectOutput {
  7531  	s.ResourceArn = &v
  7532  	return s
  7533  }
  7534  
  7535  // SetRoleArn sets the RoleArn field's value.
  7536  func (s *DescribeProjectOutput) SetRoleArn(v string) *DescribeProjectOutput {
  7537  	s.RoleArn = &v
  7538  	return s
  7539  }
  7540  
  7541  // SetSample sets the Sample field's value.
  7542  func (s *DescribeProjectOutput) SetSample(v *Sample) *DescribeProjectOutput {
  7543  	s.Sample = v
  7544  	return s
  7545  }
  7546  
  7547  // SetSessionStatus sets the SessionStatus field's value.
  7548  func (s *DescribeProjectOutput) SetSessionStatus(v string) *DescribeProjectOutput {
  7549  	s.SessionStatus = &v
  7550  	return s
  7551  }
  7552  
  7553  // SetTags sets the Tags field's value.
  7554  func (s *DescribeProjectOutput) SetTags(v map[string]*string) *DescribeProjectOutput {
  7555  	s.Tags = v
  7556  	return s
  7557  }
  7558  
  7559  type DescribeRecipeInput struct {
  7560  	_ struct{} `type:"structure" nopayload:"true"`
  7561  
  7562  	// The name of the recipe to be described.
  7563  	//
  7564  	// Name is a required field
  7565  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  7566  
  7567  	// The recipe version identifier. If this parameter isn't specified, then the
  7568  	// latest published version is returned.
  7569  	RecipeVersion *string `location:"querystring" locationName:"recipeVersion" min:"1" type:"string"`
  7570  }
  7571  
  7572  // String returns the string representation.
  7573  //
  7574  // API parameter values that are decorated as "sensitive" in the API will not
  7575  // be included in the string output. The member name will be present, but the
  7576  // value will be replaced with "sensitive".
  7577  func (s DescribeRecipeInput) String() string {
  7578  	return awsutil.Prettify(s)
  7579  }
  7580  
  7581  // GoString returns the string representation.
  7582  //
  7583  // API parameter values that are decorated as "sensitive" in the API will not
  7584  // be included in the string output. The member name will be present, but the
  7585  // value will be replaced with "sensitive".
  7586  func (s DescribeRecipeInput) GoString() string {
  7587  	return s.String()
  7588  }
  7589  
  7590  // Validate inspects the fields of the type to determine if they are valid.
  7591  func (s *DescribeRecipeInput) Validate() error {
  7592  	invalidParams := request.ErrInvalidParams{Context: "DescribeRecipeInput"}
  7593  	if s.Name == nil {
  7594  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7595  	}
  7596  	if s.Name != nil && len(*s.Name) < 1 {
  7597  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7598  	}
  7599  	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
  7600  		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
  7601  	}
  7602  
  7603  	if invalidParams.Len() > 0 {
  7604  		return invalidParams
  7605  	}
  7606  	return nil
  7607  }
  7608  
  7609  // SetName sets the Name field's value.
  7610  func (s *DescribeRecipeInput) SetName(v string) *DescribeRecipeInput {
  7611  	s.Name = &v
  7612  	return s
  7613  }
  7614  
  7615  // SetRecipeVersion sets the RecipeVersion field's value.
  7616  func (s *DescribeRecipeInput) SetRecipeVersion(v string) *DescribeRecipeInput {
  7617  	s.RecipeVersion = &v
  7618  	return s
  7619  }
  7620  
  7621  type DescribeRecipeOutput struct {
  7622  	_ struct{} `type:"structure"`
  7623  
  7624  	// The date and time that the recipe was created.
  7625  	CreateDate *time.Time `type:"timestamp"`
  7626  
  7627  	// The identifier (user name) of the user who created the recipe.
  7628  	CreatedBy *string `type:"string"`
  7629  
  7630  	// The description of the recipe.
  7631  	Description *string `type:"string"`
  7632  
  7633  	// The identifier (user name) of the user who last modified the recipe.
  7634  	LastModifiedBy *string `type:"string"`
  7635  
  7636  	// The date and time that the recipe was last modified.
  7637  	LastModifiedDate *time.Time `type:"timestamp"`
  7638  
  7639  	// The name of the recipe.
  7640  	//
  7641  	// Name is a required field
  7642  	Name *string `min:"1" type:"string" required:"true"`
  7643  
  7644  	// The name of the project associated with this recipe.
  7645  	ProjectName *string `min:"1" type:"string"`
  7646  
  7647  	// The identifier (user name) of the user who last published the recipe.
  7648  	PublishedBy *string `type:"string"`
  7649  
  7650  	// The date and time when the recipe was last published.
  7651  	PublishedDate *time.Time `type:"timestamp"`
  7652  
  7653  	// The recipe version identifier.
  7654  	RecipeVersion *string `min:"1" type:"string"`
  7655  
  7656  	// The ARN of the recipe.
  7657  	ResourceArn *string `min:"20" type:"string"`
  7658  
  7659  	// One or more steps to be performed by the recipe. Each step consists of an
  7660  	// action, and the conditions under which the action should succeed.
  7661  	Steps []*RecipeStep `type:"list"`
  7662  
  7663  	// Metadata tags associated with this project.
  7664  	Tags map[string]*string `min:"1" type:"map"`
  7665  }
  7666  
  7667  // String returns the string representation.
  7668  //
  7669  // API parameter values that are decorated as "sensitive" in the API will not
  7670  // be included in the string output. The member name will be present, but the
  7671  // value will be replaced with "sensitive".
  7672  func (s DescribeRecipeOutput) String() string {
  7673  	return awsutil.Prettify(s)
  7674  }
  7675  
  7676  // GoString returns the string representation.
  7677  //
  7678  // API parameter values that are decorated as "sensitive" in the API will not
  7679  // be included in the string output. The member name will be present, but the
  7680  // value will be replaced with "sensitive".
  7681  func (s DescribeRecipeOutput) GoString() string {
  7682  	return s.String()
  7683  }
  7684  
  7685  // SetCreateDate sets the CreateDate field's value.
  7686  func (s *DescribeRecipeOutput) SetCreateDate(v time.Time) *DescribeRecipeOutput {
  7687  	s.CreateDate = &v
  7688  	return s
  7689  }
  7690  
  7691  // SetCreatedBy sets the CreatedBy field's value.
  7692  func (s *DescribeRecipeOutput) SetCreatedBy(v string) *DescribeRecipeOutput {
  7693  	s.CreatedBy = &v
  7694  	return s
  7695  }
  7696  
  7697  // SetDescription sets the Description field's value.
  7698  func (s *DescribeRecipeOutput) SetDescription(v string) *DescribeRecipeOutput {
  7699  	s.Description = &v
  7700  	return s
  7701  }
  7702  
  7703  // SetLastModifiedBy sets the LastModifiedBy field's value.
  7704  func (s *DescribeRecipeOutput) SetLastModifiedBy(v string) *DescribeRecipeOutput {
  7705  	s.LastModifiedBy = &v
  7706  	return s
  7707  }
  7708  
  7709  // SetLastModifiedDate sets the LastModifiedDate field's value.
  7710  func (s *DescribeRecipeOutput) SetLastModifiedDate(v time.Time) *DescribeRecipeOutput {
  7711  	s.LastModifiedDate = &v
  7712  	return s
  7713  }
  7714  
  7715  // SetName sets the Name field's value.
  7716  func (s *DescribeRecipeOutput) SetName(v string) *DescribeRecipeOutput {
  7717  	s.Name = &v
  7718  	return s
  7719  }
  7720  
  7721  // SetProjectName sets the ProjectName field's value.
  7722  func (s *DescribeRecipeOutput) SetProjectName(v string) *DescribeRecipeOutput {
  7723  	s.ProjectName = &v
  7724  	return s
  7725  }
  7726  
  7727  // SetPublishedBy sets the PublishedBy field's value.
  7728  func (s *DescribeRecipeOutput) SetPublishedBy(v string) *DescribeRecipeOutput {
  7729  	s.PublishedBy = &v
  7730  	return s
  7731  }
  7732  
  7733  // SetPublishedDate sets the PublishedDate field's value.
  7734  func (s *DescribeRecipeOutput) SetPublishedDate(v time.Time) *DescribeRecipeOutput {
  7735  	s.PublishedDate = &v
  7736  	return s
  7737  }
  7738  
  7739  // SetRecipeVersion sets the RecipeVersion field's value.
  7740  func (s *DescribeRecipeOutput) SetRecipeVersion(v string) *DescribeRecipeOutput {
  7741  	s.RecipeVersion = &v
  7742  	return s
  7743  }
  7744  
  7745  // SetResourceArn sets the ResourceArn field's value.
  7746  func (s *DescribeRecipeOutput) SetResourceArn(v string) *DescribeRecipeOutput {
  7747  	s.ResourceArn = &v
  7748  	return s
  7749  }
  7750  
  7751  // SetSteps sets the Steps field's value.
  7752  func (s *DescribeRecipeOutput) SetSteps(v []*RecipeStep) *DescribeRecipeOutput {
  7753  	s.Steps = v
  7754  	return s
  7755  }
  7756  
  7757  // SetTags sets the Tags field's value.
  7758  func (s *DescribeRecipeOutput) SetTags(v map[string]*string) *DescribeRecipeOutput {
  7759  	s.Tags = v
  7760  	return s
  7761  }
  7762  
  7763  type DescribeScheduleInput struct {
  7764  	_ struct{} `type:"structure" nopayload:"true"`
  7765  
  7766  	// The name of the schedule to be described.
  7767  	//
  7768  	// Name is a required field
  7769  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  7770  }
  7771  
  7772  // String returns the string representation.
  7773  //
  7774  // API parameter values that are decorated as "sensitive" in the API will not
  7775  // be included in the string output. The member name will be present, but the
  7776  // value will be replaced with "sensitive".
  7777  func (s DescribeScheduleInput) String() string {
  7778  	return awsutil.Prettify(s)
  7779  }
  7780  
  7781  // GoString returns the string representation.
  7782  //
  7783  // API parameter values that are decorated as "sensitive" in the API will not
  7784  // be included in the string output. The member name will be present, but the
  7785  // value will be replaced with "sensitive".
  7786  func (s DescribeScheduleInput) GoString() string {
  7787  	return s.String()
  7788  }
  7789  
  7790  // Validate inspects the fields of the type to determine if they are valid.
  7791  func (s *DescribeScheduleInput) Validate() error {
  7792  	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"}
  7793  	if s.Name == nil {
  7794  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7795  	}
  7796  	if s.Name != nil && len(*s.Name) < 1 {
  7797  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7798  	}
  7799  
  7800  	if invalidParams.Len() > 0 {
  7801  		return invalidParams
  7802  	}
  7803  	return nil
  7804  }
  7805  
  7806  // SetName sets the Name field's value.
  7807  func (s *DescribeScheduleInput) SetName(v string) *DescribeScheduleInput {
  7808  	s.Name = &v
  7809  	return s
  7810  }
  7811  
  7812  type DescribeScheduleOutput struct {
  7813  	_ struct{} `type:"structure"`
  7814  
  7815  	// The date and time that the schedule was created.
  7816  	CreateDate *time.Time `type:"timestamp"`
  7817  
  7818  	// The identifier (user name) of the user who created the schedule.
  7819  	CreatedBy *string `type:"string"`
  7820  
  7821  	// The date or dates and time or times when the jobs are to be run for the schedule.
  7822  	// For more information, see Cron expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
  7823  	// in the Glue DataBrew Developer Guide.
  7824  	CronExpression *string `min:"1" type:"string"`
  7825  
  7826  	// The name or names of one or more jobs to be run by using the schedule.
  7827  	JobNames []*string `type:"list"`
  7828  
  7829  	// The identifier (user name) of the user who last modified the schedule.
  7830  	LastModifiedBy *string `type:"string"`
  7831  
  7832  	// The date and time that the schedule was last modified.
  7833  	LastModifiedDate *time.Time `type:"timestamp"`
  7834  
  7835  	// The name of the schedule.
  7836  	//
  7837  	// Name is a required field
  7838  	Name *string `min:"1" type:"string" required:"true"`
  7839  
  7840  	// The Amazon Resource Name (ARN) of the schedule.
  7841  	ResourceArn *string `min:"20" type:"string"`
  7842  
  7843  	// Metadata tags associated with this schedule.
  7844  	Tags map[string]*string `min:"1" type:"map"`
  7845  }
  7846  
  7847  // String returns the string representation.
  7848  //
  7849  // API parameter values that are decorated as "sensitive" in the API will not
  7850  // be included in the string output. The member name will be present, but the
  7851  // value will be replaced with "sensitive".
  7852  func (s DescribeScheduleOutput) String() string {
  7853  	return awsutil.Prettify(s)
  7854  }
  7855  
  7856  // GoString returns the string representation.
  7857  //
  7858  // API parameter values that are decorated as "sensitive" in the API will not
  7859  // be included in the string output. The member name will be present, but the
  7860  // value will be replaced with "sensitive".
  7861  func (s DescribeScheduleOutput) GoString() string {
  7862  	return s.String()
  7863  }
  7864  
  7865  // SetCreateDate sets the CreateDate field's value.
  7866  func (s *DescribeScheduleOutput) SetCreateDate(v time.Time) *DescribeScheduleOutput {
  7867  	s.CreateDate = &v
  7868  	return s
  7869  }
  7870  
  7871  // SetCreatedBy sets the CreatedBy field's value.
  7872  func (s *DescribeScheduleOutput) SetCreatedBy(v string) *DescribeScheduleOutput {
  7873  	s.CreatedBy = &v
  7874  	return s
  7875  }
  7876  
  7877  // SetCronExpression sets the CronExpression field's value.
  7878  func (s *DescribeScheduleOutput) SetCronExpression(v string) *DescribeScheduleOutput {
  7879  	s.CronExpression = &v
  7880  	return s
  7881  }
  7882  
  7883  // SetJobNames sets the JobNames field's value.
  7884  func (s *DescribeScheduleOutput) SetJobNames(v []*string) *DescribeScheduleOutput {
  7885  	s.JobNames = v
  7886  	return s
  7887  }
  7888  
  7889  // SetLastModifiedBy sets the LastModifiedBy field's value.
  7890  func (s *DescribeScheduleOutput) SetLastModifiedBy(v string) *DescribeScheduleOutput {
  7891  	s.LastModifiedBy = &v
  7892  	return s
  7893  }
  7894  
  7895  // SetLastModifiedDate sets the LastModifiedDate field's value.
  7896  func (s *DescribeScheduleOutput) SetLastModifiedDate(v time.Time) *DescribeScheduleOutput {
  7897  	s.LastModifiedDate = &v
  7898  	return s
  7899  }
  7900  
  7901  // SetName sets the Name field's value.
  7902  func (s *DescribeScheduleOutput) SetName(v string) *DescribeScheduleOutput {
  7903  	s.Name = &v
  7904  	return s
  7905  }
  7906  
  7907  // SetResourceArn sets the ResourceArn field's value.
  7908  func (s *DescribeScheduleOutput) SetResourceArn(v string) *DescribeScheduleOutput {
  7909  	s.ResourceArn = &v
  7910  	return s
  7911  }
  7912  
  7913  // SetTags sets the Tags field's value.
  7914  func (s *DescribeScheduleOutput) SetTags(v map[string]*string) *DescribeScheduleOutput {
  7915  	s.Tags = v
  7916  	return s
  7917  }
  7918  
  7919  // Represents a set of options that define how DataBrew will interpret a Microsoft
  7920  // Excel file when creating a dataset from that file.
  7921  type ExcelOptions struct {
  7922  	_ struct{} `type:"structure"`
  7923  
  7924  	// A variable that specifies whether the first row in the file is parsed as
  7925  	// the header. If this value is false, column names are auto-generated.
  7926  	HeaderRow *bool `type:"boolean"`
  7927  
  7928  	// One or more sheet numbers in the Excel file that will be included in the
  7929  	// dataset.
  7930  	SheetIndexes []*int64 `min:"1" type:"list"`
  7931  
  7932  	// One or more named sheets in the Excel file that will be included in the dataset.
  7933  	SheetNames []*string `min:"1" type:"list"`
  7934  }
  7935  
  7936  // String returns the string representation.
  7937  //
  7938  // API parameter values that are decorated as "sensitive" in the API will not
  7939  // be included in the string output. The member name will be present, but the
  7940  // value will be replaced with "sensitive".
  7941  func (s ExcelOptions) String() string {
  7942  	return awsutil.Prettify(s)
  7943  }
  7944  
  7945  // GoString returns the string representation.
  7946  //
  7947  // API parameter values that are decorated as "sensitive" in the API will not
  7948  // be included in the string output. The member name will be present, but the
  7949  // value will be replaced with "sensitive".
  7950  func (s ExcelOptions) GoString() string {
  7951  	return s.String()
  7952  }
  7953  
  7954  // Validate inspects the fields of the type to determine if they are valid.
  7955  func (s *ExcelOptions) Validate() error {
  7956  	invalidParams := request.ErrInvalidParams{Context: "ExcelOptions"}
  7957  	if s.SheetIndexes != nil && len(s.SheetIndexes) < 1 {
  7958  		invalidParams.Add(request.NewErrParamMinLen("SheetIndexes", 1))
  7959  	}
  7960  	if s.SheetNames != nil && len(s.SheetNames) < 1 {
  7961  		invalidParams.Add(request.NewErrParamMinLen("SheetNames", 1))
  7962  	}
  7963  
  7964  	if invalidParams.Len() > 0 {
  7965  		return invalidParams
  7966  	}
  7967  	return nil
  7968  }
  7969  
  7970  // SetHeaderRow sets the HeaderRow field's value.
  7971  func (s *ExcelOptions) SetHeaderRow(v bool) *ExcelOptions {
  7972  	s.HeaderRow = &v
  7973  	return s
  7974  }
  7975  
  7976  // SetSheetIndexes sets the SheetIndexes field's value.
  7977  func (s *ExcelOptions) SetSheetIndexes(v []*int64) *ExcelOptions {
  7978  	s.SheetIndexes = v
  7979  	return s
  7980  }
  7981  
  7982  // SetSheetNames sets the SheetNames field's value.
  7983  func (s *ExcelOptions) SetSheetNames(v []*string) *ExcelOptions {
  7984  	s.SheetNames = v
  7985  	return s
  7986  }
  7987  
  7988  // Represents a limit imposed on number of Amazon S3 files that should be selected
  7989  // for a dataset from a connected Amazon S3 path.
  7990  type FilesLimit struct {
  7991  	_ struct{} `type:"structure"`
  7992  
  7993  	// The number of Amazon S3 files to select.
  7994  	//
  7995  	// MaxFiles is a required field
  7996  	MaxFiles *int64 `min:"1" type:"integer" required:"true"`
  7997  
  7998  	// A criteria to use for Amazon S3 files sorting before their selection. By
  7999  	// default uses DESCENDING order, i.e. most recent files are selected first.
  8000  	// Anotherpossible value is ASCENDING.
  8001  	Order *string `type:"string" enum:"Order"`
  8002  
  8003  	// A criteria to use for Amazon S3 files sorting before their selection. By
  8004  	// default uses LAST_MODIFIED_DATE as a sorting criteria. Currently it's the
  8005  	// only allowed value.
  8006  	OrderedBy *string `type:"string" enum:"OrderedBy"`
  8007  }
  8008  
  8009  // String returns the string representation.
  8010  //
  8011  // API parameter values that are decorated as "sensitive" in the API will not
  8012  // be included in the string output. The member name will be present, but the
  8013  // value will be replaced with "sensitive".
  8014  func (s FilesLimit) String() string {
  8015  	return awsutil.Prettify(s)
  8016  }
  8017  
  8018  // GoString returns the string representation.
  8019  //
  8020  // API parameter values that are decorated as "sensitive" in the API will not
  8021  // be included in the string output. The member name will be present, but the
  8022  // value will be replaced with "sensitive".
  8023  func (s FilesLimit) GoString() string {
  8024  	return s.String()
  8025  }
  8026  
  8027  // Validate inspects the fields of the type to determine if they are valid.
  8028  func (s *FilesLimit) Validate() error {
  8029  	invalidParams := request.ErrInvalidParams{Context: "FilesLimit"}
  8030  	if s.MaxFiles == nil {
  8031  		invalidParams.Add(request.NewErrParamRequired("MaxFiles"))
  8032  	}
  8033  	if s.MaxFiles != nil && *s.MaxFiles < 1 {
  8034  		invalidParams.Add(request.NewErrParamMinValue("MaxFiles", 1))
  8035  	}
  8036  
  8037  	if invalidParams.Len() > 0 {
  8038  		return invalidParams
  8039  	}
  8040  	return nil
  8041  }
  8042  
  8043  // SetMaxFiles sets the MaxFiles field's value.
  8044  func (s *FilesLimit) SetMaxFiles(v int64) *FilesLimit {
  8045  	s.MaxFiles = &v
  8046  	return s
  8047  }
  8048  
  8049  // SetOrder sets the Order field's value.
  8050  func (s *FilesLimit) SetOrder(v string) *FilesLimit {
  8051  	s.Order = &v
  8052  	return s
  8053  }
  8054  
  8055  // SetOrderedBy sets the OrderedBy field's value.
  8056  func (s *FilesLimit) SetOrderedBy(v string) *FilesLimit {
  8057  	s.OrderedBy = &v
  8058  	return s
  8059  }
  8060  
  8061  // Represents a structure for defining parameter conditions. Supported conditions
  8062  // are described here: Supported conditions for dynamic datasets (https://docs-aws.amazon.com/databrew/latest/dg/datasets.multiple-files.html#conditions.for.dynamic.datasets)
  8063  // in the Glue DataBrew Developer Guide.
  8064  type FilterExpression struct {
  8065  	_ struct{} `type:"structure"`
  8066  
  8067  	// The expression which includes condition names followed by substitution variables,
  8068  	// possibly grouped and combined with other conditions. For example, "(starts_with
  8069  	// :prefix1 or starts_with :prefix2) and (ends_with :suffix1 or ends_with :suffix2)".
  8070  	// Substitution variables should start with ':' symbol.
  8071  	//
  8072  	// Expression is a required field
  8073  	Expression *string `min:"4" type:"string" required:"true"`
  8074  
  8075  	// The map of substitution variable names to their values used in this filter
  8076  	// expression.
  8077  	//
  8078  	// ValuesMap is a required field
  8079  	ValuesMap map[string]*string `type:"map" required:"true"`
  8080  }
  8081  
  8082  // String returns the string representation.
  8083  //
  8084  // API parameter values that are decorated as "sensitive" in the API will not
  8085  // be included in the string output. The member name will be present, but the
  8086  // value will be replaced with "sensitive".
  8087  func (s FilterExpression) String() string {
  8088  	return awsutil.Prettify(s)
  8089  }
  8090  
  8091  // GoString returns the string representation.
  8092  //
  8093  // API parameter values that are decorated as "sensitive" in the API will not
  8094  // be included in the string output. The member name will be present, but the
  8095  // value will be replaced with "sensitive".
  8096  func (s FilterExpression) GoString() string {
  8097  	return s.String()
  8098  }
  8099  
  8100  // Validate inspects the fields of the type to determine if they are valid.
  8101  func (s *FilterExpression) Validate() error {
  8102  	invalidParams := request.ErrInvalidParams{Context: "FilterExpression"}
  8103  	if s.Expression == nil {
  8104  		invalidParams.Add(request.NewErrParamRequired("Expression"))
  8105  	}
  8106  	if s.Expression != nil && len(*s.Expression) < 4 {
  8107  		invalidParams.Add(request.NewErrParamMinLen("Expression", 4))
  8108  	}
  8109  	if s.ValuesMap == nil {
  8110  		invalidParams.Add(request.NewErrParamRequired("ValuesMap"))
  8111  	}
  8112  
  8113  	if invalidParams.Len() > 0 {
  8114  		return invalidParams
  8115  	}
  8116  	return nil
  8117  }
  8118  
  8119  // SetExpression sets the Expression field's value.
  8120  func (s *FilterExpression) SetExpression(v string) *FilterExpression {
  8121  	s.Expression = &v
  8122  	return s
  8123  }
  8124  
  8125  // SetValuesMap sets the ValuesMap field's value.
  8126  func (s *FilterExpression) SetValuesMap(v map[string]*string) *FilterExpression {
  8127  	s.ValuesMap = v
  8128  	return s
  8129  }
  8130  
  8131  // Represents a set of options that define the structure of either comma-separated
  8132  // value (CSV), Excel, or JSON input.
  8133  type FormatOptions struct {
  8134  	_ struct{} `type:"structure"`
  8135  
  8136  	// Options that define how CSV input is to be interpreted by DataBrew.
  8137  	Csv *CsvOptions `type:"structure"`
  8138  
  8139  	// Options that define how Excel input is to be interpreted by DataBrew.
  8140  	Excel *ExcelOptions `type:"structure"`
  8141  
  8142  	// Options that define how JSON input is to be interpreted by DataBrew.
  8143  	Json *JsonOptions `type:"structure"`
  8144  }
  8145  
  8146  // String returns the string representation.
  8147  //
  8148  // API parameter values that are decorated as "sensitive" in the API will not
  8149  // be included in the string output. The member name will be present, but the
  8150  // value will be replaced with "sensitive".
  8151  func (s FormatOptions) String() string {
  8152  	return awsutil.Prettify(s)
  8153  }
  8154  
  8155  // GoString returns the string representation.
  8156  //
  8157  // API parameter values that are decorated as "sensitive" in the API will not
  8158  // be included in the string output. The member name will be present, but the
  8159  // value will be replaced with "sensitive".
  8160  func (s FormatOptions) GoString() string {
  8161  	return s.String()
  8162  }
  8163  
  8164  // Validate inspects the fields of the type to determine if they are valid.
  8165  func (s *FormatOptions) Validate() error {
  8166  	invalidParams := request.ErrInvalidParams{Context: "FormatOptions"}
  8167  	if s.Csv != nil {
  8168  		if err := s.Csv.Validate(); err != nil {
  8169  			invalidParams.AddNested("Csv", err.(request.ErrInvalidParams))
  8170  		}
  8171  	}
  8172  	if s.Excel != nil {
  8173  		if err := s.Excel.Validate(); err != nil {
  8174  			invalidParams.AddNested("Excel", err.(request.ErrInvalidParams))
  8175  		}
  8176  	}
  8177  
  8178  	if invalidParams.Len() > 0 {
  8179  		return invalidParams
  8180  	}
  8181  	return nil
  8182  }
  8183  
  8184  // SetCsv sets the Csv field's value.
  8185  func (s *FormatOptions) SetCsv(v *CsvOptions) *FormatOptions {
  8186  	s.Csv = v
  8187  	return s
  8188  }
  8189  
  8190  // SetExcel sets the Excel field's value.
  8191  func (s *FormatOptions) SetExcel(v *ExcelOptions) *FormatOptions {
  8192  	s.Excel = v
  8193  	return s
  8194  }
  8195  
  8196  // SetJson sets the Json field's value.
  8197  func (s *FormatOptions) SetJson(v *JsonOptions) *FormatOptions {
  8198  	s.Json = v
  8199  	return s
  8200  }
  8201  
  8202  // Represents information on how DataBrew can find data, in either the Glue
  8203  // Data Catalog or Amazon S3.
  8204  type Input struct {
  8205  	_ struct{} `type:"structure"`
  8206  
  8207  	// The Glue Data Catalog parameters for the data.
  8208  	DataCatalogInputDefinition *DataCatalogInputDefinition `type:"structure"`
  8209  
  8210  	// Connection information for dataset input files stored in a database.
  8211  	DatabaseInputDefinition *DatabaseInputDefinition `type:"structure"`
  8212  
  8213  	// The Amazon S3 location where the data is stored.
  8214  	S3InputDefinition *S3Location `type:"structure"`
  8215  }
  8216  
  8217  // String returns the string representation.
  8218  //
  8219  // API parameter values that are decorated as "sensitive" in the API will not
  8220  // be included in the string output. The member name will be present, but the
  8221  // value will be replaced with "sensitive".
  8222  func (s Input) String() string {
  8223  	return awsutil.Prettify(s)
  8224  }
  8225  
  8226  // GoString returns the string representation.
  8227  //
  8228  // API parameter values that are decorated as "sensitive" in the API will not
  8229  // be included in the string output. The member name will be present, but the
  8230  // value will be replaced with "sensitive".
  8231  func (s Input) GoString() string {
  8232  	return s.String()
  8233  }
  8234  
  8235  // Validate inspects the fields of the type to determine if they are valid.
  8236  func (s *Input) Validate() error {
  8237  	invalidParams := request.ErrInvalidParams{Context: "Input"}
  8238  	if s.DataCatalogInputDefinition != nil {
  8239  		if err := s.DataCatalogInputDefinition.Validate(); err != nil {
  8240  			invalidParams.AddNested("DataCatalogInputDefinition", err.(request.ErrInvalidParams))
  8241  		}
  8242  	}
  8243  	if s.DatabaseInputDefinition != nil {
  8244  		if err := s.DatabaseInputDefinition.Validate(); err != nil {
  8245  			invalidParams.AddNested("DatabaseInputDefinition", err.(request.ErrInvalidParams))
  8246  		}
  8247  	}
  8248  	if s.S3InputDefinition != nil {
  8249  		if err := s.S3InputDefinition.Validate(); err != nil {
  8250  			invalidParams.AddNested("S3InputDefinition", err.(request.ErrInvalidParams))
  8251  		}
  8252  	}
  8253  
  8254  	if invalidParams.Len() > 0 {
  8255  		return invalidParams
  8256  	}
  8257  	return nil
  8258  }
  8259  
  8260  // SetDataCatalogInputDefinition sets the DataCatalogInputDefinition field's value.
  8261  func (s *Input) SetDataCatalogInputDefinition(v *DataCatalogInputDefinition) *Input {
  8262  	s.DataCatalogInputDefinition = v
  8263  	return s
  8264  }
  8265  
  8266  // SetDatabaseInputDefinition sets the DatabaseInputDefinition field's value.
  8267  func (s *Input) SetDatabaseInputDefinition(v *DatabaseInputDefinition) *Input {
  8268  	s.DatabaseInputDefinition = v
  8269  	return s
  8270  }
  8271  
  8272  // SetS3InputDefinition sets the S3InputDefinition field's value.
  8273  func (s *Input) SetS3InputDefinition(v *S3Location) *Input {
  8274  	s.S3InputDefinition = v
  8275  	return s
  8276  }
  8277  
  8278  // An internal service failure occurred.
  8279  type InternalServerException struct {
  8280  	_            struct{}                  `type:"structure"`
  8281  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8282  
  8283  	Message_ *string `locationName:"Message" type:"string"`
  8284  }
  8285  
  8286  // String returns the string representation.
  8287  //
  8288  // API parameter values that are decorated as "sensitive" in the API will not
  8289  // be included in the string output. The member name will be present, but the
  8290  // value will be replaced with "sensitive".
  8291  func (s InternalServerException) String() string {
  8292  	return awsutil.Prettify(s)
  8293  }
  8294  
  8295  // GoString returns the string representation.
  8296  //
  8297  // API parameter values that are decorated as "sensitive" in the API will not
  8298  // be included in the string output. The member name will be present, but the
  8299  // value will be replaced with "sensitive".
  8300  func (s InternalServerException) GoString() string {
  8301  	return s.String()
  8302  }
  8303  
  8304  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  8305  	return &InternalServerException{
  8306  		RespMetadata: v,
  8307  	}
  8308  }
  8309  
  8310  // Code returns the exception type name.
  8311  func (s *InternalServerException) Code() string {
  8312  	return "InternalServerException"
  8313  }
  8314  
  8315  // Message returns the exception's message.
  8316  func (s *InternalServerException) Message() string {
  8317  	if s.Message_ != nil {
  8318  		return *s.Message_
  8319  	}
  8320  	return ""
  8321  }
  8322  
  8323  // OrigErr always returns nil, satisfies awserr.Error interface.
  8324  func (s *InternalServerException) OrigErr() error {
  8325  	return nil
  8326  }
  8327  
  8328  func (s *InternalServerException) Error() string {
  8329  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8330  }
  8331  
  8332  // Status code returns the HTTP status code for the request's response error.
  8333  func (s *InternalServerException) StatusCode() int {
  8334  	return s.RespMetadata.StatusCode
  8335  }
  8336  
  8337  // RequestID returns the service's response RequestID for request.
  8338  func (s *InternalServerException) RequestID() string {
  8339  	return s.RespMetadata.RequestID
  8340  }
  8341  
  8342  // Represents all of the attributes of a DataBrew job.
  8343  type Job struct {
  8344  	_ struct{} `type:"structure"`
  8345  
  8346  	// The ID of the Amazon Web Services account that owns the job.
  8347  	AccountId *string `type:"string"`
  8348  
  8349  	// The date and time that the job was created.
  8350  	CreateDate *time.Time `type:"timestamp"`
  8351  
  8352  	// The Amazon Resource Name (ARN) of the user who created the job.
  8353  	CreatedBy *string `type:"string"`
  8354  
  8355  	// One or more artifacts that represent the Glue Data Catalog output from running
  8356  	// the job.
  8357  	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
  8358  
  8359  	// Represents a list of JDBC database output objects which defines the output
  8360  	// destination for a DataBrew recipe job to write into.
  8361  	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
  8362  
  8363  	// A dataset that the job is to process.
  8364  	DatasetName *string `min:"1" type:"string"`
  8365  
  8366  	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
  8367  	// the job output. For more information, see Encrypting data written by DataBrew
  8368  	// jobs (https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)
  8369  	EncryptionKeyArn *string `min:"20" type:"string"`
  8370  
  8371  	// The encryption mode for the job, which can be one of the following:
  8372  	//
  8373  	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
  8374  	//
  8375  	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
  8376  	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
  8377  
  8378  	// A sample configuration for profile jobs only, which determines the number
  8379  	// of rows on which the profile job is run. If a JobSample value isn't provided,
  8380  	// the default value is used. The default value is CUSTOM_ROWS for the mode
  8381  	// parameter and 20,000 for the size parameter.
  8382  	JobSample *JobSample `type:"structure"`
  8383  
  8384  	// The Amazon Resource Name (ARN) of the user who last modified the job.
  8385  	LastModifiedBy *string `type:"string"`
  8386  
  8387  	// The modification date and time of the job.
  8388  	LastModifiedDate *time.Time `type:"timestamp"`
  8389  
  8390  	// The current status of Amazon CloudWatch logging for the job.
  8391  	LogSubscription *string `type:"string" enum:"LogSubscription"`
  8392  
  8393  	// The maximum number of nodes that can be consumed when the job processes data.
  8394  	MaxCapacity *int64 `type:"integer"`
  8395  
  8396  	// The maximum number of times to retry the job after a job run fails.
  8397  	MaxRetries *int64 `type:"integer"`
  8398  
  8399  	// The unique name of the job.
  8400  	//
  8401  	// Name is a required field
  8402  	Name *string `min:"1" type:"string" required:"true"`
  8403  
  8404  	// One or more artifacts that represent output from running the job.
  8405  	Outputs []*Output `min:"1" type:"list"`
  8406  
  8407  	// The name of the project that the job is associated with.
  8408  	ProjectName *string `min:"1" type:"string"`
  8409  
  8410  	// A set of steps that the job runs.
  8411  	RecipeReference *RecipeReference `type:"structure"`
  8412  
  8413  	// The unique Amazon Resource Name (ARN) for the job.
  8414  	ResourceArn *string `min:"20" type:"string"`
  8415  
  8416  	// The Amazon Resource Name (ARN) of the role to be assumed for this job.
  8417  	RoleArn *string `min:"20" type:"string"`
  8418  
  8419  	// Metadata tags that have been applied to the job.
  8420  	Tags map[string]*string `min:"1" type:"map"`
  8421  
  8422  	// The job's timeout in minutes. A job that attempts to run longer than this
  8423  	// timeout period ends with a status of TIMEOUT.
  8424  	Timeout *int64 `type:"integer"`
  8425  
  8426  	// The job type of the job, which must be one of the following:
  8427  	//
  8428  	//    * PROFILE - A job to analyze a dataset, to determine its size, data types,
  8429  	//    data distribution, and more.
  8430  	//
  8431  	//    * RECIPE - A job to apply one or more transformations to a dataset.
  8432  	Type *string `type:"string" enum:"JobType"`
  8433  }
  8434  
  8435  // String returns the string representation.
  8436  //
  8437  // API parameter values that are decorated as "sensitive" in the API will not
  8438  // be included in the string output. The member name will be present, but the
  8439  // value will be replaced with "sensitive".
  8440  func (s Job) String() string {
  8441  	return awsutil.Prettify(s)
  8442  }
  8443  
  8444  // GoString returns the string representation.
  8445  //
  8446  // API parameter values that are decorated as "sensitive" in the API will not
  8447  // be included in the string output. The member name will be present, but the
  8448  // value will be replaced with "sensitive".
  8449  func (s Job) GoString() string {
  8450  	return s.String()
  8451  }
  8452  
  8453  // SetAccountId sets the AccountId field's value.
  8454  func (s *Job) SetAccountId(v string) *Job {
  8455  	s.AccountId = &v
  8456  	return s
  8457  }
  8458  
  8459  // SetCreateDate sets the CreateDate field's value.
  8460  func (s *Job) SetCreateDate(v time.Time) *Job {
  8461  	s.CreateDate = &v
  8462  	return s
  8463  }
  8464  
  8465  // SetCreatedBy sets the CreatedBy field's value.
  8466  func (s *Job) SetCreatedBy(v string) *Job {
  8467  	s.CreatedBy = &v
  8468  	return s
  8469  }
  8470  
  8471  // SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
  8472  func (s *Job) SetDataCatalogOutputs(v []*DataCatalogOutput_) *Job {
  8473  	s.DataCatalogOutputs = v
  8474  	return s
  8475  }
  8476  
  8477  // SetDatabaseOutputs sets the DatabaseOutputs field's value.
  8478  func (s *Job) SetDatabaseOutputs(v []*DatabaseOutput_) *Job {
  8479  	s.DatabaseOutputs = v
  8480  	return s
  8481  }
  8482  
  8483  // SetDatasetName sets the DatasetName field's value.
  8484  func (s *Job) SetDatasetName(v string) *Job {
  8485  	s.DatasetName = &v
  8486  	return s
  8487  }
  8488  
  8489  // SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
  8490  func (s *Job) SetEncryptionKeyArn(v string) *Job {
  8491  	s.EncryptionKeyArn = &v
  8492  	return s
  8493  }
  8494  
  8495  // SetEncryptionMode sets the EncryptionMode field's value.
  8496  func (s *Job) SetEncryptionMode(v string) *Job {
  8497  	s.EncryptionMode = &v
  8498  	return s
  8499  }
  8500  
  8501  // SetJobSample sets the JobSample field's value.
  8502  func (s *Job) SetJobSample(v *JobSample) *Job {
  8503  	s.JobSample = v
  8504  	return s
  8505  }
  8506  
  8507  // SetLastModifiedBy sets the LastModifiedBy field's value.
  8508  func (s *Job) SetLastModifiedBy(v string) *Job {
  8509  	s.LastModifiedBy = &v
  8510  	return s
  8511  }
  8512  
  8513  // SetLastModifiedDate sets the LastModifiedDate field's value.
  8514  func (s *Job) SetLastModifiedDate(v time.Time) *Job {
  8515  	s.LastModifiedDate = &v
  8516  	return s
  8517  }
  8518  
  8519  // SetLogSubscription sets the LogSubscription field's value.
  8520  func (s *Job) SetLogSubscription(v string) *Job {
  8521  	s.LogSubscription = &v
  8522  	return s
  8523  }
  8524  
  8525  // SetMaxCapacity sets the MaxCapacity field's value.
  8526  func (s *Job) SetMaxCapacity(v int64) *Job {
  8527  	s.MaxCapacity = &v
  8528  	return s
  8529  }
  8530  
  8531  // SetMaxRetries sets the MaxRetries field's value.
  8532  func (s *Job) SetMaxRetries(v int64) *Job {
  8533  	s.MaxRetries = &v
  8534  	return s
  8535  }
  8536  
  8537  // SetName sets the Name field's value.
  8538  func (s *Job) SetName(v string) *Job {
  8539  	s.Name = &v
  8540  	return s
  8541  }
  8542  
  8543  // SetOutputs sets the Outputs field's value.
  8544  func (s *Job) SetOutputs(v []*Output) *Job {
  8545  	s.Outputs = v
  8546  	return s
  8547  }
  8548  
  8549  // SetProjectName sets the ProjectName field's value.
  8550  func (s *Job) SetProjectName(v string) *Job {
  8551  	s.ProjectName = &v
  8552  	return s
  8553  }
  8554  
  8555  // SetRecipeReference sets the RecipeReference field's value.
  8556  func (s *Job) SetRecipeReference(v *RecipeReference) *Job {
  8557  	s.RecipeReference = v
  8558  	return s
  8559  }
  8560  
  8561  // SetResourceArn sets the ResourceArn field's value.
  8562  func (s *Job) SetResourceArn(v string) *Job {
  8563  	s.ResourceArn = &v
  8564  	return s
  8565  }
  8566  
  8567  // SetRoleArn sets the RoleArn field's value.
  8568  func (s *Job) SetRoleArn(v string) *Job {
  8569  	s.RoleArn = &v
  8570  	return s
  8571  }
  8572  
  8573  // SetTags sets the Tags field's value.
  8574  func (s *Job) SetTags(v map[string]*string) *Job {
  8575  	s.Tags = v
  8576  	return s
  8577  }
  8578  
  8579  // SetTimeout sets the Timeout field's value.
  8580  func (s *Job) SetTimeout(v int64) *Job {
  8581  	s.Timeout = &v
  8582  	return s
  8583  }
  8584  
  8585  // SetType sets the Type field's value.
  8586  func (s *Job) SetType(v string) *Job {
  8587  	s.Type = &v
  8588  	return s
  8589  }
  8590  
  8591  // Represents one run of a DataBrew job.
  8592  type JobRun struct {
  8593  	_ struct{} `type:"structure"`
  8594  
  8595  	// The number of times that DataBrew has attempted to run the job.
  8596  	Attempt *int64 `type:"integer"`
  8597  
  8598  	// The date and time when the job completed processing.
  8599  	CompletedOn *time.Time `type:"timestamp"`
  8600  
  8601  	// One or more artifacts that represent the Glue Data Catalog output from running
  8602  	// the job.
  8603  	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
  8604  
  8605  	// Represents a list of JDBC database output objects which defines the output
  8606  	// destination for a DataBrew recipe job to write into.
  8607  	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
  8608  
  8609  	// The name of the dataset for the job to process.
  8610  	DatasetName *string `min:"1" type:"string"`
  8611  
  8612  	// A message indicating an error (if any) that was encountered when the job
  8613  	// ran.
  8614  	ErrorMessage *string `type:"string"`
  8615  
  8616  	// The amount of time, in seconds, during which a job run consumed resources.
  8617  	ExecutionTime *int64 `type:"integer"`
  8618  
  8619  	// The name of the job being processed during this run.
  8620  	JobName *string `min:"1" type:"string"`
  8621  
  8622  	// A sample configuration for profile jobs only, which determines the number
  8623  	// of rows on which the profile job is run. If a JobSample value isn't provided,
  8624  	// the default is used. The default value is CUSTOM_ROWS for the mode parameter
  8625  	// and 20,000 for the size parameter.
  8626  	JobSample *JobSample `type:"structure"`
  8627  
  8628  	// The name of an Amazon CloudWatch log group, where the job writes diagnostic
  8629  	// messages when it runs.
  8630  	LogGroupName *string `min:"1" type:"string"`
  8631  
  8632  	// The current status of Amazon CloudWatch logging for the job run.
  8633  	LogSubscription *string `type:"string" enum:"LogSubscription"`
  8634  
  8635  	// One or more output artifacts from a job run.
  8636  	Outputs []*Output `min:"1" type:"list"`
  8637  
  8638  	// The set of steps processed by the job.
  8639  	RecipeReference *RecipeReference `type:"structure"`
  8640  
  8641  	// The unique identifier of the job run.
  8642  	RunId *string `min:"1" type:"string"`
  8643  
  8644  	// The Amazon Resource Name (ARN) of the user who initiated the job run.
  8645  	StartedBy *string `type:"string"`
  8646  
  8647  	// The date and time when the job run began.
  8648  	StartedOn *time.Time `type:"timestamp"`
  8649  
  8650  	// The current state of the job run entity itself.
  8651  	State *string `type:"string" enum:"JobRunState"`
  8652  }
  8653  
  8654  // String returns the string representation.
  8655  //
  8656  // API parameter values that are decorated as "sensitive" in the API will not
  8657  // be included in the string output. The member name will be present, but the
  8658  // value will be replaced with "sensitive".
  8659  func (s JobRun) String() string {
  8660  	return awsutil.Prettify(s)
  8661  }
  8662  
  8663  // GoString returns the string representation.
  8664  //
  8665  // API parameter values that are decorated as "sensitive" in the API will not
  8666  // be included in the string output. The member name will be present, but the
  8667  // value will be replaced with "sensitive".
  8668  func (s JobRun) GoString() string {
  8669  	return s.String()
  8670  }
  8671  
  8672  // SetAttempt sets the Attempt field's value.
  8673  func (s *JobRun) SetAttempt(v int64) *JobRun {
  8674  	s.Attempt = &v
  8675  	return s
  8676  }
  8677  
  8678  // SetCompletedOn sets the CompletedOn field's value.
  8679  func (s *JobRun) SetCompletedOn(v time.Time) *JobRun {
  8680  	s.CompletedOn = &v
  8681  	return s
  8682  }
  8683  
  8684  // SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
  8685  func (s *JobRun) SetDataCatalogOutputs(v []*DataCatalogOutput_) *JobRun {
  8686  	s.DataCatalogOutputs = v
  8687  	return s
  8688  }
  8689  
  8690  // SetDatabaseOutputs sets the DatabaseOutputs field's value.
  8691  func (s *JobRun) SetDatabaseOutputs(v []*DatabaseOutput_) *JobRun {
  8692  	s.DatabaseOutputs = v
  8693  	return s
  8694  }
  8695  
  8696  // SetDatasetName sets the DatasetName field's value.
  8697  func (s *JobRun) SetDatasetName(v string) *JobRun {
  8698  	s.DatasetName = &v
  8699  	return s
  8700  }
  8701  
  8702  // SetErrorMessage sets the ErrorMessage field's value.
  8703  func (s *JobRun) SetErrorMessage(v string) *JobRun {
  8704  	s.ErrorMessage = &v
  8705  	return s
  8706  }
  8707  
  8708  // SetExecutionTime sets the ExecutionTime field's value.
  8709  func (s *JobRun) SetExecutionTime(v int64) *JobRun {
  8710  	s.ExecutionTime = &v
  8711  	return s
  8712  }
  8713  
  8714  // SetJobName sets the JobName field's value.
  8715  func (s *JobRun) SetJobName(v string) *JobRun {
  8716  	s.JobName = &v
  8717  	return s
  8718  }
  8719  
  8720  // SetJobSample sets the JobSample field's value.
  8721  func (s *JobRun) SetJobSample(v *JobSample) *JobRun {
  8722  	s.JobSample = v
  8723  	return s
  8724  }
  8725  
  8726  // SetLogGroupName sets the LogGroupName field's value.
  8727  func (s *JobRun) SetLogGroupName(v string) *JobRun {
  8728  	s.LogGroupName = &v
  8729  	return s
  8730  }
  8731  
  8732  // SetLogSubscription sets the LogSubscription field's value.
  8733  func (s *JobRun) SetLogSubscription(v string) *JobRun {
  8734  	s.LogSubscription = &v
  8735  	return s
  8736  }
  8737  
  8738  // SetOutputs sets the Outputs field's value.
  8739  func (s *JobRun) SetOutputs(v []*Output) *JobRun {
  8740  	s.Outputs = v
  8741  	return s
  8742  }
  8743  
  8744  // SetRecipeReference sets the RecipeReference field's value.
  8745  func (s *JobRun) SetRecipeReference(v *RecipeReference) *JobRun {
  8746  	s.RecipeReference = v
  8747  	return s
  8748  }
  8749  
  8750  // SetRunId sets the RunId field's value.
  8751  func (s *JobRun) SetRunId(v string) *JobRun {
  8752  	s.RunId = &v
  8753  	return s
  8754  }
  8755  
  8756  // SetStartedBy sets the StartedBy field's value.
  8757  func (s *JobRun) SetStartedBy(v string) *JobRun {
  8758  	s.StartedBy = &v
  8759  	return s
  8760  }
  8761  
  8762  // SetStartedOn sets the StartedOn field's value.
  8763  func (s *JobRun) SetStartedOn(v time.Time) *JobRun {
  8764  	s.StartedOn = &v
  8765  	return s
  8766  }
  8767  
  8768  // SetState sets the State field's value.
  8769  func (s *JobRun) SetState(v string) *JobRun {
  8770  	s.State = &v
  8771  	return s
  8772  }
  8773  
  8774  // A sample configuration for profile jobs only, which determines the number
  8775  // of rows on which the profile job is run. If a JobSample value isn't provided,
  8776  // the default is used. The default value is CUSTOM_ROWS for the mode parameter
  8777  // and 20,000 for the size parameter.
  8778  type JobSample struct {
  8779  	_ struct{} `type:"structure"`
  8780  
  8781  	// A value that determines whether the profile job is run on the entire dataset
  8782  	// or a specified number of rows. This value must be one of the following:
  8783  	//
  8784  	//    * FULL_DATASET - The profile job is run on the entire dataset.
  8785  	//
  8786  	//    * CUSTOM_ROWS - The profile job is run on the number of rows specified
  8787  	//    in the Size parameter.
  8788  	Mode *string `type:"string" enum:"SampleMode"`
  8789  
  8790  	// The Size parameter is only required when the mode is CUSTOM_ROWS. The profile
  8791  	// job is run on the specified number of rows. The maximum value for size is
  8792  	// Long.MAX_VALUE.
  8793  	//
  8794  	// Long.MAX_VALUE = 9223372036854775807
  8795  	Size *int64 `type:"long"`
  8796  }
  8797  
  8798  // String returns the string representation.
  8799  //
  8800  // API parameter values that are decorated as "sensitive" in the API will not
  8801  // be included in the string output. The member name will be present, but the
  8802  // value will be replaced with "sensitive".
  8803  func (s JobSample) String() string {
  8804  	return awsutil.Prettify(s)
  8805  }
  8806  
  8807  // GoString returns the string representation.
  8808  //
  8809  // API parameter values that are decorated as "sensitive" in the API will not
  8810  // be included in the string output. The member name will be present, but the
  8811  // value will be replaced with "sensitive".
  8812  func (s JobSample) GoString() string {
  8813  	return s.String()
  8814  }
  8815  
  8816  // SetMode sets the Mode field's value.
  8817  func (s *JobSample) SetMode(v string) *JobSample {
  8818  	s.Mode = &v
  8819  	return s
  8820  }
  8821  
  8822  // SetSize sets the Size field's value.
  8823  func (s *JobSample) SetSize(v int64) *JobSample {
  8824  	s.Size = &v
  8825  	return s
  8826  }
  8827  
  8828  // Represents the JSON-specific options that define how input is to be interpreted
  8829  // by Glue DataBrew.
  8830  type JsonOptions struct {
  8831  	_ struct{} `type:"structure"`
  8832  
  8833  	// A value that specifies whether JSON input contains embedded new line characters.
  8834  	MultiLine *bool `type:"boolean"`
  8835  }
  8836  
  8837  // String returns the string representation.
  8838  //
  8839  // API parameter values that are decorated as "sensitive" in the API will not
  8840  // be included in the string output. The member name will be present, but the
  8841  // value will be replaced with "sensitive".
  8842  func (s JsonOptions) String() string {
  8843  	return awsutil.Prettify(s)
  8844  }
  8845  
  8846  // GoString returns the string representation.
  8847  //
  8848  // API parameter values that are decorated as "sensitive" in the API will not
  8849  // be included in the string output. The member name will be present, but the
  8850  // value will be replaced with "sensitive".
  8851  func (s JsonOptions) GoString() string {
  8852  	return s.String()
  8853  }
  8854  
  8855  // SetMultiLine sets the MultiLine field's value.
  8856  func (s *JsonOptions) SetMultiLine(v bool) *JsonOptions {
  8857  	s.MultiLine = &v
  8858  	return s
  8859  }
  8860  
  8861  type ListDatasetsInput struct {
  8862  	_ struct{} `type:"structure" nopayload:"true"`
  8863  
  8864  	// The maximum number of results to return in this request.
  8865  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  8866  
  8867  	// The token returned by a previous call to retrieve the next set of results.
  8868  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8869  }
  8870  
  8871  // String returns the string representation.
  8872  //
  8873  // API parameter values that are decorated as "sensitive" in the API will not
  8874  // be included in the string output. The member name will be present, but the
  8875  // value will be replaced with "sensitive".
  8876  func (s ListDatasetsInput) String() string {
  8877  	return awsutil.Prettify(s)
  8878  }
  8879  
  8880  // GoString returns the string representation.
  8881  //
  8882  // API parameter values that are decorated as "sensitive" in the API will not
  8883  // be included in the string output. The member name will be present, but the
  8884  // value will be replaced with "sensitive".
  8885  func (s ListDatasetsInput) GoString() string {
  8886  	return s.String()
  8887  }
  8888  
  8889  // Validate inspects the fields of the type to determine if they are valid.
  8890  func (s *ListDatasetsInput) Validate() error {
  8891  	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
  8892  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8893  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8894  	}
  8895  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8896  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8897  	}
  8898  
  8899  	if invalidParams.Len() > 0 {
  8900  		return invalidParams
  8901  	}
  8902  	return nil
  8903  }
  8904  
  8905  // SetMaxResults sets the MaxResults field's value.
  8906  func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
  8907  	s.MaxResults = &v
  8908  	return s
  8909  }
  8910  
  8911  // SetNextToken sets the NextToken field's value.
  8912  func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
  8913  	s.NextToken = &v
  8914  	return s
  8915  }
  8916  
  8917  type ListDatasetsOutput struct {
  8918  	_ struct{} `type:"structure"`
  8919  
  8920  	// A list of datasets that are defined.
  8921  	//
  8922  	// Datasets is a required field
  8923  	Datasets []*Dataset `type:"list" required:"true"`
  8924  
  8925  	// A token that you can use in a subsequent call to retrieve the next set of
  8926  	// results.
  8927  	NextToken *string `min:"1" type:"string"`
  8928  }
  8929  
  8930  // String returns the string representation.
  8931  //
  8932  // API parameter values that are decorated as "sensitive" in the API will not
  8933  // be included in the string output. The member name will be present, but the
  8934  // value will be replaced with "sensitive".
  8935  func (s ListDatasetsOutput) String() string {
  8936  	return awsutil.Prettify(s)
  8937  }
  8938  
  8939  // GoString returns the string representation.
  8940  //
  8941  // API parameter values that are decorated as "sensitive" in the API will not
  8942  // be included in the string output. The member name will be present, but the
  8943  // value will be replaced with "sensitive".
  8944  func (s ListDatasetsOutput) GoString() string {
  8945  	return s.String()
  8946  }
  8947  
  8948  // SetDatasets sets the Datasets field's value.
  8949  func (s *ListDatasetsOutput) SetDatasets(v []*Dataset) *ListDatasetsOutput {
  8950  	s.Datasets = v
  8951  	return s
  8952  }
  8953  
  8954  // SetNextToken sets the NextToken field's value.
  8955  func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
  8956  	s.NextToken = &v
  8957  	return s
  8958  }
  8959  
  8960  type ListJobRunsInput struct {
  8961  	_ struct{} `type:"structure" nopayload:"true"`
  8962  
  8963  	// The maximum number of results to return in this request.
  8964  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  8965  
  8966  	// The name of the job.
  8967  	//
  8968  	// Name is a required field
  8969  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  8970  
  8971  	// The token returned by a previous call to retrieve the next set of results.
  8972  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8973  }
  8974  
  8975  // String returns the string representation.
  8976  //
  8977  // API parameter values that are decorated as "sensitive" in the API will not
  8978  // be included in the string output. The member name will be present, but the
  8979  // value will be replaced with "sensitive".
  8980  func (s ListJobRunsInput) String() string {
  8981  	return awsutil.Prettify(s)
  8982  }
  8983  
  8984  // GoString returns the string representation.
  8985  //
  8986  // API parameter values that are decorated as "sensitive" in the API will not
  8987  // be included in the string output. The member name will be present, but the
  8988  // value will be replaced with "sensitive".
  8989  func (s ListJobRunsInput) GoString() string {
  8990  	return s.String()
  8991  }
  8992  
  8993  // Validate inspects the fields of the type to determine if they are valid.
  8994  func (s *ListJobRunsInput) Validate() error {
  8995  	invalidParams := request.ErrInvalidParams{Context: "ListJobRunsInput"}
  8996  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8997  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8998  	}
  8999  	if s.Name == nil {
  9000  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9001  	}
  9002  	if s.Name != nil && len(*s.Name) < 1 {
  9003  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9004  	}
  9005  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9006  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9007  	}
  9008  
  9009  	if invalidParams.Len() > 0 {
  9010  		return invalidParams
  9011  	}
  9012  	return nil
  9013  }
  9014  
  9015  // SetMaxResults sets the MaxResults field's value.
  9016  func (s *ListJobRunsInput) SetMaxResults(v int64) *ListJobRunsInput {
  9017  	s.MaxResults = &v
  9018  	return s
  9019  }
  9020  
  9021  // SetName sets the Name field's value.
  9022  func (s *ListJobRunsInput) SetName(v string) *ListJobRunsInput {
  9023  	s.Name = &v
  9024  	return s
  9025  }
  9026  
  9027  // SetNextToken sets the NextToken field's value.
  9028  func (s *ListJobRunsInput) SetNextToken(v string) *ListJobRunsInput {
  9029  	s.NextToken = &v
  9030  	return s
  9031  }
  9032  
  9033  type ListJobRunsOutput struct {
  9034  	_ struct{} `type:"structure"`
  9035  
  9036  	// A list of job runs that have occurred for the specified job.
  9037  	//
  9038  	// JobRuns is a required field
  9039  	JobRuns []*JobRun `type:"list" required:"true"`
  9040  
  9041  	// A token that you can use in a subsequent call to retrieve the next set of
  9042  	// results.
  9043  	NextToken *string `min:"1" type:"string"`
  9044  }
  9045  
  9046  // String returns the string representation.
  9047  //
  9048  // API parameter values that are decorated as "sensitive" in the API will not
  9049  // be included in the string output. The member name will be present, but the
  9050  // value will be replaced with "sensitive".
  9051  func (s ListJobRunsOutput) String() string {
  9052  	return awsutil.Prettify(s)
  9053  }
  9054  
  9055  // GoString returns the string representation.
  9056  //
  9057  // API parameter values that are decorated as "sensitive" in the API will not
  9058  // be included in the string output. The member name will be present, but the
  9059  // value will be replaced with "sensitive".
  9060  func (s ListJobRunsOutput) GoString() string {
  9061  	return s.String()
  9062  }
  9063  
  9064  // SetJobRuns sets the JobRuns field's value.
  9065  func (s *ListJobRunsOutput) SetJobRuns(v []*JobRun) *ListJobRunsOutput {
  9066  	s.JobRuns = v
  9067  	return s
  9068  }
  9069  
  9070  // SetNextToken sets the NextToken field's value.
  9071  func (s *ListJobRunsOutput) SetNextToken(v string) *ListJobRunsOutput {
  9072  	s.NextToken = &v
  9073  	return s
  9074  }
  9075  
  9076  type ListJobsInput struct {
  9077  	_ struct{} `type:"structure" nopayload:"true"`
  9078  
  9079  	// The name of a dataset. Using this parameter indicates to return only those
  9080  	// jobs that act on the specified dataset.
  9081  	DatasetName *string `location:"querystring" locationName:"datasetName" min:"1" type:"string"`
  9082  
  9083  	// The maximum number of results to return in this request.
  9084  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9085  
  9086  	// A token generated by DataBrew that specifies where to continue pagination
  9087  	// if a previous request was truncated. To get the next set of pages, pass in
  9088  	// the NextToken value from the response object of the previous page call.
  9089  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  9090  
  9091  	// The name of a project. Using this parameter indicates to return only those
  9092  	// jobs that are associated with the specified project.
  9093  	ProjectName *string `location:"querystring" locationName:"projectName" min:"1" type:"string"`
  9094  }
  9095  
  9096  // String returns the string representation.
  9097  //
  9098  // API parameter values that are decorated as "sensitive" in the API will not
  9099  // be included in the string output. The member name will be present, but the
  9100  // value will be replaced with "sensitive".
  9101  func (s ListJobsInput) String() string {
  9102  	return awsutil.Prettify(s)
  9103  }
  9104  
  9105  // GoString returns the string representation.
  9106  //
  9107  // API parameter values that are decorated as "sensitive" in the API will not
  9108  // be included in the string output. The member name will be present, but the
  9109  // value will be replaced with "sensitive".
  9110  func (s ListJobsInput) GoString() string {
  9111  	return s.String()
  9112  }
  9113  
  9114  // Validate inspects the fields of the type to determine if they are valid.
  9115  func (s *ListJobsInput) Validate() error {
  9116  	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
  9117  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  9118  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  9119  	}
  9120  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9121  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9122  	}
  9123  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9124  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9125  	}
  9126  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
  9127  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
  9128  	}
  9129  
  9130  	if invalidParams.Len() > 0 {
  9131  		return invalidParams
  9132  	}
  9133  	return nil
  9134  }
  9135  
  9136  // SetDatasetName sets the DatasetName field's value.
  9137  func (s *ListJobsInput) SetDatasetName(v string) *ListJobsInput {
  9138  	s.DatasetName = &v
  9139  	return s
  9140  }
  9141  
  9142  // SetMaxResults sets the MaxResults field's value.
  9143  func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
  9144  	s.MaxResults = &v
  9145  	return s
  9146  }
  9147  
  9148  // SetNextToken sets the NextToken field's value.
  9149  func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
  9150  	s.NextToken = &v
  9151  	return s
  9152  }
  9153  
  9154  // SetProjectName sets the ProjectName field's value.
  9155  func (s *ListJobsInput) SetProjectName(v string) *ListJobsInput {
  9156  	s.ProjectName = &v
  9157  	return s
  9158  }
  9159  
  9160  type ListJobsOutput struct {
  9161  	_ struct{} `type:"structure"`
  9162  
  9163  	// A list of jobs that are defined.
  9164  	//
  9165  	// Jobs is a required field
  9166  	Jobs []*Job `type:"list" required:"true"`
  9167  
  9168  	// A token that you can use in a subsequent call to retrieve the next set of
  9169  	// results.
  9170  	NextToken *string `min:"1" type:"string"`
  9171  }
  9172  
  9173  // String returns the string representation.
  9174  //
  9175  // API parameter values that are decorated as "sensitive" in the API will not
  9176  // be included in the string output. The member name will be present, but the
  9177  // value will be replaced with "sensitive".
  9178  func (s ListJobsOutput) String() string {
  9179  	return awsutil.Prettify(s)
  9180  }
  9181  
  9182  // GoString returns the string representation.
  9183  //
  9184  // API parameter values that are decorated as "sensitive" in the API will not
  9185  // be included in the string output. The member name will be present, but the
  9186  // value will be replaced with "sensitive".
  9187  func (s ListJobsOutput) GoString() string {
  9188  	return s.String()
  9189  }
  9190  
  9191  // SetJobs sets the Jobs field's value.
  9192  func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
  9193  	s.Jobs = v
  9194  	return s
  9195  }
  9196  
  9197  // SetNextToken sets the NextToken field's value.
  9198  func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
  9199  	s.NextToken = &v
  9200  	return s
  9201  }
  9202  
  9203  type ListProjectsInput struct {
  9204  	_ struct{} `type:"structure" nopayload:"true"`
  9205  
  9206  	// The maximum number of results to return in this request.
  9207  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9208  
  9209  	// The token returned by a previous call to retrieve the next set of results.
  9210  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  9211  }
  9212  
  9213  // String returns the string representation.
  9214  //
  9215  // API parameter values that are decorated as "sensitive" in the API will not
  9216  // be included in the string output. The member name will be present, but the
  9217  // value will be replaced with "sensitive".
  9218  func (s ListProjectsInput) String() string {
  9219  	return awsutil.Prettify(s)
  9220  }
  9221  
  9222  // GoString returns the string representation.
  9223  //
  9224  // API parameter values that are decorated as "sensitive" in the API will not
  9225  // be included in the string output. The member name will be present, but the
  9226  // value will be replaced with "sensitive".
  9227  func (s ListProjectsInput) GoString() string {
  9228  	return s.String()
  9229  }
  9230  
  9231  // Validate inspects the fields of the type to determine if they are valid.
  9232  func (s *ListProjectsInput) Validate() error {
  9233  	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
  9234  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9235  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9236  	}
  9237  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9238  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9239  	}
  9240  
  9241  	if invalidParams.Len() > 0 {
  9242  		return invalidParams
  9243  	}
  9244  	return nil
  9245  }
  9246  
  9247  // SetMaxResults sets the MaxResults field's value.
  9248  func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
  9249  	s.MaxResults = &v
  9250  	return s
  9251  }
  9252  
  9253  // SetNextToken sets the NextToken field's value.
  9254  func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
  9255  	s.NextToken = &v
  9256  	return s
  9257  }
  9258  
  9259  type ListProjectsOutput struct {
  9260  	_ struct{} `type:"structure"`
  9261  
  9262  	// A token that you can use in a subsequent call to retrieve the next set of
  9263  	// results.
  9264  	NextToken *string `min:"1" type:"string"`
  9265  
  9266  	// A list of projects that are defined .
  9267  	//
  9268  	// Projects is a required field
  9269  	Projects []*Project `type:"list" required:"true"`
  9270  }
  9271  
  9272  // String returns the string representation.
  9273  //
  9274  // API parameter values that are decorated as "sensitive" in the API will not
  9275  // be included in the string output. The member name will be present, but the
  9276  // value will be replaced with "sensitive".
  9277  func (s ListProjectsOutput) String() string {
  9278  	return awsutil.Prettify(s)
  9279  }
  9280  
  9281  // GoString returns the string representation.
  9282  //
  9283  // API parameter values that are decorated as "sensitive" in the API will not
  9284  // be included in the string output. The member name will be present, but the
  9285  // value will be replaced with "sensitive".
  9286  func (s ListProjectsOutput) GoString() string {
  9287  	return s.String()
  9288  }
  9289  
  9290  // SetNextToken sets the NextToken field's value.
  9291  func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
  9292  	s.NextToken = &v
  9293  	return s
  9294  }
  9295  
  9296  // SetProjects sets the Projects field's value.
  9297  func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput {
  9298  	s.Projects = v
  9299  	return s
  9300  }
  9301  
  9302  type ListRecipeVersionsInput struct {
  9303  	_ struct{} `type:"structure" nopayload:"true"`
  9304  
  9305  	// The maximum number of results to return in this request.
  9306  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9307  
  9308  	// The name of the recipe for which to return version information.
  9309  	//
  9310  	// Name is a required field
  9311  	Name *string `location:"querystring" locationName:"name" min:"1" type:"string" required:"true"`
  9312  
  9313  	// The token returned by a previous call to retrieve the next set of results.
  9314  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  9315  }
  9316  
  9317  // String returns the string representation.
  9318  //
  9319  // API parameter values that are decorated as "sensitive" in the API will not
  9320  // be included in the string output. The member name will be present, but the
  9321  // value will be replaced with "sensitive".
  9322  func (s ListRecipeVersionsInput) String() string {
  9323  	return awsutil.Prettify(s)
  9324  }
  9325  
  9326  // GoString returns the string representation.
  9327  //
  9328  // API parameter values that are decorated as "sensitive" in the API will not
  9329  // be included in the string output. The member name will be present, but the
  9330  // value will be replaced with "sensitive".
  9331  func (s ListRecipeVersionsInput) GoString() string {
  9332  	return s.String()
  9333  }
  9334  
  9335  // Validate inspects the fields of the type to determine if they are valid.
  9336  func (s *ListRecipeVersionsInput) Validate() error {
  9337  	invalidParams := request.ErrInvalidParams{Context: "ListRecipeVersionsInput"}
  9338  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9339  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9340  	}
  9341  	if s.Name == nil {
  9342  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9343  	}
  9344  	if s.Name != nil && len(*s.Name) < 1 {
  9345  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9346  	}
  9347  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9348  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9349  	}
  9350  
  9351  	if invalidParams.Len() > 0 {
  9352  		return invalidParams
  9353  	}
  9354  	return nil
  9355  }
  9356  
  9357  // SetMaxResults sets the MaxResults field's value.
  9358  func (s *ListRecipeVersionsInput) SetMaxResults(v int64) *ListRecipeVersionsInput {
  9359  	s.MaxResults = &v
  9360  	return s
  9361  }
  9362  
  9363  // SetName sets the Name field's value.
  9364  func (s *ListRecipeVersionsInput) SetName(v string) *ListRecipeVersionsInput {
  9365  	s.Name = &v
  9366  	return s
  9367  }
  9368  
  9369  // SetNextToken sets the NextToken field's value.
  9370  func (s *ListRecipeVersionsInput) SetNextToken(v string) *ListRecipeVersionsInput {
  9371  	s.NextToken = &v
  9372  	return s
  9373  }
  9374  
  9375  type ListRecipeVersionsOutput struct {
  9376  	_ struct{} `type:"structure"`
  9377  
  9378  	// A token that you can use in a subsequent call to retrieve the next set of
  9379  	// results.
  9380  	NextToken *string `min:"1" type:"string"`
  9381  
  9382  	// A list of versions for the specified recipe.
  9383  	//
  9384  	// Recipes is a required field
  9385  	Recipes []*Recipe `type:"list" required:"true"`
  9386  }
  9387  
  9388  // String returns the string representation.
  9389  //
  9390  // API parameter values that are decorated as "sensitive" in the API will not
  9391  // be included in the string output. The member name will be present, but the
  9392  // value will be replaced with "sensitive".
  9393  func (s ListRecipeVersionsOutput) String() string {
  9394  	return awsutil.Prettify(s)
  9395  }
  9396  
  9397  // GoString returns the string representation.
  9398  //
  9399  // API parameter values that are decorated as "sensitive" in the API will not
  9400  // be included in the string output. The member name will be present, but the
  9401  // value will be replaced with "sensitive".
  9402  func (s ListRecipeVersionsOutput) GoString() string {
  9403  	return s.String()
  9404  }
  9405  
  9406  // SetNextToken sets the NextToken field's value.
  9407  func (s *ListRecipeVersionsOutput) SetNextToken(v string) *ListRecipeVersionsOutput {
  9408  	s.NextToken = &v
  9409  	return s
  9410  }
  9411  
  9412  // SetRecipes sets the Recipes field's value.
  9413  func (s *ListRecipeVersionsOutput) SetRecipes(v []*Recipe) *ListRecipeVersionsOutput {
  9414  	s.Recipes = v
  9415  	return s
  9416  }
  9417  
  9418  type ListRecipesInput struct {
  9419  	_ struct{} `type:"structure" nopayload:"true"`
  9420  
  9421  	// The maximum number of results to return in this request.
  9422  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9423  
  9424  	// The token returned by a previous call to retrieve the next set of results.
  9425  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  9426  
  9427  	// Return only those recipes with a version identifier of LATEST_WORKING or
  9428  	// LATEST_PUBLISHED. If RecipeVersion is omitted, ListRecipes returns all of
  9429  	// the LATEST_PUBLISHED recipe versions.
  9430  	//
  9431  	// Valid values: LATEST_WORKING | LATEST_PUBLISHED
  9432  	RecipeVersion *string `location:"querystring" locationName:"recipeVersion" min:"1" type:"string"`
  9433  }
  9434  
  9435  // String returns the string representation.
  9436  //
  9437  // API parameter values that are decorated as "sensitive" in the API will not
  9438  // be included in the string output. The member name will be present, but the
  9439  // value will be replaced with "sensitive".
  9440  func (s ListRecipesInput) String() string {
  9441  	return awsutil.Prettify(s)
  9442  }
  9443  
  9444  // GoString returns the string representation.
  9445  //
  9446  // API parameter values that are decorated as "sensitive" in the API will not
  9447  // be included in the string output. The member name will be present, but the
  9448  // value will be replaced with "sensitive".
  9449  func (s ListRecipesInput) GoString() string {
  9450  	return s.String()
  9451  }
  9452  
  9453  // Validate inspects the fields of the type to determine if they are valid.
  9454  func (s *ListRecipesInput) Validate() error {
  9455  	invalidParams := request.ErrInvalidParams{Context: "ListRecipesInput"}
  9456  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9457  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9458  	}
  9459  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9460  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9461  	}
  9462  	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
  9463  		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
  9464  	}
  9465  
  9466  	if invalidParams.Len() > 0 {
  9467  		return invalidParams
  9468  	}
  9469  	return nil
  9470  }
  9471  
  9472  // SetMaxResults sets the MaxResults field's value.
  9473  func (s *ListRecipesInput) SetMaxResults(v int64) *ListRecipesInput {
  9474  	s.MaxResults = &v
  9475  	return s
  9476  }
  9477  
  9478  // SetNextToken sets the NextToken field's value.
  9479  func (s *ListRecipesInput) SetNextToken(v string) *ListRecipesInput {
  9480  	s.NextToken = &v
  9481  	return s
  9482  }
  9483  
  9484  // SetRecipeVersion sets the RecipeVersion field's value.
  9485  func (s *ListRecipesInput) SetRecipeVersion(v string) *ListRecipesInput {
  9486  	s.RecipeVersion = &v
  9487  	return s
  9488  }
  9489  
  9490  type ListRecipesOutput struct {
  9491  	_ struct{} `type:"structure"`
  9492  
  9493  	// A token that you can use in a subsequent call to retrieve the next set of
  9494  	// results.
  9495  	NextToken *string `min:"1" type:"string"`
  9496  
  9497  	// A list of recipes that are defined.
  9498  	//
  9499  	// Recipes is a required field
  9500  	Recipes []*Recipe `type:"list" required:"true"`
  9501  }
  9502  
  9503  // String returns the string representation.
  9504  //
  9505  // API parameter values that are decorated as "sensitive" in the API will not
  9506  // be included in the string output. The member name will be present, but the
  9507  // value will be replaced with "sensitive".
  9508  func (s ListRecipesOutput) String() string {
  9509  	return awsutil.Prettify(s)
  9510  }
  9511  
  9512  // GoString returns the string representation.
  9513  //
  9514  // API parameter values that are decorated as "sensitive" in the API will not
  9515  // be included in the string output. The member name will be present, but the
  9516  // value will be replaced with "sensitive".
  9517  func (s ListRecipesOutput) GoString() string {
  9518  	return s.String()
  9519  }
  9520  
  9521  // SetNextToken sets the NextToken field's value.
  9522  func (s *ListRecipesOutput) SetNextToken(v string) *ListRecipesOutput {
  9523  	s.NextToken = &v
  9524  	return s
  9525  }
  9526  
  9527  // SetRecipes sets the Recipes field's value.
  9528  func (s *ListRecipesOutput) SetRecipes(v []*Recipe) *ListRecipesOutput {
  9529  	s.Recipes = v
  9530  	return s
  9531  }
  9532  
  9533  type ListSchedulesInput struct {
  9534  	_ struct{} `type:"structure" nopayload:"true"`
  9535  
  9536  	// The name of the job that these schedules apply to.
  9537  	JobName *string `location:"querystring" locationName:"jobName" min:"1" type:"string"`
  9538  
  9539  	// The maximum number of results to return in this request.
  9540  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  9541  
  9542  	// The token returned by a previous call to retrieve the next set of results.
  9543  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  9544  }
  9545  
  9546  // String 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 ListSchedulesInput) String() string {
  9552  	return awsutil.Prettify(s)
  9553  }
  9554  
  9555  // GoString returns the string representation.
  9556  //
  9557  // API parameter values that are decorated as "sensitive" in the API will not
  9558  // be included in the string output. The member name will be present, but the
  9559  // value will be replaced with "sensitive".
  9560  func (s ListSchedulesInput) GoString() string {
  9561  	return s.String()
  9562  }
  9563  
  9564  // Validate inspects the fields of the type to determine if they are valid.
  9565  func (s *ListSchedulesInput) Validate() error {
  9566  	invalidParams := request.ErrInvalidParams{Context: "ListSchedulesInput"}
  9567  	if s.JobName != nil && len(*s.JobName) < 1 {
  9568  		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
  9569  	}
  9570  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9571  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9572  	}
  9573  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9574  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9575  	}
  9576  
  9577  	if invalidParams.Len() > 0 {
  9578  		return invalidParams
  9579  	}
  9580  	return nil
  9581  }
  9582  
  9583  // SetJobName sets the JobName field's value.
  9584  func (s *ListSchedulesInput) SetJobName(v string) *ListSchedulesInput {
  9585  	s.JobName = &v
  9586  	return s
  9587  }
  9588  
  9589  // SetMaxResults sets the MaxResults field's value.
  9590  func (s *ListSchedulesInput) SetMaxResults(v int64) *ListSchedulesInput {
  9591  	s.MaxResults = &v
  9592  	return s
  9593  }
  9594  
  9595  // SetNextToken sets the NextToken field's value.
  9596  func (s *ListSchedulesInput) SetNextToken(v string) *ListSchedulesInput {
  9597  	s.NextToken = &v
  9598  	return s
  9599  }
  9600  
  9601  type ListSchedulesOutput struct {
  9602  	_ struct{} `type:"structure"`
  9603  
  9604  	// A token that you can use in a subsequent call to retrieve the next set of
  9605  	// results.
  9606  	NextToken *string `min:"1" type:"string"`
  9607  
  9608  	// A list of schedules that are defined.
  9609  	//
  9610  	// Schedules is a required field
  9611  	Schedules []*Schedule `type:"list" required:"true"`
  9612  }
  9613  
  9614  // String returns the string representation.
  9615  //
  9616  // API parameter values that are decorated as "sensitive" in the API will not
  9617  // be included in the string output. The member name will be present, but the
  9618  // value will be replaced with "sensitive".
  9619  func (s ListSchedulesOutput) String() string {
  9620  	return awsutil.Prettify(s)
  9621  }
  9622  
  9623  // GoString returns the string representation.
  9624  //
  9625  // API parameter values that are decorated as "sensitive" in the API will not
  9626  // be included in the string output. The member name will be present, but the
  9627  // value will be replaced with "sensitive".
  9628  func (s ListSchedulesOutput) GoString() string {
  9629  	return s.String()
  9630  }
  9631  
  9632  // SetNextToken sets the NextToken field's value.
  9633  func (s *ListSchedulesOutput) SetNextToken(v string) *ListSchedulesOutput {
  9634  	s.NextToken = &v
  9635  	return s
  9636  }
  9637  
  9638  // SetSchedules sets the Schedules field's value.
  9639  func (s *ListSchedulesOutput) SetSchedules(v []*Schedule) *ListSchedulesOutput {
  9640  	s.Schedules = v
  9641  	return s
  9642  }
  9643  
  9644  type ListTagsForResourceInput struct {
  9645  	_ struct{} `type:"structure" nopayload:"true"`
  9646  
  9647  	// The Amazon Resource Name (ARN) string that uniquely identifies the DataBrew
  9648  	// resource.
  9649  	//
  9650  	// ResourceArn is a required field
  9651  	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
  9652  }
  9653  
  9654  // String returns the string representation.
  9655  //
  9656  // API parameter values that are decorated as "sensitive" in the API will not
  9657  // be included in the string output. The member name will be present, but the
  9658  // value will be replaced with "sensitive".
  9659  func (s ListTagsForResourceInput) String() string {
  9660  	return awsutil.Prettify(s)
  9661  }
  9662  
  9663  // GoString returns the string representation.
  9664  //
  9665  // API parameter values that are decorated as "sensitive" in the API will not
  9666  // be included in the string output. The member name will be present, but the
  9667  // value will be replaced with "sensitive".
  9668  func (s ListTagsForResourceInput) GoString() string {
  9669  	return s.String()
  9670  }
  9671  
  9672  // Validate inspects the fields of the type to determine if they are valid.
  9673  func (s *ListTagsForResourceInput) Validate() error {
  9674  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  9675  	if s.ResourceArn == nil {
  9676  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9677  	}
  9678  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  9679  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  9680  	}
  9681  
  9682  	if invalidParams.Len() > 0 {
  9683  		return invalidParams
  9684  	}
  9685  	return nil
  9686  }
  9687  
  9688  // SetResourceArn sets the ResourceArn field's value.
  9689  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  9690  	s.ResourceArn = &v
  9691  	return s
  9692  }
  9693  
  9694  type ListTagsForResourceOutput struct {
  9695  	_ struct{} `type:"structure"`
  9696  
  9697  	// A list of tags associated with the DataBrew resource.
  9698  	Tags map[string]*string `min:"1" type:"map"`
  9699  }
  9700  
  9701  // String returns the string representation.
  9702  //
  9703  // API parameter values that are decorated as "sensitive" in the API will not
  9704  // be included in the string output. The member name will be present, but the
  9705  // value will be replaced with "sensitive".
  9706  func (s ListTagsForResourceOutput) String() string {
  9707  	return awsutil.Prettify(s)
  9708  }
  9709  
  9710  // GoString returns the string representation.
  9711  //
  9712  // API parameter values that are decorated as "sensitive" in the API will not
  9713  // be included in the string output. The member name will be present, but the
  9714  // value will be replaced with "sensitive".
  9715  func (s ListTagsForResourceOutput) GoString() string {
  9716  	return s.String()
  9717  }
  9718  
  9719  // SetTags sets the Tags field's value.
  9720  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  9721  	s.Tags = v
  9722  	return s
  9723  }
  9724  
  9725  // Represents options that specify how and where in Amazon S3 DataBrew writes
  9726  // the output generated by recipe jobs or profile jobs.
  9727  type Output struct {
  9728  	_ struct{} `type:"structure"`
  9729  
  9730  	// The compression algorithm used to compress the output text of the job.
  9731  	CompressionFormat *string `type:"string" enum:"CompressionFormat"`
  9732  
  9733  	// The data format of the output of the job.
  9734  	Format *string `type:"string" enum:"OutputFormat"`
  9735  
  9736  	// Represents options that define how DataBrew formats job output files.
  9737  	FormatOptions *OutputFormatOptions `type:"structure"`
  9738  
  9739  	// The location in Amazon S3 where the job writes its output.
  9740  	//
  9741  	// Location is a required field
  9742  	Location *S3Location `type:"structure" required:"true"`
  9743  
  9744  	// A value that, if true, means that any data in the location specified for
  9745  	// output is overwritten with new output.
  9746  	Overwrite *bool `type:"boolean"`
  9747  
  9748  	// The names of one or more partition columns for the output of the job.
  9749  	PartitionColumns []*string `type:"list"`
  9750  }
  9751  
  9752  // String returns the string representation.
  9753  //
  9754  // API parameter values that are decorated as "sensitive" in the API will not
  9755  // be included in the string output. The member name will be present, but the
  9756  // value will be replaced with "sensitive".
  9757  func (s Output) String() string {
  9758  	return awsutil.Prettify(s)
  9759  }
  9760  
  9761  // GoString returns the string representation.
  9762  //
  9763  // API parameter values that are decorated as "sensitive" in the API will not
  9764  // be included in the string output. The member name will be present, but the
  9765  // value will be replaced with "sensitive".
  9766  func (s Output) GoString() string {
  9767  	return s.String()
  9768  }
  9769  
  9770  // Validate inspects the fields of the type to determine if they are valid.
  9771  func (s *Output) Validate() error {
  9772  	invalidParams := request.ErrInvalidParams{Context: "Output"}
  9773  	if s.Location == nil {
  9774  		invalidParams.Add(request.NewErrParamRequired("Location"))
  9775  	}
  9776  	if s.FormatOptions != nil {
  9777  		if err := s.FormatOptions.Validate(); err != nil {
  9778  			invalidParams.AddNested("FormatOptions", err.(request.ErrInvalidParams))
  9779  		}
  9780  	}
  9781  	if s.Location != nil {
  9782  		if err := s.Location.Validate(); err != nil {
  9783  			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
  9784  		}
  9785  	}
  9786  
  9787  	if invalidParams.Len() > 0 {
  9788  		return invalidParams
  9789  	}
  9790  	return nil
  9791  }
  9792  
  9793  // SetCompressionFormat sets the CompressionFormat field's value.
  9794  func (s *Output) SetCompressionFormat(v string) *Output {
  9795  	s.CompressionFormat = &v
  9796  	return s
  9797  }
  9798  
  9799  // SetFormat sets the Format field's value.
  9800  func (s *Output) SetFormat(v string) *Output {
  9801  	s.Format = &v
  9802  	return s
  9803  }
  9804  
  9805  // SetFormatOptions sets the FormatOptions field's value.
  9806  func (s *Output) SetFormatOptions(v *OutputFormatOptions) *Output {
  9807  	s.FormatOptions = v
  9808  	return s
  9809  }
  9810  
  9811  // SetLocation sets the Location field's value.
  9812  func (s *Output) SetLocation(v *S3Location) *Output {
  9813  	s.Location = v
  9814  	return s
  9815  }
  9816  
  9817  // SetOverwrite sets the Overwrite field's value.
  9818  func (s *Output) SetOverwrite(v bool) *Output {
  9819  	s.Overwrite = &v
  9820  	return s
  9821  }
  9822  
  9823  // SetPartitionColumns sets the PartitionColumns field's value.
  9824  func (s *Output) SetPartitionColumns(v []*string) *Output {
  9825  	s.PartitionColumns = v
  9826  	return s
  9827  }
  9828  
  9829  // Represents a set of options that define the structure of comma-separated
  9830  // (CSV) job output.
  9831  type OutputFormatOptions struct {
  9832  	_ struct{} `type:"structure"`
  9833  
  9834  	// Represents a set of options that define the structure of comma-separated
  9835  	// value (CSV) job output.
  9836  	Csv *CsvOutputOptions `type:"structure"`
  9837  }
  9838  
  9839  // String returns the string representation.
  9840  //
  9841  // API parameter values that are decorated as "sensitive" in the API will not
  9842  // be included in the string output. The member name will be present, but the
  9843  // value will be replaced with "sensitive".
  9844  func (s OutputFormatOptions) String() string {
  9845  	return awsutil.Prettify(s)
  9846  }
  9847  
  9848  // GoString returns the string representation.
  9849  //
  9850  // API parameter values that are decorated as "sensitive" in the API will not
  9851  // be included in the string output. The member name will be present, but the
  9852  // value will be replaced with "sensitive".
  9853  func (s OutputFormatOptions) GoString() string {
  9854  	return s.String()
  9855  }
  9856  
  9857  // Validate inspects the fields of the type to determine if they are valid.
  9858  func (s *OutputFormatOptions) Validate() error {
  9859  	invalidParams := request.ErrInvalidParams{Context: "OutputFormatOptions"}
  9860  	if s.Csv != nil {
  9861  		if err := s.Csv.Validate(); err != nil {
  9862  			invalidParams.AddNested("Csv", err.(request.ErrInvalidParams))
  9863  		}
  9864  	}
  9865  
  9866  	if invalidParams.Len() > 0 {
  9867  		return invalidParams
  9868  	}
  9869  	return nil
  9870  }
  9871  
  9872  // SetCsv sets the Csv field's value.
  9873  func (s *OutputFormatOptions) SetCsv(v *CsvOutputOptions) *OutputFormatOptions {
  9874  	s.Csv = v
  9875  	return s
  9876  }
  9877  
  9878  // Represents a set of options that define how DataBrew selects files for a
  9879  // given Amazon S3 path in a dataset.
  9880  type PathOptions struct {
  9881  	_ struct{} `type:"structure"`
  9882  
  9883  	// If provided, this structure imposes a limit on a number of files that should
  9884  	// be selected.
  9885  	FilesLimit *FilesLimit `type:"structure"`
  9886  
  9887  	// If provided, this structure defines a date range for matching Amazon S3 objects
  9888  	// based on their LastModifiedDate attribute in Amazon S3.
  9889  	LastModifiedDateCondition *FilterExpression `type:"structure"`
  9890  
  9891  	// A structure that maps names of parameters used in the Amazon S3 path of a
  9892  	// dataset to their definitions.
  9893  	Parameters map[string]*DatasetParameter `min:"1" type:"map"`
  9894  }
  9895  
  9896  // String returns the string representation.
  9897  //
  9898  // API parameter values that are decorated as "sensitive" in the API will not
  9899  // be included in the string output. The member name will be present, but the
  9900  // value will be replaced with "sensitive".
  9901  func (s PathOptions) String() string {
  9902  	return awsutil.Prettify(s)
  9903  }
  9904  
  9905  // GoString returns the string representation.
  9906  //
  9907  // API parameter values that are decorated as "sensitive" in the API will not
  9908  // be included in the string output. The member name will be present, but the
  9909  // value will be replaced with "sensitive".
  9910  func (s PathOptions) GoString() string {
  9911  	return s.String()
  9912  }
  9913  
  9914  // Validate inspects the fields of the type to determine if they are valid.
  9915  func (s *PathOptions) Validate() error {
  9916  	invalidParams := request.ErrInvalidParams{Context: "PathOptions"}
  9917  	if s.Parameters != nil && len(s.Parameters) < 1 {
  9918  		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
  9919  	}
  9920  	if s.FilesLimit != nil {
  9921  		if err := s.FilesLimit.Validate(); err != nil {
  9922  			invalidParams.AddNested("FilesLimit", err.(request.ErrInvalidParams))
  9923  		}
  9924  	}
  9925  	if s.LastModifiedDateCondition != nil {
  9926  		if err := s.LastModifiedDateCondition.Validate(); err != nil {
  9927  			invalidParams.AddNested("LastModifiedDateCondition", err.(request.ErrInvalidParams))
  9928  		}
  9929  	}
  9930  	if s.Parameters != nil {
  9931  		for i, v := range s.Parameters {
  9932  			if v == nil {
  9933  				continue
  9934  			}
  9935  			if err := v.Validate(); err != nil {
  9936  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams))
  9937  			}
  9938  		}
  9939  	}
  9940  
  9941  	if invalidParams.Len() > 0 {
  9942  		return invalidParams
  9943  	}
  9944  	return nil
  9945  }
  9946  
  9947  // SetFilesLimit sets the FilesLimit field's value.
  9948  func (s *PathOptions) SetFilesLimit(v *FilesLimit) *PathOptions {
  9949  	s.FilesLimit = v
  9950  	return s
  9951  }
  9952  
  9953  // SetLastModifiedDateCondition sets the LastModifiedDateCondition field's value.
  9954  func (s *PathOptions) SetLastModifiedDateCondition(v *FilterExpression) *PathOptions {
  9955  	s.LastModifiedDateCondition = v
  9956  	return s
  9957  }
  9958  
  9959  // SetParameters sets the Parameters field's value.
  9960  func (s *PathOptions) SetParameters(v map[string]*DatasetParameter) *PathOptions {
  9961  	s.Parameters = v
  9962  	return s
  9963  }
  9964  
  9965  // Configuration for profile jobs. Configuration can be used to select columns,
  9966  // do evaluations, and override default parameters of evaluations. When configuration
  9967  // is undefined, the profile job will apply default settings to all supported
  9968  // columns.
  9969  type ProfileConfiguration struct {
  9970  	_ struct{} `type:"structure"`
  9971  
  9972  	// List of configurations for column evaluations. ColumnStatisticsConfigurations
  9973  	// are used to select evaluations and override parameters of evaluations for
  9974  	// particular columns. When ColumnStatisticsConfigurations is undefined, the
  9975  	// profile job will profile all supported columns and run all supported evaluations.
  9976  	ColumnStatisticsConfigurations []*ColumnStatisticsConfiguration `min:"1" type:"list"`
  9977  
  9978  	// Configuration for inter-column evaluations. Configuration can be used to
  9979  	// select evaluations and override parameters of evaluations. When configuration
  9980  	// is undefined, the profile job will run all supported inter-column evaluations.
  9981  	DatasetStatisticsConfiguration *StatisticsConfiguration `type:"structure"`
  9982  
  9983  	// List of column selectors. ProfileColumns can be used to select columns from
  9984  	// the dataset. When ProfileColumns is undefined, the profile job will profile
  9985  	// all supported columns.
  9986  	ProfileColumns []*ColumnSelector `min:"1" type:"list"`
  9987  }
  9988  
  9989  // String returns the string representation.
  9990  //
  9991  // API parameter values that are decorated as "sensitive" in the API will not
  9992  // be included in the string output. The member name will be present, but the
  9993  // value will be replaced with "sensitive".
  9994  func (s ProfileConfiguration) String() string {
  9995  	return awsutil.Prettify(s)
  9996  }
  9997  
  9998  // GoString returns the string representation.
  9999  //
 10000  // API parameter values that are decorated as "sensitive" in the API will not
 10001  // be included in the string output. The member name will be present, but the
 10002  // value will be replaced with "sensitive".
 10003  func (s ProfileConfiguration) GoString() string {
 10004  	return s.String()
 10005  }
 10006  
 10007  // Validate inspects the fields of the type to determine if they are valid.
 10008  func (s *ProfileConfiguration) Validate() error {
 10009  	invalidParams := request.ErrInvalidParams{Context: "ProfileConfiguration"}
 10010  	if s.ColumnStatisticsConfigurations != nil && len(s.ColumnStatisticsConfigurations) < 1 {
 10011  		invalidParams.Add(request.NewErrParamMinLen("ColumnStatisticsConfigurations", 1))
 10012  	}
 10013  	if s.ProfileColumns != nil && len(s.ProfileColumns) < 1 {
 10014  		invalidParams.Add(request.NewErrParamMinLen("ProfileColumns", 1))
 10015  	}
 10016  	if s.ColumnStatisticsConfigurations != nil {
 10017  		for i, v := range s.ColumnStatisticsConfigurations {
 10018  			if v == nil {
 10019  				continue
 10020  			}
 10021  			if err := v.Validate(); err != nil {
 10022  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnStatisticsConfigurations", i), err.(request.ErrInvalidParams))
 10023  			}
 10024  		}
 10025  	}
 10026  	if s.DatasetStatisticsConfiguration != nil {
 10027  		if err := s.DatasetStatisticsConfiguration.Validate(); err != nil {
 10028  			invalidParams.AddNested("DatasetStatisticsConfiguration", err.(request.ErrInvalidParams))
 10029  		}
 10030  	}
 10031  	if s.ProfileColumns != nil {
 10032  		for i, v := range s.ProfileColumns {
 10033  			if v == nil {
 10034  				continue
 10035  			}
 10036  			if err := v.Validate(); err != nil {
 10037  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProfileColumns", i), err.(request.ErrInvalidParams))
 10038  			}
 10039  		}
 10040  	}
 10041  
 10042  	if invalidParams.Len() > 0 {
 10043  		return invalidParams
 10044  	}
 10045  	return nil
 10046  }
 10047  
 10048  // SetColumnStatisticsConfigurations sets the ColumnStatisticsConfigurations field's value.
 10049  func (s *ProfileConfiguration) SetColumnStatisticsConfigurations(v []*ColumnStatisticsConfiguration) *ProfileConfiguration {
 10050  	s.ColumnStatisticsConfigurations = v
 10051  	return s
 10052  }
 10053  
 10054  // SetDatasetStatisticsConfiguration sets the DatasetStatisticsConfiguration field's value.
 10055  func (s *ProfileConfiguration) SetDatasetStatisticsConfiguration(v *StatisticsConfiguration) *ProfileConfiguration {
 10056  	s.DatasetStatisticsConfiguration = v
 10057  	return s
 10058  }
 10059  
 10060  // SetProfileColumns sets the ProfileColumns field's value.
 10061  func (s *ProfileConfiguration) SetProfileColumns(v []*ColumnSelector) *ProfileConfiguration {
 10062  	s.ProfileColumns = v
 10063  	return s
 10064  }
 10065  
 10066  // Represents all of the attributes of a DataBrew project.
 10067  type Project struct {
 10068  	_ struct{} `type:"structure"`
 10069  
 10070  	// The ID of the Amazon Web Services account that owns the project.
 10071  	AccountId *string `type:"string"`
 10072  
 10073  	// The date and time that the project was created.
 10074  	CreateDate *time.Time `type:"timestamp"`
 10075  
 10076  	// The Amazon Resource Name (ARN) of the user who crated the project.
 10077  	CreatedBy *string `type:"string"`
 10078  
 10079  	// The dataset that the project is to act upon.
 10080  	DatasetName *string `min:"1" type:"string"`
 10081  
 10082  	// The Amazon Resource Name (ARN) of the user who last modified the project.
 10083  	LastModifiedBy *string `type:"string"`
 10084  
 10085  	// The last modification date and time for the project.
 10086  	LastModifiedDate *time.Time `type:"timestamp"`
 10087  
 10088  	// The unique name of a project.
 10089  	//
 10090  	// Name is a required field
 10091  	Name *string `min:"1" type:"string" required:"true"`
 10092  
 10093  	// The date and time when the project was opened.
 10094  	OpenDate *time.Time `type:"timestamp"`
 10095  
 10096  	// The Amazon Resource Name (ARN) of the user that opened the project for use.
 10097  	OpenedBy *string `type:"string"`
 10098  
 10099  	// The name of a recipe that will be developed during a project session.
 10100  	//
 10101  	// RecipeName is a required field
 10102  	RecipeName *string `min:"1" type:"string" required:"true"`
 10103  
 10104  	// The Amazon Resource Name (ARN) for the project.
 10105  	ResourceArn *string `min:"20" type:"string"`
 10106  
 10107  	// The Amazon Resource Name (ARN) of the role that will be assumed for this
 10108  	// project.
 10109  	RoleArn *string `min:"20" type:"string"`
 10110  
 10111  	// The sample size and sampling type to apply to the data. If this parameter
 10112  	// isn't specified, then the sample consists of the first 500 rows from the
 10113  	// dataset.
 10114  	Sample *Sample `type:"structure"`
 10115  
 10116  	// Metadata tags that have been applied to the project.
 10117  	Tags map[string]*string `min:"1" type:"map"`
 10118  }
 10119  
 10120  // String returns the string representation.
 10121  //
 10122  // API parameter values that are decorated as "sensitive" in the API will not
 10123  // be included in the string output. The member name will be present, but the
 10124  // value will be replaced with "sensitive".
 10125  func (s Project) String() string {
 10126  	return awsutil.Prettify(s)
 10127  }
 10128  
 10129  // GoString returns the string representation.
 10130  //
 10131  // API parameter values that are decorated as "sensitive" in the API will not
 10132  // be included in the string output. The member name will be present, but the
 10133  // value will be replaced with "sensitive".
 10134  func (s Project) GoString() string {
 10135  	return s.String()
 10136  }
 10137  
 10138  // SetAccountId sets the AccountId field's value.
 10139  func (s *Project) SetAccountId(v string) *Project {
 10140  	s.AccountId = &v
 10141  	return s
 10142  }
 10143  
 10144  // SetCreateDate sets the CreateDate field's value.
 10145  func (s *Project) SetCreateDate(v time.Time) *Project {
 10146  	s.CreateDate = &v
 10147  	return s
 10148  }
 10149  
 10150  // SetCreatedBy sets the CreatedBy field's value.
 10151  func (s *Project) SetCreatedBy(v string) *Project {
 10152  	s.CreatedBy = &v
 10153  	return s
 10154  }
 10155  
 10156  // SetDatasetName sets the DatasetName field's value.
 10157  func (s *Project) SetDatasetName(v string) *Project {
 10158  	s.DatasetName = &v
 10159  	return s
 10160  }
 10161  
 10162  // SetLastModifiedBy sets the LastModifiedBy field's value.
 10163  func (s *Project) SetLastModifiedBy(v string) *Project {
 10164  	s.LastModifiedBy = &v
 10165  	return s
 10166  }
 10167  
 10168  // SetLastModifiedDate sets the LastModifiedDate field's value.
 10169  func (s *Project) SetLastModifiedDate(v time.Time) *Project {
 10170  	s.LastModifiedDate = &v
 10171  	return s
 10172  }
 10173  
 10174  // SetName sets the Name field's value.
 10175  func (s *Project) SetName(v string) *Project {
 10176  	s.Name = &v
 10177  	return s
 10178  }
 10179  
 10180  // SetOpenDate sets the OpenDate field's value.
 10181  func (s *Project) SetOpenDate(v time.Time) *Project {
 10182  	s.OpenDate = &v
 10183  	return s
 10184  }
 10185  
 10186  // SetOpenedBy sets the OpenedBy field's value.
 10187  func (s *Project) SetOpenedBy(v string) *Project {
 10188  	s.OpenedBy = &v
 10189  	return s
 10190  }
 10191  
 10192  // SetRecipeName sets the RecipeName field's value.
 10193  func (s *Project) SetRecipeName(v string) *Project {
 10194  	s.RecipeName = &v
 10195  	return s
 10196  }
 10197  
 10198  // SetResourceArn sets the ResourceArn field's value.
 10199  func (s *Project) SetResourceArn(v string) *Project {
 10200  	s.ResourceArn = &v
 10201  	return s
 10202  }
 10203  
 10204  // SetRoleArn sets the RoleArn field's value.
 10205  func (s *Project) SetRoleArn(v string) *Project {
 10206  	s.RoleArn = &v
 10207  	return s
 10208  }
 10209  
 10210  // SetSample sets the Sample field's value.
 10211  func (s *Project) SetSample(v *Sample) *Project {
 10212  	s.Sample = v
 10213  	return s
 10214  }
 10215  
 10216  // SetTags sets the Tags field's value.
 10217  func (s *Project) SetTags(v map[string]*string) *Project {
 10218  	s.Tags = v
 10219  	return s
 10220  }
 10221  
 10222  type PublishRecipeInput struct {
 10223  	_ struct{} `type:"structure"`
 10224  
 10225  	// A description of the recipe to be published, for this version of the recipe.
 10226  	Description *string `type:"string"`
 10227  
 10228  	// The name of the recipe to be published.
 10229  	//
 10230  	// Name is a required field
 10231  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 10232  }
 10233  
 10234  // String returns the string representation.
 10235  //
 10236  // API parameter values that are decorated as "sensitive" in the API will not
 10237  // be included in the string output. The member name will be present, but the
 10238  // value will be replaced with "sensitive".
 10239  func (s PublishRecipeInput) String() string {
 10240  	return awsutil.Prettify(s)
 10241  }
 10242  
 10243  // GoString returns the string representation.
 10244  //
 10245  // API parameter values that are decorated as "sensitive" in the API will not
 10246  // be included in the string output. The member name will be present, but the
 10247  // value will be replaced with "sensitive".
 10248  func (s PublishRecipeInput) GoString() string {
 10249  	return s.String()
 10250  }
 10251  
 10252  // Validate inspects the fields of the type to determine if they are valid.
 10253  func (s *PublishRecipeInput) Validate() error {
 10254  	invalidParams := request.ErrInvalidParams{Context: "PublishRecipeInput"}
 10255  	if s.Name == nil {
 10256  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10257  	}
 10258  	if s.Name != nil && len(*s.Name) < 1 {
 10259  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10260  	}
 10261  
 10262  	if invalidParams.Len() > 0 {
 10263  		return invalidParams
 10264  	}
 10265  	return nil
 10266  }
 10267  
 10268  // SetDescription sets the Description field's value.
 10269  func (s *PublishRecipeInput) SetDescription(v string) *PublishRecipeInput {
 10270  	s.Description = &v
 10271  	return s
 10272  }
 10273  
 10274  // SetName sets the Name field's value.
 10275  func (s *PublishRecipeInput) SetName(v string) *PublishRecipeInput {
 10276  	s.Name = &v
 10277  	return s
 10278  }
 10279  
 10280  type PublishRecipeOutput struct {
 10281  	_ struct{} `type:"structure"`
 10282  
 10283  	// The name of the recipe that you published.
 10284  	//
 10285  	// Name is a required field
 10286  	Name *string `min:"1" type:"string" required:"true"`
 10287  }
 10288  
 10289  // String returns the string representation.
 10290  //
 10291  // API parameter values that are decorated as "sensitive" in the API will not
 10292  // be included in the string output. The member name will be present, but the
 10293  // value will be replaced with "sensitive".
 10294  func (s PublishRecipeOutput) String() string {
 10295  	return awsutil.Prettify(s)
 10296  }
 10297  
 10298  // GoString returns the string representation.
 10299  //
 10300  // API parameter values that are decorated as "sensitive" in the API will not
 10301  // be included in the string output. The member name will be present, but the
 10302  // value will be replaced with "sensitive".
 10303  func (s PublishRecipeOutput) GoString() string {
 10304  	return s.String()
 10305  }
 10306  
 10307  // SetName sets the Name field's value.
 10308  func (s *PublishRecipeOutput) SetName(v string) *PublishRecipeOutput {
 10309  	s.Name = &v
 10310  	return s
 10311  }
 10312  
 10313  // Represents one or more actions to be performed on a DataBrew dataset.
 10314  type Recipe struct {
 10315  	_ struct{} `type:"structure"`
 10316  
 10317  	// The date and time that the recipe was created.
 10318  	CreateDate *time.Time `type:"timestamp"`
 10319  
 10320  	// The Amazon Resource Name (ARN) of the user who created the recipe.
 10321  	CreatedBy *string `type:"string"`
 10322  
 10323  	// The description of the recipe.
 10324  	Description *string `type:"string"`
 10325  
 10326  	// The Amazon Resource Name (ARN) of the user who last modified the recipe.
 10327  	LastModifiedBy *string `type:"string"`
 10328  
 10329  	// The last modification date and time of the recipe.
 10330  	LastModifiedDate *time.Time `type:"timestamp"`
 10331  
 10332  	// The unique name for the recipe.
 10333  	//
 10334  	// Name is a required field
 10335  	Name *string `min:"1" type:"string" required:"true"`
 10336  
 10337  	// The name of the project that the recipe is associated with.
 10338  	ProjectName *string `min:"1" type:"string"`
 10339  
 10340  	// The Amazon Resource Name (ARN) of the user who published the recipe.
 10341  	PublishedBy *string `type:"string"`
 10342  
 10343  	// The date and time when the recipe was published.
 10344  	PublishedDate *time.Time `type:"timestamp"`
 10345  
 10346  	// The identifier for the version for the recipe. Must be one of the following:
 10347  	//
 10348  	//    * Numeric version (X.Y) - X and Y stand for major and minor version numbers.
 10349  	//    The maximum length of each is 6 digits, and neither can be negative values.
 10350  	//    Both X and Y are required, and "0.0" isn't a valid version.
 10351  	//
 10352  	//    * LATEST_WORKING - the most recent valid version being developed in a
 10353  	//    DataBrew project.
 10354  	//
 10355  	//    * LATEST_PUBLISHED - the most recent published version.
 10356  	RecipeVersion *string `min:"1" type:"string"`
 10357  
 10358  	// The Amazon Resource Name (ARN) for the recipe.
 10359  	ResourceArn *string `min:"20" type:"string"`
 10360  
 10361  	// A list of steps that are defined by the recipe.
 10362  	Steps []*RecipeStep `type:"list"`
 10363  
 10364  	// Metadata tags that have been applied to the recipe.
 10365  	Tags map[string]*string `min:"1" type:"map"`
 10366  }
 10367  
 10368  // String returns the string representation.
 10369  //
 10370  // API parameter values that are decorated as "sensitive" in the API will not
 10371  // be included in the string output. The member name will be present, but the
 10372  // value will be replaced with "sensitive".
 10373  func (s Recipe) String() string {
 10374  	return awsutil.Prettify(s)
 10375  }
 10376  
 10377  // GoString returns the string representation.
 10378  //
 10379  // API parameter values that are decorated as "sensitive" in the API will not
 10380  // be included in the string output. The member name will be present, but the
 10381  // value will be replaced with "sensitive".
 10382  func (s Recipe) GoString() string {
 10383  	return s.String()
 10384  }
 10385  
 10386  // SetCreateDate sets the CreateDate field's value.
 10387  func (s *Recipe) SetCreateDate(v time.Time) *Recipe {
 10388  	s.CreateDate = &v
 10389  	return s
 10390  }
 10391  
 10392  // SetCreatedBy sets the CreatedBy field's value.
 10393  func (s *Recipe) SetCreatedBy(v string) *Recipe {
 10394  	s.CreatedBy = &v
 10395  	return s
 10396  }
 10397  
 10398  // SetDescription sets the Description field's value.
 10399  func (s *Recipe) SetDescription(v string) *Recipe {
 10400  	s.Description = &v
 10401  	return s
 10402  }
 10403  
 10404  // SetLastModifiedBy sets the LastModifiedBy field's value.
 10405  func (s *Recipe) SetLastModifiedBy(v string) *Recipe {
 10406  	s.LastModifiedBy = &v
 10407  	return s
 10408  }
 10409  
 10410  // SetLastModifiedDate sets the LastModifiedDate field's value.
 10411  func (s *Recipe) SetLastModifiedDate(v time.Time) *Recipe {
 10412  	s.LastModifiedDate = &v
 10413  	return s
 10414  }
 10415  
 10416  // SetName sets the Name field's value.
 10417  func (s *Recipe) SetName(v string) *Recipe {
 10418  	s.Name = &v
 10419  	return s
 10420  }
 10421  
 10422  // SetProjectName sets the ProjectName field's value.
 10423  func (s *Recipe) SetProjectName(v string) *Recipe {
 10424  	s.ProjectName = &v
 10425  	return s
 10426  }
 10427  
 10428  // SetPublishedBy sets the PublishedBy field's value.
 10429  func (s *Recipe) SetPublishedBy(v string) *Recipe {
 10430  	s.PublishedBy = &v
 10431  	return s
 10432  }
 10433  
 10434  // SetPublishedDate sets the PublishedDate field's value.
 10435  func (s *Recipe) SetPublishedDate(v time.Time) *Recipe {
 10436  	s.PublishedDate = &v
 10437  	return s
 10438  }
 10439  
 10440  // SetRecipeVersion sets the RecipeVersion field's value.
 10441  func (s *Recipe) SetRecipeVersion(v string) *Recipe {
 10442  	s.RecipeVersion = &v
 10443  	return s
 10444  }
 10445  
 10446  // SetResourceArn sets the ResourceArn field's value.
 10447  func (s *Recipe) SetResourceArn(v string) *Recipe {
 10448  	s.ResourceArn = &v
 10449  	return s
 10450  }
 10451  
 10452  // SetSteps sets the Steps field's value.
 10453  func (s *Recipe) SetSteps(v []*RecipeStep) *Recipe {
 10454  	s.Steps = v
 10455  	return s
 10456  }
 10457  
 10458  // SetTags sets the Tags field's value.
 10459  func (s *Recipe) SetTags(v map[string]*string) *Recipe {
 10460  	s.Tags = v
 10461  	return s
 10462  }
 10463  
 10464  // Represents a transformation and associated parameters that are used to apply
 10465  // a change to a DataBrew dataset. For more information, see Recipe actions
 10466  // reference (https://docs.aws.amazon.com/databrew/latest/dg/recipe-actions-reference.html).
 10467  type RecipeAction struct {
 10468  	_ struct{} `type:"structure"`
 10469  
 10470  	// The name of a valid DataBrew transformation to be performed on the data.
 10471  	//
 10472  	// Operation is a required field
 10473  	Operation *string `min:"1" type:"string" required:"true"`
 10474  
 10475  	// Contextual parameters for the transformation.
 10476  	Parameters map[string]*string `type:"map"`
 10477  }
 10478  
 10479  // String returns the string representation.
 10480  //
 10481  // API parameter values that are decorated as "sensitive" in the API will not
 10482  // be included in the string output. The member name will be present, but the
 10483  // value will be replaced with "sensitive".
 10484  func (s RecipeAction) String() string {
 10485  	return awsutil.Prettify(s)
 10486  }
 10487  
 10488  // GoString returns the string representation.
 10489  //
 10490  // API parameter values that are decorated as "sensitive" in the API will not
 10491  // be included in the string output. The member name will be present, but the
 10492  // value will be replaced with "sensitive".
 10493  func (s RecipeAction) GoString() string {
 10494  	return s.String()
 10495  }
 10496  
 10497  // Validate inspects the fields of the type to determine if they are valid.
 10498  func (s *RecipeAction) Validate() error {
 10499  	invalidParams := request.ErrInvalidParams{Context: "RecipeAction"}
 10500  	if s.Operation == nil {
 10501  		invalidParams.Add(request.NewErrParamRequired("Operation"))
 10502  	}
 10503  	if s.Operation != nil && len(*s.Operation) < 1 {
 10504  		invalidParams.Add(request.NewErrParamMinLen("Operation", 1))
 10505  	}
 10506  
 10507  	if invalidParams.Len() > 0 {
 10508  		return invalidParams
 10509  	}
 10510  	return nil
 10511  }
 10512  
 10513  // SetOperation sets the Operation field's value.
 10514  func (s *RecipeAction) SetOperation(v string) *RecipeAction {
 10515  	s.Operation = &v
 10516  	return s
 10517  }
 10518  
 10519  // SetParameters sets the Parameters field's value.
 10520  func (s *RecipeAction) SetParameters(v map[string]*string) *RecipeAction {
 10521  	s.Parameters = v
 10522  	return s
 10523  }
 10524  
 10525  // Represents the name and version of a DataBrew recipe.
 10526  type RecipeReference struct {
 10527  	_ struct{} `type:"structure"`
 10528  
 10529  	// The name of the recipe.
 10530  	//
 10531  	// Name is a required field
 10532  	Name *string `min:"1" type:"string" required:"true"`
 10533  
 10534  	// The identifier for the version for the recipe.
 10535  	RecipeVersion *string `min:"1" type:"string"`
 10536  }
 10537  
 10538  // String returns the string representation.
 10539  //
 10540  // API parameter values that are decorated as "sensitive" in the API will not
 10541  // be included in the string output. The member name will be present, but the
 10542  // value will be replaced with "sensitive".
 10543  func (s RecipeReference) String() string {
 10544  	return awsutil.Prettify(s)
 10545  }
 10546  
 10547  // GoString returns the string representation.
 10548  //
 10549  // API parameter values that are decorated as "sensitive" in the API will not
 10550  // be included in the string output. The member name will be present, but the
 10551  // value will be replaced with "sensitive".
 10552  func (s RecipeReference) GoString() string {
 10553  	return s.String()
 10554  }
 10555  
 10556  // Validate inspects the fields of the type to determine if they are valid.
 10557  func (s *RecipeReference) Validate() error {
 10558  	invalidParams := request.ErrInvalidParams{Context: "RecipeReference"}
 10559  	if s.Name == nil {
 10560  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10561  	}
 10562  	if s.Name != nil && len(*s.Name) < 1 {
 10563  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10564  	}
 10565  	if s.RecipeVersion != nil && len(*s.RecipeVersion) < 1 {
 10566  		invalidParams.Add(request.NewErrParamMinLen("RecipeVersion", 1))
 10567  	}
 10568  
 10569  	if invalidParams.Len() > 0 {
 10570  		return invalidParams
 10571  	}
 10572  	return nil
 10573  }
 10574  
 10575  // SetName sets the Name field's value.
 10576  func (s *RecipeReference) SetName(v string) *RecipeReference {
 10577  	s.Name = &v
 10578  	return s
 10579  }
 10580  
 10581  // SetRecipeVersion sets the RecipeVersion field's value.
 10582  func (s *RecipeReference) SetRecipeVersion(v string) *RecipeReference {
 10583  	s.RecipeVersion = &v
 10584  	return s
 10585  }
 10586  
 10587  // Represents a single step from a DataBrew recipe to be performed.
 10588  type RecipeStep struct {
 10589  	_ struct{} `type:"structure"`
 10590  
 10591  	// The particular action to be performed in the recipe step.
 10592  	//
 10593  	// Action is a required field
 10594  	Action *RecipeAction `type:"structure" required:"true"`
 10595  
 10596  	// One or more conditions that must be met for the recipe step to succeed.
 10597  	//
 10598  	// All of the conditions in the array must be met. In other words, all of the
 10599  	// conditions must be combined using a logical AND operation.
 10600  	ConditionExpressions []*ConditionExpression `type:"list"`
 10601  }
 10602  
 10603  // String returns the string representation.
 10604  //
 10605  // API parameter values that are decorated as "sensitive" in the API will not
 10606  // be included in the string output. The member name will be present, but the
 10607  // value will be replaced with "sensitive".
 10608  func (s RecipeStep) String() string {
 10609  	return awsutil.Prettify(s)
 10610  }
 10611  
 10612  // GoString returns the string representation.
 10613  //
 10614  // API parameter values that are decorated as "sensitive" in the API will not
 10615  // be included in the string output. The member name will be present, but the
 10616  // value will be replaced with "sensitive".
 10617  func (s RecipeStep) GoString() string {
 10618  	return s.String()
 10619  }
 10620  
 10621  // Validate inspects the fields of the type to determine if they are valid.
 10622  func (s *RecipeStep) Validate() error {
 10623  	invalidParams := request.ErrInvalidParams{Context: "RecipeStep"}
 10624  	if s.Action == nil {
 10625  		invalidParams.Add(request.NewErrParamRequired("Action"))
 10626  	}
 10627  	if s.Action != nil {
 10628  		if err := s.Action.Validate(); err != nil {
 10629  			invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
 10630  		}
 10631  	}
 10632  	if s.ConditionExpressions != nil {
 10633  		for i, v := range s.ConditionExpressions {
 10634  			if v == nil {
 10635  				continue
 10636  			}
 10637  			if err := v.Validate(); err != nil {
 10638  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConditionExpressions", i), err.(request.ErrInvalidParams))
 10639  			}
 10640  		}
 10641  	}
 10642  
 10643  	if invalidParams.Len() > 0 {
 10644  		return invalidParams
 10645  	}
 10646  	return nil
 10647  }
 10648  
 10649  // SetAction sets the Action field's value.
 10650  func (s *RecipeStep) SetAction(v *RecipeAction) *RecipeStep {
 10651  	s.Action = v
 10652  	return s
 10653  }
 10654  
 10655  // SetConditionExpressions sets the ConditionExpressions field's value.
 10656  func (s *RecipeStep) SetConditionExpressions(v []*ConditionExpression) *RecipeStep {
 10657  	s.ConditionExpressions = v
 10658  	return s
 10659  }
 10660  
 10661  // Represents any errors encountered when attempting to delete multiple recipe
 10662  // versions.
 10663  type RecipeVersionErrorDetail struct {
 10664  	_ struct{} `type:"structure"`
 10665  
 10666  	// The HTTP status code for the error.
 10667  	ErrorCode *string `type:"string"`
 10668  
 10669  	// The text of the error message.
 10670  	ErrorMessage *string `type:"string"`
 10671  
 10672  	// The identifier for the recipe version associated with this error.
 10673  	RecipeVersion *string `min:"1" type:"string"`
 10674  }
 10675  
 10676  // String returns the string representation.
 10677  //
 10678  // API parameter values that are decorated as "sensitive" in the API will not
 10679  // be included in the string output. The member name will be present, but the
 10680  // value will be replaced with "sensitive".
 10681  func (s RecipeVersionErrorDetail) String() string {
 10682  	return awsutil.Prettify(s)
 10683  }
 10684  
 10685  // GoString returns the string representation.
 10686  //
 10687  // API parameter values that are decorated as "sensitive" in the API will not
 10688  // be included in the string output. The member name will be present, but the
 10689  // value will be replaced with "sensitive".
 10690  func (s RecipeVersionErrorDetail) GoString() string {
 10691  	return s.String()
 10692  }
 10693  
 10694  // SetErrorCode sets the ErrorCode field's value.
 10695  func (s *RecipeVersionErrorDetail) SetErrorCode(v string) *RecipeVersionErrorDetail {
 10696  	s.ErrorCode = &v
 10697  	return s
 10698  }
 10699  
 10700  // SetErrorMessage sets the ErrorMessage field's value.
 10701  func (s *RecipeVersionErrorDetail) SetErrorMessage(v string) *RecipeVersionErrorDetail {
 10702  	s.ErrorMessage = &v
 10703  	return s
 10704  }
 10705  
 10706  // SetRecipeVersion sets the RecipeVersion field's value.
 10707  func (s *RecipeVersionErrorDetail) SetRecipeVersion(v string) *RecipeVersionErrorDetail {
 10708  	s.RecipeVersion = &v
 10709  	return s
 10710  }
 10711  
 10712  // One or more resources can't be found.
 10713  type ResourceNotFoundException struct {
 10714  	_            struct{}                  `type:"structure"`
 10715  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10716  
 10717  	Message_ *string `locationName:"Message" type:"string"`
 10718  }
 10719  
 10720  // String returns the string representation.
 10721  //
 10722  // API parameter values that are decorated as "sensitive" in the API will not
 10723  // be included in the string output. The member name will be present, but the
 10724  // value will be replaced with "sensitive".
 10725  func (s ResourceNotFoundException) String() string {
 10726  	return awsutil.Prettify(s)
 10727  }
 10728  
 10729  // GoString returns the string representation.
 10730  //
 10731  // API parameter values that are decorated as "sensitive" in the API will not
 10732  // be included in the string output. The member name will be present, but the
 10733  // value will be replaced with "sensitive".
 10734  func (s ResourceNotFoundException) GoString() string {
 10735  	return s.String()
 10736  }
 10737  
 10738  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 10739  	return &ResourceNotFoundException{
 10740  		RespMetadata: v,
 10741  	}
 10742  }
 10743  
 10744  // Code returns the exception type name.
 10745  func (s *ResourceNotFoundException) Code() string {
 10746  	return "ResourceNotFoundException"
 10747  }
 10748  
 10749  // Message returns the exception's message.
 10750  func (s *ResourceNotFoundException) Message() string {
 10751  	if s.Message_ != nil {
 10752  		return *s.Message_
 10753  	}
 10754  	return ""
 10755  }
 10756  
 10757  // OrigErr always returns nil, satisfies awserr.Error interface.
 10758  func (s *ResourceNotFoundException) OrigErr() error {
 10759  	return nil
 10760  }
 10761  
 10762  func (s *ResourceNotFoundException) Error() string {
 10763  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10764  }
 10765  
 10766  // Status code returns the HTTP status code for the request's response error.
 10767  func (s *ResourceNotFoundException) StatusCode() int {
 10768  	return s.RespMetadata.StatusCode
 10769  }
 10770  
 10771  // RequestID returns the service's response RequestID for request.
 10772  func (s *ResourceNotFoundException) RequestID() string {
 10773  	return s.RespMetadata.RequestID
 10774  }
 10775  
 10776  // Represents an Amazon S3 location (bucket name and object key) where DataBrew
 10777  // can read input data, or write output from a job.
 10778  type S3Location struct {
 10779  	_ struct{} `type:"structure"`
 10780  
 10781  	// The Amazon S3 bucket name.
 10782  	//
 10783  	// Bucket is a required field
 10784  	Bucket *string `min:"3" type:"string" required:"true"`
 10785  
 10786  	// The unique name of the object in the bucket.
 10787  	Key *string `min:"1" type:"string"`
 10788  }
 10789  
 10790  // String returns the string representation.
 10791  //
 10792  // API parameter values that are decorated as "sensitive" in the API will not
 10793  // be included in the string output. The member name will be present, but the
 10794  // value will be replaced with "sensitive".
 10795  func (s S3Location) String() string {
 10796  	return awsutil.Prettify(s)
 10797  }
 10798  
 10799  // GoString returns the string representation.
 10800  //
 10801  // API parameter values that are decorated as "sensitive" in the API will not
 10802  // be included in the string output. The member name will be present, but the
 10803  // value will be replaced with "sensitive".
 10804  func (s S3Location) GoString() string {
 10805  	return s.String()
 10806  }
 10807  
 10808  // Validate inspects the fields of the type to determine if they are valid.
 10809  func (s *S3Location) Validate() error {
 10810  	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
 10811  	if s.Bucket == nil {
 10812  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
 10813  	}
 10814  	if s.Bucket != nil && len(*s.Bucket) < 3 {
 10815  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
 10816  	}
 10817  	if s.Key != nil && len(*s.Key) < 1 {
 10818  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 10819  	}
 10820  
 10821  	if invalidParams.Len() > 0 {
 10822  		return invalidParams
 10823  	}
 10824  	return nil
 10825  }
 10826  
 10827  // SetBucket sets the Bucket field's value.
 10828  func (s *S3Location) SetBucket(v string) *S3Location {
 10829  	s.Bucket = &v
 10830  	return s
 10831  }
 10832  
 10833  // SetKey sets the Key field's value.
 10834  func (s *S3Location) SetKey(v string) *S3Location {
 10835  	s.Key = &v
 10836  	return s
 10837  }
 10838  
 10839  // Represents options that specify how and where DataBrew writes the Amazon
 10840  // S3 output generated by recipe jobs.
 10841  type S3TableOutputOptions struct {
 10842  	_ struct{} `type:"structure"`
 10843  
 10844  	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
 10845  	// can write output from a job.
 10846  	//
 10847  	// Location is a required field
 10848  	Location *S3Location `type:"structure" required:"true"`
 10849  }
 10850  
 10851  // String returns the string representation.
 10852  //
 10853  // API parameter values that are decorated as "sensitive" in the API will not
 10854  // be included in the string output. The member name will be present, but the
 10855  // value will be replaced with "sensitive".
 10856  func (s S3TableOutputOptions) String() string {
 10857  	return awsutil.Prettify(s)
 10858  }
 10859  
 10860  // GoString returns the string representation.
 10861  //
 10862  // API parameter values that are decorated as "sensitive" in the API will not
 10863  // be included in the string output. The member name will be present, but the
 10864  // value will be replaced with "sensitive".
 10865  func (s S3TableOutputOptions) GoString() string {
 10866  	return s.String()
 10867  }
 10868  
 10869  // Validate inspects the fields of the type to determine if they are valid.
 10870  func (s *S3TableOutputOptions) Validate() error {
 10871  	invalidParams := request.ErrInvalidParams{Context: "S3TableOutputOptions"}
 10872  	if s.Location == nil {
 10873  		invalidParams.Add(request.NewErrParamRequired("Location"))
 10874  	}
 10875  	if s.Location != nil {
 10876  		if err := s.Location.Validate(); err != nil {
 10877  			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
 10878  		}
 10879  	}
 10880  
 10881  	if invalidParams.Len() > 0 {
 10882  		return invalidParams
 10883  	}
 10884  	return nil
 10885  }
 10886  
 10887  // SetLocation sets the Location field's value.
 10888  func (s *S3TableOutputOptions) SetLocation(v *S3Location) *S3TableOutputOptions {
 10889  	s.Location = v
 10890  	return s
 10891  }
 10892  
 10893  // Represents the sample size and sampling type for DataBrew to use for interactive
 10894  // data analysis.
 10895  type Sample struct {
 10896  	_ struct{} `type:"structure"`
 10897  
 10898  	// The number of rows in the sample.
 10899  	Size *int64 `min:"1" type:"integer"`
 10900  
 10901  	// The way in which DataBrew obtains rows from a dataset.
 10902  	//
 10903  	// Type is a required field
 10904  	Type *string `type:"string" required:"true" enum:"SampleType"`
 10905  }
 10906  
 10907  // String returns the string representation.
 10908  //
 10909  // API parameter values that are decorated as "sensitive" in the API will not
 10910  // be included in the string output. The member name will be present, but the
 10911  // value will be replaced with "sensitive".
 10912  func (s Sample) String() string {
 10913  	return awsutil.Prettify(s)
 10914  }
 10915  
 10916  // GoString returns the string representation.
 10917  //
 10918  // API parameter values that are decorated as "sensitive" in the API will not
 10919  // be included in the string output. The member name will be present, but the
 10920  // value will be replaced with "sensitive".
 10921  func (s Sample) GoString() string {
 10922  	return s.String()
 10923  }
 10924  
 10925  // Validate inspects the fields of the type to determine if they are valid.
 10926  func (s *Sample) Validate() error {
 10927  	invalidParams := request.ErrInvalidParams{Context: "Sample"}
 10928  	if s.Size != nil && *s.Size < 1 {
 10929  		invalidParams.Add(request.NewErrParamMinValue("Size", 1))
 10930  	}
 10931  	if s.Type == nil {
 10932  		invalidParams.Add(request.NewErrParamRequired("Type"))
 10933  	}
 10934  
 10935  	if invalidParams.Len() > 0 {
 10936  		return invalidParams
 10937  	}
 10938  	return nil
 10939  }
 10940  
 10941  // SetSize sets the Size field's value.
 10942  func (s *Sample) SetSize(v int64) *Sample {
 10943  	s.Size = &v
 10944  	return s
 10945  }
 10946  
 10947  // SetType sets the Type field's value.
 10948  func (s *Sample) SetType(v string) *Sample {
 10949  	s.Type = &v
 10950  	return s
 10951  }
 10952  
 10953  // Represents one or more dates and times when a job is to run.
 10954  type Schedule struct {
 10955  	_ struct{} `type:"structure"`
 10956  
 10957  	// The ID of the Amazon Web Services account that owns the schedule.
 10958  	AccountId *string `type:"string"`
 10959  
 10960  	// The date and time that the schedule was created.
 10961  	CreateDate *time.Time `type:"timestamp"`
 10962  
 10963  	// The Amazon Resource Name (ARN) of the user who created the schedule.
 10964  	CreatedBy *string `type:"string"`
 10965  
 10966  	// The dates and times when the job is to run. For more information, see Cron
 10967  	// expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
 10968  	// in the Glue DataBrew Developer Guide.
 10969  	CronExpression *string `min:"1" type:"string"`
 10970  
 10971  	// A list of jobs to be run, according to the schedule.
 10972  	JobNames []*string `type:"list"`
 10973  
 10974  	// The Amazon Resource Name (ARN) of the user who last modified the schedule.
 10975  	LastModifiedBy *string `type:"string"`
 10976  
 10977  	// The date and time when the schedule was last modified.
 10978  	LastModifiedDate *time.Time `type:"timestamp"`
 10979  
 10980  	// The name of the schedule.
 10981  	//
 10982  	// Name is a required field
 10983  	Name *string `min:"1" type:"string" required:"true"`
 10984  
 10985  	// The Amazon Resource Name (ARN) of the schedule.
 10986  	ResourceArn *string `min:"20" type:"string"`
 10987  
 10988  	// Metadata tags that have been applied to the schedule.
 10989  	Tags map[string]*string `min:"1" type:"map"`
 10990  }
 10991  
 10992  // String returns the string representation.
 10993  //
 10994  // API parameter values that are decorated as "sensitive" in the API will not
 10995  // be included in the string output. The member name will be present, but the
 10996  // value will be replaced with "sensitive".
 10997  func (s Schedule) String() string {
 10998  	return awsutil.Prettify(s)
 10999  }
 11000  
 11001  // GoString returns the string representation.
 11002  //
 11003  // API parameter values that are decorated as "sensitive" in the API will not
 11004  // be included in the string output. The member name will be present, but the
 11005  // value will be replaced with "sensitive".
 11006  func (s Schedule) GoString() string {
 11007  	return s.String()
 11008  }
 11009  
 11010  // SetAccountId sets the AccountId field's value.
 11011  func (s *Schedule) SetAccountId(v string) *Schedule {
 11012  	s.AccountId = &v
 11013  	return s
 11014  }
 11015  
 11016  // SetCreateDate sets the CreateDate field's value.
 11017  func (s *Schedule) SetCreateDate(v time.Time) *Schedule {
 11018  	s.CreateDate = &v
 11019  	return s
 11020  }
 11021  
 11022  // SetCreatedBy sets the CreatedBy field's value.
 11023  func (s *Schedule) SetCreatedBy(v string) *Schedule {
 11024  	s.CreatedBy = &v
 11025  	return s
 11026  }
 11027  
 11028  // SetCronExpression sets the CronExpression field's value.
 11029  func (s *Schedule) SetCronExpression(v string) *Schedule {
 11030  	s.CronExpression = &v
 11031  	return s
 11032  }
 11033  
 11034  // SetJobNames sets the JobNames field's value.
 11035  func (s *Schedule) SetJobNames(v []*string) *Schedule {
 11036  	s.JobNames = v
 11037  	return s
 11038  }
 11039  
 11040  // SetLastModifiedBy sets the LastModifiedBy field's value.
 11041  func (s *Schedule) SetLastModifiedBy(v string) *Schedule {
 11042  	s.LastModifiedBy = &v
 11043  	return s
 11044  }
 11045  
 11046  // SetLastModifiedDate sets the LastModifiedDate field's value.
 11047  func (s *Schedule) SetLastModifiedDate(v time.Time) *Schedule {
 11048  	s.LastModifiedDate = &v
 11049  	return s
 11050  }
 11051  
 11052  // SetName sets the Name field's value.
 11053  func (s *Schedule) SetName(v string) *Schedule {
 11054  	s.Name = &v
 11055  	return s
 11056  }
 11057  
 11058  // SetResourceArn sets the ResourceArn field's value.
 11059  func (s *Schedule) SetResourceArn(v string) *Schedule {
 11060  	s.ResourceArn = &v
 11061  	return s
 11062  }
 11063  
 11064  // SetTags sets the Tags field's value.
 11065  func (s *Schedule) SetTags(v map[string]*string) *Schedule {
 11066  	s.Tags = v
 11067  	return s
 11068  }
 11069  
 11070  type SendProjectSessionActionInput struct {
 11071  	_ struct{} `type:"structure"`
 11072  
 11073  	// A unique identifier for an interactive session that's currently open and
 11074  	// ready for work. The action will be performed on this session.
 11075  	ClientSessionId *string `min:"1" type:"string"`
 11076  
 11077  	// The name of the project to apply the action to.
 11078  	//
 11079  	// Name is a required field
 11080  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 11081  
 11082  	// If true, the result of the recipe step will be returned, but not applied.
 11083  	Preview *bool `type:"boolean"`
 11084  
 11085  	// Represents a single step from a DataBrew recipe to be performed.
 11086  	RecipeStep *RecipeStep `type:"structure"`
 11087  
 11088  	// The index from which to preview a step. This index is used to preview the
 11089  	// result of steps that have already been applied, so that the resulting view
 11090  	// frame is from earlier in the view frame stack.
 11091  	StepIndex *int64 `type:"integer"`
 11092  
 11093  	// Represents the data being transformed during an action.
 11094  	ViewFrame *ViewFrame `type:"structure"`
 11095  }
 11096  
 11097  // String returns the string representation.
 11098  //
 11099  // API parameter values that are decorated as "sensitive" in the API will not
 11100  // be included in the string output. The member name will be present, but the
 11101  // value will be replaced with "sensitive".
 11102  func (s SendProjectSessionActionInput) String() string {
 11103  	return awsutil.Prettify(s)
 11104  }
 11105  
 11106  // GoString returns the string representation.
 11107  //
 11108  // API parameter values that are decorated as "sensitive" in the API will not
 11109  // be included in the string output. The member name will be present, but the
 11110  // value will be replaced with "sensitive".
 11111  func (s SendProjectSessionActionInput) GoString() string {
 11112  	return s.String()
 11113  }
 11114  
 11115  // Validate inspects the fields of the type to determine if they are valid.
 11116  func (s *SendProjectSessionActionInput) Validate() error {
 11117  	invalidParams := request.ErrInvalidParams{Context: "SendProjectSessionActionInput"}
 11118  	if s.ClientSessionId != nil && len(*s.ClientSessionId) < 1 {
 11119  		invalidParams.Add(request.NewErrParamMinLen("ClientSessionId", 1))
 11120  	}
 11121  	if s.Name == nil {
 11122  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11123  	}
 11124  	if s.Name != nil && len(*s.Name) < 1 {
 11125  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11126  	}
 11127  	if s.RecipeStep != nil {
 11128  		if err := s.RecipeStep.Validate(); err != nil {
 11129  			invalidParams.AddNested("RecipeStep", err.(request.ErrInvalidParams))
 11130  		}
 11131  	}
 11132  	if s.ViewFrame != nil {
 11133  		if err := s.ViewFrame.Validate(); err != nil {
 11134  			invalidParams.AddNested("ViewFrame", err.(request.ErrInvalidParams))
 11135  		}
 11136  	}
 11137  
 11138  	if invalidParams.Len() > 0 {
 11139  		return invalidParams
 11140  	}
 11141  	return nil
 11142  }
 11143  
 11144  // SetClientSessionId sets the ClientSessionId field's value.
 11145  func (s *SendProjectSessionActionInput) SetClientSessionId(v string) *SendProjectSessionActionInput {
 11146  	s.ClientSessionId = &v
 11147  	return s
 11148  }
 11149  
 11150  // SetName sets the Name field's value.
 11151  func (s *SendProjectSessionActionInput) SetName(v string) *SendProjectSessionActionInput {
 11152  	s.Name = &v
 11153  	return s
 11154  }
 11155  
 11156  // SetPreview sets the Preview field's value.
 11157  func (s *SendProjectSessionActionInput) SetPreview(v bool) *SendProjectSessionActionInput {
 11158  	s.Preview = &v
 11159  	return s
 11160  }
 11161  
 11162  // SetRecipeStep sets the RecipeStep field's value.
 11163  func (s *SendProjectSessionActionInput) SetRecipeStep(v *RecipeStep) *SendProjectSessionActionInput {
 11164  	s.RecipeStep = v
 11165  	return s
 11166  }
 11167  
 11168  // SetStepIndex sets the StepIndex field's value.
 11169  func (s *SendProjectSessionActionInput) SetStepIndex(v int64) *SendProjectSessionActionInput {
 11170  	s.StepIndex = &v
 11171  	return s
 11172  }
 11173  
 11174  // SetViewFrame sets the ViewFrame field's value.
 11175  func (s *SendProjectSessionActionInput) SetViewFrame(v *ViewFrame) *SendProjectSessionActionInput {
 11176  	s.ViewFrame = v
 11177  	return s
 11178  }
 11179  
 11180  type SendProjectSessionActionOutput struct {
 11181  	_ struct{} `type:"structure"`
 11182  
 11183  	// A unique identifier for the action that was performed.
 11184  	ActionId *int64 `type:"integer"`
 11185  
 11186  	// The name of the project that was affected by the action.
 11187  	//
 11188  	// Name is a required field
 11189  	Name *string `min:"1" type:"string" required:"true"`
 11190  
 11191  	// A message indicating the result of performing the action.
 11192  	Result *string `type:"string"`
 11193  }
 11194  
 11195  // String returns the string representation.
 11196  //
 11197  // API parameter values that are decorated as "sensitive" in the API will not
 11198  // be included in the string output. The member name will be present, but the
 11199  // value will be replaced with "sensitive".
 11200  func (s SendProjectSessionActionOutput) String() string {
 11201  	return awsutil.Prettify(s)
 11202  }
 11203  
 11204  // GoString returns the string representation.
 11205  //
 11206  // API parameter values that are decorated as "sensitive" in the API will not
 11207  // be included in the string output. The member name will be present, but the
 11208  // value will be replaced with "sensitive".
 11209  func (s SendProjectSessionActionOutput) GoString() string {
 11210  	return s.String()
 11211  }
 11212  
 11213  // SetActionId sets the ActionId field's value.
 11214  func (s *SendProjectSessionActionOutput) SetActionId(v int64) *SendProjectSessionActionOutput {
 11215  	s.ActionId = &v
 11216  	return s
 11217  }
 11218  
 11219  // SetName sets the Name field's value.
 11220  func (s *SendProjectSessionActionOutput) SetName(v string) *SendProjectSessionActionOutput {
 11221  	s.Name = &v
 11222  	return s
 11223  }
 11224  
 11225  // SetResult sets the Result field's value.
 11226  func (s *SendProjectSessionActionOutput) SetResult(v string) *SendProjectSessionActionOutput {
 11227  	s.Result = &v
 11228  	return s
 11229  }
 11230  
 11231  // A service quota is exceeded.
 11232  type ServiceQuotaExceededException struct {
 11233  	_            struct{}                  `type:"structure"`
 11234  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11235  
 11236  	Message_ *string `locationName:"Message" type:"string"`
 11237  }
 11238  
 11239  // String returns the string representation.
 11240  //
 11241  // API parameter values that are decorated as "sensitive" in the API will not
 11242  // be included in the string output. The member name will be present, but the
 11243  // value will be replaced with "sensitive".
 11244  func (s ServiceQuotaExceededException) String() string {
 11245  	return awsutil.Prettify(s)
 11246  }
 11247  
 11248  // GoString returns the string representation.
 11249  //
 11250  // API parameter values that are decorated as "sensitive" in the API will not
 11251  // be included in the string output. The member name will be present, but the
 11252  // value will be replaced with "sensitive".
 11253  func (s ServiceQuotaExceededException) GoString() string {
 11254  	return s.String()
 11255  }
 11256  
 11257  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 11258  	return &ServiceQuotaExceededException{
 11259  		RespMetadata: v,
 11260  	}
 11261  }
 11262  
 11263  // Code returns the exception type name.
 11264  func (s *ServiceQuotaExceededException) Code() string {
 11265  	return "ServiceQuotaExceededException"
 11266  }
 11267  
 11268  // Message returns the exception's message.
 11269  func (s *ServiceQuotaExceededException) Message() string {
 11270  	if s.Message_ != nil {
 11271  		return *s.Message_
 11272  	}
 11273  	return ""
 11274  }
 11275  
 11276  // OrigErr always returns nil, satisfies awserr.Error interface.
 11277  func (s *ServiceQuotaExceededException) OrigErr() error {
 11278  	return nil
 11279  }
 11280  
 11281  func (s *ServiceQuotaExceededException) Error() string {
 11282  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11283  }
 11284  
 11285  // Status code returns the HTTP status code for the request's response error.
 11286  func (s *ServiceQuotaExceededException) StatusCode() int {
 11287  	return s.RespMetadata.StatusCode
 11288  }
 11289  
 11290  // RequestID returns the service's response RequestID for request.
 11291  func (s *ServiceQuotaExceededException) RequestID() string {
 11292  	return s.RespMetadata.RequestID
 11293  }
 11294  
 11295  type StartJobRunInput struct {
 11296  	_ struct{} `type:"structure" nopayload:"true"`
 11297  
 11298  	// The name of the job to be run.
 11299  	//
 11300  	// Name is a required field
 11301  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 11302  }
 11303  
 11304  // String returns the string representation.
 11305  //
 11306  // API parameter values that are decorated as "sensitive" in the API will not
 11307  // be included in the string output. The member name will be present, but the
 11308  // value will be replaced with "sensitive".
 11309  func (s StartJobRunInput) String() string {
 11310  	return awsutil.Prettify(s)
 11311  }
 11312  
 11313  // GoString returns the string representation.
 11314  //
 11315  // API parameter values that are decorated as "sensitive" in the API will not
 11316  // be included in the string output. The member name will be present, but the
 11317  // value will be replaced with "sensitive".
 11318  func (s StartJobRunInput) GoString() string {
 11319  	return s.String()
 11320  }
 11321  
 11322  // Validate inspects the fields of the type to determine if they are valid.
 11323  func (s *StartJobRunInput) Validate() error {
 11324  	invalidParams := request.ErrInvalidParams{Context: "StartJobRunInput"}
 11325  	if s.Name == nil {
 11326  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11327  	}
 11328  	if s.Name != nil && len(*s.Name) < 1 {
 11329  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11330  	}
 11331  
 11332  	if invalidParams.Len() > 0 {
 11333  		return invalidParams
 11334  	}
 11335  	return nil
 11336  }
 11337  
 11338  // SetName sets the Name field's value.
 11339  func (s *StartJobRunInput) SetName(v string) *StartJobRunInput {
 11340  	s.Name = &v
 11341  	return s
 11342  }
 11343  
 11344  type StartJobRunOutput struct {
 11345  	_ struct{} `type:"structure"`
 11346  
 11347  	// A system-generated identifier for this particular job run.
 11348  	//
 11349  	// RunId is a required field
 11350  	RunId *string `min:"1" type:"string" required:"true"`
 11351  }
 11352  
 11353  // String returns the string representation.
 11354  //
 11355  // API parameter values that are decorated as "sensitive" in the API will not
 11356  // be included in the string output. The member name will be present, but the
 11357  // value will be replaced with "sensitive".
 11358  func (s StartJobRunOutput) String() string {
 11359  	return awsutil.Prettify(s)
 11360  }
 11361  
 11362  // GoString returns the string representation.
 11363  //
 11364  // API parameter values that are decorated as "sensitive" in the API will not
 11365  // be included in the string output. The member name will be present, but the
 11366  // value will be replaced with "sensitive".
 11367  func (s StartJobRunOutput) GoString() string {
 11368  	return s.String()
 11369  }
 11370  
 11371  // SetRunId sets the RunId field's value.
 11372  func (s *StartJobRunOutput) SetRunId(v string) *StartJobRunOutput {
 11373  	s.RunId = &v
 11374  	return s
 11375  }
 11376  
 11377  type StartProjectSessionInput struct {
 11378  	_ struct{} `type:"structure"`
 11379  
 11380  	// A value that, if true, enables you to take control of a session, even if
 11381  	// a different client is currently accessing the project.
 11382  	AssumeControl *bool `type:"boolean"`
 11383  
 11384  	// The name of the project to act upon.
 11385  	//
 11386  	// Name is a required field
 11387  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 11388  }
 11389  
 11390  // String returns the string representation.
 11391  //
 11392  // API parameter values that are decorated as "sensitive" in the API will not
 11393  // be included in the string output. The member name will be present, but the
 11394  // value will be replaced with "sensitive".
 11395  func (s StartProjectSessionInput) String() string {
 11396  	return awsutil.Prettify(s)
 11397  }
 11398  
 11399  // GoString returns the string representation.
 11400  //
 11401  // API parameter values that are decorated as "sensitive" in the API will not
 11402  // be included in the string output. The member name will be present, but the
 11403  // value will be replaced with "sensitive".
 11404  func (s StartProjectSessionInput) GoString() string {
 11405  	return s.String()
 11406  }
 11407  
 11408  // Validate inspects the fields of the type to determine if they are valid.
 11409  func (s *StartProjectSessionInput) Validate() error {
 11410  	invalidParams := request.ErrInvalidParams{Context: "StartProjectSessionInput"}
 11411  	if s.Name == nil {
 11412  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11413  	}
 11414  	if s.Name != nil && len(*s.Name) < 1 {
 11415  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11416  	}
 11417  
 11418  	if invalidParams.Len() > 0 {
 11419  		return invalidParams
 11420  	}
 11421  	return nil
 11422  }
 11423  
 11424  // SetAssumeControl sets the AssumeControl field's value.
 11425  func (s *StartProjectSessionInput) SetAssumeControl(v bool) *StartProjectSessionInput {
 11426  	s.AssumeControl = &v
 11427  	return s
 11428  }
 11429  
 11430  // SetName sets the Name field's value.
 11431  func (s *StartProjectSessionInput) SetName(v string) *StartProjectSessionInput {
 11432  	s.Name = &v
 11433  	return s
 11434  }
 11435  
 11436  type StartProjectSessionOutput struct {
 11437  	_ struct{} `type:"structure"`
 11438  
 11439  	// A system-generated identifier for the session.
 11440  	ClientSessionId *string `min:"1" type:"string"`
 11441  
 11442  	// The name of the project to be acted upon.
 11443  	//
 11444  	// Name is a required field
 11445  	Name *string `min:"1" type:"string" required:"true"`
 11446  }
 11447  
 11448  // String returns the string representation.
 11449  //
 11450  // API parameter values that are decorated as "sensitive" in the API will not
 11451  // be included in the string output. The member name will be present, but the
 11452  // value will be replaced with "sensitive".
 11453  func (s StartProjectSessionOutput) String() string {
 11454  	return awsutil.Prettify(s)
 11455  }
 11456  
 11457  // GoString returns the string representation.
 11458  //
 11459  // API parameter values that are decorated as "sensitive" in the API will not
 11460  // be included in the string output. The member name will be present, but the
 11461  // value will be replaced with "sensitive".
 11462  func (s StartProjectSessionOutput) GoString() string {
 11463  	return s.String()
 11464  }
 11465  
 11466  // SetClientSessionId sets the ClientSessionId field's value.
 11467  func (s *StartProjectSessionOutput) SetClientSessionId(v string) *StartProjectSessionOutput {
 11468  	s.ClientSessionId = &v
 11469  	return s
 11470  }
 11471  
 11472  // SetName sets the Name field's value.
 11473  func (s *StartProjectSessionOutput) SetName(v string) *StartProjectSessionOutput {
 11474  	s.Name = &v
 11475  	return s
 11476  }
 11477  
 11478  // Override of a particular evaluation for a profile job.
 11479  type StatisticOverride struct {
 11480  	_ struct{} `type:"structure"`
 11481  
 11482  	// A map that includes overrides of an evaluation’s parameters.
 11483  	//
 11484  	// Parameters is a required field
 11485  	Parameters map[string]*string `type:"map" required:"true"`
 11486  
 11487  	// The name of an evaluation
 11488  	//
 11489  	// Statistic is a required field
 11490  	Statistic *string `min:"1" type:"string" required:"true"`
 11491  }
 11492  
 11493  // String returns the string representation.
 11494  //
 11495  // API parameter values that are decorated as "sensitive" in the API will not
 11496  // be included in the string output. The member name will be present, but the
 11497  // value will be replaced with "sensitive".
 11498  func (s StatisticOverride) String() string {
 11499  	return awsutil.Prettify(s)
 11500  }
 11501  
 11502  // GoString returns the string representation.
 11503  //
 11504  // API parameter values that are decorated as "sensitive" in the API will not
 11505  // be included in the string output. The member name will be present, but the
 11506  // value will be replaced with "sensitive".
 11507  func (s StatisticOverride) GoString() string {
 11508  	return s.String()
 11509  }
 11510  
 11511  // Validate inspects the fields of the type to determine if they are valid.
 11512  func (s *StatisticOverride) Validate() error {
 11513  	invalidParams := request.ErrInvalidParams{Context: "StatisticOverride"}
 11514  	if s.Parameters == nil {
 11515  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 11516  	}
 11517  	if s.Statistic == nil {
 11518  		invalidParams.Add(request.NewErrParamRequired("Statistic"))
 11519  	}
 11520  	if s.Statistic != nil && len(*s.Statistic) < 1 {
 11521  		invalidParams.Add(request.NewErrParamMinLen("Statistic", 1))
 11522  	}
 11523  
 11524  	if invalidParams.Len() > 0 {
 11525  		return invalidParams
 11526  	}
 11527  	return nil
 11528  }
 11529  
 11530  // SetParameters sets the Parameters field's value.
 11531  func (s *StatisticOverride) SetParameters(v map[string]*string) *StatisticOverride {
 11532  	s.Parameters = v
 11533  	return s
 11534  }
 11535  
 11536  // SetStatistic sets the Statistic field's value.
 11537  func (s *StatisticOverride) SetStatistic(v string) *StatisticOverride {
 11538  	s.Statistic = &v
 11539  	return s
 11540  }
 11541  
 11542  // Configuration of evaluations for a profile job. This configuration can be
 11543  // used to select evaluations and override the parameters of selected evaluations.
 11544  type StatisticsConfiguration struct {
 11545  	_ struct{} `type:"structure"`
 11546  
 11547  	// List of included evaluations. When the list is undefined, all supported evaluations
 11548  	// will be included.
 11549  	IncludedStatistics []*string `min:"1" type:"list"`
 11550  
 11551  	// List of overrides for evaluations.
 11552  	Overrides []*StatisticOverride `min:"1" type:"list"`
 11553  }
 11554  
 11555  // String returns the string representation.
 11556  //
 11557  // API parameter values that are decorated as "sensitive" in the API will not
 11558  // be included in the string output. The member name will be present, but the
 11559  // value will be replaced with "sensitive".
 11560  func (s StatisticsConfiguration) String() string {
 11561  	return awsutil.Prettify(s)
 11562  }
 11563  
 11564  // GoString returns the string representation.
 11565  //
 11566  // API parameter values that are decorated as "sensitive" in the API will not
 11567  // be included in the string output. The member name will be present, but the
 11568  // value will be replaced with "sensitive".
 11569  func (s StatisticsConfiguration) GoString() string {
 11570  	return s.String()
 11571  }
 11572  
 11573  // Validate inspects the fields of the type to determine if they are valid.
 11574  func (s *StatisticsConfiguration) Validate() error {
 11575  	invalidParams := request.ErrInvalidParams{Context: "StatisticsConfiguration"}
 11576  	if s.IncludedStatistics != nil && len(s.IncludedStatistics) < 1 {
 11577  		invalidParams.Add(request.NewErrParamMinLen("IncludedStatistics", 1))
 11578  	}
 11579  	if s.Overrides != nil && len(s.Overrides) < 1 {
 11580  		invalidParams.Add(request.NewErrParamMinLen("Overrides", 1))
 11581  	}
 11582  	if s.Overrides != nil {
 11583  		for i, v := range s.Overrides {
 11584  			if v == nil {
 11585  				continue
 11586  			}
 11587  			if err := v.Validate(); err != nil {
 11588  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Overrides", i), err.(request.ErrInvalidParams))
 11589  			}
 11590  		}
 11591  	}
 11592  
 11593  	if invalidParams.Len() > 0 {
 11594  		return invalidParams
 11595  	}
 11596  	return nil
 11597  }
 11598  
 11599  // SetIncludedStatistics sets the IncludedStatistics field's value.
 11600  func (s *StatisticsConfiguration) SetIncludedStatistics(v []*string) *StatisticsConfiguration {
 11601  	s.IncludedStatistics = v
 11602  	return s
 11603  }
 11604  
 11605  // SetOverrides sets the Overrides field's value.
 11606  func (s *StatisticsConfiguration) SetOverrides(v []*StatisticOverride) *StatisticsConfiguration {
 11607  	s.Overrides = v
 11608  	return s
 11609  }
 11610  
 11611  type StopJobRunInput struct {
 11612  	_ struct{} `type:"structure" nopayload:"true"`
 11613  
 11614  	// The name of the job to be stopped.
 11615  	//
 11616  	// Name is a required field
 11617  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 11618  
 11619  	// The ID of the job run to be stopped.
 11620  	//
 11621  	// RunId is a required field
 11622  	RunId *string `location:"uri" locationName:"runId" min:"1" type:"string" required:"true"`
 11623  }
 11624  
 11625  // String returns the string representation.
 11626  //
 11627  // API parameter values that are decorated as "sensitive" in the API will not
 11628  // be included in the string output. The member name will be present, but the
 11629  // value will be replaced with "sensitive".
 11630  func (s StopJobRunInput) String() string {
 11631  	return awsutil.Prettify(s)
 11632  }
 11633  
 11634  // GoString returns the string representation.
 11635  //
 11636  // API parameter values that are decorated as "sensitive" in the API will not
 11637  // be included in the string output. The member name will be present, but the
 11638  // value will be replaced with "sensitive".
 11639  func (s StopJobRunInput) GoString() string {
 11640  	return s.String()
 11641  }
 11642  
 11643  // Validate inspects the fields of the type to determine if they are valid.
 11644  func (s *StopJobRunInput) Validate() error {
 11645  	invalidParams := request.ErrInvalidParams{Context: "StopJobRunInput"}
 11646  	if s.Name == nil {
 11647  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11648  	}
 11649  	if s.Name != nil && len(*s.Name) < 1 {
 11650  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11651  	}
 11652  	if s.RunId == nil {
 11653  		invalidParams.Add(request.NewErrParamRequired("RunId"))
 11654  	}
 11655  	if s.RunId != nil && len(*s.RunId) < 1 {
 11656  		invalidParams.Add(request.NewErrParamMinLen("RunId", 1))
 11657  	}
 11658  
 11659  	if invalidParams.Len() > 0 {
 11660  		return invalidParams
 11661  	}
 11662  	return nil
 11663  }
 11664  
 11665  // SetName sets the Name field's value.
 11666  func (s *StopJobRunInput) SetName(v string) *StopJobRunInput {
 11667  	s.Name = &v
 11668  	return s
 11669  }
 11670  
 11671  // SetRunId sets the RunId field's value.
 11672  func (s *StopJobRunInput) SetRunId(v string) *StopJobRunInput {
 11673  	s.RunId = &v
 11674  	return s
 11675  }
 11676  
 11677  type StopJobRunOutput struct {
 11678  	_ struct{} `type:"structure"`
 11679  
 11680  	// The ID of the job run that you stopped.
 11681  	//
 11682  	// RunId is a required field
 11683  	RunId *string `min:"1" type:"string" required:"true"`
 11684  }
 11685  
 11686  // String returns the string representation.
 11687  //
 11688  // API parameter values that are decorated as "sensitive" in the API will not
 11689  // be included in the string output. The member name will be present, but the
 11690  // value will be replaced with "sensitive".
 11691  func (s StopJobRunOutput) String() string {
 11692  	return awsutil.Prettify(s)
 11693  }
 11694  
 11695  // GoString returns the string representation.
 11696  //
 11697  // API parameter values that are decorated as "sensitive" in the API will not
 11698  // be included in the string output. The member name will be present, but the
 11699  // value will be replaced with "sensitive".
 11700  func (s StopJobRunOutput) GoString() string {
 11701  	return s.String()
 11702  }
 11703  
 11704  // SetRunId sets the RunId field's value.
 11705  func (s *StopJobRunOutput) SetRunId(v string) *StopJobRunOutput {
 11706  	s.RunId = &v
 11707  	return s
 11708  }
 11709  
 11710  type TagResourceInput struct {
 11711  	_ struct{} `type:"structure"`
 11712  
 11713  	// The DataBrew resource to which tags should be added. The value for this parameter
 11714  	// is an Amazon Resource Name (ARN). For DataBrew, you can tag a dataset, a
 11715  	// job, a project, or a recipe.
 11716  	//
 11717  	// ResourceArn is a required field
 11718  	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
 11719  
 11720  	// One or more tags to be assigned to the resource.
 11721  	//
 11722  	// Tags is a required field
 11723  	Tags map[string]*string `min:"1" type:"map" required:"true"`
 11724  }
 11725  
 11726  // String returns the string representation.
 11727  //
 11728  // API parameter values that are decorated as "sensitive" in the API will not
 11729  // be included in the string output. The member name will be present, but the
 11730  // value will be replaced with "sensitive".
 11731  func (s TagResourceInput) String() string {
 11732  	return awsutil.Prettify(s)
 11733  }
 11734  
 11735  // GoString returns the string representation.
 11736  //
 11737  // API parameter values that are decorated as "sensitive" in the API will not
 11738  // be included in the string output. The member name will be present, but the
 11739  // value will be replaced with "sensitive".
 11740  func (s TagResourceInput) GoString() string {
 11741  	return s.String()
 11742  }
 11743  
 11744  // Validate inspects the fields of the type to determine if they are valid.
 11745  func (s *TagResourceInput) Validate() error {
 11746  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 11747  	if s.ResourceArn == nil {
 11748  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11749  	}
 11750  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 11751  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 11752  	}
 11753  	if s.Tags == nil {
 11754  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 11755  	}
 11756  	if s.Tags != nil && len(s.Tags) < 1 {
 11757  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 11758  	}
 11759  
 11760  	if invalidParams.Len() > 0 {
 11761  		return invalidParams
 11762  	}
 11763  	return nil
 11764  }
 11765  
 11766  // SetResourceArn sets the ResourceArn field's value.
 11767  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 11768  	s.ResourceArn = &v
 11769  	return s
 11770  }
 11771  
 11772  // SetTags sets the Tags field's value.
 11773  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 11774  	s.Tags = v
 11775  	return s
 11776  }
 11777  
 11778  type TagResourceOutput struct {
 11779  	_ struct{} `type:"structure" nopayload:"true"`
 11780  }
 11781  
 11782  // String returns the string representation.
 11783  //
 11784  // API parameter values that are decorated as "sensitive" in the API will not
 11785  // be included in the string output. The member name will be present, but the
 11786  // value will be replaced with "sensitive".
 11787  func (s TagResourceOutput) String() string {
 11788  	return awsutil.Prettify(s)
 11789  }
 11790  
 11791  // GoString returns the string representation.
 11792  //
 11793  // API parameter values that are decorated as "sensitive" in the API will not
 11794  // be included in the string output. The member name will be present, but the
 11795  // value will be replaced with "sensitive".
 11796  func (s TagResourceOutput) GoString() string {
 11797  	return s.String()
 11798  }
 11799  
 11800  type UntagResourceInput struct {
 11801  	_ struct{} `type:"structure" nopayload:"true"`
 11802  
 11803  	// A DataBrew resource from which you want to remove a tag or tags. The value
 11804  	// for this parameter is an Amazon Resource Name (ARN).
 11805  	//
 11806  	// ResourceArn is a required field
 11807  	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
 11808  
 11809  	// The tag keys (names) of one or more tags to be removed.
 11810  	//
 11811  	// TagKeys is a required field
 11812  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 11813  }
 11814  
 11815  // String returns the string representation.
 11816  //
 11817  // API parameter values that are decorated as "sensitive" in the API will not
 11818  // be included in the string output. The member name will be present, but the
 11819  // value will be replaced with "sensitive".
 11820  func (s UntagResourceInput) String() string {
 11821  	return awsutil.Prettify(s)
 11822  }
 11823  
 11824  // GoString returns the string representation.
 11825  //
 11826  // API parameter values that are decorated as "sensitive" in the API will not
 11827  // be included in the string output. The member name will be present, but the
 11828  // value will be replaced with "sensitive".
 11829  func (s UntagResourceInput) GoString() string {
 11830  	return s.String()
 11831  }
 11832  
 11833  // Validate inspects the fields of the type to determine if they are valid.
 11834  func (s *UntagResourceInput) Validate() error {
 11835  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 11836  	if s.ResourceArn == nil {
 11837  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11838  	}
 11839  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 11840  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 11841  	}
 11842  	if s.TagKeys == nil {
 11843  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 11844  	}
 11845  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 11846  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 11847  	}
 11848  
 11849  	if invalidParams.Len() > 0 {
 11850  		return invalidParams
 11851  	}
 11852  	return nil
 11853  }
 11854  
 11855  // SetResourceArn sets the ResourceArn field's value.
 11856  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 11857  	s.ResourceArn = &v
 11858  	return s
 11859  }
 11860  
 11861  // SetTagKeys sets the TagKeys field's value.
 11862  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 11863  	s.TagKeys = v
 11864  	return s
 11865  }
 11866  
 11867  type UntagResourceOutput struct {
 11868  	_ struct{} `type:"structure" nopayload:"true"`
 11869  }
 11870  
 11871  // String returns the string representation.
 11872  //
 11873  // API parameter values that are decorated as "sensitive" in the API will not
 11874  // be included in the string output. The member name will be present, but the
 11875  // value will be replaced with "sensitive".
 11876  func (s UntagResourceOutput) String() string {
 11877  	return awsutil.Prettify(s)
 11878  }
 11879  
 11880  // GoString returns the string representation.
 11881  //
 11882  // API parameter values that are decorated as "sensitive" in the API will not
 11883  // be included in the string output. The member name will be present, but the
 11884  // value will be replaced with "sensitive".
 11885  func (s UntagResourceOutput) GoString() string {
 11886  	return s.String()
 11887  }
 11888  
 11889  type UpdateDatasetInput struct {
 11890  	_ struct{} `type:"structure"`
 11891  
 11892  	// The file format of a dataset that is created from an Amazon S3 file or folder.
 11893  	Format *string `type:"string" enum:"InputFormat"`
 11894  
 11895  	// Represents a set of options that define the structure of either comma-separated
 11896  	// value (CSV), Excel, or JSON input.
 11897  	FormatOptions *FormatOptions `type:"structure"`
 11898  
 11899  	// Represents information on how DataBrew can find data, in either the Glue
 11900  	// Data Catalog or Amazon S3.
 11901  	//
 11902  	// Input is a required field
 11903  	Input *Input `type:"structure" required:"true"`
 11904  
 11905  	// The name of the dataset to be updated.
 11906  	//
 11907  	// Name is a required field
 11908  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 11909  
 11910  	// A set of options that defines how DataBrew interprets an Amazon S3 path of
 11911  	// the dataset.
 11912  	PathOptions *PathOptions `type:"structure"`
 11913  }
 11914  
 11915  // String returns the string representation.
 11916  //
 11917  // API parameter values that are decorated as "sensitive" in the API will not
 11918  // be included in the string output. The member name will be present, but the
 11919  // value will be replaced with "sensitive".
 11920  func (s UpdateDatasetInput) String() string {
 11921  	return awsutil.Prettify(s)
 11922  }
 11923  
 11924  // GoString returns the string representation.
 11925  //
 11926  // API parameter values that are decorated as "sensitive" in the API will not
 11927  // be included in the string output. The member name will be present, but the
 11928  // value will be replaced with "sensitive".
 11929  func (s UpdateDatasetInput) GoString() string {
 11930  	return s.String()
 11931  }
 11932  
 11933  // Validate inspects the fields of the type to determine if they are valid.
 11934  func (s *UpdateDatasetInput) Validate() error {
 11935  	invalidParams := request.ErrInvalidParams{Context: "UpdateDatasetInput"}
 11936  	if s.Input == nil {
 11937  		invalidParams.Add(request.NewErrParamRequired("Input"))
 11938  	}
 11939  	if s.Name == nil {
 11940  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11941  	}
 11942  	if s.Name != nil && len(*s.Name) < 1 {
 11943  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11944  	}
 11945  	if s.FormatOptions != nil {
 11946  		if err := s.FormatOptions.Validate(); err != nil {
 11947  			invalidParams.AddNested("FormatOptions", err.(request.ErrInvalidParams))
 11948  		}
 11949  	}
 11950  	if s.Input != nil {
 11951  		if err := s.Input.Validate(); err != nil {
 11952  			invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
 11953  		}
 11954  	}
 11955  	if s.PathOptions != nil {
 11956  		if err := s.PathOptions.Validate(); err != nil {
 11957  			invalidParams.AddNested("PathOptions", err.(request.ErrInvalidParams))
 11958  		}
 11959  	}
 11960  
 11961  	if invalidParams.Len() > 0 {
 11962  		return invalidParams
 11963  	}
 11964  	return nil
 11965  }
 11966  
 11967  // SetFormat sets the Format field's value.
 11968  func (s *UpdateDatasetInput) SetFormat(v string) *UpdateDatasetInput {
 11969  	s.Format = &v
 11970  	return s
 11971  }
 11972  
 11973  // SetFormatOptions sets the FormatOptions field's value.
 11974  func (s *UpdateDatasetInput) SetFormatOptions(v *FormatOptions) *UpdateDatasetInput {
 11975  	s.FormatOptions = v
 11976  	return s
 11977  }
 11978  
 11979  // SetInput sets the Input field's value.
 11980  func (s *UpdateDatasetInput) SetInput(v *Input) *UpdateDatasetInput {
 11981  	s.Input = v
 11982  	return s
 11983  }
 11984  
 11985  // SetName sets the Name field's value.
 11986  func (s *UpdateDatasetInput) SetName(v string) *UpdateDatasetInput {
 11987  	s.Name = &v
 11988  	return s
 11989  }
 11990  
 11991  // SetPathOptions sets the PathOptions field's value.
 11992  func (s *UpdateDatasetInput) SetPathOptions(v *PathOptions) *UpdateDatasetInput {
 11993  	s.PathOptions = v
 11994  	return s
 11995  }
 11996  
 11997  type UpdateDatasetOutput struct {
 11998  	_ struct{} `type:"structure"`
 11999  
 12000  	// The name of the dataset that you updated.
 12001  	//
 12002  	// Name is a required field
 12003  	Name *string `min:"1" type:"string" required:"true"`
 12004  }
 12005  
 12006  // String returns the string representation.
 12007  //
 12008  // API parameter values that are decorated as "sensitive" in the API will not
 12009  // be included in the string output. The member name will be present, but the
 12010  // value will be replaced with "sensitive".
 12011  func (s UpdateDatasetOutput) String() string {
 12012  	return awsutil.Prettify(s)
 12013  }
 12014  
 12015  // GoString returns the string representation.
 12016  //
 12017  // API parameter values that are decorated as "sensitive" in the API will not
 12018  // be included in the string output. The member name will be present, but the
 12019  // value will be replaced with "sensitive".
 12020  func (s UpdateDatasetOutput) GoString() string {
 12021  	return s.String()
 12022  }
 12023  
 12024  // SetName sets the Name field's value.
 12025  func (s *UpdateDatasetOutput) SetName(v string) *UpdateDatasetOutput {
 12026  	s.Name = &v
 12027  	return s
 12028  }
 12029  
 12030  type UpdateProfileJobInput struct {
 12031  	_ struct{} `type:"structure"`
 12032  
 12033  	// Configuration for profile jobs. Used to select columns, do evaluations, and
 12034  	// override default parameters of evaluations. When configuration is null, the
 12035  	// profile job will run with default settings.
 12036  	Configuration *ProfileConfiguration `type:"structure"`
 12037  
 12038  	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
 12039  	// the job.
 12040  	EncryptionKeyArn *string `min:"20" type:"string"`
 12041  
 12042  	// The encryption mode for the job, which can be one of the following:
 12043  	//
 12044  	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
 12045  	//
 12046  	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
 12047  	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
 12048  
 12049  	// Sample configuration for Profile Jobs only. Determines the number of rows
 12050  	// on which the Profile job will be executed. If a JobSample value is not provided
 12051  	// for profile jobs, the default value will be used. The default value is CUSTOM_ROWS
 12052  	// for the mode parameter and 20000 for the size parameter.
 12053  	JobSample *JobSample `type:"structure"`
 12054  
 12055  	// Enables or disables Amazon CloudWatch logging for the job. If logging is
 12056  	// enabled, CloudWatch writes one log stream for each job run.
 12057  	LogSubscription *string `type:"string" enum:"LogSubscription"`
 12058  
 12059  	// The maximum number of compute nodes that DataBrew can use when the job processes
 12060  	// data.
 12061  	MaxCapacity *int64 `type:"integer"`
 12062  
 12063  	// The maximum number of times to retry the job after a job run fails.
 12064  	MaxRetries *int64 `type:"integer"`
 12065  
 12066  	// The name of the job to be updated.
 12067  	//
 12068  	// Name is a required field
 12069  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 12070  
 12071  	// Represents an Amazon S3 location (bucket name and object key) where DataBrew
 12072  	// can read input data, or write output from a job.
 12073  	//
 12074  	// OutputLocation is a required field
 12075  	OutputLocation *S3Location `type:"structure" required:"true"`
 12076  
 12077  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
 12078  	// role to be assumed when DataBrew runs the job.
 12079  	//
 12080  	// RoleArn is a required field
 12081  	RoleArn *string `min:"20" type:"string" required:"true"`
 12082  
 12083  	// The job's timeout in minutes. A job that attempts to run longer than this
 12084  	// timeout period ends with a status of TIMEOUT.
 12085  	Timeout *int64 `type:"integer"`
 12086  }
 12087  
 12088  // String returns the string representation.
 12089  //
 12090  // API parameter values that are decorated as "sensitive" in the API will not
 12091  // be included in the string output. The member name will be present, but the
 12092  // value will be replaced with "sensitive".
 12093  func (s UpdateProfileJobInput) String() string {
 12094  	return awsutil.Prettify(s)
 12095  }
 12096  
 12097  // GoString returns the string representation.
 12098  //
 12099  // API parameter values that are decorated as "sensitive" in the API will not
 12100  // be included in the string output. The member name will be present, but the
 12101  // value will be replaced with "sensitive".
 12102  func (s UpdateProfileJobInput) GoString() string {
 12103  	return s.String()
 12104  }
 12105  
 12106  // Validate inspects the fields of the type to determine if they are valid.
 12107  func (s *UpdateProfileJobInput) Validate() error {
 12108  	invalidParams := request.ErrInvalidParams{Context: "UpdateProfileJobInput"}
 12109  	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
 12110  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
 12111  	}
 12112  	if s.Name == nil {
 12113  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12114  	}
 12115  	if s.Name != nil && len(*s.Name) < 1 {
 12116  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12117  	}
 12118  	if s.OutputLocation == nil {
 12119  		invalidParams.Add(request.NewErrParamRequired("OutputLocation"))
 12120  	}
 12121  	if s.RoleArn == nil {
 12122  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 12123  	}
 12124  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 12125  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 12126  	}
 12127  	if s.Configuration != nil {
 12128  		if err := s.Configuration.Validate(); err != nil {
 12129  			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
 12130  		}
 12131  	}
 12132  	if s.OutputLocation != nil {
 12133  		if err := s.OutputLocation.Validate(); err != nil {
 12134  			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
 12135  		}
 12136  	}
 12137  
 12138  	if invalidParams.Len() > 0 {
 12139  		return invalidParams
 12140  	}
 12141  	return nil
 12142  }
 12143  
 12144  // SetConfiguration sets the Configuration field's value.
 12145  func (s *UpdateProfileJobInput) SetConfiguration(v *ProfileConfiguration) *UpdateProfileJobInput {
 12146  	s.Configuration = v
 12147  	return s
 12148  }
 12149  
 12150  // SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
 12151  func (s *UpdateProfileJobInput) SetEncryptionKeyArn(v string) *UpdateProfileJobInput {
 12152  	s.EncryptionKeyArn = &v
 12153  	return s
 12154  }
 12155  
 12156  // SetEncryptionMode sets the EncryptionMode field's value.
 12157  func (s *UpdateProfileJobInput) SetEncryptionMode(v string) *UpdateProfileJobInput {
 12158  	s.EncryptionMode = &v
 12159  	return s
 12160  }
 12161  
 12162  // SetJobSample sets the JobSample field's value.
 12163  func (s *UpdateProfileJobInput) SetJobSample(v *JobSample) *UpdateProfileJobInput {
 12164  	s.JobSample = v
 12165  	return s
 12166  }
 12167  
 12168  // SetLogSubscription sets the LogSubscription field's value.
 12169  func (s *UpdateProfileJobInput) SetLogSubscription(v string) *UpdateProfileJobInput {
 12170  	s.LogSubscription = &v
 12171  	return s
 12172  }
 12173  
 12174  // SetMaxCapacity sets the MaxCapacity field's value.
 12175  func (s *UpdateProfileJobInput) SetMaxCapacity(v int64) *UpdateProfileJobInput {
 12176  	s.MaxCapacity = &v
 12177  	return s
 12178  }
 12179  
 12180  // SetMaxRetries sets the MaxRetries field's value.
 12181  func (s *UpdateProfileJobInput) SetMaxRetries(v int64) *UpdateProfileJobInput {
 12182  	s.MaxRetries = &v
 12183  	return s
 12184  }
 12185  
 12186  // SetName sets the Name field's value.
 12187  func (s *UpdateProfileJobInput) SetName(v string) *UpdateProfileJobInput {
 12188  	s.Name = &v
 12189  	return s
 12190  }
 12191  
 12192  // SetOutputLocation sets the OutputLocation field's value.
 12193  func (s *UpdateProfileJobInput) SetOutputLocation(v *S3Location) *UpdateProfileJobInput {
 12194  	s.OutputLocation = v
 12195  	return s
 12196  }
 12197  
 12198  // SetRoleArn sets the RoleArn field's value.
 12199  func (s *UpdateProfileJobInput) SetRoleArn(v string) *UpdateProfileJobInput {
 12200  	s.RoleArn = &v
 12201  	return s
 12202  }
 12203  
 12204  // SetTimeout sets the Timeout field's value.
 12205  func (s *UpdateProfileJobInput) SetTimeout(v int64) *UpdateProfileJobInput {
 12206  	s.Timeout = &v
 12207  	return s
 12208  }
 12209  
 12210  type UpdateProfileJobOutput struct {
 12211  	_ struct{} `type:"structure"`
 12212  
 12213  	// The name of the job that was updated.
 12214  	//
 12215  	// Name is a required field
 12216  	Name *string `min:"1" type:"string" required:"true"`
 12217  }
 12218  
 12219  // String returns the string representation.
 12220  //
 12221  // API parameter values that are decorated as "sensitive" in the API will not
 12222  // be included in the string output. The member name will be present, but the
 12223  // value will be replaced with "sensitive".
 12224  func (s UpdateProfileJobOutput) String() string {
 12225  	return awsutil.Prettify(s)
 12226  }
 12227  
 12228  // GoString returns the string representation.
 12229  //
 12230  // API parameter values that are decorated as "sensitive" in the API will not
 12231  // be included in the string output. The member name will be present, but the
 12232  // value will be replaced with "sensitive".
 12233  func (s UpdateProfileJobOutput) GoString() string {
 12234  	return s.String()
 12235  }
 12236  
 12237  // SetName sets the Name field's value.
 12238  func (s *UpdateProfileJobOutput) SetName(v string) *UpdateProfileJobOutput {
 12239  	s.Name = &v
 12240  	return s
 12241  }
 12242  
 12243  type UpdateProjectInput struct {
 12244  	_ struct{} `type:"structure"`
 12245  
 12246  	// The name of the project to be updated.
 12247  	//
 12248  	// Name is a required field
 12249  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 12250  
 12251  	// The Amazon Resource Name (ARN) of the IAM role to be assumed for this request.
 12252  	//
 12253  	// RoleArn is a required field
 12254  	RoleArn *string `min:"20" type:"string" required:"true"`
 12255  
 12256  	// Represents the sample size and sampling type for DataBrew to use for interactive
 12257  	// data analysis.
 12258  	Sample *Sample `type:"structure"`
 12259  }
 12260  
 12261  // String returns the string representation.
 12262  //
 12263  // API parameter values that are decorated as "sensitive" in the API will not
 12264  // be included in the string output. The member name will be present, but the
 12265  // value will be replaced with "sensitive".
 12266  func (s UpdateProjectInput) String() string {
 12267  	return awsutil.Prettify(s)
 12268  }
 12269  
 12270  // GoString returns the string representation.
 12271  //
 12272  // API parameter values that are decorated as "sensitive" in the API will not
 12273  // be included in the string output. The member name will be present, but the
 12274  // value will be replaced with "sensitive".
 12275  func (s UpdateProjectInput) GoString() string {
 12276  	return s.String()
 12277  }
 12278  
 12279  // Validate inspects the fields of the type to determine if they are valid.
 12280  func (s *UpdateProjectInput) Validate() error {
 12281  	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
 12282  	if s.Name == nil {
 12283  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12284  	}
 12285  	if s.Name != nil && len(*s.Name) < 1 {
 12286  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12287  	}
 12288  	if s.RoleArn == nil {
 12289  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 12290  	}
 12291  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 12292  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 12293  	}
 12294  	if s.Sample != nil {
 12295  		if err := s.Sample.Validate(); err != nil {
 12296  			invalidParams.AddNested("Sample", err.(request.ErrInvalidParams))
 12297  		}
 12298  	}
 12299  
 12300  	if invalidParams.Len() > 0 {
 12301  		return invalidParams
 12302  	}
 12303  	return nil
 12304  }
 12305  
 12306  // SetName sets the Name field's value.
 12307  func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
 12308  	s.Name = &v
 12309  	return s
 12310  }
 12311  
 12312  // SetRoleArn sets the RoleArn field's value.
 12313  func (s *UpdateProjectInput) SetRoleArn(v string) *UpdateProjectInput {
 12314  	s.RoleArn = &v
 12315  	return s
 12316  }
 12317  
 12318  // SetSample sets the Sample field's value.
 12319  func (s *UpdateProjectInput) SetSample(v *Sample) *UpdateProjectInput {
 12320  	s.Sample = v
 12321  	return s
 12322  }
 12323  
 12324  type UpdateProjectOutput struct {
 12325  	_ struct{} `type:"structure"`
 12326  
 12327  	// The date and time that the project was last modified.
 12328  	LastModifiedDate *time.Time `type:"timestamp"`
 12329  
 12330  	// The name of the project that you updated.
 12331  	//
 12332  	// Name is a required field
 12333  	Name *string `min:"1" type:"string" required:"true"`
 12334  }
 12335  
 12336  // String returns the string representation.
 12337  //
 12338  // API parameter values that are decorated as "sensitive" in the API will not
 12339  // be included in the string output. The member name will be present, but the
 12340  // value will be replaced with "sensitive".
 12341  func (s UpdateProjectOutput) String() string {
 12342  	return awsutil.Prettify(s)
 12343  }
 12344  
 12345  // GoString returns the string representation.
 12346  //
 12347  // API parameter values that are decorated as "sensitive" in the API will not
 12348  // be included in the string output. The member name will be present, but the
 12349  // value will be replaced with "sensitive".
 12350  func (s UpdateProjectOutput) GoString() string {
 12351  	return s.String()
 12352  }
 12353  
 12354  // SetLastModifiedDate sets the LastModifiedDate field's value.
 12355  func (s *UpdateProjectOutput) SetLastModifiedDate(v time.Time) *UpdateProjectOutput {
 12356  	s.LastModifiedDate = &v
 12357  	return s
 12358  }
 12359  
 12360  // SetName sets the Name field's value.
 12361  func (s *UpdateProjectOutput) SetName(v string) *UpdateProjectOutput {
 12362  	s.Name = &v
 12363  	return s
 12364  }
 12365  
 12366  type UpdateRecipeInput struct {
 12367  	_ struct{} `type:"structure"`
 12368  
 12369  	// A description of the recipe.
 12370  	Description *string `type:"string"`
 12371  
 12372  	// The name of the recipe to be updated.
 12373  	//
 12374  	// Name is a required field
 12375  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 12376  
 12377  	// One or more steps to be performed by the recipe. Each step consists of an
 12378  	// action, and the conditions under which the action should succeed.
 12379  	Steps []*RecipeStep `type:"list"`
 12380  }
 12381  
 12382  // String returns the string representation.
 12383  //
 12384  // API parameter values that are decorated as "sensitive" in the API will not
 12385  // be included in the string output. The member name will be present, but the
 12386  // value will be replaced with "sensitive".
 12387  func (s UpdateRecipeInput) String() string {
 12388  	return awsutil.Prettify(s)
 12389  }
 12390  
 12391  // GoString returns the string representation.
 12392  //
 12393  // API parameter values that are decorated as "sensitive" in the API will not
 12394  // be included in the string output. The member name will be present, but the
 12395  // value will be replaced with "sensitive".
 12396  func (s UpdateRecipeInput) GoString() string {
 12397  	return s.String()
 12398  }
 12399  
 12400  // Validate inspects the fields of the type to determine if they are valid.
 12401  func (s *UpdateRecipeInput) Validate() error {
 12402  	invalidParams := request.ErrInvalidParams{Context: "UpdateRecipeInput"}
 12403  	if s.Name == nil {
 12404  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12405  	}
 12406  	if s.Name != nil && len(*s.Name) < 1 {
 12407  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12408  	}
 12409  	if s.Steps != nil {
 12410  		for i, v := range s.Steps {
 12411  			if v == nil {
 12412  				continue
 12413  			}
 12414  			if err := v.Validate(); err != nil {
 12415  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams))
 12416  			}
 12417  		}
 12418  	}
 12419  
 12420  	if invalidParams.Len() > 0 {
 12421  		return invalidParams
 12422  	}
 12423  	return nil
 12424  }
 12425  
 12426  // SetDescription sets the Description field's value.
 12427  func (s *UpdateRecipeInput) SetDescription(v string) *UpdateRecipeInput {
 12428  	s.Description = &v
 12429  	return s
 12430  }
 12431  
 12432  // SetName sets the Name field's value.
 12433  func (s *UpdateRecipeInput) SetName(v string) *UpdateRecipeInput {
 12434  	s.Name = &v
 12435  	return s
 12436  }
 12437  
 12438  // SetSteps sets the Steps field's value.
 12439  func (s *UpdateRecipeInput) SetSteps(v []*RecipeStep) *UpdateRecipeInput {
 12440  	s.Steps = v
 12441  	return s
 12442  }
 12443  
 12444  type UpdateRecipeJobInput struct {
 12445  	_ struct{} `type:"structure"`
 12446  
 12447  	// One or more artifacts that represent the Glue Data Catalog output from running
 12448  	// the job.
 12449  	DataCatalogOutputs []*DataCatalogOutput_ `min:"1" type:"list"`
 12450  
 12451  	// Represents a list of JDBC database output objects which defines the output
 12452  	// destination for a DataBrew recipe job to write into.
 12453  	DatabaseOutputs []*DatabaseOutput_ `min:"1" type:"list"`
 12454  
 12455  	// The Amazon Resource Name (ARN) of an encryption key that is used to protect
 12456  	// the job.
 12457  	EncryptionKeyArn *string `min:"20" type:"string"`
 12458  
 12459  	// The encryption mode for the job, which can be one of the following:
 12460  	//
 12461  	//    * SSE-KMS - Server-side encryption with keys managed by KMS.
 12462  	//
 12463  	//    * SSE-S3 - Server-side encryption with keys managed by Amazon S3.
 12464  	EncryptionMode *string `type:"string" enum:"EncryptionMode"`
 12465  
 12466  	// Enables or disables Amazon CloudWatch logging for the job. If logging is
 12467  	// enabled, CloudWatch writes one log stream for each job run.
 12468  	LogSubscription *string `type:"string" enum:"LogSubscription"`
 12469  
 12470  	// The maximum number of nodes that DataBrew can consume when the job processes
 12471  	// data.
 12472  	MaxCapacity *int64 `type:"integer"`
 12473  
 12474  	// The maximum number of times to retry the job after a job run fails.
 12475  	MaxRetries *int64 `type:"integer"`
 12476  
 12477  	// The name of the job to update.
 12478  	//
 12479  	// Name is a required field
 12480  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 12481  
 12482  	// One or more artifacts that represent the output from running the job.
 12483  	Outputs []*Output `min:"1" type:"list"`
 12484  
 12485  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
 12486  	// role to be assumed when DataBrew runs the job.
 12487  	//
 12488  	// RoleArn is a required field
 12489  	RoleArn *string `min:"20" type:"string" required:"true"`
 12490  
 12491  	// The job's timeout in minutes. A job that attempts to run longer than this
 12492  	// timeout period ends with a status of TIMEOUT.
 12493  	Timeout *int64 `type:"integer"`
 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 UpdateRecipeJobInput) 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 UpdateRecipeJobInput) GoString() string {
 12511  	return s.String()
 12512  }
 12513  
 12514  // Validate inspects the fields of the type to determine if they are valid.
 12515  func (s *UpdateRecipeJobInput) Validate() error {
 12516  	invalidParams := request.ErrInvalidParams{Context: "UpdateRecipeJobInput"}
 12517  	if s.DataCatalogOutputs != nil && len(s.DataCatalogOutputs) < 1 {
 12518  		invalidParams.Add(request.NewErrParamMinLen("DataCatalogOutputs", 1))
 12519  	}
 12520  	if s.DatabaseOutputs != nil && len(s.DatabaseOutputs) < 1 {
 12521  		invalidParams.Add(request.NewErrParamMinLen("DatabaseOutputs", 1))
 12522  	}
 12523  	if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 20 {
 12524  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 20))
 12525  	}
 12526  	if s.Name == nil {
 12527  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12528  	}
 12529  	if s.Name != nil && len(*s.Name) < 1 {
 12530  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12531  	}
 12532  	if s.Outputs != nil && len(s.Outputs) < 1 {
 12533  		invalidParams.Add(request.NewErrParamMinLen("Outputs", 1))
 12534  	}
 12535  	if s.RoleArn == nil {
 12536  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 12537  	}
 12538  	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
 12539  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
 12540  	}
 12541  	if s.DataCatalogOutputs != nil {
 12542  		for i, v := range s.DataCatalogOutputs {
 12543  			if v == nil {
 12544  				continue
 12545  			}
 12546  			if err := v.Validate(); err != nil {
 12547  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataCatalogOutputs", i), err.(request.ErrInvalidParams))
 12548  			}
 12549  		}
 12550  	}
 12551  	if s.DatabaseOutputs != nil {
 12552  		for i, v := range s.DatabaseOutputs {
 12553  			if v == nil {
 12554  				continue
 12555  			}
 12556  			if err := v.Validate(); err != nil {
 12557  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DatabaseOutputs", i), err.(request.ErrInvalidParams))
 12558  			}
 12559  		}
 12560  	}
 12561  	if s.Outputs != nil {
 12562  		for i, v := range s.Outputs {
 12563  			if v == nil {
 12564  				continue
 12565  			}
 12566  			if err := v.Validate(); err != nil {
 12567  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
 12568  			}
 12569  		}
 12570  	}
 12571  
 12572  	if invalidParams.Len() > 0 {
 12573  		return invalidParams
 12574  	}
 12575  	return nil
 12576  }
 12577  
 12578  // SetDataCatalogOutputs sets the DataCatalogOutputs field's value.
 12579  func (s *UpdateRecipeJobInput) SetDataCatalogOutputs(v []*DataCatalogOutput_) *UpdateRecipeJobInput {
 12580  	s.DataCatalogOutputs = v
 12581  	return s
 12582  }
 12583  
 12584  // SetDatabaseOutputs sets the DatabaseOutputs field's value.
 12585  func (s *UpdateRecipeJobInput) SetDatabaseOutputs(v []*DatabaseOutput_) *UpdateRecipeJobInput {
 12586  	s.DatabaseOutputs = v
 12587  	return s
 12588  }
 12589  
 12590  // SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
 12591  func (s *UpdateRecipeJobInput) SetEncryptionKeyArn(v string) *UpdateRecipeJobInput {
 12592  	s.EncryptionKeyArn = &v
 12593  	return s
 12594  }
 12595  
 12596  // SetEncryptionMode sets the EncryptionMode field's value.
 12597  func (s *UpdateRecipeJobInput) SetEncryptionMode(v string) *UpdateRecipeJobInput {
 12598  	s.EncryptionMode = &v
 12599  	return s
 12600  }
 12601  
 12602  // SetLogSubscription sets the LogSubscription field's value.
 12603  func (s *UpdateRecipeJobInput) SetLogSubscription(v string) *UpdateRecipeJobInput {
 12604  	s.LogSubscription = &v
 12605  	return s
 12606  }
 12607  
 12608  // SetMaxCapacity sets the MaxCapacity field's value.
 12609  func (s *UpdateRecipeJobInput) SetMaxCapacity(v int64) *UpdateRecipeJobInput {
 12610  	s.MaxCapacity = &v
 12611  	return s
 12612  }
 12613  
 12614  // SetMaxRetries sets the MaxRetries field's value.
 12615  func (s *UpdateRecipeJobInput) SetMaxRetries(v int64) *UpdateRecipeJobInput {
 12616  	s.MaxRetries = &v
 12617  	return s
 12618  }
 12619  
 12620  // SetName sets the Name field's value.
 12621  func (s *UpdateRecipeJobInput) SetName(v string) *UpdateRecipeJobInput {
 12622  	s.Name = &v
 12623  	return s
 12624  }
 12625  
 12626  // SetOutputs sets the Outputs field's value.
 12627  func (s *UpdateRecipeJobInput) SetOutputs(v []*Output) *UpdateRecipeJobInput {
 12628  	s.Outputs = v
 12629  	return s
 12630  }
 12631  
 12632  // SetRoleArn sets the RoleArn field's value.
 12633  func (s *UpdateRecipeJobInput) SetRoleArn(v string) *UpdateRecipeJobInput {
 12634  	s.RoleArn = &v
 12635  	return s
 12636  }
 12637  
 12638  // SetTimeout sets the Timeout field's value.
 12639  func (s *UpdateRecipeJobInput) SetTimeout(v int64) *UpdateRecipeJobInput {
 12640  	s.Timeout = &v
 12641  	return s
 12642  }
 12643  
 12644  type UpdateRecipeJobOutput struct {
 12645  	_ struct{} `type:"structure"`
 12646  
 12647  	// The name of the job that you updated.
 12648  	//
 12649  	// Name is a required field
 12650  	Name *string `min:"1" type:"string" required:"true"`
 12651  }
 12652  
 12653  // String returns the string representation.
 12654  //
 12655  // API parameter values that are decorated as "sensitive" in the API will not
 12656  // be included in the string output. The member name will be present, but the
 12657  // value will be replaced with "sensitive".
 12658  func (s UpdateRecipeJobOutput) String() string {
 12659  	return awsutil.Prettify(s)
 12660  }
 12661  
 12662  // GoString returns the string representation.
 12663  //
 12664  // API parameter values that are decorated as "sensitive" in the API will not
 12665  // be included in the string output. The member name will be present, but the
 12666  // value will be replaced with "sensitive".
 12667  func (s UpdateRecipeJobOutput) GoString() string {
 12668  	return s.String()
 12669  }
 12670  
 12671  // SetName sets the Name field's value.
 12672  func (s *UpdateRecipeJobOutput) SetName(v string) *UpdateRecipeJobOutput {
 12673  	s.Name = &v
 12674  	return s
 12675  }
 12676  
 12677  type UpdateRecipeOutput struct {
 12678  	_ struct{} `type:"structure"`
 12679  
 12680  	// The name of the recipe that was updated.
 12681  	//
 12682  	// Name is a required field
 12683  	Name *string `min:"1" type:"string" required:"true"`
 12684  }
 12685  
 12686  // String returns the string representation.
 12687  //
 12688  // API parameter values that are decorated as "sensitive" in the API will not
 12689  // be included in the string output. The member name will be present, but the
 12690  // value will be replaced with "sensitive".
 12691  func (s UpdateRecipeOutput) String() string {
 12692  	return awsutil.Prettify(s)
 12693  }
 12694  
 12695  // GoString returns the string representation.
 12696  //
 12697  // API parameter values that are decorated as "sensitive" in the API will not
 12698  // be included in the string output. The member name will be present, but the
 12699  // value will be replaced with "sensitive".
 12700  func (s UpdateRecipeOutput) GoString() string {
 12701  	return s.String()
 12702  }
 12703  
 12704  // SetName sets the Name field's value.
 12705  func (s *UpdateRecipeOutput) SetName(v string) *UpdateRecipeOutput {
 12706  	s.Name = &v
 12707  	return s
 12708  }
 12709  
 12710  type UpdateScheduleInput struct {
 12711  	_ struct{} `type:"structure"`
 12712  
 12713  	// The date or dates and time or times when the jobs are to be run. For more
 12714  	// information, see Cron expressions (https://docs.aws.amazon.com/databrew/latest/dg/jobs.cron.html)
 12715  	// in the Glue DataBrew Developer Guide.
 12716  	//
 12717  	// CronExpression is a required field
 12718  	CronExpression *string `min:"1" type:"string" required:"true"`
 12719  
 12720  	// The name or names of one or more jobs to be run for this schedule.
 12721  	JobNames []*string `type:"list"`
 12722  
 12723  	// The name of the schedule to update.
 12724  	//
 12725  	// Name is a required field
 12726  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 12727  }
 12728  
 12729  // String returns the string representation.
 12730  //
 12731  // API parameter values that are decorated as "sensitive" in the API will not
 12732  // be included in the string output. The member name will be present, but the
 12733  // value will be replaced with "sensitive".
 12734  func (s UpdateScheduleInput) String() string {
 12735  	return awsutil.Prettify(s)
 12736  }
 12737  
 12738  // GoString returns the string representation.
 12739  //
 12740  // API parameter values that are decorated as "sensitive" in the API will not
 12741  // be included in the string output. The member name will be present, but the
 12742  // value will be replaced with "sensitive".
 12743  func (s UpdateScheduleInput) GoString() string {
 12744  	return s.String()
 12745  }
 12746  
 12747  // Validate inspects the fields of the type to determine if they are valid.
 12748  func (s *UpdateScheduleInput) Validate() error {
 12749  	invalidParams := request.ErrInvalidParams{Context: "UpdateScheduleInput"}
 12750  	if s.CronExpression == nil {
 12751  		invalidParams.Add(request.NewErrParamRequired("CronExpression"))
 12752  	}
 12753  	if s.CronExpression != nil && len(*s.CronExpression) < 1 {
 12754  		invalidParams.Add(request.NewErrParamMinLen("CronExpression", 1))
 12755  	}
 12756  	if s.Name == nil {
 12757  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12758  	}
 12759  	if s.Name != nil && len(*s.Name) < 1 {
 12760  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12761  	}
 12762  
 12763  	if invalidParams.Len() > 0 {
 12764  		return invalidParams
 12765  	}
 12766  	return nil
 12767  }
 12768  
 12769  // SetCronExpression sets the CronExpression field's value.
 12770  func (s *UpdateScheduleInput) SetCronExpression(v string) *UpdateScheduleInput {
 12771  	s.CronExpression = &v
 12772  	return s
 12773  }
 12774  
 12775  // SetJobNames sets the JobNames field's value.
 12776  func (s *UpdateScheduleInput) SetJobNames(v []*string) *UpdateScheduleInput {
 12777  	s.JobNames = v
 12778  	return s
 12779  }
 12780  
 12781  // SetName sets the Name field's value.
 12782  func (s *UpdateScheduleInput) SetName(v string) *UpdateScheduleInput {
 12783  	s.Name = &v
 12784  	return s
 12785  }
 12786  
 12787  type UpdateScheduleOutput struct {
 12788  	_ struct{} `type:"structure"`
 12789  
 12790  	// The name of the schedule that was updated.
 12791  	//
 12792  	// Name is a required field
 12793  	Name *string `min:"1" type:"string" required:"true"`
 12794  }
 12795  
 12796  // String returns the string representation.
 12797  //
 12798  // API parameter values that are decorated as "sensitive" in the API will not
 12799  // be included in the string output. The member name will be present, but the
 12800  // value will be replaced with "sensitive".
 12801  func (s UpdateScheduleOutput) String() string {
 12802  	return awsutil.Prettify(s)
 12803  }
 12804  
 12805  // GoString returns the string representation.
 12806  //
 12807  // API parameter values that are decorated as "sensitive" in the API will not
 12808  // be included in the string output. The member name will be present, but the
 12809  // value will be replaced with "sensitive".
 12810  func (s UpdateScheduleOutput) GoString() string {
 12811  	return s.String()
 12812  }
 12813  
 12814  // SetName sets the Name field's value.
 12815  func (s *UpdateScheduleOutput) SetName(v string) *UpdateScheduleOutput {
 12816  	s.Name = &v
 12817  	return s
 12818  }
 12819  
 12820  // The input parameters for this request failed validation.
 12821  type ValidationException struct {
 12822  	_            struct{}                  `type:"structure"`
 12823  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12824  
 12825  	Message_ *string `locationName:"Message" type:"string"`
 12826  }
 12827  
 12828  // String returns the string representation.
 12829  //
 12830  // API parameter values that are decorated as "sensitive" in the API will not
 12831  // be included in the string output. The member name will be present, but the
 12832  // value will be replaced with "sensitive".
 12833  func (s ValidationException) String() string {
 12834  	return awsutil.Prettify(s)
 12835  }
 12836  
 12837  // GoString returns the string representation.
 12838  //
 12839  // API parameter values that are decorated as "sensitive" in the API will not
 12840  // be included in the string output. The member name will be present, but the
 12841  // value will be replaced with "sensitive".
 12842  func (s ValidationException) GoString() string {
 12843  	return s.String()
 12844  }
 12845  
 12846  func newErrorValidationException(v protocol.ResponseMetadata) error {
 12847  	return &ValidationException{
 12848  		RespMetadata: v,
 12849  	}
 12850  }
 12851  
 12852  // Code returns the exception type name.
 12853  func (s *ValidationException) Code() string {
 12854  	return "ValidationException"
 12855  }
 12856  
 12857  // Message returns the exception's message.
 12858  func (s *ValidationException) Message() string {
 12859  	if s.Message_ != nil {
 12860  		return *s.Message_
 12861  	}
 12862  	return ""
 12863  }
 12864  
 12865  // OrigErr always returns nil, satisfies awserr.Error interface.
 12866  func (s *ValidationException) OrigErr() error {
 12867  	return nil
 12868  }
 12869  
 12870  func (s *ValidationException) Error() string {
 12871  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12872  }
 12873  
 12874  // Status code returns the HTTP status code for the request's response error.
 12875  func (s *ValidationException) StatusCode() int {
 12876  	return s.RespMetadata.StatusCode
 12877  }
 12878  
 12879  // RequestID returns the service's response RequestID for request.
 12880  func (s *ValidationException) RequestID() string {
 12881  	return s.RespMetadata.RequestID
 12882  }
 12883  
 12884  // Represents the data being transformed during an action.
 12885  type ViewFrame struct {
 12886  	_ struct{} `type:"structure"`
 12887  
 12888  	// The number of columns to include in the view frame, beginning with the StartColumnIndex
 12889  	// value and ignoring any columns in the HiddenColumns list.
 12890  	ColumnRange *int64 `type:"integer"`
 12891  
 12892  	// A list of columns to hide in the view frame.
 12893  	HiddenColumns []*string `type:"list"`
 12894  
 12895  	// The starting index for the range of columns to return in the view frame.
 12896  	//
 12897  	// StartColumnIndex is a required field
 12898  	StartColumnIndex *int64 `type:"integer" required:"true"`
 12899  }
 12900  
 12901  // String returns the string representation.
 12902  //
 12903  // API parameter values that are decorated as "sensitive" in the API will not
 12904  // be included in the string output. The member name will be present, but the
 12905  // value will be replaced with "sensitive".
 12906  func (s ViewFrame) String() string {
 12907  	return awsutil.Prettify(s)
 12908  }
 12909  
 12910  // GoString returns the string representation.
 12911  //
 12912  // API parameter values that are decorated as "sensitive" in the API will not
 12913  // be included in the string output. The member name will be present, but the
 12914  // value will be replaced with "sensitive".
 12915  func (s ViewFrame) GoString() string {
 12916  	return s.String()
 12917  }
 12918  
 12919  // Validate inspects the fields of the type to determine if they are valid.
 12920  func (s *ViewFrame) Validate() error {
 12921  	invalidParams := request.ErrInvalidParams{Context: "ViewFrame"}
 12922  	if s.StartColumnIndex == nil {
 12923  		invalidParams.Add(request.NewErrParamRequired("StartColumnIndex"))
 12924  	}
 12925  
 12926  	if invalidParams.Len() > 0 {
 12927  		return invalidParams
 12928  	}
 12929  	return nil
 12930  }
 12931  
 12932  // SetColumnRange sets the ColumnRange field's value.
 12933  func (s *ViewFrame) SetColumnRange(v int64) *ViewFrame {
 12934  	s.ColumnRange = &v
 12935  	return s
 12936  }
 12937  
 12938  // SetHiddenColumns sets the HiddenColumns field's value.
 12939  func (s *ViewFrame) SetHiddenColumns(v []*string) *ViewFrame {
 12940  	s.HiddenColumns = v
 12941  	return s
 12942  }
 12943  
 12944  // SetStartColumnIndex sets the StartColumnIndex field's value.
 12945  func (s *ViewFrame) SetStartColumnIndex(v int64) *ViewFrame {
 12946  	s.StartColumnIndex = &v
 12947  	return s
 12948  }
 12949  
 12950  const (
 12951  	// CompressionFormatGzip is a CompressionFormat enum value
 12952  	CompressionFormatGzip = "GZIP"
 12953  
 12954  	// CompressionFormatLz4 is a CompressionFormat enum value
 12955  	CompressionFormatLz4 = "LZ4"
 12956  
 12957  	// CompressionFormatSnappy is a CompressionFormat enum value
 12958  	CompressionFormatSnappy = "SNAPPY"
 12959  
 12960  	// CompressionFormatBzip2 is a CompressionFormat enum value
 12961  	CompressionFormatBzip2 = "BZIP2"
 12962  
 12963  	// CompressionFormatDeflate is a CompressionFormat enum value
 12964  	CompressionFormatDeflate = "DEFLATE"
 12965  
 12966  	// CompressionFormatLzo is a CompressionFormat enum value
 12967  	CompressionFormatLzo = "LZO"
 12968  
 12969  	// CompressionFormatBrotli is a CompressionFormat enum value
 12970  	CompressionFormatBrotli = "BROTLI"
 12971  
 12972  	// CompressionFormatZstd is a CompressionFormat enum value
 12973  	CompressionFormatZstd = "ZSTD"
 12974  
 12975  	// CompressionFormatZlib is a CompressionFormat enum value
 12976  	CompressionFormatZlib = "ZLIB"
 12977  )
 12978  
 12979  // CompressionFormat_Values returns all elements of the CompressionFormat enum
 12980  func CompressionFormat_Values() []string {
 12981  	return []string{
 12982  		CompressionFormatGzip,
 12983  		CompressionFormatLz4,
 12984  		CompressionFormatSnappy,
 12985  		CompressionFormatBzip2,
 12986  		CompressionFormatDeflate,
 12987  		CompressionFormatLzo,
 12988  		CompressionFormatBrotli,
 12989  		CompressionFormatZstd,
 12990  		CompressionFormatZlib,
 12991  	}
 12992  }
 12993  
 12994  const (
 12995  	// DatabaseOutputModeNewTable is a DatabaseOutputMode enum value
 12996  	DatabaseOutputModeNewTable = "NEW_TABLE"
 12997  )
 12998  
 12999  // DatabaseOutputMode_Values returns all elements of the DatabaseOutputMode enum
 13000  func DatabaseOutputMode_Values() []string {
 13001  	return []string{
 13002  		DatabaseOutputModeNewTable,
 13003  	}
 13004  }
 13005  
 13006  const (
 13007  	// EncryptionModeSseKms is a EncryptionMode enum value
 13008  	EncryptionModeSseKms = "SSE-KMS"
 13009  
 13010  	// EncryptionModeSseS3 is a EncryptionMode enum value
 13011  	EncryptionModeSseS3 = "SSE-S3"
 13012  )
 13013  
 13014  // EncryptionMode_Values returns all elements of the EncryptionMode enum
 13015  func EncryptionMode_Values() []string {
 13016  	return []string{
 13017  		EncryptionModeSseKms,
 13018  		EncryptionModeSseS3,
 13019  	}
 13020  }
 13021  
 13022  const (
 13023  	// InputFormatCsv is a InputFormat enum value
 13024  	InputFormatCsv = "CSV"
 13025  
 13026  	// InputFormatJson is a InputFormat enum value
 13027  	InputFormatJson = "JSON"
 13028  
 13029  	// InputFormatParquet is a InputFormat enum value
 13030  	InputFormatParquet = "PARQUET"
 13031  
 13032  	// InputFormatExcel is a InputFormat enum value
 13033  	InputFormatExcel = "EXCEL"
 13034  )
 13035  
 13036  // InputFormat_Values returns all elements of the InputFormat enum
 13037  func InputFormat_Values() []string {
 13038  	return []string{
 13039  		InputFormatCsv,
 13040  		InputFormatJson,
 13041  		InputFormatParquet,
 13042  		InputFormatExcel,
 13043  	}
 13044  }
 13045  
 13046  const (
 13047  	// JobRunStateStarting is a JobRunState enum value
 13048  	JobRunStateStarting = "STARTING"
 13049  
 13050  	// JobRunStateRunning is a JobRunState enum value
 13051  	JobRunStateRunning = "RUNNING"
 13052  
 13053  	// JobRunStateStopping is a JobRunState enum value
 13054  	JobRunStateStopping = "STOPPING"
 13055  
 13056  	// JobRunStateStopped is a JobRunState enum value
 13057  	JobRunStateStopped = "STOPPED"
 13058  
 13059  	// JobRunStateSucceeded is a JobRunState enum value
 13060  	JobRunStateSucceeded = "SUCCEEDED"
 13061  
 13062  	// JobRunStateFailed is a JobRunState enum value
 13063  	JobRunStateFailed = "FAILED"
 13064  
 13065  	// JobRunStateTimeout is a JobRunState enum value
 13066  	JobRunStateTimeout = "TIMEOUT"
 13067  )
 13068  
 13069  // JobRunState_Values returns all elements of the JobRunState enum
 13070  func JobRunState_Values() []string {
 13071  	return []string{
 13072  		JobRunStateStarting,
 13073  		JobRunStateRunning,
 13074  		JobRunStateStopping,
 13075  		JobRunStateStopped,
 13076  		JobRunStateSucceeded,
 13077  		JobRunStateFailed,
 13078  		JobRunStateTimeout,
 13079  	}
 13080  }
 13081  
 13082  const (
 13083  	// JobTypeProfile is a JobType enum value
 13084  	JobTypeProfile = "PROFILE"
 13085  
 13086  	// JobTypeRecipe is a JobType enum value
 13087  	JobTypeRecipe = "RECIPE"
 13088  )
 13089  
 13090  // JobType_Values returns all elements of the JobType enum
 13091  func JobType_Values() []string {
 13092  	return []string{
 13093  		JobTypeProfile,
 13094  		JobTypeRecipe,
 13095  	}
 13096  }
 13097  
 13098  const (
 13099  	// LogSubscriptionEnable is a LogSubscription enum value
 13100  	LogSubscriptionEnable = "ENABLE"
 13101  
 13102  	// LogSubscriptionDisable is a LogSubscription enum value
 13103  	LogSubscriptionDisable = "DISABLE"
 13104  )
 13105  
 13106  // LogSubscription_Values returns all elements of the LogSubscription enum
 13107  func LogSubscription_Values() []string {
 13108  	return []string{
 13109  		LogSubscriptionEnable,
 13110  		LogSubscriptionDisable,
 13111  	}
 13112  }
 13113  
 13114  const (
 13115  	// OrderDescending is a Order enum value
 13116  	OrderDescending = "DESCENDING"
 13117  
 13118  	// OrderAscending is a Order enum value
 13119  	OrderAscending = "ASCENDING"
 13120  )
 13121  
 13122  // Order_Values returns all elements of the Order enum
 13123  func Order_Values() []string {
 13124  	return []string{
 13125  		OrderDescending,
 13126  		OrderAscending,
 13127  	}
 13128  }
 13129  
 13130  const (
 13131  	// OrderedByLastModifiedDate is a OrderedBy enum value
 13132  	OrderedByLastModifiedDate = "LAST_MODIFIED_DATE"
 13133  )
 13134  
 13135  // OrderedBy_Values returns all elements of the OrderedBy enum
 13136  func OrderedBy_Values() []string {
 13137  	return []string{
 13138  		OrderedByLastModifiedDate,
 13139  	}
 13140  }
 13141  
 13142  const (
 13143  	// OutputFormatCsv is a OutputFormat enum value
 13144  	OutputFormatCsv = "CSV"
 13145  
 13146  	// OutputFormatJson is a OutputFormat enum value
 13147  	OutputFormatJson = "JSON"
 13148  
 13149  	// OutputFormatParquet is a OutputFormat enum value
 13150  	OutputFormatParquet = "PARQUET"
 13151  
 13152  	// OutputFormatGlueparquet is a OutputFormat enum value
 13153  	OutputFormatGlueparquet = "GLUEPARQUET"
 13154  
 13155  	// OutputFormatAvro is a OutputFormat enum value
 13156  	OutputFormatAvro = "AVRO"
 13157  
 13158  	// OutputFormatOrc is a OutputFormat enum value
 13159  	OutputFormatOrc = "ORC"
 13160  
 13161  	// OutputFormatXml is a OutputFormat enum value
 13162  	OutputFormatXml = "XML"
 13163  
 13164  	// OutputFormatTableauhyper is a OutputFormat enum value
 13165  	OutputFormatTableauhyper = "TABLEAUHYPER"
 13166  )
 13167  
 13168  // OutputFormat_Values returns all elements of the OutputFormat enum
 13169  func OutputFormat_Values() []string {
 13170  	return []string{
 13171  		OutputFormatCsv,
 13172  		OutputFormatJson,
 13173  		OutputFormatParquet,
 13174  		OutputFormatGlueparquet,
 13175  		OutputFormatAvro,
 13176  		OutputFormatOrc,
 13177  		OutputFormatXml,
 13178  		OutputFormatTableauhyper,
 13179  	}
 13180  }
 13181  
 13182  const (
 13183  	// ParameterTypeDatetime is a ParameterType enum value
 13184  	ParameterTypeDatetime = "Datetime"
 13185  
 13186  	// ParameterTypeNumber is a ParameterType enum value
 13187  	ParameterTypeNumber = "Number"
 13188  
 13189  	// ParameterTypeString is a ParameterType enum value
 13190  	ParameterTypeString = "String"
 13191  )
 13192  
 13193  // ParameterType_Values returns all elements of the ParameterType enum
 13194  func ParameterType_Values() []string {
 13195  	return []string{
 13196  		ParameterTypeDatetime,
 13197  		ParameterTypeNumber,
 13198  		ParameterTypeString,
 13199  	}
 13200  }
 13201  
 13202  const (
 13203  	// SampleModeFullDataset is a SampleMode enum value
 13204  	SampleModeFullDataset = "FULL_DATASET"
 13205  
 13206  	// SampleModeCustomRows is a SampleMode enum value
 13207  	SampleModeCustomRows = "CUSTOM_ROWS"
 13208  )
 13209  
 13210  // SampleMode_Values returns all elements of the SampleMode enum
 13211  func SampleMode_Values() []string {
 13212  	return []string{
 13213  		SampleModeFullDataset,
 13214  		SampleModeCustomRows,
 13215  	}
 13216  }
 13217  
 13218  const (
 13219  	// SampleTypeFirstN is a SampleType enum value
 13220  	SampleTypeFirstN = "FIRST_N"
 13221  
 13222  	// SampleTypeLastN is a SampleType enum value
 13223  	SampleTypeLastN = "LAST_N"
 13224  
 13225  	// SampleTypeRandom is a SampleType enum value
 13226  	SampleTypeRandom = "RANDOM"
 13227  )
 13228  
 13229  // SampleType_Values returns all elements of the SampleType enum
 13230  func SampleType_Values() []string {
 13231  	return []string{
 13232  		SampleTypeFirstN,
 13233  		SampleTypeLastN,
 13234  		SampleTypeRandom,
 13235  	}
 13236  }
 13237  
 13238  const (
 13239  	// SessionStatusAssigned is a SessionStatus enum value
 13240  	SessionStatusAssigned = "ASSIGNED"
 13241  
 13242  	// SessionStatusFailed is a SessionStatus enum value
 13243  	SessionStatusFailed = "FAILED"
 13244  
 13245  	// SessionStatusInitializing is a SessionStatus enum value
 13246  	SessionStatusInitializing = "INITIALIZING"
 13247  
 13248  	// SessionStatusProvisioning is a SessionStatus enum value
 13249  	SessionStatusProvisioning = "PROVISIONING"
 13250  
 13251  	// SessionStatusReady is a SessionStatus enum value
 13252  	SessionStatusReady = "READY"
 13253  
 13254  	// SessionStatusRecycling is a SessionStatus enum value
 13255  	SessionStatusRecycling = "RECYCLING"
 13256  
 13257  	// SessionStatusRotating is a SessionStatus enum value
 13258  	SessionStatusRotating = "ROTATING"
 13259  
 13260  	// SessionStatusTerminated is a SessionStatus enum value
 13261  	SessionStatusTerminated = "TERMINATED"
 13262  
 13263  	// SessionStatusTerminating is a SessionStatus enum value
 13264  	SessionStatusTerminating = "TERMINATING"
 13265  
 13266  	// SessionStatusUpdating is a SessionStatus enum value
 13267  	SessionStatusUpdating = "UPDATING"
 13268  )
 13269  
 13270  // SessionStatus_Values returns all elements of the SessionStatus enum
 13271  func SessionStatus_Values() []string {
 13272  	return []string{
 13273  		SessionStatusAssigned,
 13274  		SessionStatusFailed,
 13275  		SessionStatusInitializing,
 13276  		SessionStatusProvisioning,
 13277  		SessionStatusReady,
 13278  		SessionStatusRecycling,
 13279  		SessionStatusRotating,
 13280  		SessionStatusTerminated,
 13281  		SessionStatusTerminating,
 13282  		SessionStatusUpdating,
 13283  	}
 13284  }
 13285  
 13286  const (
 13287  	// SourceS3 is a Source enum value
 13288  	SourceS3 = "S3"
 13289  
 13290  	// SourceDataCatalog is a Source enum value
 13291  	SourceDataCatalog = "DATA-CATALOG"
 13292  
 13293  	// SourceDatabase is a Source enum value
 13294  	SourceDatabase = "DATABASE"
 13295  )
 13296  
 13297  // Source_Values returns all elements of the Source enum
 13298  func Source_Values() []string {
 13299  	return []string{
 13300  		SourceS3,
 13301  		SourceDataCatalog,
 13302  		SourceDatabase,
 13303  	}
 13304  }