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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package datapipeline
     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/jsonrpc"
    14  )
    15  
    16  const opActivatePipeline = "ActivatePipeline"
    17  
    18  // ActivatePipelineRequest generates a "aws/request.Request" representing the
    19  // client's request for the ActivatePipeline 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 ActivatePipeline for more information on using the ActivatePipeline
    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 ActivatePipelineRequest method.
    34  //    req, resp := client.ActivatePipelineRequest(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/datapipeline-2012-10-29/ActivatePipeline
    42  func (c *DataPipeline) ActivatePipelineRequest(input *ActivatePipelineInput) (req *request.Request, output *ActivatePipelineOutput) {
    43  	op := &request.Operation{
    44  		Name:       opActivatePipeline,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &ActivatePipelineInput{}
    51  	}
    52  
    53  	output = &ActivatePipelineOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // ActivatePipeline API operation for AWS Data Pipeline.
    60  //
    61  // Validates the specified pipeline and starts processing pipeline tasks. If
    62  // the pipeline does not pass validation, activation fails.
    63  //
    64  // If you need to pause the pipeline to investigate an issue with a component,
    65  // such as a data source or script, call DeactivatePipeline.
    66  //
    67  // To activate a finished pipeline, modify the end date for the pipeline and
    68  // then activate it.
    69  //
    70  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    71  // with awserr.Error's Code and Message methods to get detailed information about
    72  // the error.
    73  //
    74  // See the AWS API reference guide for AWS Data Pipeline's
    75  // API operation ActivatePipeline for usage and error information.
    76  //
    77  // Returned Error Types:
    78  //   * PipelineNotFoundException
    79  //   The specified pipeline was not found. Verify that you used the correct user
    80  //   and account identifiers.
    81  //
    82  //   * PipelineDeletedException
    83  //   The specified pipeline has been deleted.
    84  //
    85  //   * InternalServiceError
    86  //   An internal service error occurred.
    87  //
    88  //   * InvalidRequestException
    89  //   The request was not valid. Verify that your request was properly formatted,
    90  //   that the signature was generated with the correct credentials, and that you
    91  //   haven't exceeded any of the service limits for your account.
    92  //
    93  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ActivatePipeline
    94  func (c *DataPipeline) ActivatePipeline(input *ActivatePipelineInput) (*ActivatePipelineOutput, error) {
    95  	req, out := c.ActivatePipelineRequest(input)
    96  	return out, req.Send()
    97  }
    98  
    99  // ActivatePipelineWithContext is the same as ActivatePipeline with the addition of
   100  // the ability to pass a context and additional request options.
   101  //
   102  // See ActivatePipeline for details on how to use this API operation.
   103  //
   104  // The context must be non-nil and will be used for request cancellation. If
   105  // the context is nil a panic will occur. In the future the SDK may create
   106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   107  // for more information on using Contexts.
   108  func (c *DataPipeline) ActivatePipelineWithContext(ctx aws.Context, input *ActivatePipelineInput, opts ...request.Option) (*ActivatePipelineOutput, error) {
   109  	req, out := c.ActivatePipelineRequest(input)
   110  	req.SetContext(ctx)
   111  	req.ApplyOptions(opts...)
   112  	return out, req.Send()
   113  }
   114  
   115  const opAddTags = "AddTags"
   116  
   117  // AddTagsRequest generates a "aws/request.Request" representing the
   118  // client's request for the AddTags operation. The "output" return
   119  // value will be populated with the request's response once the request completes
   120  // successfully.
   121  //
   122  // Use "Send" method on the returned Request to send the API call to the service.
   123  // the "output" return value is not valid until after Send returns without error.
   124  //
   125  // See AddTags for more information on using the AddTags
   126  // API call, and error handling.
   127  //
   128  // This method is useful when you want to inject custom logic or configuration
   129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   130  //
   131  //
   132  //    // Example sending a request using the AddTagsRequest method.
   133  //    req, resp := client.AddTagsRequest(params)
   134  //
   135  //    err := req.Send()
   136  //    if err == nil { // resp is now filled
   137  //        fmt.Println(resp)
   138  //    }
   139  //
   140  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/AddTags
   141  func (c *DataPipeline) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
   142  	op := &request.Operation{
   143  		Name:       opAddTags,
   144  		HTTPMethod: "POST",
   145  		HTTPPath:   "/",
   146  	}
   147  
   148  	if input == nil {
   149  		input = &AddTagsInput{}
   150  	}
   151  
   152  	output = &AddTagsOutput{}
   153  	req = c.newRequest(op, input, output)
   154  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   155  	return
   156  }
   157  
   158  // AddTags API operation for AWS Data Pipeline.
   159  //
   160  // Adds or modifies tags for the specified pipeline.
   161  //
   162  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   163  // with awserr.Error's Code and Message methods to get detailed information about
   164  // the error.
   165  //
   166  // See the AWS API reference guide for AWS Data Pipeline's
   167  // API operation AddTags for usage and error information.
   168  //
   169  // Returned Error Types:
   170  //   * InternalServiceError
   171  //   An internal service error occurred.
   172  //
   173  //   * InvalidRequestException
   174  //   The request was not valid. Verify that your request was properly formatted,
   175  //   that the signature was generated with the correct credentials, and that you
   176  //   haven't exceeded any of the service limits for your account.
   177  //
   178  //   * PipelineNotFoundException
   179  //   The specified pipeline was not found. Verify that you used the correct user
   180  //   and account identifiers.
   181  //
   182  //   * PipelineDeletedException
   183  //   The specified pipeline has been deleted.
   184  //
   185  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/AddTags
   186  func (c *DataPipeline) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
   187  	req, out := c.AddTagsRequest(input)
   188  	return out, req.Send()
   189  }
   190  
   191  // AddTagsWithContext is the same as AddTags with the addition of
   192  // the ability to pass a context and additional request options.
   193  //
   194  // See AddTags for details on how to use this API operation.
   195  //
   196  // The context must be non-nil and will be used for request cancellation. If
   197  // the context is nil a panic will occur. In the future the SDK may create
   198  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   199  // for more information on using Contexts.
   200  func (c *DataPipeline) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
   201  	req, out := c.AddTagsRequest(input)
   202  	req.SetContext(ctx)
   203  	req.ApplyOptions(opts...)
   204  	return out, req.Send()
   205  }
   206  
   207  const opCreatePipeline = "CreatePipeline"
   208  
   209  // CreatePipelineRequest generates a "aws/request.Request" representing the
   210  // client's request for the CreatePipeline operation. The "output" return
   211  // value will be populated with the request's response once the request completes
   212  // successfully.
   213  //
   214  // Use "Send" method on the returned Request to send the API call to the service.
   215  // the "output" return value is not valid until after Send returns without error.
   216  //
   217  // See CreatePipeline for more information on using the CreatePipeline
   218  // API call, and error handling.
   219  //
   220  // This method is useful when you want to inject custom logic or configuration
   221  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   222  //
   223  //
   224  //    // Example sending a request using the CreatePipelineRequest method.
   225  //    req, resp := client.CreatePipelineRequest(params)
   226  //
   227  //    err := req.Send()
   228  //    if err == nil { // resp is now filled
   229  //        fmt.Println(resp)
   230  //    }
   231  //
   232  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/CreatePipeline
   233  func (c *DataPipeline) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) {
   234  	op := &request.Operation{
   235  		Name:       opCreatePipeline,
   236  		HTTPMethod: "POST",
   237  		HTTPPath:   "/",
   238  	}
   239  
   240  	if input == nil {
   241  		input = &CreatePipelineInput{}
   242  	}
   243  
   244  	output = &CreatePipelineOutput{}
   245  	req = c.newRequest(op, input, output)
   246  	return
   247  }
   248  
   249  // CreatePipeline API operation for AWS Data Pipeline.
   250  //
   251  // Creates a new, empty pipeline. Use PutPipelineDefinition to populate the
   252  // pipeline.
   253  //
   254  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   255  // with awserr.Error's Code and Message methods to get detailed information about
   256  // the error.
   257  //
   258  // See the AWS API reference guide for AWS Data Pipeline's
   259  // API operation CreatePipeline for usage and error information.
   260  //
   261  // Returned Error Types:
   262  //   * InternalServiceError
   263  //   An internal service error occurred.
   264  //
   265  //   * InvalidRequestException
   266  //   The request was not valid. Verify that your request was properly formatted,
   267  //   that the signature was generated with the correct credentials, and that you
   268  //   haven't exceeded any of the service limits for your account.
   269  //
   270  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/CreatePipeline
   271  func (c *DataPipeline) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) {
   272  	req, out := c.CreatePipelineRequest(input)
   273  	return out, req.Send()
   274  }
   275  
   276  // CreatePipelineWithContext is the same as CreatePipeline with the addition of
   277  // the ability to pass a context and additional request options.
   278  //
   279  // See CreatePipeline for details on how to use this API operation.
   280  //
   281  // The context must be non-nil and will be used for request cancellation. If
   282  // the context is nil a panic will occur. In the future the SDK may create
   283  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   284  // for more information on using Contexts.
   285  func (c *DataPipeline) CreatePipelineWithContext(ctx aws.Context, input *CreatePipelineInput, opts ...request.Option) (*CreatePipelineOutput, error) {
   286  	req, out := c.CreatePipelineRequest(input)
   287  	req.SetContext(ctx)
   288  	req.ApplyOptions(opts...)
   289  	return out, req.Send()
   290  }
   291  
   292  const opDeactivatePipeline = "DeactivatePipeline"
   293  
   294  // DeactivatePipelineRequest generates a "aws/request.Request" representing the
   295  // client's request for the DeactivatePipeline operation. The "output" return
   296  // value will be populated with the request's response once the request completes
   297  // successfully.
   298  //
   299  // Use "Send" method on the returned Request to send the API call to the service.
   300  // the "output" return value is not valid until after Send returns without error.
   301  //
   302  // See DeactivatePipeline for more information on using the DeactivatePipeline
   303  // API call, and error handling.
   304  //
   305  // This method is useful when you want to inject custom logic or configuration
   306  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   307  //
   308  //
   309  //    // Example sending a request using the DeactivatePipelineRequest method.
   310  //    req, resp := client.DeactivatePipelineRequest(params)
   311  //
   312  //    err := req.Send()
   313  //    if err == nil { // resp is now filled
   314  //        fmt.Println(resp)
   315  //    }
   316  //
   317  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeactivatePipeline
   318  func (c *DataPipeline) DeactivatePipelineRequest(input *DeactivatePipelineInput) (req *request.Request, output *DeactivatePipelineOutput) {
   319  	op := &request.Operation{
   320  		Name:       opDeactivatePipeline,
   321  		HTTPMethod: "POST",
   322  		HTTPPath:   "/",
   323  	}
   324  
   325  	if input == nil {
   326  		input = &DeactivatePipelineInput{}
   327  	}
   328  
   329  	output = &DeactivatePipelineOutput{}
   330  	req = c.newRequest(op, input, output)
   331  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   332  	return
   333  }
   334  
   335  // DeactivatePipeline API operation for AWS Data Pipeline.
   336  //
   337  // Deactivates the specified running pipeline. The pipeline is set to the DEACTIVATING
   338  // state until the deactivation process completes.
   339  //
   340  // To resume a deactivated pipeline, use ActivatePipeline. By default, the pipeline
   341  // resumes from the last completed execution. Optionally, you can specify the
   342  // date and time to resume the pipeline.
   343  //
   344  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   345  // with awserr.Error's Code and Message methods to get detailed information about
   346  // the error.
   347  //
   348  // See the AWS API reference guide for AWS Data Pipeline's
   349  // API operation DeactivatePipeline for usage and error information.
   350  //
   351  // Returned Error Types:
   352  //   * PipelineNotFoundException
   353  //   The specified pipeline was not found. Verify that you used the correct user
   354  //   and account identifiers.
   355  //
   356  //   * PipelineDeletedException
   357  //   The specified pipeline has been deleted.
   358  //
   359  //   * InternalServiceError
   360  //   An internal service error occurred.
   361  //
   362  //   * InvalidRequestException
   363  //   The request was not valid. Verify that your request was properly formatted,
   364  //   that the signature was generated with the correct credentials, and that you
   365  //   haven't exceeded any of the service limits for your account.
   366  //
   367  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeactivatePipeline
   368  func (c *DataPipeline) DeactivatePipeline(input *DeactivatePipelineInput) (*DeactivatePipelineOutput, error) {
   369  	req, out := c.DeactivatePipelineRequest(input)
   370  	return out, req.Send()
   371  }
   372  
   373  // DeactivatePipelineWithContext is the same as DeactivatePipeline with the addition of
   374  // the ability to pass a context and additional request options.
   375  //
   376  // See DeactivatePipeline for details on how to use this API operation.
   377  //
   378  // The context must be non-nil and will be used for request cancellation. If
   379  // the context is nil a panic will occur. In the future the SDK may create
   380  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   381  // for more information on using Contexts.
   382  func (c *DataPipeline) DeactivatePipelineWithContext(ctx aws.Context, input *DeactivatePipelineInput, opts ...request.Option) (*DeactivatePipelineOutput, error) {
   383  	req, out := c.DeactivatePipelineRequest(input)
   384  	req.SetContext(ctx)
   385  	req.ApplyOptions(opts...)
   386  	return out, req.Send()
   387  }
   388  
   389  const opDeletePipeline = "DeletePipeline"
   390  
   391  // DeletePipelineRequest generates a "aws/request.Request" representing the
   392  // client's request for the DeletePipeline operation. The "output" return
   393  // value will be populated with the request's response once the request completes
   394  // successfully.
   395  //
   396  // Use "Send" method on the returned Request to send the API call to the service.
   397  // the "output" return value is not valid until after Send returns without error.
   398  //
   399  // See DeletePipeline for more information on using the DeletePipeline
   400  // API call, and error handling.
   401  //
   402  // This method is useful when you want to inject custom logic or configuration
   403  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   404  //
   405  //
   406  //    // Example sending a request using the DeletePipelineRequest method.
   407  //    req, resp := client.DeletePipelineRequest(params)
   408  //
   409  //    err := req.Send()
   410  //    if err == nil { // resp is now filled
   411  //        fmt.Println(resp)
   412  //    }
   413  //
   414  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeletePipeline
   415  func (c *DataPipeline) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) {
   416  	op := &request.Operation{
   417  		Name:       opDeletePipeline,
   418  		HTTPMethod: "POST",
   419  		HTTPPath:   "/",
   420  	}
   421  
   422  	if input == nil {
   423  		input = &DeletePipelineInput{}
   424  	}
   425  
   426  	output = &DeletePipelineOutput{}
   427  	req = c.newRequest(op, input, output)
   428  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   429  	return
   430  }
   431  
   432  // DeletePipeline API operation for AWS Data Pipeline.
   433  //
   434  // Deletes a pipeline, its pipeline definition, and its run history. AWS Data
   435  // Pipeline attempts to cancel instances associated with the pipeline that are
   436  // currently being processed by task runners.
   437  //
   438  // Deleting a pipeline cannot be undone. You cannot query or restore a deleted
   439  // pipeline. To temporarily pause a pipeline instead of deleting it, call SetStatus
   440  // with the status set to PAUSE on individual components. Components that are
   441  // paused by SetStatus can be resumed.
   442  //
   443  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   444  // with awserr.Error's Code and Message methods to get detailed information about
   445  // the error.
   446  //
   447  // See the AWS API reference guide for AWS Data Pipeline's
   448  // API operation DeletePipeline for usage and error information.
   449  //
   450  // Returned Error Types:
   451  //   * PipelineNotFoundException
   452  //   The specified pipeline was not found. Verify that you used the correct user
   453  //   and account identifiers.
   454  //
   455  //   * InternalServiceError
   456  //   An internal service error occurred.
   457  //
   458  //   * InvalidRequestException
   459  //   The request was not valid. Verify that your request was properly formatted,
   460  //   that the signature was generated with the correct credentials, and that you
   461  //   haven't exceeded any of the service limits for your account.
   462  //
   463  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DeletePipeline
   464  func (c *DataPipeline) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) {
   465  	req, out := c.DeletePipelineRequest(input)
   466  	return out, req.Send()
   467  }
   468  
   469  // DeletePipelineWithContext is the same as DeletePipeline with the addition of
   470  // the ability to pass a context and additional request options.
   471  //
   472  // See DeletePipeline for details on how to use this API operation.
   473  //
   474  // The context must be non-nil and will be used for request cancellation. If
   475  // the context is nil a panic will occur. In the future the SDK may create
   476  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   477  // for more information on using Contexts.
   478  func (c *DataPipeline) DeletePipelineWithContext(ctx aws.Context, input *DeletePipelineInput, opts ...request.Option) (*DeletePipelineOutput, error) {
   479  	req, out := c.DeletePipelineRequest(input)
   480  	req.SetContext(ctx)
   481  	req.ApplyOptions(opts...)
   482  	return out, req.Send()
   483  }
   484  
   485  const opDescribeObjects = "DescribeObjects"
   486  
   487  // DescribeObjectsRequest generates a "aws/request.Request" representing the
   488  // client's request for the DescribeObjects operation. The "output" return
   489  // value will be populated with the request's response once the request completes
   490  // successfully.
   491  //
   492  // Use "Send" method on the returned Request to send the API call to the service.
   493  // the "output" return value is not valid until after Send returns without error.
   494  //
   495  // See DescribeObjects for more information on using the DescribeObjects
   496  // API call, and error handling.
   497  //
   498  // This method is useful when you want to inject custom logic or configuration
   499  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   500  //
   501  //
   502  //    // Example sending a request using the DescribeObjectsRequest method.
   503  //    req, resp := client.DescribeObjectsRequest(params)
   504  //
   505  //    err := req.Send()
   506  //    if err == nil { // resp is now filled
   507  //        fmt.Println(resp)
   508  //    }
   509  //
   510  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribeObjects
   511  func (c *DataPipeline) DescribeObjectsRequest(input *DescribeObjectsInput) (req *request.Request, output *DescribeObjectsOutput) {
   512  	op := &request.Operation{
   513  		Name:       opDescribeObjects,
   514  		HTTPMethod: "POST",
   515  		HTTPPath:   "/",
   516  		Paginator: &request.Paginator{
   517  			InputTokens:     []string{"marker"},
   518  			OutputTokens:    []string{"marker"},
   519  			LimitToken:      "",
   520  			TruncationToken: "hasMoreResults",
   521  		},
   522  	}
   523  
   524  	if input == nil {
   525  		input = &DescribeObjectsInput{}
   526  	}
   527  
   528  	output = &DescribeObjectsOutput{}
   529  	req = c.newRequest(op, input, output)
   530  	return
   531  }
   532  
   533  // DescribeObjects API operation for AWS Data Pipeline.
   534  //
   535  // Gets the object definitions for a set of objects associated with the pipeline.
   536  // Object definitions are composed of a set of fields that define the properties
   537  // of the object.
   538  //
   539  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   540  // with awserr.Error's Code and Message methods to get detailed information about
   541  // the error.
   542  //
   543  // See the AWS API reference guide for AWS Data Pipeline's
   544  // API operation DescribeObjects for usage and error information.
   545  //
   546  // Returned Error Types:
   547  //   * InternalServiceError
   548  //   An internal service error occurred.
   549  //
   550  //   * InvalidRequestException
   551  //   The request was not valid. Verify that your request was properly formatted,
   552  //   that the signature was generated with the correct credentials, and that you
   553  //   haven't exceeded any of the service limits for your account.
   554  //
   555  //   * PipelineNotFoundException
   556  //   The specified pipeline was not found. Verify that you used the correct user
   557  //   and account identifiers.
   558  //
   559  //   * PipelineDeletedException
   560  //   The specified pipeline has been deleted.
   561  //
   562  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribeObjects
   563  func (c *DataPipeline) DescribeObjects(input *DescribeObjectsInput) (*DescribeObjectsOutput, error) {
   564  	req, out := c.DescribeObjectsRequest(input)
   565  	return out, req.Send()
   566  }
   567  
   568  // DescribeObjectsWithContext is the same as DescribeObjects with the addition of
   569  // the ability to pass a context and additional request options.
   570  //
   571  // See DescribeObjects for details on how to use this API operation.
   572  //
   573  // The context must be non-nil and will be used for request cancellation. If
   574  // the context is nil a panic will occur. In the future the SDK may create
   575  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   576  // for more information on using Contexts.
   577  func (c *DataPipeline) DescribeObjectsWithContext(ctx aws.Context, input *DescribeObjectsInput, opts ...request.Option) (*DescribeObjectsOutput, error) {
   578  	req, out := c.DescribeObjectsRequest(input)
   579  	req.SetContext(ctx)
   580  	req.ApplyOptions(opts...)
   581  	return out, req.Send()
   582  }
   583  
   584  // DescribeObjectsPages iterates over the pages of a DescribeObjects operation,
   585  // calling the "fn" function with the response data for each page. To stop
   586  // iterating, return false from the fn function.
   587  //
   588  // See DescribeObjects method for more information on how to use this operation.
   589  //
   590  // Note: This operation can generate multiple requests to a service.
   591  //
   592  //    // Example iterating over at most 3 pages of a DescribeObjects operation.
   593  //    pageNum := 0
   594  //    err := client.DescribeObjectsPages(params,
   595  //        func(page *datapipeline.DescribeObjectsOutput, lastPage bool) bool {
   596  //            pageNum++
   597  //            fmt.Println(page)
   598  //            return pageNum <= 3
   599  //        })
   600  //
   601  func (c *DataPipeline) DescribeObjectsPages(input *DescribeObjectsInput, fn func(*DescribeObjectsOutput, bool) bool) error {
   602  	return c.DescribeObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
   603  }
   604  
   605  // DescribeObjectsPagesWithContext same as DescribeObjectsPages except
   606  // it takes a Context and allows setting request options on the pages.
   607  //
   608  // The context must be non-nil and will be used for request cancellation. If
   609  // the context is nil a panic will occur. In the future the SDK may create
   610  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   611  // for more information on using Contexts.
   612  func (c *DataPipeline) DescribeObjectsPagesWithContext(ctx aws.Context, input *DescribeObjectsInput, fn func(*DescribeObjectsOutput, bool) bool, opts ...request.Option) error {
   613  	p := request.Pagination{
   614  		NewRequest: func() (*request.Request, error) {
   615  			var inCpy *DescribeObjectsInput
   616  			if input != nil {
   617  				tmp := *input
   618  				inCpy = &tmp
   619  			}
   620  			req, _ := c.DescribeObjectsRequest(inCpy)
   621  			req.SetContext(ctx)
   622  			req.ApplyOptions(opts...)
   623  			return req, nil
   624  		},
   625  	}
   626  
   627  	for p.Next() {
   628  		if !fn(p.Page().(*DescribeObjectsOutput), !p.HasNextPage()) {
   629  			break
   630  		}
   631  	}
   632  
   633  	return p.Err()
   634  }
   635  
   636  const opDescribePipelines = "DescribePipelines"
   637  
   638  // DescribePipelinesRequest generates a "aws/request.Request" representing the
   639  // client's request for the DescribePipelines operation. The "output" return
   640  // value will be populated with the request's response once the request completes
   641  // successfully.
   642  //
   643  // Use "Send" method on the returned Request to send the API call to the service.
   644  // the "output" return value is not valid until after Send returns without error.
   645  //
   646  // See DescribePipelines for more information on using the DescribePipelines
   647  // API call, and error handling.
   648  //
   649  // This method is useful when you want to inject custom logic or configuration
   650  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   651  //
   652  //
   653  //    // Example sending a request using the DescribePipelinesRequest method.
   654  //    req, resp := client.DescribePipelinesRequest(params)
   655  //
   656  //    err := req.Send()
   657  //    if err == nil { // resp is now filled
   658  //        fmt.Println(resp)
   659  //    }
   660  //
   661  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribePipelines
   662  func (c *DataPipeline) DescribePipelinesRequest(input *DescribePipelinesInput) (req *request.Request, output *DescribePipelinesOutput) {
   663  	op := &request.Operation{
   664  		Name:       opDescribePipelines,
   665  		HTTPMethod: "POST",
   666  		HTTPPath:   "/",
   667  	}
   668  
   669  	if input == nil {
   670  		input = &DescribePipelinesInput{}
   671  	}
   672  
   673  	output = &DescribePipelinesOutput{}
   674  	req = c.newRequest(op, input, output)
   675  	return
   676  }
   677  
   678  // DescribePipelines API operation for AWS Data Pipeline.
   679  //
   680  // Retrieves metadata about one or more pipelines. The information retrieved
   681  // includes the name of the pipeline, the pipeline identifier, its current state,
   682  // and the user account that owns the pipeline. Using account credentials, you
   683  // can retrieve metadata about pipelines that you or your IAM users have created.
   684  // If you are using an IAM user account, you can retrieve metadata about only
   685  // those pipelines for which you have read permissions.
   686  //
   687  // To retrieve the full pipeline definition instead of metadata about the pipeline,
   688  // call GetPipelineDefinition.
   689  //
   690  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   691  // with awserr.Error's Code and Message methods to get detailed information about
   692  // the error.
   693  //
   694  // See the AWS API reference guide for AWS Data Pipeline's
   695  // API operation DescribePipelines for usage and error information.
   696  //
   697  // Returned Error Types:
   698  //   * PipelineNotFoundException
   699  //   The specified pipeline was not found. Verify that you used the correct user
   700  //   and account identifiers.
   701  //
   702  //   * PipelineDeletedException
   703  //   The specified pipeline has been deleted.
   704  //
   705  //   * InternalServiceError
   706  //   An internal service error occurred.
   707  //
   708  //   * InvalidRequestException
   709  //   The request was not valid. Verify that your request was properly formatted,
   710  //   that the signature was generated with the correct credentials, and that you
   711  //   haven't exceeded any of the service limits for your account.
   712  //
   713  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/DescribePipelines
   714  func (c *DataPipeline) DescribePipelines(input *DescribePipelinesInput) (*DescribePipelinesOutput, error) {
   715  	req, out := c.DescribePipelinesRequest(input)
   716  	return out, req.Send()
   717  }
   718  
   719  // DescribePipelinesWithContext is the same as DescribePipelines with the addition of
   720  // the ability to pass a context and additional request options.
   721  //
   722  // See DescribePipelines for details on how to use this API operation.
   723  //
   724  // The context must be non-nil and will be used for request cancellation. If
   725  // the context is nil a panic will occur. In the future the SDK may create
   726  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   727  // for more information on using Contexts.
   728  func (c *DataPipeline) DescribePipelinesWithContext(ctx aws.Context, input *DescribePipelinesInput, opts ...request.Option) (*DescribePipelinesOutput, error) {
   729  	req, out := c.DescribePipelinesRequest(input)
   730  	req.SetContext(ctx)
   731  	req.ApplyOptions(opts...)
   732  	return out, req.Send()
   733  }
   734  
   735  const opEvaluateExpression = "EvaluateExpression"
   736  
   737  // EvaluateExpressionRequest generates a "aws/request.Request" representing the
   738  // client's request for the EvaluateExpression operation. The "output" return
   739  // value will be populated with the request's response once the request completes
   740  // successfully.
   741  //
   742  // Use "Send" method on the returned Request to send the API call to the service.
   743  // the "output" return value is not valid until after Send returns without error.
   744  //
   745  // See EvaluateExpression for more information on using the EvaluateExpression
   746  // API call, and error handling.
   747  //
   748  // This method is useful when you want to inject custom logic or configuration
   749  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   750  //
   751  //
   752  //    // Example sending a request using the EvaluateExpressionRequest method.
   753  //    req, resp := client.EvaluateExpressionRequest(params)
   754  //
   755  //    err := req.Send()
   756  //    if err == nil { // resp is now filled
   757  //        fmt.Println(resp)
   758  //    }
   759  //
   760  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/EvaluateExpression
   761  func (c *DataPipeline) EvaluateExpressionRequest(input *EvaluateExpressionInput) (req *request.Request, output *EvaluateExpressionOutput) {
   762  	op := &request.Operation{
   763  		Name:       opEvaluateExpression,
   764  		HTTPMethod: "POST",
   765  		HTTPPath:   "/",
   766  	}
   767  
   768  	if input == nil {
   769  		input = &EvaluateExpressionInput{}
   770  	}
   771  
   772  	output = &EvaluateExpressionOutput{}
   773  	req = c.newRequest(op, input, output)
   774  	return
   775  }
   776  
   777  // EvaluateExpression API operation for AWS Data Pipeline.
   778  //
   779  // Task runners call EvaluateExpression to evaluate a string in the context
   780  // of the specified object. For example, a task runner can evaluate SQL queries
   781  // stored in Amazon S3.
   782  //
   783  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   784  // with awserr.Error's Code and Message methods to get detailed information about
   785  // the error.
   786  //
   787  // See the AWS API reference guide for AWS Data Pipeline's
   788  // API operation EvaluateExpression for usage and error information.
   789  //
   790  // Returned Error Types:
   791  //   * InternalServiceError
   792  //   An internal service error occurred.
   793  //
   794  //   * TaskNotFoundException
   795  //   The specified task was not found.
   796  //
   797  //   * InvalidRequestException
   798  //   The request was not valid. Verify that your request was properly formatted,
   799  //   that the signature was generated with the correct credentials, and that you
   800  //   haven't exceeded any of the service limits for your account.
   801  //
   802  //   * PipelineNotFoundException
   803  //   The specified pipeline was not found. Verify that you used the correct user
   804  //   and account identifiers.
   805  //
   806  //   * PipelineDeletedException
   807  //   The specified pipeline has been deleted.
   808  //
   809  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/EvaluateExpression
   810  func (c *DataPipeline) EvaluateExpression(input *EvaluateExpressionInput) (*EvaluateExpressionOutput, error) {
   811  	req, out := c.EvaluateExpressionRequest(input)
   812  	return out, req.Send()
   813  }
   814  
   815  // EvaluateExpressionWithContext is the same as EvaluateExpression with the addition of
   816  // the ability to pass a context and additional request options.
   817  //
   818  // See EvaluateExpression for details on how to use this API operation.
   819  //
   820  // The context must be non-nil and will be used for request cancellation. If
   821  // the context is nil a panic will occur. In the future the SDK may create
   822  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   823  // for more information on using Contexts.
   824  func (c *DataPipeline) EvaluateExpressionWithContext(ctx aws.Context, input *EvaluateExpressionInput, opts ...request.Option) (*EvaluateExpressionOutput, error) {
   825  	req, out := c.EvaluateExpressionRequest(input)
   826  	req.SetContext(ctx)
   827  	req.ApplyOptions(opts...)
   828  	return out, req.Send()
   829  }
   830  
   831  const opGetPipelineDefinition = "GetPipelineDefinition"
   832  
   833  // GetPipelineDefinitionRequest generates a "aws/request.Request" representing the
   834  // client's request for the GetPipelineDefinition operation. The "output" return
   835  // value will be populated with the request's response once the request completes
   836  // successfully.
   837  //
   838  // Use "Send" method on the returned Request to send the API call to the service.
   839  // the "output" return value is not valid until after Send returns without error.
   840  //
   841  // See GetPipelineDefinition for more information on using the GetPipelineDefinition
   842  // API call, and error handling.
   843  //
   844  // This method is useful when you want to inject custom logic or configuration
   845  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   846  //
   847  //
   848  //    // Example sending a request using the GetPipelineDefinitionRequest method.
   849  //    req, resp := client.GetPipelineDefinitionRequest(params)
   850  //
   851  //    err := req.Send()
   852  //    if err == nil { // resp is now filled
   853  //        fmt.Println(resp)
   854  //    }
   855  //
   856  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/GetPipelineDefinition
   857  func (c *DataPipeline) GetPipelineDefinitionRequest(input *GetPipelineDefinitionInput) (req *request.Request, output *GetPipelineDefinitionOutput) {
   858  	op := &request.Operation{
   859  		Name:       opGetPipelineDefinition,
   860  		HTTPMethod: "POST",
   861  		HTTPPath:   "/",
   862  	}
   863  
   864  	if input == nil {
   865  		input = &GetPipelineDefinitionInput{}
   866  	}
   867  
   868  	output = &GetPipelineDefinitionOutput{}
   869  	req = c.newRequest(op, input, output)
   870  	return
   871  }
   872  
   873  // GetPipelineDefinition API operation for AWS Data Pipeline.
   874  //
   875  // Gets the definition of the specified pipeline. You can call GetPipelineDefinition
   876  // to retrieve the pipeline definition that you provided using PutPipelineDefinition.
   877  //
   878  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   879  // with awserr.Error's Code and Message methods to get detailed information about
   880  // the error.
   881  //
   882  // See the AWS API reference guide for AWS Data Pipeline's
   883  // API operation GetPipelineDefinition for usage and error information.
   884  //
   885  // Returned Error Types:
   886  //   * InternalServiceError
   887  //   An internal service error occurred.
   888  //
   889  //   * InvalidRequestException
   890  //   The request was not valid. Verify that your request was properly formatted,
   891  //   that the signature was generated with the correct credentials, and that you
   892  //   haven't exceeded any of the service limits for your account.
   893  //
   894  //   * PipelineNotFoundException
   895  //   The specified pipeline was not found. Verify that you used the correct user
   896  //   and account identifiers.
   897  //
   898  //   * PipelineDeletedException
   899  //   The specified pipeline has been deleted.
   900  //
   901  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/GetPipelineDefinition
   902  func (c *DataPipeline) GetPipelineDefinition(input *GetPipelineDefinitionInput) (*GetPipelineDefinitionOutput, error) {
   903  	req, out := c.GetPipelineDefinitionRequest(input)
   904  	return out, req.Send()
   905  }
   906  
   907  // GetPipelineDefinitionWithContext is the same as GetPipelineDefinition with the addition of
   908  // the ability to pass a context and additional request options.
   909  //
   910  // See GetPipelineDefinition for details on how to use this API operation.
   911  //
   912  // The context must be non-nil and will be used for request cancellation. If
   913  // the context is nil a panic will occur. In the future the SDK may create
   914  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   915  // for more information on using Contexts.
   916  func (c *DataPipeline) GetPipelineDefinitionWithContext(ctx aws.Context, input *GetPipelineDefinitionInput, opts ...request.Option) (*GetPipelineDefinitionOutput, error) {
   917  	req, out := c.GetPipelineDefinitionRequest(input)
   918  	req.SetContext(ctx)
   919  	req.ApplyOptions(opts...)
   920  	return out, req.Send()
   921  }
   922  
   923  const opListPipelines = "ListPipelines"
   924  
   925  // ListPipelinesRequest generates a "aws/request.Request" representing the
   926  // client's request for the ListPipelines operation. The "output" return
   927  // value will be populated with the request's response once the request completes
   928  // successfully.
   929  //
   930  // Use "Send" method on the returned Request to send the API call to the service.
   931  // the "output" return value is not valid until after Send returns without error.
   932  //
   933  // See ListPipelines for more information on using the ListPipelines
   934  // API call, and error handling.
   935  //
   936  // This method is useful when you want to inject custom logic or configuration
   937  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   938  //
   939  //
   940  //    // Example sending a request using the ListPipelinesRequest method.
   941  //    req, resp := client.ListPipelinesRequest(params)
   942  //
   943  //    err := req.Send()
   944  //    if err == nil { // resp is now filled
   945  //        fmt.Println(resp)
   946  //    }
   947  //
   948  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ListPipelines
   949  func (c *DataPipeline) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) {
   950  	op := &request.Operation{
   951  		Name:       opListPipelines,
   952  		HTTPMethod: "POST",
   953  		HTTPPath:   "/",
   954  		Paginator: &request.Paginator{
   955  			InputTokens:     []string{"marker"},
   956  			OutputTokens:    []string{"marker"},
   957  			LimitToken:      "",
   958  			TruncationToken: "hasMoreResults",
   959  		},
   960  	}
   961  
   962  	if input == nil {
   963  		input = &ListPipelinesInput{}
   964  	}
   965  
   966  	output = &ListPipelinesOutput{}
   967  	req = c.newRequest(op, input, output)
   968  	return
   969  }
   970  
   971  // ListPipelines API operation for AWS Data Pipeline.
   972  //
   973  // Lists the pipeline identifiers for all active pipelines that you have permission
   974  // to access.
   975  //
   976  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   977  // with awserr.Error's Code and Message methods to get detailed information about
   978  // the error.
   979  //
   980  // See the AWS API reference guide for AWS Data Pipeline's
   981  // API operation ListPipelines for usage and error information.
   982  //
   983  // Returned Error Types:
   984  //   * InternalServiceError
   985  //   An internal service error occurred.
   986  //
   987  //   * InvalidRequestException
   988  //   The request was not valid. Verify that your request was properly formatted,
   989  //   that the signature was generated with the correct credentials, and that you
   990  //   haven't exceeded any of the service limits for your account.
   991  //
   992  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ListPipelines
   993  func (c *DataPipeline) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) {
   994  	req, out := c.ListPipelinesRequest(input)
   995  	return out, req.Send()
   996  }
   997  
   998  // ListPipelinesWithContext is the same as ListPipelines with the addition of
   999  // the ability to pass a context and additional request options.
  1000  //
  1001  // See ListPipelines for details on how to use this API operation.
  1002  //
  1003  // The context must be non-nil and will be used for request cancellation. If
  1004  // the context is nil a panic will occur. In the future the SDK may create
  1005  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1006  // for more information on using Contexts.
  1007  func (c *DataPipeline) ListPipelinesWithContext(ctx aws.Context, input *ListPipelinesInput, opts ...request.Option) (*ListPipelinesOutput, error) {
  1008  	req, out := c.ListPipelinesRequest(input)
  1009  	req.SetContext(ctx)
  1010  	req.ApplyOptions(opts...)
  1011  	return out, req.Send()
  1012  }
  1013  
  1014  // ListPipelinesPages iterates over the pages of a ListPipelines operation,
  1015  // calling the "fn" function with the response data for each page. To stop
  1016  // iterating, return false from the fn function.
  1017  //
  1018  // See ListPipelines method for more information on how to use this operation.
  1019  //
  1020  // Note: This operation can generate multiple requests to a service.
  1021  //
  1022  //    // Example iterating over at most 3 pages of a ListPipelines operation.
  1023  //    pageNum := 0
  1024  //    err := client.ListPipelinesPages(params,
  1025  //        func(page *datapipeline.ListPipelinesOutput, lastPage bool) bool {
  1026  //            pageNum++
  1027  //            fmt.Println(page)
  1028  //            return pageNum <= 3
  1029  //        })
  1030  //
  1031  func (c *DataPipeline) ListPipelinesPages(input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool) error {
  1032  	return c.ListPipelinesPagesWithContext(aws.BackgroundContext(), input, fn)
  1033  }
  1034  
  1035  // ListPipelinesPagesWithContext same as ListPipelinesPages except
  1036  // it takes a Context and allows setting request options on the pages.
  1037  //
  1038  // The context must be non-nil and will be used for request cancellation. If
  1039  // the context is nil a panic will occur. In the future the SDK may create
  1040  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1041  // for more information on using Contexts.
  1042  func (c *DataPipeline) ListPipelinesPagesWithContext(ctx aws.Context, input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool, opts ...request.Option) error {
  1043  	p := request.Pagination{
  1044  		NewRequest: func() (*request.Request, error) {
  1045  			var inCpy *ListPipelinesInput
  1046  			if input != nil {
  1047  				tmp := *input
  1048  				inCpy = &tmp
  1049  			}
  1050  			req, _ := c.ListPipelinesRequest(inCpy)
  1051  			req.SetContext(ctx)
  1052  			req.ApplyOptions(opts...)
  1053  			return req, nil
  1054  		},
  1055  	}
  1056  
  1057  	for p.Next() {
  1058  		if !fn(p.Page().(*ListPipelinesOutput), !p.HasNextPage()) {
  1059  			break
  1060  		}
  1061  	}
  1062  
  1063  	return p.Err()
  1064  }
  1065  
  1066  const opPollForTask = "PollForTask"
  1067  
  1068  // PollForTaskRequest generates a "aws/request.Request" representing the
  1069  // client's request for the PollForTask operation. The "output" return
  1070  // value will be populated with the request's response once the request completes
  1071  // successfully.
  1072  //
  1073  // Use "Send" method on the returned Request to send the API call to the service.
  1074  // the "output" return value is not valid until after Send returns without error.
  1075  //
  1076  // See PollForTask for more information on using the PollForTask
  1077  // API call, and error handling.
  1078  //
  1079  // This method is useful when you want to inject custom logic or configuration
  1080  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1081  //
  1082  //
  1083  //    // Example sending a request using the PollForTaskRequest method.
  1084  //    req, resp := client.PollForTaskRequest(params)
  1085  //
  1086  //    err := req.Send()
  1087  //    if err == nil { // resp is now filled
  1088  //        fmt.Println(resp)
  1089  //    }
  1090  //
  1091  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PollForTask
  1092  func (c *DataPipeline) PollForTaskRequest(input *PollForTaskInput) (req *request.Request, output *PollForTaskOutput) {
  1093  	op := &request.Operation{
  1094  		Name:       opPollForTask,
  1095  		HTTPMethod: "POST",
  1096  		HTTPPath:   "/",
  1097  	}
  1098  
  1099  	if input == nil {
  1100  		input = &PollForTaskInput{}
  1101  	}
  1102  
  1103  	output = &PollForTaskOutput{}
  1104  	req = c.newRequest(op, input, output)
  1105  	return
  1106  }
  1107  
  1108  // PollForTask API operation for AWS Data Pipeline.
  1109  //
  1110  // Task runners call PollForTask to receive a task to perform from AWS Data
  1111  // Pipeline. The task runner specifies which tasks it can perform by setting
  1112  // a value for the workerGroup parameter. The task returned can come from any
  1113  // of the pipelines that match the workerGroup value passed in by the task runner
  1114  // and that was launched using the IAM user credentials specified by the task
  1115  // runner.
  1116  //
  1117  // If tasks are ready in the work queue, PollForTask returns a response immediately.
  1118  // If no tasks are available in the queue, PollForTask uses long-polling and
  1119  // holds on to a poll connection for up to a 90 seconds, during which time the
  1120  // first newly scheduled task is handed to the task runner. To accomodate this,
  1121  // set the socket timeout in your task runner to 90 seconds. The task runner
  1122  // should not call PollForTask again on the same workerGroup until it receives
  1123  // a response, and this can take up to 90 seconds.
  1124  //
  1125  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1126  // with awserr.Error's Code and Message methods to get detailed information about
  1127  // the error.
  1128  //
  1129  // See the AWS API reference guide for AWS Data Pipeline's
  1130  // API operation PollForTask for usage and error information.
  1131  //
  1132  // Returned Error Types:
  1133  //   * InternalServiceError
  1134  //   An internal service error occurred.
  1135  //
  1136  //   * InvalidRequestException
  1137  //   The request was not valid. Verify that your request was properly formatted,
  1138  //   that the signature was generated with the correct credentials, and that you
  1139  //   haven't exceeded any of the service limits for your account.
  1140  //
  1141  //   * TaskNotFoundException
  1142  //   The specified task was not found.
  1143  //
  1144  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PollForTask
  1145  func (c *DataPipeline) PollForTask(input *PollForTaskInput) (*PollForTaskOutput, error) {
  1146  	req, out := c.PollForTaskRequest(input)
  1147  	return out, req.Send()
  1148  }
  1149  
  1150  // PollForTaskWithContext is the same as PollForTask with the addition of
  1151  // the ability to pass a context and additional request options.
  1152  //
  1153  // See PollForTask for details on how to use this API operation.
  1154  //
  1155  // The context must be non-nil and will be used for request cancellation. If
  1156  // the context is nil a panic will occur. In the future the SDK may create
  1157  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1158  // for more information on using Contexts.
  1159  func (c *DataPipeline) PollForTaskWithContext(ctx aws.Context, input *PollForTaskInput, opts ...request.Option) (*PollForTaskOutput, error) {
  1160  	req, out := c.PollForTaskRequest(input)
  1161  	req.SetContext(ctx)
  1162  	req.ApplyOptions(opts...)
  1163  	return out, req.Send()
  1164  }
  1165  
  1166  const opPutPipelineDefinition = "PutPipelineDefinition"
  1167  
  1168  // PutPipelineDefinitionRequest generates a "aws/request.Request" representing the
  1169  // client's request for the PutPipelineDefinition operation. The "output" return
  1170  // value will be populated with the request's response once the request completes
  1171  // successfully.
  1172  //
  1173  // Use "Send" method on the returned Request to send the API call to the service.
  1174  // the "output" return value is not valid until after Send returns without error.
  1175  //
  1176  // See PutPipelineDefinition for more information on using the PutPipelineDefinition
  1177  // API call, and error handling.
  1178  //
  1179  // This method is useful when you want to inject custom logic or configuration
  1180  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1181  //
  1182  //
  1183  //    // Example sending a request using the PutPipelineDefinitionRequest method.
  1184  //    req, resp := client.PutPipelineDefinitionRequest(params)
  1185  //
  1186  //    err := req.Send()
  1187  //    if err == nil { // resp is now filled
  1188  //        fmt.Println(resp)
  1189  //    }
  1190  //
  1191  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PutPipelineDefinition
  1192  func (c *DataPipeline) PutPipelineDefinitionRequest(input *PutPipelineDefinitionInput) (req *request.Request, output *PutPipelineDefinitionOutput) {
  1193  	op := &request.Operation{
  1194  		Name:       opPutPipelineDefinition,
  1195  		HTTPMethod: "POST",
  1196  		HTTPPath:   "/",
  1197  	}
  1198  
  1199  	if input == nil {
  1200  		input = &PutPipelineDefinitionInput{}
  1201  	}
  1202  
  1203  	output = &PutPipelineDefinitionOutput{}
  1204  	req = c.newRequest(op, input, output)
  1205  	return
  1206  }
  1207  
  1208  // PutPipelineDefinition API operation for AWS Data Pipeline.
  1209  //
  1210  // Adds tasks, schedules, and preconditions to the specified pipeline. You can
  1211  // use PutPipelineDefinition to populate a new pipeline.
  1212  //
  1213  // PutPipelineDefinition also validates the configuration as it adds it to the
  1214  // pipeline. Changes to the pipeline are saved unless one of the following three
  1215  // validation errors exists in the pipeline.
  1216  //   An object is missing a name or identifier field. A string or reference
  1217  //   field is empty. The number of objects in the pipeline exceeds the maximum
  1218  //   allowed objects. The pipeline is in a FINISHED state.
  1219  // Pipeline object definitions are passed to the PutPipelineDefinition action
  1220  // and returned by the GetPipelineDefinition action.
  1221  //
  1222  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1223  // with awserr.Error's Code and Message methods to get detailed information about
  1224  // the error.
  1225  //
  1226  // See the AWS API reference guide for AWS Data Pipeline's
  1227  // API operation PutPipelineDefinition for usage and error information.
  1228  //
  1229  // Returned Error Types:
  1230  //   * InternalServiceError
  1231  //   An internal service error occurred.
  1232  //
  1233  //   * InvalidRequestException
  1234  //   The request was not valid. Verify that your request was properly formatted,
  1235  //   that the signature was generated with the correct credentials, and that you
  1236  //   haven't exceeded any of the service limits for your account.
  1237  //
  1238  //   * PipelineNotFoundException
  1239  //   The specified pipeline was not found. Verify that you used the correct user
  1240  //   and account identifiers.
  1241  //
  1242  //   * PipelineDeletedException
  1243  //   The specified pipeline has been deleted.
  1244  //
  1245  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/PutPipelineDefinition
  1246  func (c *DataPipeline) PutPipelineDefinition(input *PutPipelineDefinitionInput) (*PutPipelineDefinitionOutput, error) {
  1247  	req, out := c.PutPipelineDefinitionRequest(input)
  1248  	return out, req.Send()
  1249  }
  1250  
  1251  // PutPipelineDefinitionWithContext is the same as PutPipelineDefinition with the addition of
  1252  // the ability to pass a context and additional request options.
  1253  //
  1254  // See PutPipelineDefinition for details on how to use this API operation.
  1255  //
  1256  // The context must be non-nil and will be used for request cancellation. If
  1257  // the context is nil a panic will occur. In the future the SDK may create
  1258  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1259  // for more information on using Contexts.
  1260  func (c *DataPipeline) PutPipelineDefinitionWithContext(ctx aws.Context, input *PutPipelineDefinitionInput, opts ...request.Option) (*PutPipelineDefinitionOutput, error) {
  1261  	req, out := c.PutPipelineDefinitionRequest(input)
  1262  	req.SetContext(ctx)
  1263  	req.ApplyOptions(opts...)
  1264  	return out, req.Send()
  1265  }
  1266  
  1267  const opQueryObjects = "QueryObjects"
  1268  
  1269  // QueryObjectsRequest generates a "aws/request.Request" representing the
  1270  // client's request for the QueryObjects operation. The "output" return
  1271  // value will be populated with the request's response once the request completes
  1272  // successfully.
  1273  //
  1274  // Use "Send" method on the returned Request to send the API call to the service.
  1275  // the "output" return value is not valid until after Send returns without error.
  1276  //
  1277  // See QueryObjects for more information on using the QueryObjects
  1278  // API call, and error handling.
  1279  //
  1280  // This method is useful when you want to inject custom logic or configuration
  1281  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1282  //
  1283  //
  1284  //    // Example sending a request using the QueryObjectsRequest method.
  1285  //    req, resp := client.QueryObjectsRequest(params)
  1286  //
  1287  //    err := req.Send()
  1288  //    if err == nil { // resp is now filled
  1289  //        fmt.Println(resp)
  1290  //    }
  1291  //
  1292  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/QueryObjects
  1293  func (c *DataPipeline) QueryObjectsRequest(input *QueryObjectsInput) (req *request.Request, output *QueryObjectsOutput) {
  1294  	op := &request.Operation{
  1295  		Name:       opQueryObjects,
  1296  		HTTPMethod: "POST",
  1297  		HTTPPath:   "/",
  1298  		Paginator: &request.Paginator{
  1299  			InputTokens:     []string{"marker"},
  1300  			OutputTokens:    []string{"marker"},
  1301  			LimitToken:      "limit",
  1302  			TruncationToken: "hasMoreResults",
  1303  		},
  1304  	}
  1305  
  1306  	if input == nil {
  1307  		input = &QueryObjectsInput{}
  1308  	}
  1309  
  1310  	output = &QueryObjectsOutput{}
  1311  	req = c.newRequest(op, input, output)
  1312  	return
  1313  }
  1314  
  1315  // QueryObjects API operation for AWS Data Pipeline.
  1316  //
  1317  // Queries the specified pipeline for the names of objects that match the specified
  1318  // set of conditions.
  1319  //
  1320  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1321  // with awserr.Error's Code and Message methods to get detailed information about
  1322  // the error.
  1323  //
  1324  // See the AWS API reference guide for AWS Data Pipeline's
  1325  // API operation QueryObjects for usage and error information.
  1326  //
  1327  // Returned Error Types:
  1328  //   * PipelineNotFoundException
  1329  //   The specified pipeline was not found. Verify that you used the correct user
  1330  //   and account identifiers.
  1331  //
  1332  //   * PipelineDeletedException
  1333  //   The specified pipeline has been deleted.
  1334  //
  1335  //   * InternalServiceError
  1336  //   An internal service error occurred.
  1337  //
  1338  //   * InvalidRequestException
  1339  //   The request was not valid. Verify that your request was properly formatted,
  1340  //   that the signature was generated with the correct credentials, and that you
  1341  //   haven't exceeded any of the service limits for your account.
  1342  //
  1343  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/QueryObjects
  1344  func (c *DataPipeline) QueryObjects(input *QueryObjectsInput) (*QueryObjectsOutput, error) {
  1345  	req, out := c.QueryObjectsRequest(input)
  1346  	return out, req.Send()
  1347  }
  1348  
  1349  // QueryObjectsWithContext is the same as QueryObjects with the addition of
  1350  // the ability to pass a context and additional request options.
  1351  //
  1352  // See QueryObjects for details on how to use this API operation.
  1353  //
  1354  // The context must be non-nil and will be used for request cancellation. If
  1355  // the context is nil a panic will occur. In the future the SDK may create
  1356  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1357  // for more information on using Contexts.
  1358  func (c *DataPipeline) QueryObjectsWithContext(ctx aws.Context, input *QueryObjectsInput, opts ...request.Option) (*QueryObjectsOutput, error) {
  1359  	req, out := c.QueryObjectsRequest(input)
  1360  	req.SetContext(ctx)
  1361  	req.ApplyOptions(opts...)
  1362  	return out, req.Send()
  1363  }
  1364  
  1365  // QueryObjectsPages iterates over the pages of a QueryObjects operation,
  1366  // calling the "fn" function with the response data for each page. To stop
  1367  // iterating, return false from the fn function.
  1368  //
  1369  // See QueryObjects method for more information on how to use this operation.
  1370  //
  1371  // Note: This operation can generate multiple requests to a service.
  1372  //
  1373  //    // Example iterating over at most 3 pages of a QueryObjects operation.
  1374  //    pageNum := 0
  1375  //    err := client.QueryObjectsPages(params,
  1376  //        func(page *datapipeline.QueryObjectsOutput, lastPage bool) bool {
  1377  //            pageNum++
  1378  //            fmt.Println(page)
  1379  //            return pageNum <= 3
  1380  //        })
  1381  //
  1382  func (c *DataPipeline) QueryObjectsPages(input *QueryObjectsInput, fn func(*QueryObjectsOutput, bool) bool) error {
  1383  	return c.QueryObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  1384  }
  1385  
  1386  // QueryObjectsPagesWithContext same as QueryObjectsPages except
  1387  // it takes a Context and allows setting request options on the pages.
  1388  //
  1389  // The context must be non-nil and will be used for request cancellation. If
  1390  // the context is nil a panic will occur. In the future the SDK may create
  1391  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1392  // for more information on using Contexts.
  1393  func (c *DataPipeline) QueryObjectsPagesWithContext(ctx aws.Context, input *QueryObjectsInput, fn func(*QueryObjectsOutput, bool) bool, opts ...request.Option) error {
  1394  	p := request.Pagination{
  1395  		NewRequest: func() (*request.Request, error) {
  1396  			var inCpy *QueryObjectsInput
  1397  			if input != nil {
  1398  				tmp := *input
  1399  				inCpy = &tmp
  1400  			}
  1401  			req, _ := c.QueryObjectsRequest(inCpy)
  1402  			req.SetContext(ctx)
  1403  			req.ApplyOptions(opts...)
  1404  			return req, nil
  1405  		},
  1406  	}
  1407  
  1408  	for p.Next() {
  1409  		if !fn(p.Page().(*QueryObjectsOutput), !p.HasNextPage()) {
  1410  			break
  1411  		}
  1412  	}
  1413  
  1414  	return p.Err()
  1415  }
  1416  
  1417  const opRemoveTags = "RemoveTags"
  1418  
  1419  // RemoveTagsRequest generates a "aws/request.Request" representing the
  1420  // client's request for the RemoveTags operation. The "output" return
  1421  // value will be populated with the request's response once the request completes
  1422  // successfully.
  1423  //
  1424  // Use "Send" method on the returned Request to send the API call to the service.
  1425  // the "output" return value is not valid until after Send returns without error.
  1426  //
  1427  // See RemoveTags for more information on using the RemoveTags
  1428  // API call, and error handling.
  1429  //
  1430  // This method is useful when you want to inject custom logic or configuration
  1431  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1432  //
  1433  //
  1434  //    // Example sending a request using the RemoveTagsRequest method.
  1435  //    req, resp := client.RemoveTagsRequest(params)
  1436  //
  1437  //    err := req.Send()
  1438  //    if err == nil { // resp is now filled
  1439  //        fmt.Println(resp)
  1440  //    }
  1441  //
  1442  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/RemoveTags
  1443  func (c *DataPipeline) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
  1444  	op := &request.Operation{
  1445  		Name:       opRemoveTags,
  1446  		HTTPMethod: "POST",
  1447  		HTTPPath:   "/",
  1448  	}
  1449  
  1450  	if input == nil {
  1451  		input = &RemoveTagsInput{}
  1452  	}
  1453  
  1454  	output = &RemoveTagsOutput{}
  1455  	req = c.newRequest(op, input, output)
  1456  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1457  	return
  1458  }
  1459  
  1460  // RemoveTags API operation for AWS Data Pipeline.
  1461  //
  1462  // Removes existing tags from the specified pipeline.
  1463  //
  1464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1465  // with awserr.Error's Code and Message methods to get detailed information about
  1466  // the error.
  1467  //
  1468  // See the AWS API reference guide for AWS Data Pipeline's
  1469  // API operation RemoveTags for usage and error information.
  1470  //
  1471  // Returned Error Types:
  1472  //   * InternalServiceError
  1473  //   An internal service error occurred.
  1474  //
  1475  //   * InvalidRequestException
  1476  //   The request was not valid. Verify that your request was properly formatted,
  1477  //   that the signature was generated with the correct credentials, and that you
  1478  //   haven't exceeded any of the service limits for your account.
  1479  //
  1480  //   * PipelineNotFoundException
  1481  //   The specified pipeline was not found. Verify that you used the correct user
  1482  //   and account identifiers.
  1483  //
  1484  //   * PipelineDeletedException
  1485  //   The specified pipeline has been deleted.
  1486  //
  1487  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/RemoveTags
  1488  func (c *DataPipeline) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
  1489  	req, out := c.RemoveTagsRequest(input)
  1490  	return out, req.Send()
  1491  }
  1492  
  1493  // RemoveTagsWithContext is the same as RemoveTags with the addition of
  1494  // the ability to pass a context and additional request options.
  1495  //
  1496  // See RemoveTags for details on how to use this API operation.
  1497  //
  1498  // The context must be non-nil and will be used for request cancellation. If
  1499  // the context is nil a panic will occur. In the future the SDK may create
  1500  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1501  // for more information on using Contexts.
  1502  func (c *DataPipeline) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
  1503  	req, out := c.RemoveTagsRequest(input)
  1504  	req.SetContext(ctx)
  1505  	req.ApplyOptions(opts...)
  1506  	return out, req.Send()
  1507  }
  1508  
  1509  const opReportTaskProgress = "ReportTaskProgress"
  1510  
  1511  // ReportTaskProgressRequest generates a "aws/request.Request" representing the
  1512  // client's request for the ReportTaskProgress operation. The "output" return
  1513  // value will be populated with the request's response once the request completes
  1514  // successfully.
  1515  //
  1516  // Use "Send" method on the returned Request to send the API call to the service.
  1517  // the "output" return value is not valid until after Send returns without error.
  1518  //
  1519  // See ReportTaskProgress for more information on using the ReportTaskProgress
  1520  // API call, and error handling.
  1521  //
  1522  // This method is useful when you want to inject custom logic or configuration
  1523  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1524  //
  1525  //
  1526  //    // Example sending a request using the ReportTaskProgressRequest method.
  1527  //    req, resp := client.ReportTaskProgressRequest(params)
  1528  //
  1529  //    err := req.Send()
  1530  //    if err == nil { // resp is now filled
  1531  //        fmt.Println(resp)
  1532  //    }
  1533  //
  1534  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskProgress
  1535  func (c *DataPipeline) ReportTaskProgressRequest(input *ReportTaskProgressInput) (req *request.Request, output *ReportTaskProgressOutput) {
  1536  	op := &request.Operation{
  1537  		Name:       opReportTaskProgress,
  1538  		HTTPMethod: "POST",
  1539  		HTTPPath:   "/",
  1540  	}
  1541  
  1542  	if input == nil {
  1543  		input = &ReportTaskProgressInput{}
  1544  	}
  1545  
  1546  	output = &ReportTaskProgressOutput{}
  1547  	req = c.newRequest(op, input, output)
  1548  	return
  1549  }
  1550  
  1551  // ReportTaskProgress API operation for AWS Data Pipeline.
  1552  //
  1553  // Task runners call ReportTaskProgress when assigned a task to acknowledge
  1554  // that it has the task. If the web service does not receive this acknowledgement
  1555  // within 2 minutes, it assigns the task in a subsequent PollForTask call. After
  1556  // this initial acknowledgement, the task runner only needs to report progress
  1557  // every 15 minutes to maintain its ownership of the task. You can change this
  1558  // reporting time from 15 minutes by specifying a reportProgressTimeout field
  1559  // in your pipeline.
  1560  //
  1561  // If a task runner does not report its status after 5 minutes, AWS Data Pipeline
  1562  // assumes that the task runner is unable to process the task and reassigns
  1563  // the task in a subsequent response to PollForTask. Task runners should call
  1564  // ReportTaskProgress every 60 seconds.
  1565  //
  1566  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1567  // with awserr.Error's Code and Message methods to get detailed information about
  1568  // the error.
  1569  //
  1570  // See the AWS API reference guide for AWS Data Pipeline's
  1571  // API operation ReportTaskProgress for usage and error information.
  1572  //
  1573  // Returned Error Types:
  1574  //   * InternalServiceError
  1575  //   An internal service error occurred.
  1576  //
  1577  //   * InvalidRequestException
  1578  //   The request was not valid. Verify that your request was properly formatted,
  1579  //   that the signature was generated with the correct credentials, and that you
  1580  //   haven't exceeded any of the service limits for your account.
  1581  //
  1582  //   * TaskNotFoundException
  1583  //   The specified task was not found.
  1584  //
  1585  //   * PipelineNotFoundException
  1586  //   The specified pipeline was not found. Verify that you used the correct user
  1587  //   and account identifiers.
  1588  //
  1589  //   * PipelineDeletedException
  1590  //   The specified pipeline has been deleted.
  1591  //
  1592  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskProgress
  1593  func (c *DataPipeline) ReportTaskProgress(input *ReportTaskProgressInput) (*ReportTaskProgressOutput, error) {
  1594  	req, out := c.ReportTaskProgressRequest(input)
  1595  	return out, req.Send()
  1596  }
  1597  
  1598  // ReportTaskProgressWithContext is the same as ReportTaskProgress with the addition of
  1599  // the ability to pass a context and additional request options.
  1600  //
  1601  // See ReportTaskProgress for details on how to use this API operation.
  1602  //
  1603  // The context must be non-nil and will be used for request cancellation. If
  1604  // the context is nil a panic will occur. In the future the SDK may create
  1605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1606  // for more information on using Contexts.
  1607  func (c *DataPipeline) ReportTaskProgressWithContext(ctx aws.Context, input *ReportTaskProgressInput, opts ...request.Option) (*ReportTaskProgressOutput, error) {
  1608  	req, out := c.ReportTaskProgressRequest(input)
  1609  	req.SetContext(ctx)
  1610  	req.ApplyOptions(opts...)
  1611  	return out, req.Send()
  1612  }
  1613  
  1614  const opReportTaskRunnerHeartbeat = "ReportTaskRunnerHeartbeat"
  1615  
  1616  // ReportTaskRunnerHeartbeatRequest generates a "aws/request.Request" representing the
  1617  // client's request for the ReportTaskRunnerHeartbeat operation. The "output" return
  1618  // value will be populated with the request's response once the request completes
  1619  // successfully.
  1620  //
  1621  // Use "Send" method on the returned Request to send the API call to the service.
  1622  // the "output" return value is not valid until after Send returns without error.
  1623  //
  1624  // See ReportTaskRunnerHeartbeat for more information on using the ReportTaskRunnerHeartbeat
  1625  // API call, and error handling.
  1626  //
  1627  // This method is useful when you want to inject custom logic or configuration
  1628  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1629  //
  1630  //
  1631  //    // Example sending a request using the ReportTaskRunnerHeartbeatRequest method.
  1632  //    req, resp := client.ReportTaskRunnerHeartbeatRequest(params)
  1633  //
  1634  //    err := req.Send()
  1635  //    if err == nil { // resp is now filled
  1636  //        fmt.Println(resp)
  1637  //    }
  1638  //
  1639  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskRunnerHeartbeat
  1640  func (c *DataPipeline) ReportTaskRunnerHeartbeatRequest(input *ReportTaskRunnerHeartbeatInput) (req *request.Request, output *ReportTaskRunnerHeartbeatOutput) {
  1641  	op := &request.Operation{
  1642  		Name:       opReportTaskRunnerHeartbeat,
  1643  		HTTPMethod: "POST",
  1644  		HTTPPath:   "/",
  1645  	}
  1646  
  1647  	if input == nil {
  1648  		input = &ReportTaskRunnerHeartbeatInput{}
  1649  	}
  1650  
  1651  	output = &ReportTaskRunnerHeartbeatOutput{}
  1652  	req = c.newRequest(op, input, output)
  1653  	return
  1654  }
  1655  
  1656  // ReportTaskRunnerHeartbeat API operation for AWS Data Pipeline.
  1657  //
  1658  // Task runners call ReportTaskRunnerHeartbeat every 15 minutes to indicate
  1659  // that they are operational. If the AWS Data Pipeline Task Runner is launched
  1660  // on a resource managed by AWS Data Pipeline, the web service can use this
  1661  // call to detect when the task runner application has failed and restart a
  1662  // new instance.
  1663  //
  1664  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1665  // with awserr.Error's Code and Message methods to get detailed information about
  1666  // the error.
  1667  //
  1668  // See the AWS API reference guide for AWS Data Pipeline's
  1669  // API operation ReportTaskRunnerHeartbeat for usage and error information.
  1670  //
  1671  // Returned Error Types:
  1672  //   * InternalServiceError
  1673  //   An internal service error occurred.
  1674  //
  1675  //   * InvalidRequestException
  1676  //   The request was not valid. Verify that your request was properly formatted,
  1677  //   that the signature was generated with the correct credentials, and that you
  1678  //   haven't exceeded any of the service limits for your account.
  1679  //
  1680  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ReportTaskRunnerHeartbeat
  1681  func (c *DataPipeline) ReportTaskRunnerHeartbeat(input *ReportTaskRunnerHeartbeatInput) (*ReportTaskRunnerHeartbeatOutput, error) {
  1682  	req, out := c.ReportTaskRunnerHeartbeatRequest(input)
  1683  	return out, req.Send()
  1684  }
  1685  
  1686  // ReportTaskRunnerHeartbeatWithContext is the same as ReportTaskRunnerHeartbeat with the addition of
  1687  // the ability to pass a context and additional request options.
  1688  //
  1689  // See ReportTaskRunnerHeartbeat for details on how to use this API operation.
  1690  //
  1691  // The context must be non-nil and will be used for request cancellation. If
  1692  // the context is nil a panic will occur. In the future the SDK may create
  1693  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1694  // for more information on using Contexts.
  1695  func (c *DataPipeline) ReportTaskRunnerHeartbeatWithContext(ctx aws.Context, input *ReportTaskRunnerHeartbeatInput, opts ...request.Option) (*ReportTaskRunnerHeartbeatOutput, error) {
  1696  	req, out := c.ReportTaskRunnerHeartbeatRequest(input)
  1697  	req.SetContext(ctx)
  1698  	req.ApplyOptions(opts...)
  1699  	return out, req.Send()
  1700  }
  1701  
  1702  const opSetStatus = "SetStatus"
  1703  
  1704  // SetStatusRequest generates a "aws/request.Request" representing the
  1705  // client's request for the SetStatus operation. The "output" return
  1706  // value will be populated with the request's response once the request completes
  1707  // successfully.
  1708  //
  1709  // Use "Send" method on the returned Request to send the API call to the service.
  1710  // the "output" return value is not valid until after Send returns without error.
  1711  //
  1712  // See SetStatus for more information on using the SetStatus
  1713  // API call, and error handling.
  1714  //
  1715  // This method is useful when you want to inject custom logic or configuration
  1716  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1717  //
  1718  //
  1719  //    // Example sending a request using the SetStatusRequest method.
  1720  //    req, resp := client.SetStatusRequest(params)
  1721  //
  1722  //    err := req.Send()
  1723  //    if err == nil { // resp is now filled
  1724  //        fmt.Println(resp)
  1725  //    }
  1726  //
  1727  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetStatus
  1728  func (c *DataPipeline) SetStatusRequest(input *SetStatusInput) (req *request.Request, output *SetStatusOutput) {
  1729  	op := &request.Operation{
  1730  		Name:       opSetStatus,
  1731  		HTTPMethod: "POST",
  1732  		HTTPPath:   "/",
  1733  	}
  1734  
  1735  	if input == nil {
  1736  		input = &SetStatusInput{}
  1737  	}
  1738  
  1739  	output = &SetStatusOutput{}
  1740  	req = c.newRequest(op, input, output)
  1741  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1742  	return
  1743  }
  1744  
  1745  // SetStatus API operation for AWS Data Pipeline.
  1746  //
  1747  // Requests that the status of the specified physical or logical pipeline objects
  1748  // be updated in the specified pipeline. This update might not occur immediately,
  1749  // but is eventually consistent. The status that can be set depends on the type
  1750  // of object (for example, DataNode or Activity). You cannot perform this operation
  1751  // on FINISHED pipelines and attempting to do so returns InvalidRequestException.
  1752  //
  1753  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1754  // with awserr.Error's Code and Message methods to get detailed information about
  1755  // the error.
  1756  //
  1757  // See the AWS API reference guide for AWS Data Pipeline's
  1758  // API operation SetStatus for usage and error information.
  1759  //
  1760  // Returned Error Types:
  1761  //   * PipelineNotFoundException
  1762  //   The specified pipeline was not found. Verify that you used the correct user
  1763  //   and account identifiers.
  1764  //
  1765  //   * PipelineDeletedException
  1766  //   The specified pipeline has been deleted.
  1767  //
  1768  //   * InternalServiceError
  1769  //   An internal service error occurred.
  1770  //
  1771  //   * InvalidRequestException
  1772  //   The request was not valid. Verify that your request was properly formatted,
  1773  //   that the signature was generated with the correct credentials, and that you
  1774  //   haven't exceeded any of the service limits for your account.
  1775  //
  1776  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetStatus
  1777  func (c *DataPipeline) SetStatus(input *SetStatusInput) (*SetStatusOutput, error) {
  1778  	req, out := c.SetStatusRequest(input)
  1779  	return out, req.Send()
  1780  }
  1781  
  1782  // SetStatusWithContext is the same as SetStatus with the addition of
  1783  // the ability to pass a context and additional request options.
  1784  //
  1785  // See SetStatus 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 *DataPipeline) SetStatusWithContext(ctx aws.Context, input *SetStatusInput, opts ...request.Option) (*SetStatusOutput, error) {
  1792  	req, out := c.SetStatusRequest(input)
  1793  	req.SetContext(ctx)
  1794  	req.ApplyOptions(opts...)
  1795  	return out, req.Send()
  1796  }
  1797  
  1798  const opSetTaskStatus = "SetTaskStatus"
  1799  
  1800  // SetTaskStatusRequest generates a "aws/request.Request" representing the
  1801  // client's request for the SetTaskStatus operation. The "output" return
  1802  // value will be populated with the request's response once the request completes
  1803  // successfully.
  1804  //
  1805  // Use "Send" method on the returned Request to send the API call to the service.
  1806  // the "output" return value is not valid until after Send returns without error.
  1807  //
  1808  // See SetTaskStatus for more information on using the SetTaskStatus
  1809  // API call, and error handling.
  1810  //
  1811  // This method is useful when you want to inject custom logic or configuration
  1812  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1813  //
  1814  //
  1815  //    // Example sending a request using the SetTaskStatusRequest method.
  1816  //    req, resp := client.SetTaskStatusRequest(params)
  1817  //
  1818  //    err := req.Send()
  1819  //    if err == nil { // resp is now filled
  1820  //        fmt.Println(resp)
  1821  //    }
  1822  //
  1823  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetTaskStatus
  1824  func (c *DataPipeline) SetTaskStatusRequest(input *SetTaskStatusInput) (req *request.Request, output *SetTaskStatusOutput) {
  1825  	op := &request.Operation{
  1826  		Name:       opSetTaskStatus,
  1827  		HTTPMethod: "POST",
  1828  		HTTPPath:   "/",
  1829  	}
  1830  
  1831  	if input == nil {
  1832  		input = &SetTaskStatusInput{}
  1833  	}
  1834  
  1835  	output = &SetTaskStatusOutput{}
  1836  	req = c.newRequest(op, input, output)
  1837  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1838  	return
  1839  }
  1840  
  1841  // SetTaskStatus API operation for AWS Data Pipeline.
  1842  //
  1843  // Task runners call SetTaskStatus to notify AWS Data Pipeline that a task is
  1844  // completed and provide information about the final status. A task runner makes
  1845  // this call regardless of whether the task was sucessful. A task runner does
  1846  // not need to call SetTaskStatus for tasks that are canceled by the web service
  1847  // during a call to ReportTaskProgress.
  1848  //
  1849  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1850  // with awserr.Error's Code and Message methods to get detailed information about
  1851  // the error.
  1852  //
  1853  // See the AWS API reference guide for AWS Data Pipeline's
  1854  // API operation SetTaskStatus for usage and error information.
  1855  //
  1856  // Returned Error Types:
  1857  //   * InternalServiceError
  1858  //   An internal service error occurred.
  1859  //
  1860  //   * TaskNotFoundException
  1861  //   The specified task was not found.
  1862  //
  1863  //   * InvalidRequestException
  1864  //   The request was not valid. Verify that your request was properly formatted,
  1865  //   that the signature was generated with the correct credentials, and that you
  1866  //   haven't exceeded any of the service limits for your account.
  1867  //
  1868  //   * PipelineNotFoundException
  1869  //   The specified pipeline was not found. Verify that you used the correct user
  1870  //   and account identifiers.
  1871  //
  1872  //   * PipelineDeletedException
  1873  //   The specified pipeline has been deleted.
  1874  //
  1875  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/SetTaskStatus
  1876  func (c *DataPipeline) SetTaskStatus(input *SetTaskStatusInput) (*SetTaskStatusOutput, error) {
  1877  	req, out := c.SetTaskStatusRequest(input)
  1878  	return out, req.Send()
  1879  }
  1880  
  1881  // SetTaskStatusWithContext is the same as SetTaskStatus with the addition of
  1882  // the ability to pass a context and additional request options.
  1883  //
  1884  // See SetTaskStatus for details on how to use this API operation.
  1885  //
  1886  // The context must be non-nil and will be used for request cancellation. If
  1887  // the context is nil a panic will occur. In the future the SDK may create
  1888  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1889  // for more information on using Contexts.
  1890  func (c *DataPipeline) SetTaskStatusWithContext(ctx aws.Context, input *SetTaskStatusInput, opts ...request.Option) (*SetTaskStatusOutput, error) {
  1891  	req, out := c.SetTaskStatusRequest(input)
  1892  	req.SetContext(ctx)
  1893  	req.ApplyOptions(opts...)
  1894  	return out, req.Send()
  1895  }
  1896  
  1897  const opValidatePipelineDefinition = "ValidatePipelineDefinition"
  1898  
  1899  // ValidatePipelineDefinitionRequest generates a "aws/request.Request" representing the
  1900  // client's request for the ValidatePipelineDefinition operation. The "output" return
  1901  // value will be populated with the request's response once the request completes
  1902  // successfully.
  1903  //
  1904  // Use "Send" method on the returned Request to send the API call to the service.
  1905  // the "output" return value is not valid until after Send returns without error.
  1906  //
  1907  // See ValidatePipelineDefinition for more information on using the ValidatePipelineDefinition
  1908  // API call, and error handling.
  1909  //
  1910  // This method is useful when you want to inject custom logic or configuration
  1911  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1912  //
  1913  //
  1914  //    // Example sending a request using the ValidatePipelineDefinitionRequest method.
  1915  //    req, resp := client.ValidatePipelineDefinitionRequest(params)
  1916  //
  1917  //    err := req.Send()
  1918  //    if err == nil { // resp is now filled
  1919  //        fmt.Println(resp)
  1920  //    }
  1921  //
  1922  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ValidatePipelineDefinition
  1923  func (c *DataPipeline) ValidatePipelineDefinitionRequest(input *ValidatePipelineDefinitionInput) (req *request.Request, output *ValidatePipelineDefinitionOutput) {
  1924  	op := &request.Operation{
  1925  		Name:       opValidatePipelineDefinition,
  1926  		HTTPMethod: "POST",
  1927  		HTTPPath:   "/",
  1928  	}
  1929  
  1930  	if input == nil {
  1931  		input = &ValidatePipelineDefinitionInput{}
  1932  	}
  1933  
  1934  	output = &ValidatePipelineDefinitionOutput{}
  1935  	req = c.newRequest(op, input, output)
  1936  	return
  1937  }
  1938  
  1939  // ValidatePipelineDefinition API operation for AWS Data Pipeline.
  1940  //
  1941  // Validates the specified pipeline definition to ensure that it is well formed
  1942  // and can be run without error.
  1943  //
  1944  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1945  // with awserr.Error's Code and Message methods to get detailed information about
  1946  // the error.
  1947  //
  1948  // See the AWS API reference guide for AWS Data Pipeline's
  1949  // API operation ValidatePipelineDefinition for usage and error information.
  1950  //
  1951  // Returned Error Types:
  1952  //   * InternalServiceError
  1953  //   An internal service error occurred.
  1954  //
  1955  //   * InvalidRequestException
  1956  //   The request was not valid. Verify that your request was properly formatted,
  1957  //   that the signature was generated with the correct credentials, and that you
  1958  //   haven't exceeded any of the service limits for your account.
  1959  //
  1960  //   * PipelineNotFoundException
  1961  //   The specified pipeline was not found. Verify that you used the correct user
  1962  //   and account identifiers.
  1963  //
  1964  //   * PipelineDeletedException
  1965  //   The specified pipeline has been deleted.
  1966  //
  1967  // See also, https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ValidatePipelineDefinition
  1968  func (c *DataPipeline) ValidatePipelineDefinition(input *ValidatePipelineDefinitionInput) (*ValidatePipelineDefinitionOutput, error) {
  1969  	req, out := c.ValidatePipelineDefinitionRequest(input)
  1970  	return out, req.Send()
  1971  }
  1972  
  1973  // ValidatePipelineDefinitionWithContext is the same as ValidatePipelineDefinition with the addition of
  1974  // the ability to pass a context and additional request options.
  1975  //
  1976  // See ValidatePipelineDefinition for details on how to use this API operation.
  1977  //
  1978  // The context must be non-nil and will be used for request cancellation. If
  1979  // the context is nil a panic will occur. In the future the SDK may create
  1980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1981  // for more information on using Contexts.
  1982  func (c *DataPipeline) ValidatePipelineDefinitionWithContext(ctx aws.Context, input *ValidatePipelineDefinitionInput, opts ...request.Option) (*ValidatePipelineDefinitionOutput, error) {
  1983  	req, out := c.ValidatePipelineDefinitionRequest(input)
  1984  	req.SetContext(ctx)
  1985  	req.ApplyOptions(opts...)
  1986  	return out, req.Send()
  1987  }
  1988  
  1989  // Contains the parameters for ActivatePipeline.
  1990  type ActivatePipelineInput struct {
  1991  	_ struct{} `type:"structure"`
  1992  
  1993  	// A list of parameter values to pass to the pipeline at activation.
  1994  	ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"`
  1995  
  1996  	// The ID of the pipeline.
  1997  	//
  1998  	// PipelineId is a required field
  1999  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2000  
  2001  	// The date and time to resume the pipeline. By default, the pipeline resumes
  2002  	// from the last completed execution.
  2003  	StartTimestamp *time.Time `locationName:"startTimestamp" type:"timestamp"`
  2004  }
  2005  
  2006  // String returns the string representation.
  2007  //
  2008  // API parameter values that are decorated as "sensitive" in the API will not
  2009  // be included in the string output. The member name will be present, but the
  2010  // value will be replaced with "sensitive".
  2011  func (s ActivatePipelineInput) String() string {
  2012  	return awsutil.Prettify(s)
  2013  }
  2014  
  2015  // GoString returns the string representation.
  2016  //
  2017  // API parameter values that are decorated as "sensitive" in the API will not
  2018  // be included in the string output. The member name will be present, but the
  2019  // value will be replaced with "sensitive".
  2020  func (s ActivatePipelineInput) GoString() string {
  2021  	return s.String()
  2022  }
  2023  
  2024  // Validate inspects the fields of the type to determine if they are valid.
  2025  func (s *ActivatePipelineInput) Validate() error {
  2026  	invalidParams := request.ErrInvalidParams{Context: "ActivatePipelineInput"}
  2027  	if s.PipelineId == nil {
  2028  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2029  	}
  2030  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2031  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2032  	}
  2033  	if s.ParameterValues != nil {
  2034  		for i, v := range s.ParameterValues {
  2035  			if v == nil {
  2036  				continue
  2037  			}
  2038  			if err := v.Validate(); err != nil {
  2039  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterValues", i), err.(request.ErrInvalidParams))
  2040  			}
  2041  		}
  2042  	}
  2043  
  2044  	if invalidParams.Len() > 0 {
  2045  		return invalidParams
  2046  	}
  2047  	return nil
  2048  }
  2049  
  2050  // SetParameterValues sets the ParameterValues field's value.
  2051  func (s *ActivatePipelineInput) SetParameterValues(v []*ParameterValue) *ActivatePipelineInput {
  2052  	s.ParameterValues = v
  2053  	return s
  2054  }
  2055  
  2056  // SetPipelineId sets the PipelineId field's value.
  2057  func (s *ActivatePipelineInput) SetPipelineId(v string) *ActivatePipelineInput {
  2058  	s.PipelineId = &v
  2059  	return s
  2060  }
  2061  
  2062  // SetStartTimestamp sets the StartTimestamp field's value.
  2063  func (s *ActivatePipelineInput) SetStartTimestamp(v time.Time) *ActivatePipelineInput {
  2064  	s.StartTimestamp = &v
  2065  	return s
  2066  }
  2067  
  2068  // Contains the output of ActivatePipeline.
  2069  type ActivatePipelineOutput struct {
  2070  	_ struct{} `type:"structure"`
  2071  }
  2072  
  2073  // String returns the string representation.
  2074  //
  2075  // API parameter values that are decorated as "sensitive" in the API will not
  2076  // be included in the string output. The member name will be present, but the
  2077  // value will be replaced with "sensitive".
  2078  func (s ActivatePipelineOutput) String() string {
  2079  	return awsutil.Prettify(s)
  2080  }
  2081  
  2082  // GoString returns the string representation.
  2083  //
  2084  // API parameter values that are decorated as "sensitive" in the API will not
  2085  // be included in the string output. The member name will be present, but the
  2086  // value will be replaced with "sensitive".
  2087  func (s ActivatePipelineOutput) GoString() string {
  2088  	return s.String()
  2089  }
  2090  
  2091  // Contains the parameters for AddTags.
  2092  type AddTagsInput struct {
  2093  	_ struct{} `type:"structure"`
  2094  
  2095  	// The ID of the pipeline.
  2096  	//
  2097  	// PipelineId is a required field
  2098  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2099  
  2100  	// The tags to add, as key/value pairs.
  2101  	//
  2102  	// Tags is a required field
  2103  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
  2104  }
  2105  
  2106  // String returns the string representation.
  2107  //
  2108  // API parameter values that are decorated as "sensitive" in the API will not
  2109  // be included in the string output. The member name will be present, but the
  2110  // value will be replaced with "sensitive".
  2111  func (s AddTagsInput) String() string {
  2112  	return awsutil.Prettify(s)
  2113  }
  2114  
  2115  // GoString returns the string representation.
  2116  //
  2117  // API parameter values that are decorated as "sensitive" in the API will not
  2118  // be included in the string output. The member name will be present, but the
  2119  // value will be replaced with "sensitive".
  2120  func (s AddTagsInput) GoString() string {
  2121  	return s.String()
  2122  }
  2123  
  2124  // Validate inspects the fields of the type to determine if they are valid.
  2125  func (s *AddTagsInput) Validate() error {
  2126  	invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
  2127  	if s.PipelineId == nil {
  2128  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2129  	}
  2130  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2131  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2132  	}
  2133  	if s.Tags == nil {
  2134  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  2135  	}
  2136  	if s.Tags != nil {
  2137  		for i, v := range s.Tags {
  2138  			if v == nil {
  2139  				continue
  2140  			}
  2141  			if err := v.Validate(); err != nil {
  2142  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2143  			}
  2144  		}
  2145  	}
  2146  
  2147  	if invalidParams.Len() > 0 {
  2148  		return invalidParams
  2149  	}
  2150  	return nil
  2151  }
  2152  
  2153  // SetPipelineId sets the PipelineId field's value.
  2154  func (s *AddTagsInput) SetPipelineId(v string) *AddTagsInput {
  2155  	s.PipelineId = &v
  2156  	return s
  2157  }
  2158  
  2159  // SetTags sets the Tags field's value.
  2160  func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput {
  2161  	s.Tags = v
  2162  	return s
  2163  }
  2164  
  2165  // Contains the output of AddTags.
  2166  type AddTagsOutput struct {
  2167  	_ struct{} `type:"structure"`
  2168  }
  2169  
  2170  // String returns the string representation.
  2171  //
  2172  // API parameter values that are decorated as "sensitive" in the API will not
  2173  // be included in the string output. The member name will be present, but the
  2174  // value will be replaced with "sensitive".
  2175  func (s AddTagsOutput) String() string {
  2176  	return awsutil.Prettify(s)
  2177  }
  2178  
  2179  // GoString returns the string representation.
  2180  //
  2181  // API parameter values that are decorated as "sensitive" in the API will not
  2182  // be included in the string output. The member name will be present, but the
  2183  // value will be replaced with "sensitive".
  2184  func (s AddTagsOutput) GoString() string {
  2185  	return s.String()
  2186  }
  2187  
  2188  // Contains the parameters for CreatePipeline.
  2189  type CreatePipelineInput struct {
  2190  	_ struct{} `type:"structure"`
  2191  
  2192  	// The description for the pipeline.
  2193  	Description *string `locationName:"description" type:"string"`
  2194  
  2195  	// The name for the pipeline. You can use the same name for multiple pipelines
  2196  	// associated with your AWS account, because AWS Data Pipeline assigns each
  2197  	// pipeline a unique pipeline identifier.
  2198  	//
  2199  	// Name is a required field
  2200  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  2201  
  2202  	// A list of tags to associate with the pipeline at creation. Tags let you control
  2203  	// access to pipelines. For more information, see Controlling User Access to
  2204  	// Pipelines (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html)
  2205  	// in the AWS Data Pipeline Developer Guide.
  2206  	Tags []*Tag `locationName:"tags" type:"list"`
  2207  
  2208  	// A unique identifier. This identifier is not the same as the pipeline identifier
  2209  	// assigned by AWS Data Pipeline. You are responsible for defining the format
  2210  	// and ensuring the uniqueness of this identifier. You use this parameter to
  2211  	// ensure idempotency during repeated calls to CreatePipeline. For example,
  2212  	// if the first call to CreatePipeline does not succeed, you can pass in the
  2213  	// same unique identifier and pipeline name combination on a subsequent call
  2214  	// to CreatePipeline. CreatePipeline ensures that if a pipeline already exists
  2215  	// with the same name and unique identifier, a new pipeline is not created.
  2216  	// Instead, you'll receive the pipeline identifier from the previous attempt.
  2217  	// The uniqueness of the name and unique identifier combination is scoped to
  2218  	// the AWS account or IAM user credentials.
  2219  	//
  2220  	// UniqueId is a required field
  2221  	UniqueId *string `locationName:"uniqueId" min:"1" type:"string" required:"true"`
  2222  }
  2223  
  2224  // String returns the string representation.
  2225  //
  2226  // API parameter values that are decorated as "sensitive" in the API will not
  2227  // be included in the string output. The member name will be present, but the
  2228  // value will be replaced with "sensitive".
  2229  func (s CreatePipelineInput) String() string {
  2230  	return awsutil.Prettify(s)
  2231  }
  2232  
  2233  // GoString returns the string representation.
  2234  //
  2235  // API parameter values that are decorated as "sensitive" in the API will not
  2236  // be included in the string output. The member name will be present, but the
  2237  // value will be replaced with "sensitive".
  2238  func (s CreatePipelineInput) GoString() string {
  2239  	return s.String()
  2240  }
  2241  
  2242  // Validate inspects the fields of the type to determine if they are valid.
  2243  func (s *CreatePipelineInput) Validate() error {
  2244  	invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"}
  2245  	if s.Name == nil {
  2246  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2247  	}
  2248  	if s.Name != nil && len(*s.Name) < 1 {
  2249  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2250  	}
  2251  	if s.UniqueId == nil {
  2252  		invalidParams.Add(request.NewErrParamRequired("UniqueId"))
  2253  	}
  2254  	if s.UniqueId != nil && len(*s.UniqueId) < 1 {
  2255  		invalidParams.Add(request.NewErrParamMinLen("UniqueId", 1))
  2256  	}
  2257  	if s.Tags != nil {
  2258  		for i, v := range s.Tags {
  2259  			if v == nil {
  2260  				continue
  2261  			}
  2262  			if err := v.Validate(); err != nil {
  2263  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2264  			}
  2265  		}
  2266  	}
  2267  
  2268  	if invalidParams.Len() > 0 {
  2269  		return invalidParams
  2270  	}
  2271  	return nil
  2272  }
  2273  
  2274  // SetDescription sets the Description field's value.
  2275  func (s *CreatePipelineInput) SetDescription(v string) *CreatePipelineInput {
  2276  	s.Description = &v
  2277  	return s
  2278  }
  2279  
  2280  // SetName sets the Name field's value.
  2281  func (s *CreatePipelineInput) SetName(v string) *CreatePipelineInput {
  2282  	s.Name = &v
  2283  	return s
  2284  }
  2285  
  2286  // SetTags sets the Tags field's value.
  2287  func (s *CreatePipelineInput) SetTags(v []*Tag) *CreatePipelineInput {
  2288  	s.Tags = v
  2289  	return s
  2290  }
  2291  
  2292  // SetUniqueId sets the UniqueId field's value.
  2293  func (s *CreatePipelineInput) SetUniqueId(v string) *CreatePipelineInput {
  2294  	s.UniqueId = &v
  2295  	return s
  2296  }
  2297  
  2298  // Contains the output of CreatePipeline.
  2299  type CreatePipelineOutput struct {
  2300  	_ struct{} `type:"structure"`
  2301  
  2302  	// The ID that AWS Data Pipeline assigns the newly created pipeline. For example,
  2303  	// df-06372391ZG65EXAMPLE.
  2304  	//
  2305  	// PipelineId is a required field
  2306  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2307  }
  2308  
  2309  // String returns the string representation.
  2310  //
  2311  // API parameter values that are decorated as "sensitive" in the API will not
  2312  // be included in the string output. The member name will be present, but the
  2313  // value will be replaced with "sensitive".
  2314  func (s CreatePipelineOutput) String() string {
  2315  	return awsutil.Prettify(s)
  2316  }
  2317  
  2318  // GoString returns the string representation.
  2319  //
  2320  // API parameter values that are decorated as "sensitive" in the API will not
  2321  // be included in the string output. The member name will be present, but the
  2322  // value will be replaced with "sensitive".
  2323  func (s CreatePipelineOutput) GoString() string {
  2324  	return s.String()
  2325  }
  2326  
  2327  // SetPipelineId sets the PipelineId field's value.
  2328  func (s *CreatePipelineOutput) SetPipelineId(v string) *CreatePipelineOutput {
  2329  	s.PipelineId = &v
  2330  	return s
  2331  }
  2332  
  2333  // Contains the parameters for DeactivatePipeline.
  2334  type DeactivatePipelineInput struct {
  2335  	_ struct{} `type:"structure"`
  2336  
  2337  	// Indicates whether to cancel any running objects. The default is true, which
  2338  	// sets the state of any running objects to CANCELED. If this value is false,
  2339  	// the pipeline is deactivated after all running objects finish.
  2340  	CancelActive *bool `locationName:"cancelActive" type:"boolean"`
  2341  
  2342  	// The ID of the pipeline.
  2343  	//
  2344  	// PipelineId is a required field
  2345  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2346  }
  2347  
  2348  // String returns the string representation.
  2349  //
  2350  // API parameter values that are decorated as "sensitive" in the API will not
  2351  // be included in the string output. The member name will be present, but the
  2352  // value will be replaced with "sensitive".
  2353  func (s DeactivatePipelineInput) String() string {
  2354  	return awsutil.Prettify(s)
  2355  }
  2356  
  2357  // GoString returns the string representation.
  2358  //
  2359  // API parameter values that are decorated as "sensitive" in the API will not
  2360  // be included in the string output. The member name will be present, but the
  2361  // value will be replaced with "sensitive".
  2362  func (s DeactivatePipelineInput) GoString() string {
  2363  	return s.String()
  2364  }
  2365  
  2366  // Validate inspects the fields of the type to determine if they are valid.
  2367  func (s *DeactivatePipelineInput) Validate() error {
  2368  	invalidParams := request.ErrInvalidParams{Context: "DeactivatePipelineInput"}
  2369  	if s.PipelineId == nil {
  2370  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2371  	}
  2372  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2373  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2374  	}
  2375  
  2376  	if invalidParams.Len() > 0 {
  2377  		return invalidParams
  2378  	}
  2379  	return nil
  2380  }
  2381  
  2382  // SetCancelActive sets the CancelActive field's value.
  2383  func (s *DeactivatePipelineInput) SetCancelActive(v bool) *DeactivatePipelineInput {
  2384  	s.CancelActive = &v
  2385  	return s
  2386  }
  2387  
  2388  // SetPipelineId sets the PipelineId field's value.
  2389  func (s *DeactivatePipelineInput) SetPipelineId(v string) *DeactivatePipelineInput {
  2390  	s.PipelineId = &v
  2391  	return s
  2392  }
  2393  
  2394  // Contains the output of DeactivatePipeline.
  2395  type DeactivatePipelineOutput struct {
  2396  	_ struct{} `type:"structure"`
  2397  }
  2398  
  2399  // String returns the string representation.
  2400  //
  2401  // API parameter values that are decorated as "sensitive" in the API will not
  2402  // be included in the string output. The member name will be present, but the
  2403  // value will be replaced with "sensitive".
  2404  func (s DeactivatePipelineOutput) String() string {
  2405  	return awsutil.Prettify(s)
  2406  }
  2407  
  2408  // GoString returns the string representation.
  2409  //
  2410  // API parameter values that are decorated as "sensitive" in the API will not
  2411  // be included in the string output. The member name will be present, but the
  2412  // value will be replaced with "sensitive".
  2413  func (s DeactivatePipelineOutput) GoString() string {
  2414  	return s.String()
  2415  }
  2416  
  2417  // Contains the parameters for DeletePipeline.
  2418  type DeletePipelineInput struct {
  2419  	_ struct{} `type:"structure"`
  2420  
  2421  	// The ID of the pipeline.
  2422  	//
  2423  	// PipelineId is a required field
  2424  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2425  }
  2426  
  2427  // String returns the string representation.
  2428  //
  2429  // API parameter values that are decorated as "sensitive" in the API will not
  2430  // be included in the string output. The member name will be present, but the
  2431  // value will be replaced with "sensitive".
  2432  func (s DeletePipelineInput) String() string {
  2433  	return awsutil.Prettify(s)
  2434  }
  2435  
  2436  // GoString returns the string representation.
  2437  //
  2438  // API parameter values that are decorated as "sensitive" in the API will not
  2439  // be included in the string output. The member name will be present, but the
  2440  // value will be replaced with "sensitive".
  2441  func (s DeletePipelineInput) GoString() string {
  2442  	return s.String()
  2443  }
  2444  
  2445  // Validate inspects the fields of the type to determine if they are valid.
  2446  func (s *DeletePipelineInput) Validate() error {
  2447  	invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"}
  2448  	if s.PipelineId == nil {
  2449  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2450  	}
  2451  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2452  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2453  	}
  2454  
  2455  	if invalidParams.Len() > 0 {
  2456  		return invalidParams
  2457  	}
  2458  	return nil
  2459  }
  2460  
  2461  // SetPipelineId sets the PipelineId field's value.
  2462  func (s *DeletePipelineInput) SetPipelineId(v string) *DeletePipelineInput {
  2463  	s.PipelineId = &v
  2464  	return s
  2465  }
  2466  
  2467  type DeletePipelineOutput struct {
  2468  	_ struct{} `type:"structure"`
  2469  }
  2470  
  2471  // String returns the string representation.
  2472  //
  2473  // API parameter values that are decorated as "sensitive" in the API will not
  2474  // be included in the string output. The member name will be present, but the
  2475  // value will be replaced with "sensitive".
  2476  func (s DeletePipelineOutput) String() string {
  2477  	return awsutil.Prettify(s)
  2478  }
  2479  
  2480  // GoString returns the string representation.
  2481  //
  2482  // API parameter values that are decorated as "sensitive" in the API will not
  2483  // be included in the string output. The member name will be present, but the
  2484  // value will be replaced with "sensitive".
  2485  func (s DeletePipelineOutput) GoString() string {
  2486  	return s.String()
  2487  }
  2488  
  2489  // Contains the parameters for DescribeObjects.
  2490  type DescribeObjectsInput struct {
  2491  	_ struct{} `type:"structure"`
  2492  
  2493  	// Indicates whether any expressions in the object should be evaluated when
  2494  	// the object descriptions are returned.
  2495  	EvaluateExpressions *bool `locationName:"evaluateExpressions" type:"boolean"`
  2496  
  2497  	// The starting point for the results to be returned. For the first call, this
  2498  	// value should be empty. As long as there are more results, continue to call
  2499  	// DescribeObjects with the marker value from the previous call to retrieve
  2500  	// the next set of results.
  2501  	Marker *string `locationName:"marker" type:"string"`
  2502  
  2503  	// The IDs of the pipeline objects that contain the definitions to be described.
  2504  	// You can pass as many as 25 identifiers in a single call to DescribeObjects.
  2505  	//
  2506  	// ObjectIds is a required field
  2507  	ObjectIds []*string `locationName:"objectIds" type:"list" required:"true"`
  2508  
  2509  	// The ID of the pipeline that contains the object definitions.
  2510  	//
  2511  	// PipelineId is a required field
  2512  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2513  }
  2514  
  2515  // String returns the string representation.
  2516  //
  2517  // API parameter values that are decorated as "sensitive" in the API will not
  2518  // be included in the string output. The member name will be present, but the
  2519  // value will be replaced with "sensitive".
  2520  func (s DescribeObjectsInput) String() string {
  2521  	return awsutil.Prettify(s)
  2522  }
  2523  
  2524  // GoString returns the string representation.
  2525  //
  2526  // API parameter values that are decorated as "sensitive" in the API will not
  2527  // be included in the string output. The member name will be present, but the
  2528  // value will be replaced with "sensitive".
  2529  func (s DescribeObjectsInput) GoString() string {
  2530  	return s.String()
  2531  }
  2532  
  2533  // Validate inspects the fields of the type to determine if they are valid.
  2534  func (s *DescribeObjectsInput) Validate() error {
  2535  	invalidParams := request.ErrInvalidParams{Context: "DescribeObjectsInput"}
  2536  	if s.ObjectIds == nil {
  2537  		invalidParams.Add(request.NewErrParamRequired("ObjectIds"))
  2538  	}
  2539  	if s.PipelineId == nil {
  2540  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2541  	}
  2542  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2543  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2544  	}
  2545  
  2546  	if invalidParams.Len() > 0 {
  2547  		return invalidParams
  2548  	}
  2549  	return nil
  2550  }
  2551  
  2552  // SetEvaluateExpressions sets the EvaluateExpressions field's value.
  2553  func (s *DescribeObjectsInput) SetEvaluateExpressions(v bool) *DescribeObjectsInput {
  2554  	s.EvaluateExpressions = &v
  2555  	return s
  2556  }
  2557  
  2558  // SetMarker sets the Marker field's value.
  2559  func (s *DescribeObjectsInput) SetMarker(v string) *DescribeObjectsInput {
  2560  	s.Marker = &v
  2561  	return s
  2562  }
  2563  
  2564  // SetObjectIds sets the ObjectIds field's value.
  2565  func (s *DescribeObjectsInput) SetObjectIds(v []*string) *DescribeObjectsInput {
  2566  	s.ObjectIds = v
  2567  	return s
  2568  }
  2569  
  2570  // SetPipelineId sets the PipelineId field's value.
  2571  func (s *DescribeObjectsInput) SetPipelineId(v string) *DescribeObjectsInput {
  2572  	s.PipelineId = &v
  2573  	return s
  2574  }
  2575  
  2576  // Contains the output of DescribeObjects.
  2577  type DescribeObjectsOutput struct {
  2578  	_ struct{} `type:"structure"`
  2579  
  2580  	// Indicates whether there are more results to return.
  2581  	HasMoreResults *bool `locationName:"hasMoreResults" type:"boolean"`
  2582  
  2583  	// The starting point for the next page of results. To view the next page of
  2584  	// results, call DescribeObjects again with this marker value. If the value
  2585  	// is null, there are no more results.
  2586  	Marker *string `locationName:"marker" type:"string"`
  2587  
  2588  	// An array of object definitions.
  2589  	//
  2590  	// PipelineObjects is a required field
  2591  	PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list" required:"true"`
  2592  }
  2593  
  2594  // String returns the string representation.
  2595  //
  2596  // API parameter values that are decorated as "sensitive" in the API will not
  2597  // be included in the string output. The member name will be present, but the
  2598  // value will be replaced with "sensitive".
  2599  func (s DescribeObjectsOutput) String() string {
  2600  	return awsutil.Prettify(s)
  2601  }
  2602  
  2603  // GoString returns the string representation.
  2604  //
  2605  // API parameter values that are decorated as "sensitive" in the API will not
  2606  // be included in the string output. The member name will be present, but the
  2607  // value will be replaced with "sensitive".
  2608  func (s DescribeObjectsOutput) GoString() string {
  2609  	return s.String()
  2610  }
  2611  
  2612  // SetHasMoreResults sets the HasMoreResults field's value.
  2613  func (s *DescribeObjectsOutput) SetHasMoreResults(v bool) *DescribeObjectsOutput {
  2614  	s.HasMoreResults = &v
  2615  	return s
  2616  }
  2617  
  2618  // SetMarker sets the Marker field's value.
  2619  func (s *DescribeObjectsOutput) SetMarker(v string) *DescribeObjectsOutput {
  2620  	s.Marker = &v
  2621  	return s
  2622  }
  2623  
  2624  // SetPipelineObjects sets the PipelineObjects field's value.
  2625  func (s *DescribeObjectsOutput) SetPipelineObjects(v []*PipelineObject) *DescribeObjectsOutput {
  2626  	s.PipelineObjects = v
  2627  	return s
  2628  }
  2629  
  2630  // Contains the parameters for DescribePipelines.
  2631  type DescribePipelinesInput struct {
  2632  	_ struct{} `type:"structure"`
  2633  
  2634  	// The IDs of the pipelines to describe. You can pass as many as 25 identifiers
  2635  	// in a single call. To obtain pipeline IDs, call ListPipelines.
  2636  	//
  2637  	// PipelineIds is a required field
  2638  	PipelineIds []*string `locationName:"pipelineIds" type:"list" required:"true"`
  2639  }
  2640  
  2641  // String returns the string representation.
  2642  //
  2643  // API parameter values that are decorated as "sensitive" in the API will not
  2644  // be included in the string output. The member name will be present, but the
  2645  // value will be replaced with "sensitive".
  2646  func (s DescribePipelinesInput) String() string {
  2647  	return awsutil.Prettify(s)
  2648  }
  2649  
  2650  // GoString returns the string representation.
  2651  //
  2652  // API parameter values that are decorated as "sensitive" in the API will not
  2653  // be included in the string output. The member name will be present, but the
  2654  // value will be replaced with "sensitive".
  2655  func (s DescribePipelinesInput) GoString() string {
  2656  	return s.String()
  2657  }
  2658  
  2659  // Validate inspects the fields of the type to determine if they are valid.
  2660  func (s *DescribePipelinesInput) Validate() error {
  2661  	invalidParams := request.ErrInvalidParams{Context: "DescribePipelinesInput"}
  2662  	if s.PipelineIds == nil {
  2663  		invalidParams.Add(request.NewErrParamRequired("PipelineIds"))
  2664  	}
  2665  
  2666  	if invalidParams.Len() > 0 {
  2667  		return invalidParams
  2668  	}
  2669  	return nil
  2670  }
  2671  
  2672  // SetPipelineIds sets the PipelineIds field's value.
  2673  func (s *DescribePipelinesInput) SetPipelineIds(v []*string) *DescribePipelinesInput {
  2674  	s.PipelineIds = v
  2675  	return s
  2676  }
  2677  
  2678  // Contains the output of DescribePipelines.
  2679  type DescribePipelinesOutput struct {
  2680  	_ struct{} `type:"structure"`
  2681  
  2682  	// An array of descriptions for the specified pipelines.
  2683  	//
  2684  	// PipelineDescriptionList is a required field
  2685  	PipelineDescriptionList []*PipelineDescription `locationName:"pipelineDescriptionList" type:"list" required:"true"`
  2686  }
  2687  
  2688  // String returns the string representation.
  2689  //
  2690  // API parameter values that are decorated as "sensitive" in the API will not
  2691  // be included in the string output. The member name will be present, but the
  2692  // value will be replaced with "sensitive".
  2693  func (s DescribePipelinesOutput) String() string {
  2694  	return awsutil.Prettify(s)
  2695  }
  2696  
  2697  // GoString returns the string representation.
  2698  //
  2699  // API parameter values that are decorated as "sensitive" in the API will not
  2700  // be included in the string output. The member name will be present, but the
  2701  // value will be replaced with "sensitive".
  2702  func (s DescribePipelinesOutput) GoString() string {
  2703  	return s.String()
  2704  }
  2705  
  2706  // SetPipelineDescriptionList sets the PipelineDescriptionList field's value.
  2707  func (s *DescribePipelinesOutput) SetPipelineDescriptionList(v []*PipelineDescription) *DescribePipelinesOutput {
  2708  	s.PipelineDescriptionList = v
  2709  	return s
  2710  }
  2711  
  2712  // Contains the parameters for EvaluateExpression.
  2713  type EvaluateExpressionInput struct {
  2714  	_ struct{} `type:"structure"`
  2715  
  2716  	// The expression to evaluate.
  2717  	//
  2718  	// Expression is a required field
  2719  	Expression *string `locationName:"expression" type:"string" required:"true"`
  2720  
  2721  	// The ID of the object.
  2722  	//
  2723  	// ObjectId is a required field
  2724  	ObjectId *string `locationName:"objectId" min:"1" type:"string" required:"true"`
  2725  
  2726  	// The ID of the pipeline.
  2727  	//
  2728  	// PipelineId is a required field
  2729  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2730  }
  2731  
  2732  // String returns the string representation.
  2733  //
  2734  // API parameter values that are decorated as "sensitive" in the API will not
  2735  // be included in the string output. The member name will be present, but the
  2736  // value will be replaced with "sensitive".
  2737  func (s EvaluateExpressionInput) String() string {
  2738  	return awsutil.Prettify(s)
  2739  }
  2740  
  2741  // GoString returns the string representation.
  2742  //
  2743  // API parameter values that are decorated as "sensitive" in the API will not
  2744  // be included in the string output. The member name will be present, but the
  2745  // value will be replaced with "sensitive".
  2746  func (s EvaluateExpressionInput) GoString() string {
  2747  	return s.String()
  2748  }
  2749  
  2750  // Validate inspects the fields of the type to determine if they are valid.
  2751  func (s *EvaluateExpressionInput) Validate() error {
  2752  	invalidParams := request.ErrInvalidParams{Context: "EvaluateExpressionInput"}
  2753  	if s.Expression == nil {
  2754  		invalidParams.Add(request.NewErrParamRequired("Expression"))
  2755  	}
  2756  	if s.ObjectId == nil {
  2757  		invalidParams.Add(request.NewErrParamRequired("ObjectId"))
  2758  	}
  2759  	if s.ObjectId != nil && len(*s.ObjectId) < 1 {
  2760  		invalidParams.Add(request.NewErrParamMinLen("ObjectId", 1))
  2761  	}
  2762  	if s.PipelineId == nil {
  2763  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2764  	}
  2765  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2766  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2767  	}
  2768  
  2769  	if invalidParams.Len() > 0 {
  2770  		return invalidParams
  2771  	}
  2772  	return nil
  2773  }
  2774  
  2775  // SetExpression sets the Expression field's value.
  2776  func (s *EvaluateExpressionInput) SetExpression(v string) *EvaluateExpressionInput {
  2777  	s.Expression = &v
  2778  	return s
  2779  }
  2780  
  2781  // SetObjectId sets the ObjectId field's value.
  2782  func (s *EvaluateExpressionInput) SetObjectId(v string) *EvaluateExpressionInput {
  2783  	s.ObjectId = &v
  2784  	return s
  2785  }
  2786  
  2787  // SetPipelineId sets the PipelineId field's value.
  2788  func (s *EvaluateExpressionInput) SetPipelineId(v string) *EvaluateExpressionInput {
  2789  	s.PipelineId = &v
  2790  	return s
  2791  }
  2792  
  2793  // Contains the output of EvaluateExpression.
  2794  type EvaluateExpressionOutput struct {
  2795  	_ struct{} `type:"structure"`
  2796  
  2797  	// The evaluated expression.
  2798  	//
  2799  	// EvaluatedExpression is a required field
  2800  	EvaluatedExpression *string `locationName:"evaluatedExpression" type:"string" required:"true"`
  2801  }
  2802  
  2803  // String returns the string representation.
  2804  //
  2805  // API parameter values that are decorated as "sensitive" in the API will not
  2806  // be included in the string output. The member name will be present, but the
  2807  // value will be replaced with "sensitive".
  2808  func (s EvaluateExpressionOutput) String() string {
  2809  	return awsutil.Prettify(s)
  2810  }
  2811  
  2812  // GoString returns the string representation.
  2813  //
  2814  // API parameter values that are decorated as "sensitive" in the API will not
  2815  // be included in the string output. The member name will be present, but the
  2816  // value will be replaced with "sensitive".
  2817  func (s EvaluateExpressionOutput) GoString() string {
  2818  	return s.String()
  2819  }
  2820  
  2821  // SetEvaluatedExpression sets the EvaluatedExpression field's value.
  2822  func (s *EvaluateExpressionOutput) SetEvaluatedExpression(v string) *EvaluateExpressionOutput {
  2823  	s.EvaluatedExpression = &v
  2824  	return s
  2825  }
  2826  
  2827  // A key-value pair that describes a property of a pipeline object. The value
  2828  // is specified as either a string value (StringValue) or a reference to another
  2829  // object (RefValue) but not as both.
  2830  type Field struct {
  2831  	_ struct{} `type:"structure"`
  2832  
  2833  	// The field identifier.
  2834  	//
  2835  	// Key is a required field
  2836  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  2837  
  2838  	// The field value, expressed as the identifier of another object.
  2839  	RefValue *string `locationName:"refValue" min:"1" type:"string"`
  2840  
  2841  	// The field value, expressed as a String.
  2842  	StringValue *string `locationName:"stringValue" type:"string"`
  2843  }
  2844  
  2845  // String returns the string representation.
  2846  //
  2847  // API parameter values that are decorated as "sensitive" in the API will not
  2848  // be included in the string output. The member name will be present, but the
  2849  // value will be replaced with "sensitive".
  2850  func (s Field) String() string {
  2851  	return awsutil.Prettify(s)
  2852  }
  2853  
  2854  // GoString returns the string representation.
  2855  //
  2856  // API parameter values that are decorated as "sensitive" in the API will not
  2857  // be included in the string output. The member name will be present, but the
  2858  // value will be replaced with "sensitive".
  2859  func (s Field) GoString() string {
  2860  	return s.String()
  2861  }
  2862  
  2863  // Validate inspects the fields of the type to determine if they are valid.
  2864  func (s *Field) Validate() error {
  2865  	invalidParams := request.ErrInvalidParams{Context: "Field"}
  2866  	if s.Key == nil {
  2867  		invalidParams.Add(request.NewErrParamRequired("Key"))
  2868  	}
  2869  	if s.Key != nil && len(*s.Key) < 1 {
  2870  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  2871  	}
  2872  	if s.RefValue != nil && len(*s.RefValue) < 1 {
  2873  		invalidParams.Add(request.NewErrParamMinLen("RefValue", 1))
  2874  	}
  2875  
  2876  	if invalidParams.Len() > 0 {
  2877  		return invalidParams
  2878  	}
  2879  	return nil
  2880  }
  2881  
  2882  // SetKey sets the Key field's value.
  2883  func (s *Field) SetKey(v string) *Field {
  2884  	s.Key = &v
  2885  	return s
  2886  }
  2887  
  2888  // SetRefValue sets the RefValue field's value.
  2889  func (s *Field) SetRefValue(v string) *Field {
  2890  	s.RefValue = &v
  2891  	return s
  2892  }
  2893  
  2894  // SetStringValue sets the StringValue field's value.
  2895  func (s *Field) SetStringValue(v string) *Field {
  2896  	s.StringValue = &v
  2897  	return s
  2898  }
  2899  
  2900  // Contains the parameters for GetPipelineDefinition.
  2901  type GetPipelineDefinitionInput struct {
  2902  	_ struct{} `type:"structure"`
  2903  
  2904  	// The ID of the pipeline.
  2905  	//
  2906  	// PipelineId is a required field
  2907  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  2908  
  2909  	// The version of the pipeline definition to retrieve. Set this parameter to
  2910  	// latest (default) to use the last definition saved to the pipeline or active
  2911  	// to use the last definition that was activated.
  2912  	Version *string `locationName:"version" type:"string"`
  2913  }
  2914  
  2915  // String returns the string representation.
  2916  //
  2917  // API parameter values that are decorated as "sensitive" in the API will not
  2918  // be included in the string output. The member name will be present, but the
  2919  // value will be replaced with "sensitive".
  2920  func (s GetPipelineDefinitionInput) String() string {
  2921  	return awsutil.Prettify(s)
  2922  }
  2923  
  2924  // GoString returns the string representation.
  2925  //
  2926  // API parameter values that are decorated as "sensitive" in the API will not
  2927  // be included in the string output. The member name will be present, but the
  2928  // value will be replaced with "sensitive".
  2929  func (s GetPipelineDefinitionInput) GoString() string {
  2930  	return s.String()
  2931  }
  2932  
  2933  // Validate inspects the fields of the type to determine if they are valid.
  2934  func (s *GetPipelineDefinitionInput) Validate() error {
  2935  	invalidParams := request.ErrInvalidParams{Context: "GetPipelineDefinitionInput"}
  2936  	if s.PipelineId == nil {
  2937  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  2938  	}
  2939  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  2940  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  2941  	}
  2942  
  2943  	if invalidParams.Len() > 0 {
  2944  		return invalidParams
  2945  	}
  2946  	return nil
  2947  }
  2948  
  2949  // SetPipelineId sets the PipelineId field's value.
  2950  func (s *GetPipelineDefinitionInput) SetPipelineId(v string) *GetPipelineDefinitionInput {
  2951  	s.PipelineId = &v
  2952  	return s
  2953  }
  2954  
  2955  // SetVersion sets the Version field's value.
  2956  func (s *GetPipelineDefinitionInput) SetVersion(v string) *GetPipelineDefinitionInput {
  2957  	s.Version = &v
  2958  	return s
  2959  }
  2960  
  2961  // Contains the output of GetPipelineDefinition.
  2962  type GetPipelineDefinitionOutput struct {
  2963  	_ struct{} `type:"structure"`
  2964  
  2965  	// The parameter objects used in the pipeline definition.
  2966  	ParameterObjects []*ParameterObject `locationName:"parameterObjects" type:"list"`
  2967  
  2968  	// The parameter values used in the pipeline definition.
  2969  	ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"`
  2970  
  2971  	// The objects defined in the pipeline.
  2972  	PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list"`
  2973  }
  2974  
  2975  // String returns the string representation.
  2976  //
  2977  // API parameter values that are decorated as "sensitive" in the API will not
  2978  // be included in the string output. The member name will be present, but the
  2979  // value will be replaced with "sensitive".
  2980  func (s GetPipelineDefinitionOutput) String() string {
  2981  	return awsutil.Prettify(s)
  2982  }
  2983  
  2984  // GoString returns the string representation.
  2985  //
  2986  // API parameter values that are decorated as "sensitive" in the API will not
  2987  // be included in the string output. The member name will be present, but the
  2988  // value will be replaced with "sensitive".
  2989  func (s GetPipelineDefinitionOutput) GoString() string {
  2990  	return s.String()
  2991  }
  2992  
  2993  // SetParameterObjects sets the ParameterObjects field's value.
  2994  func (s *GetPipelineDefinitionOutput) SetParameterObjects(v []*ParameterObject) *GetPipelineDefinitionOutput {
  2995  	s.ParameterObjects = v
  2996  	return s
  2997  }
  2998  
  2999  // SetParameterValues sets the ParameterValues field's value.
  3000  func (s *GetPipelineDefinitionOutput) SetParameterValues(v []*ParameterValue) *GetPipelineDefinitionOutput {
  3001  	s.ParameterValues = v
  3002  	return s
  3003  }
  3004  
  3005  // SetPipelineObjects sets the PipelineObjects field's value.
  3006  func (s *GetPipelineDefinitionOutput) SetPipelineObjects(v []*PipelineObject) *GetPipelineDefinitionOutput {
  3007  	s.PipelineObjects = v
  3008  	return s
  3009  }
  3010  
  3011  // Identity information for the EC2 instance that is hosting the task runner.
  3012  // You can get this value by calling a metadata URI from the EC2 instance. For
  3013  // more information, see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html)
  3014  // in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves
  3015  // that your task runner is running on an EC2 instance, and ensures the proper
  3016  // AWS Data Pipeline service charges are applied to your pipeline.
  3017  type InstanceIdentity struct {
  3018  	_ struct{} `type:"structure"`
  3019  
  3020  	// A description of an EC2 instance that is generated when the instance is launched
  3021  	// and exposed to the instance via the instance metadata service in the form
  3022  	// of a JSON representation of an object.
  3023  	Document *string `locationName:"document" type:"string"`
  3024  
  3025  	// A signature which can be used to verify the accuracy and authenticity of
  3026  	// the information provided in the instance identity document.
  3027  	Signature *string `locationName:"signature" type:"string"`
  3028  }
  3029  
  3030  // String returns the string representation.
  3031  //
  3032  // API parameter values that are decorated as "sensitive" in the API will not
  3033  // be included in the string output. The member name will be present, but the
  3034  // value will be replaced with "sensitive".
  3035  func (s InstanceIdentity) String() string {
  3036  	return awsutil.Prettify(s)
  3037  }
  3038  
  3039  // GoString returns the string representation.
  3040  //
  3041  // API parameter values that are decorated as "sensitive" in the API will not
  3042  // be included in the string output. The member name will be present, but the
  3043  // value will be replaced with "sensitive".
  3044  func (s InstanceIdentity) GoString() string {
  3045  	return s.String()
  3046  }
  3047  
  3048  // SetDocument sets the Document field's value.
  3049  func (s *InstanceIdentity) SetDocument(v string) *InstanceIdentity {
  3050  	s.Document = &v
  3051  	return s
  3052  }
  3053  
  3054  // SetSignature sets the Signature field's value.
  3055  func (s *InstanceIdentity) SetSignature(v string) *InstanceIdentity {
  3056  	s.Signature = &v
  3057  	return s
  3058  }
  3059  
  3060  // An internal service error occurred.
  3061  type InternalServiceError struct {
  3062  	_            struct{}                  `type:"structure"`
  3063  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3064  
  3065  	// Description of the error message.
  3066  	Message_ *string `locationName:"message" type:"string"`
  3067  }
  3068  
  3069  // String returns the string representation.
  3070  //
  3071  // API parameter values that are decorated as "sensitive" in the API will not
  3072  // be included in the string output. The member name will be present, but the
  3073  // value will be replaced with "sensitive".
  3074  func (s InternalServiceError) String() string {
  3075  	return awsutil.Prettify(s)
  3076  }
  3077  
  3078  // GoString returns the string representation.
  3079  //
  3080  // API parameter values that are decorated as "sensitive" in the API will not
  3081  // be included in the string output. The member name will be present, but the
  3082  // value will be replaced with "sensitive".
  3083  func (s InternalServiceError) GoString() string {
  3084  	return s.String()
  3085  }
  3086  
  3087  func newErrorInternalServiceError(v protocol.ResponseMetadata) error {
  3088  	return &InternalServiceError{
  3089  		RespMetadata: v,
  3090  	}
  3091  }
  3092  
  3093  // Code returns the exception type name.
  3094  func (s *InternalServiceError) Code() string {
  3095  	return "InternalServiceError"
  3096  }
  3097  
  3098  // Message returns the exception's message.
  3099  func (s *InternalServiceError) Message() string {
  3100  	if s.Message_ != nil {
  3101  		return *s.Message_
  3102  	}
  3103  	return ""
  3104  }
  3105  
  3106  // OrigErr always returns nil, satisfies awserr.Error interface.
  3107  func (s *InternalServiceError) OrigErr() error {
  3108  	return nil
  3109  }
  3110  
  3111  func (s *InternalServiceError) Error() string {
  3112  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3113  }
  3114  
  3115  // Status code returns the HTTP status code for the request's response error.
  3116  func (s *InternalServiceError) StatusCode() int {
  3117  	return s.RespMetadata.StatusCode
  3118  }
  3119  
  3120  // RequestID returns the service's response RequestID for request.
  3121  func (s *InternalServiceError) RequestID() string {
  3122  	return s.RespMetadata.RequestID
  3123  }
  3124  
  3125  // The request was not valid. Verify that your request was properly formatted,
  3126  // that the signature was generated with the correct credentials, and that you
  3127  // haven't exceeded any of the service limits for your account.
  3128  type InvalidRequestException struct {
  3129  	_            struct{}                  `type:"structure"`
  3130  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3131  
  3132  	// Description of the error message.
  3133  	Message_ *string `locationName:"message" type:"string"`
  3134  }
  3135  
  3136  // String returns the string representation.
  3137  //
  3138  // API parameter values that are decorated as "sensitive" in the API will not
  3139  // be included in the string output. The member name will be present, but the
  3140  // value will be replaced with "sensitive".
  3141  func (s InvalidRequestException) String() string {
  3142  	return awsutil.Prettify(s)
  3143  }
  3144  
  3145  // GoString returns the string representation.
  3146  //
  3147  // API parameter values that are decorated as "sensitive" in the API will not
  3148  // be included in the string output. The member name will be present, but the
  3149  // value will be replaced with "sensitive".
  3150  func (s InvalidRequestException) GoString() string {
  3151  	return s.String()
  3152  }
  3153  
  3154  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  3155  	return &InvalidRequestException{
  3156  		RespMetadata: v,
  3157  	}
  3158  }
  3159  
  3160  // Code returns the exception type name.
  3161  func (s *InvalidRequestException) Code() string {
  3162  	return "InvalidRequestException"
  3163  }
  3164  
  3165  // Message returns the exception's message.
  3166  func (s *InvalidRequestException) Message() string {
  3167  	if s.Message_ != nil {
  3168  		return *s.Message_
  3169  	}
  3170  	return ""
  3171  }
  3172  
  3173  // OrigErr always returns nil, satisfies awserr.Error interface.
  3174  func (s *InvalidRequestException) OrigErr() error {
  3175  	return nil
  3176  }
  3177  
  3178  func (s *InvalidRequestException) Error() string {
  3179  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3180  }
  3181  
  3182  // Status code returns the HTTP status code for the request's response error.
  3183  func (s *InvalidRequestException) StatusCode() int {
  3184  	return s.RespMetadata.StatusCode
  3185  }
  3186  
  3187  // RequestID returns the service's response RequestID for request.
  3188  func (s *InvalidRequestException) RequestID() string {
  3189  	return s.RespMetadata.RequestID
  3190  }
  3191  
  3192  // Contains the parameters for ListPipelines.
  3193  type ListPipelinesInput struct {
  3194  	_ struct{} `type:"structure"`
  3195  
  3196  	// The starting point for the results to be returned. For the first call, this
  3197  	// value should be empty. As long as there are more results, continue to call
  3198  	// ListPipelines with the marker value from the previous call to retrieve the
  3199  	// next set of results.
  3200  	Marker *string `locationName:"marker" type:"string"`
  3201  }
  3202  
  3203  // String returns the string representation.
  3204  //
  3205  // API parameter values that are decorated as "sensitive" in the API will not
  3206  // be included in the string output. The member name will be present, but the
  3207  // value will be replaced with "sensitive".
  3208  func (s ListPipelinesInput) String() string {
  3209  	return awsutil.Prettify(s)
  3210  }
  3211  
  3212  // GoString returns the string representation.
  3213  //
  3214  // API parameter values that are decorated as "sensitive" in the API will not
  3215  // be included in the string output. The member name will be present, but the
  3216  // value will be replaced with "sensitive".
  3217  func (s ListPipelinesInput) GoString() string {
  3218  	return s.String()
  3219  }
  3220  
  3221  // SetMarker sets the Marker field's value.
  3222  func (s *ListPipelinesInput) SetMarker(v string) *ListPipelinesInput {
  3223  	s.Marker = &v
  3224  	return s
  3225  }
  3226  
  3227  // Contains the output of ListPipelines.
  3228  type ListPipelinesOutput struct {
  3229  	_ struct{} `type:"structure"`
  3230  
  3231  	// Indicates whether there are more results that can be obtained by a subsequent
  3232  	// call.
  3233  	HasMoreResults *bool `locationName:"hasMoreResults" type:"boolean"`
  3234  
  3235  	// The starting point for the next page of results. To view the next page of
  3236  	// results, call ListPipelinesOutput again with this marker value. If the value
  3237  	// is null, there are no more results.
  3238  	Marker *string `locationName:"marker" type:"string"`
  3239  
  3240  	// The pipeline identifiers. If you require additional information about the
  3241  	// pipelines, you can use these identifiers to call DescribePipelines and GetPipelineDefinition.
  3242  	//
  3243  	// PipelineIdList is a required field
  3244  	PipelineIdList []*PipelineIdName `locationName:"pipelineIdList" type:"list" required:"true"`
  3245  }
  3246  
  3247  // String returns the string representation.
  3248  //
  3249  // API parameter values that are decorated as "sensitive" in the API will not
  3250  // be included in the string output. The member name will be present, but the
  3251  // value will be replaced with "sensitive".
  3252  func (s ListPipelinesOutput) String() string {
  3253  	return awsutil.Prettify(s)
  3254  }
  3255  
  3256  // GoString returns the string representation.
  3257  //
  3258  // API parameter values that are decorated as "sensitive" in the API will not
  3259  // be included in the string output. The member name will be present, but the
  3260  // value will be replaced with "sensitive".
  3261  func (s ListPipelinesOutput) GoString() string {
  3262  	return s.String()
  3263  }
  3264  
  3265  // SetHasMoreResults sets the HasMoreResults field's value.
  3266  func (s *ListPipelinesOutput) SetHasMoreResults(v bool) *ListPipelinesOutput {
  3267  	s.HasMoreResults = &v
  3268  	return s
  3269  }
  3270  
  3271  // SetMarker sets the Marker field's value.
  3272  func (s *ListPipelinesOutput) SetMarker(v string) *ListPipelinesOutput {
  3273  	s.Marker = &v
  3274  	return s
  3275  }
  3276  
  3277  // SetPipelineIdList sets the PipelineIdList field's value.
  3278  func (s *ListPipelinesOutput) SetPipelineIdList(v []*PipelineIdName) *ListPipelinesOutput {
  3279  	s.PipelineIdList = v
  3280  	return s
  3281  }
  3282  
  3283  // Contains a logical operation for comparing the value of a field with a specified
  3284  // value.
  3285  type Operator struct {
  3286  	_ struct{} `type:"structure"`
  3287  
  3288  	// The logical operation to be performed: equal (EQ), equal reference (REF_EQ),
  3289  	// less than or equal (LE), greater than or equal (GE), or between (BETWEEN).
  3290  	// Equal reference (REF_EQ) can be used only with reference fields. The other
  3291  	// comparison types can be used only with String fields. The comparison types
  3292  	// you can use apply only to certain object fields, as detailed below.
  3293  	//
  3294  	// The comparison operators EQ and REF_EQ act on the following fields:
  3295  	//
  3296  	//    * name
  3297  	//
  3298  	//    * @sphere
  3299  	//
  3300  	//    * parent
  3301  	//
  3302  	//    * @componentParent
  3303  	//
  3304  	//    * @instanceParent
  3305  	//
  3306  	//    * @status
  3307  	//
  3308  	//    * @scheduledStartTime
  3309  	//
  3310  	//    * @scheduledEndTime
  3311  	//
  3312  	//    * @actualStartTime
  3313  	//
  3314  	//    * @actualEndTime
  3315  	//
  3316  	// The comparison operators GE, LE, and BETWEEN act on the following fields:
  3317  	//
  3318  	//    * @scheduledStartTime
  3319  	//
  3320  	//    * @scheduledEndTime
  3321  	//
  3322  	//    * @actualStartTime
  3323  	//
  3324  	//    * @actualEndTime
  3325  	//
  3326  	// Note that fields beginning with the at sign (@) are read-only and set by
  3327  	// the web service. When you name fields, you should choose names containing
  3328  	// only alpha-numeric values, as symbols may be reserved by AWS Data Pipeline.
  3329  	// User-defined fields that you add to a pipeline should prefix their name with
  3330  	// the string "my".
  3331  	Type *string `locationName:"type" type:"string" enum:"OperatorType"`
  3332  
  3333  	// The value that the actual field value will be compared with.
  3334  	Values []*string `locationName:"values" type:"list"`
  3335  }
  3336  
  3337  // String returns the string representation.
  3338  //
  3339  // API parameter values that are decorated as "sensitive" in the API will not
  3340  // be included in the string output. The member name will be present, but the
  3341  // value will be replaced with "sensitive".
  3342  func (s Operator) String() string {
  3343  	return awsutil.Prettify(s)
  3344  }
  3345  
  3346  // GoString returns the string representation.
  3347  //
  3348  // API parameter values that are decorated as "sensitive" in the API will not
  3349  // be included in the string output. The member name will be present, but the
  3350  // value will be replaced with "sensitive".
  3351  func (s Operator) GoString() string {
  3352  	return s.String()
  3353  }
  3354  
  3355  // SetType sets the Type field's value.
  3356  func (s *Operator) SetType(v string) *Operator {
  3357  	s.Type = &v
  3358  	return s
  3359  }
  3360  
  3361  // SetValues sets the Values field's value.
  3362  func (s *Operator) SetValues(v []*string) *Operator {
  3363  	s.Values = v
  3364  	return s
  3365  }
  3366  
  3367  // The attributes allowed or specified with a parameter object.
  3368  type ParameterAttribute struct {
  3369  	_ struct{} `type:"structure"`
  3370  
  3371  	// The field identifier.
  3372  	//
  3373  	// Key is a required field
  3374  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  3375  
  3376  	// The field value, expressed as a String.
  3377  	//
  3378  	// StringValue is a required field
  3379  	StringValue *string `locationName:"stringValue" type:"string" required:"true"`
  3380  }
  3381  
  3382  // String returns the string representation.
  3383  //
  3384  // API parameter values that are decorated as "sensitive" in the API will not
  3385  // be included in the string output. The member name will be present, but the
  3386  // value will be replaced with "sensitive".
  3387  func (s ParameterAttribute) String() string {
  3388  	return awsutil.Prettify(s)
  3389  }
  3390  
  3391  // GoString returns the string representation.
  3392  //
  3393  // API parameter values that are decorated as "sensitive" in the API will not
  3394  // be included in the string output. The member name will be present, but the
  3395  // value will be replaced with "sensitive".
  3396  func (s ParameterAttribute) GoString() string {
  3397  	return s.String()
  3398  }
  3399  
  3400  // Validate inspects the fields of the type to determine if they are valid.
  3401  func (s *ParameterAttribute) Validate() error {
  3402  	invalidParams := request.ErrInvalidParams{Context: "ParameterAttribute"}
  3403  	if s.Key == nil {
  3404  		invalidParams.Add(request.NewErrParamRequired("Key"))
  3405  	}
  3406  	if s.Key != nil && len(*s.Key) < 1 {
  3407  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  3408  	}
  3409  	if s.StringValue == nil {
  3410  		invalidParams.Add(request.NewErrParamRequired("StringValue"))
  3411  	}
  3412  
  3413  	if invalidParams.Len() > 0 {
  3414  		return invalidParams
  3415  	}
  3416  	return nil
  3417  }
  3418  
  3419  // SetKey sets the Key field's value.
  3420  func (s *ParameterAttribute) SetKey(v string) *ParameterAttribute {
  3421  	s.Key = &v
  3422  	return s
  3423  }
  3424  
  3425  // SetStringValue sets the StringValue field's value.
  3426  func (s *ParameterAttribute) SetStringValue(v string) *ParameterAttribute {
  3427  	s.StringValue = &v
  3428  	return s
  3429  }
  3430  
  3431  // Contains information about a parameter object.
  3432  type ParameterObject struct {
  3433  	_ struct{} `type:"structure"`
  3434  
  3435  	// The attributes of the parameter object.
  3436  	//
  3437  	// Attributes is a required field
  3438  	Attributes []*ParameterAttribute `locationName:"attributes" type:"list" required:"true"`
  3439  
  3440  	// The ID of the parameter object.
  3441  	//
  3442  	// Id is a required field
  3443  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
  3444  }
  3445  
  3446  // String returns the string representation.
  3447  //
  3448  // API parameter values that are decorated as "sensitive" in the API will not
  3449  // be included in the string output. The member name will be present, but the
  3450  // value will be replaced with "sensitive".
  3451  func (s ParameterObject) String() string {
  3452  	return awsutil.Prettify(s)
  3453  }
  3454  
  3455  // GoString returns the string representation.
  3456  //
  3457  // API parameter values that are decorated as "sensitive" in the API will not
  3458  // be included in the string output. The member name will be present, but the
  3459  // value will be replaced with "sensitive".
  3460  func (s ParameterObject) GoString() string {
  3461  	return s.String()
  3462  }
  3463  
  3464  // Validate inspects the fields of the type to determine if they are valid.
  3465  func (s *ParameterObject) Validate() error {
  3466  	invalidParams := request.ErrInvalidParams{Context: "ParameterObject"}
  3467  	if s.Attributes == nil {
  3468  		invalidParams.Add(request.NewErrParamRequired("Attributes"))
  3469  	}
  3470  	if s.Id == nil {
  3471  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3472  	}
  3473  	if s.Id != nil && len(*s.Id) < 1 {
  3474  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3475  	}
  3476  	if s.Attributes != nil {
  3477  		for i, v := range s.Attributes {
  3478  			if v == nil {
  3479  				continue
  3480  			}
  3481  			if err := v.Validate(); err != nil {
  3482  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
  3483  			}
  3484  		}
  3485  	}
  3486  
  3487  	if invalidParams.Len() > 0 {
  3488  		return invalidParams
  3489  	}
  3490  	return nil
  3491  }
  3492  
  3493  // SetAttributes sets the Attributes field's value.
  3494  func (s *ParameterObject) SetAttributes(v []*ParameterAttribute) *ParameterObject {
  3495  	s.Attributes = v
  3496  	return s
  3497  }
  3498  
  3499  // SetId sets the Id field's value.
  3500  func (s *ParameterObject) SetId(v string) *ParameterObject {
  3501  	s.Id = &v
  3502  	return s
  3503  }
  3504  
  3505  // A value or list of parameter values.
  3506  type ParameterValue struct {
  3507  	_ struct{} `type:"structure"`
  3508  
  3509  	// The ID of the parameter value.
  3510  	//
  3511  	// Id is a required field
  3512  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
  3513  
  3514  	// The field value, expressed as a String.
  3515  	//
  3516  	// StringValue is a required field
  3517  	StringValue *string `locationName:"stringValue" type:"string" required:"true"`
  3518  }
  3519  
  3520  // String returns the string representation.
  3521  //
  3522  // API parameter values that are decorated as "sensitive" in the API will not
  3523  // be included in the string output. The member name will be present, but the
  3524  // value will be replaced with "sensitive".
  3525  func (s ParameterValue) String() string {
  3526  	return awsutil.Prettify(s)
  3527  }
  3528  
  3529  // GoString returns the string representation.
  3530  //
  3531  // API parameter values that are decorated as "sensitive" in the API will not
  3532  // be included in the string output. The member name will be present, but the
  3533  // value will be replaced with "sensitive".
  3534  func (s ParameterValue) GoString() string {
  3535  	return s.String()
  3536  }
  3537  
  3538  // Validate inspects the fields of the type to determine if they are valid.
  3539  func (s *ParameterValue) Validate() error {
  3540  	invalidParams := request.ErrInvalidParams{Context: "ParameterValue"}
  3541  	if s.Id == nil {
  3542  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3543  	}
  3544  	if s.Id != nil && len(*s.Id) < 1 {
  3545  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3546  	}
  3547  	if s.StringValue == nil {
  3548  		invalidParams.Add(request.NewErrParamRequired("StringValue"))
  3549  	}
  3550  
  3551  	if invalidParams.Len() > 0 {
  3552  		return invalidParams
  3553  	}
  3554  	return nil
  3555  }
  3556  
  3557  // SetId sets the Id field's value.
  3558  func (s *ParameterValue) SetId(v string) *ParameterValue {
  3559  	s.Id = &v
  3560  	return s
  3561  }
  3562  
  3563  // SetStringValue sets the StringValue field's value.
  3564  func (s *ParameterValue) SetStringValue(v string) *ParameterValue {
  3565  	s.StringValue = &v
  3566  	return s
  3567  }
  3568  
  3569  // The specified pipeline has been deleted.
  3570  type PipelineDeletedException struct {
  3571  	_            struct{}                  `type:"structure"`
  3572  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3573  
  3574  	// Description of the error message.
  3575  	Message_ *string `locationName:"message" type:"string"`
  3576  }
  3577  
  3578  // String returns the string representation.
  3579  //
  3580  // API parameter values that are decorated as "sensitive" in the API will not
  3581  // be included in the string output. The member name will be present, but the
  3582  // value will be replaced with "sensitive".
  3583  func (s PipelineDeletedException) String() string {
  3584  	return awsutil.Prettify(s)
  3585  }
  3586  
  3587  // GoString returns the string representation.
  3588  //
  3589  // API parameter values that are decorated as "sensitive" in the API will not
  3590  // be included in the string output. The member name will be present, but the
  3591  // value will be replaced with "sensitive".
  3592  func (s PipelineDeletedException) GoString() string {
  3593  	return s.String()
  3594  }
  3595  
  3596  func newErrorPipelineDeletedException(v protocol.ResponseMetadata) error {
  3597  	return &PipelineDeletedException{
  3598  		RespMetadata: v,
  3599  	}
  3600  }
  3601  
  3602  // Code returns the exception type name.
  3603  func (s *PipelineDeletedException) Code() string {
  3604  	return "PipelineDeletedException"
  3605  }
  3606  
  3607  // Message returns the exception's message.
  3608  func (s *PipelineDeletedException) Message() string {
  3609  	if s.Message_ != nil {
  3610  		return *s.Message_
  3611  	}
  3612  	return ""
  3613  }
  3614  
  3615  // OrigErr always returns nil, satisfies awserr.Error interface.
  3616  func (s *PipelineDeletedException) OrigErr() error {
  3617  	return nil
  3618  }
  3619  
  3620  func (s *PipelineDeletedException) Error() string {
  3621  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3622  }
  3623  
  3624  // Status code returns the HTTP status code for the request's response error.
  3625  func (s *PipelineDeletedException) StatusCode() int {
  3626  	return s.RespMetadata.StatusCode
  3627  }
  3628  
  3629  // RequestID returns the service's response RequestID for request.
  3630  func (s *PipelineDeletedException) RequestID() string {
  3631  	return s.RespMetadata.RequestID
  3632  }
  3633  
  3634  // Contains pipeline metadata.
  3635  type PipelineDescription struct {
  3636  	_ struct{} `type:"structure"`
  3637  
  3638  	// Description of the pipeline.
  3639  	Description *string `locationName:"description" type:"string"`
  3640  
  3641  	// A list of read-only fields that contain metadata about the pipeline: @userId,
  3642  	// @accountId, and @pipelineState.
  3643  	//
  3644  	// Fields is a required field
  3645  	Fields []*Field `locationName:"fields" type:"list" required:"true"`
  3646  
  3647  	// The name of the pipeline.
  3648  	//
  3649  	// Name is a required field
  3650  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3651  
  3652  	// The pipeline identifier that was assigned by AWS Data Pipeline. This is a
  3653  	// string of the form df-297EG78HU43EEXAMPLE.
  3654  	//
  3655  	// PipelineId is a required field
  3656  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  3657  
  3658  	// A list of tags to associated with a pipeline. Tags let you control access
  3659  	// to pipelines. For more information, see Controlling User Access to Pipelines
  3660  	// (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html)
  3661  	// in the AWS Data Pipeline Developer Guide.
  3662  	Tags []*Tag `locationName:"tags" type:"list"`
  3663  }
  3664  
  3665  // String returns the string representation.
  3666  //
  3667  // API parameter values that are decorated as "sensitive" in the API will not
  3668  // be included in the string output. The member name will be present, but the
  3669  // value will be replaced with "sensitive".
  3670  func (s PipelineDescription) String() string {
  3671  	return awsutil.Prettify(s)
  3672  }
  3673  
  3674  // GoString returns the string representation.
  3675  //
  3676  // API parameter values that are decorated as "sensitive" in the API will not
  3677  // be included in the string output. The member name will be present, but the
  3678  // value will be replaced with "sensitive".
  3679  func (s PipelineDescription) GoString() string {
  3680  	return s.String()
  3681  }
  3682  
  3683  // SetDescription sets the Description field's value.
  3684  func (s *PipelineDescription) SetDescription(v string) *PipelineDescription {
  3685  	s.Description = &v
  3686  	return s
  3687  }
  3688  
  3689  // SetFields sets the Fields field's value.
  3690  func (s *PipelineDescription) SetFields(v []*Field) *PipelineDescription {
  3691  	s.Fields = v
  3692  	return s
  3693  }
  3694  
  3695  // SetName sets the Name field's value.
  3696  func (s *PipelineDescription) SetName(v string) *PipelineDescription {
  3697  	s.Name = &v
  3698  	return s
  3699  }
  3700  
  3701  // SetPipelineId sets the PipelineId field's value.
  3702  func (s *PipelineDescription) SetPipelineId(v string) *PipelineDescription {
  3703  	s.PipelineId = &v
  3704  	return s
  3705  }
  3706  
  3707  // SetTags sets the Tags field's value.
  3708  func (s *PipelineDescription) SetTags(v []*Tag) *PipelineDescription {
  3709  	s.Tags = v
  3710  	return s
  3711  }
  3712  
  3713  // Contains the name and identifier of a pipeline.
  3714  type PipelineIdName struct {
  3715  	_ struct{} `type:"structure"`
  3716  
  3717  	// The ID of the pipeline that was assigned by AWS Data Pipeline. This is a
  3718  	// string of the form df-297EG78HU43EEXAMPLE.
  3719  	Id *string `locationName:"id" min:"1" type:"string"`
  3720  
  3721  	// The name of the pipeline.
  3722  	Name *string `locationName:"name" min:"1" type:"string"`
  3723  }
  3724  
  3725  // String returns the string representation.
  3726  //
  3727  // API parameter values that are decorated as "sensitive" in the API will not
  3728  // be included in the string output. The member name will be present, but the
  3729  // value will be replaced with "sensitive".
  3730  func (s PipelineIdName) String() string {
  3731  	return awsutil.Prettify(s)
  3732  }
  3733  
  3734  // GoString returns the string representation.
  3735  //
  3736  // API parameter values that are decorated as "sensitive" in the API will not
  3737  // be included in the string output. The member name will be present, but the
  3738  // value will be replaced with "sensitive".
  3739  func (s PipelineIdName) GoString() string {
  3740  	return s.String()
  3741  }
  3742  
  3743  // SetId sets the Id field's value.
  3744  func (s *PipelineIdName) SetId(v string) *PipelineIdName {
  3745  	s.Id = &v
  3746  	return s
  3747  }
  3748  
  3749  // SetName sets the Name field's value.
  3750  func (s *PipelineIdName) SetName(v string) *PipelineIdName {
  3751  	s.Name = &v
  3752  	return s
  3753  }
  3754  
  3755  // The specified pipeline was not found. Verify that you used the correct user
  3756  // and account identifiers.
  3757  type PipelineNotFoundException struct {
  3758  	_            struct{}                  `type:"structure"`
  3759  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3760  
  3761  	// Description of the error message.
  3762  	Message_ *string `locationName:"message" type:"string"`
  3763  }
  3764  
  3765  // String returns the string representation.
  3766  //
  3767  // API parameter values that are decorated as "sensitive" in the API will not
  3768  // be included in the string output. The member name will be present, but the
  3769  // value will be replaced with "sensitive".
  3770  func (s PipelineNotFoundException) String() string {
  3771  	return awsutil.Prettify(s)
  3772  }
  3773  
  3774  // GoString returns the string representation.
  3775  //
  3776  // API parameter values that are decorated as "sensitive" in the API will not
  3777  // be included in the string output. The member name will be present, but the
  3778  // value will be replaced with "sensitive".
  3779  func (s PipelineNotFoundException) GoString() string {
  3780  	return s.String()
  3781  }
  3782  
  3783  func newErrorPipelineNotFoundException(v protocol.ResponseMetadata) error {
  3784  	return &PipelineNotFoundException{
  3785  		RespMetadata: v,
  3786  	}
  3787  }
  3788  
  3789  // Code returns the exception type name.
  3790  func (s *PipelineNotFoundException) Code() string {
  3791  	return "PipelineNotFoundException"
  3792  }
  3793  
  3794  // Message returns the exception's message.
  3795  func (s *PipelineNotFoundException) Message() string {
  3796  	if s.Message_ != nil {
  3797  		return *s.Message_
  3798  	}
  3799  	return ""
  3800  }
  3801  
  3802  // OrigErr always returns nil, satisfies awserr.Error interface.
  3803  func (s *PipelineNotFoundException) OrigErr() error {
  3804  	return nil
  3805  }
  3806  
  3807  func (s *PipelineNotFoundException) Error() string {
  3808  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3809  }
  3810  
  3811  // Status code returns the HTTP status code for the request's response error.
  3812  func (s *PipelineNotFoundException) StatusCode() int {
  3813  	return s.RespMetadata.StatusCode
  3814  }
  3815  
  3816  // RequestID returns the service's response RequestID for request.
  3817  func (s *PipelineNotFoundException) RequestID() string {
  3818  	return s.RespMetadata.RequestID
  3819  }
  3820  
  3821  // Contains information about a pipeline object. This can be a logical, physical,
  3822  // or physical attempt pipeline object. The complete set of components of a
  3823  // pipeline defines the pipeline.
  3824  type PipelineObject struct {
  3825  	_ struct{} `type:"structure"`
  3826  
  3827  	// Key-value pairs that define the properties of the object.
  3828  	//
  3829  	// Fields is a required field
  3830  	Fields []*Field `locationName:"fields" type:"list" required:"true"`
  3831  
  3832  	// The ID of the object.
  3833  	//
  3834  	// Id is a required field
  3835  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
  3836  
  3837  	// The name of the object.
  3838  	//
  3839  	// Name is a required field
  3840  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3841  }
  3842  
  3843  // String returns the string representation.
  3844  //
  3845  // API parameter values that are decorated as "sensitive" in the API will not
  3846  // be included in the string output. The member name will be present, but the
  3847  // value will be replaced with "sensitive".
  3848  func (s PipelineObject) String() string {
  3849  	return awsutil.Prettify(s)
  3850  }
  3851  
  3852  // GoString returns the string representation.
  3853  //
  3854  // API parameter values that are decorated as "sensitive" in the API will not
  3855  // be included in the string output. The member name will be present, but the
  3856  // value will be replaced with "sensitive".
  3857  func (s PipelineObject) GoString() string {
  3858  	return s.String()
  3859  }
  3860  
  3861  // Validate inspects the fields of the type to determine if they are valid.
  3862  func (s *PipelineObject) Validate() error {
  3863  	invalidParams := request.ErrInvalidParams{Context: "PipelineObject"}
  3864  	if s.Fields == nil {
  3865  		invalidParams.Add(request.NewErrParamRequired("Fields"))
  3866  	}
  3867  	if s.Id == nil {
  3868  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3869  	}
  3870  	if s.Id != nil && len(*s.Id) < 1 {
  3871  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3872  	}
  3873  	if s.Name == nil {
  3874  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3875  	}
  3876  	if s.Name != nil && len(*s.Name) < 1 {
  3877  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3878  	}
  3879  	if s.Fields != nil {
  3880  		for i, v := range s.Fields {
  3881  			if v == nil {
  3882  				continue
  3883  			}
  3884  			if err := v.Validate(); err != nil {
  3885  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams))
  3886  			}
  3887  		}
  3888  	}
  3889  
  3890  	if invalidParams.Len() > 0 {
  3891  		return invalidParams
  3892  	}
  3893  	return nil
  3894  }
  3895  
  3896  // SetFields sets the Fields field's value.
  3897  func (s *PipelineObject) SetFields(v []*Field) *PipelineObject {
  3898  	s.Fields = v
  3899  	return s
  3900  }
  3901  
  3902  // SetId sets the Id field's value.
  3903  func (s *PipelineObject) SetId(v string) *PipelineObject {
  3904  	s.Id = &v
  3905  	return s
  3906  }
  3907  
  3908  // SetName sets the Name field's value.
  3909  func (s *PipelineObject) SetName(v string) *PipelineObject {
  3910  	s.Name = &v
  3911  	return s
  3912  }
  3913  
  3914  // Contains the parameters for PollForTask.
  3915  type PollForTaskInput struct {
  3916  	_ struct{} `type:"structure"`
  3917  
  3918  	// The public DNS name of the calling task runner.
  3919  	Hostname *string `locationName:"hostname" min:"1" type:"string"`
  3920  
  3921  	// Identity information for the EC2 instance that is hosting the task runner.
  3922  	// You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id.
  3923  	// For more information, see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html)
  3924  	// in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves
  3925  	// that your task runner is running on an EC2 instance, and ensures the proper
  3926  	// AWS Data Pipeline service charges are applied to your pipeline.
  3927  	InstanceIdentity *InstanceIdentity `locationName:"instanceIdentity" type:"structure"`
  3928  
  3929  	// The type of task the task runner is configured to accept and process. The
  3930  	// worker group is set as a field on objects in the pipeline when they are created.
  3931  	// You can only specify a single value for workerGroup in the call to PollForTask.
  3932  	// There are no wildcard values permitted in workerGroup; the string must be
  3933  	// an exact, case-sensitive, match.
  3934  	//
  3935  	// WorkerGroup is a required field
  3936  	WorkerGroup *string `locationName:"workerGroup" type:"string" required:"true"`
  3937  }
  3938  
  3939  // String returns the string representation.
  3940  //
  3941  // API parameter values that are decorated as "sensitive" in the API will not
  3942  // be included in the string output. The member name will be present, but the
  3943  // value will be replaced with "sensitive".
  3944  func (s PollForTaskInput) String() string {
  3945  	return awsutil.Prettify(s)
  3946  }
  3947  
  3948  // GoString returns the string representation.
  3949  //
  3950  // API parameter values that are decorated as "sensitive" in the API will not
  3951  // be included in the string output. The member name will be present, but the
  3952  // value will be replaced with "sensitive".
  3953  func (s PollForTaskInput) GoString() string {
  3954  	return s.String()
  3955  }
  3956  
  3957  // Validate inspects the fields of the type to determine if they are valid.
  3958  func (s *PollForTaskInput) Validate() error {
  3959  	invalidParams := request.ErrInvalidParams{Context: "PollForTaskInput"}
  3960  	if s.Hostname != nil && len(*s.Hostname) < 1 {
  3961  		invalidParams.Add(request.NewErrParamMinLen("Hostname", 1))
  3962  	}
  3963  	if s.WorkerGroup == nil {
  3964  		invalidParams.Add(request.NewErrParamRequired("WorkerGroup"))
  3965  	}
  3966  
  3967  	if invalidParams.Len() > 0 {
  3968  		return invalidParams
  3969  	}
  3970  	return nil
  3971  }
  3972  
  3973  // SetHostname sets the Hostname field's value.
  3974  func (s *PollForTaskInput) SetHostname(v string) *PollForTaskInput {
  3975  	s.Hostname = &v
  3976  	return s
  3977  }
  3978  
  3979  // SetInstanceIdentity sets the InstanceIdentity field's value.
  3980  func (s *PollForTaskInput) SetInstanceIdentity(v *InstanceIdentity) *PollForTaskInput {
  3981  	s.InstanceIdentity = v
  3982  	return s
  3983  }
  3984  
  3985  // SetWorkerGroup sets the WorkerGroup field's value.
  3986  func (s *PollForTaskInput) SetWorkerGroup(v string) *PollForTaskInput {
  3987  	s.WorkerGroup = &v
  3988  	return s
  3989  }
  3990  
  3991  // Contains the output of PollForTask.
  3992  type PollForTaskOutput struct {
  3993  	_ struct{} `type:"structure"`
  3994  
  3995  	// The information needed to complete the task that is being assigned to the
  3996  	// task runner. One of the fields returned in this object is taskId, which contains
  3997  	// an identifier for the task being assigned. The calling task runner uses taskId
  3998  	// in subsequent calls to ReportTaskProgress and SetTaskStatus.
  3999  	TaskObject *TaskObject `locationName:"taskObject" type:"structure"`
  4000  }
  4001  
  4002  // String returns the string representation.
  4003  //
  4004  // API parameter values that are decorated as "sensitive" in the API will not
  4005  // be included in the string output. The member name will be present, but the
  4006  // value will be replaced with "sensitive".
  4007  func (s PollForTaskOutput) String() string {
  4008  	return awsutil.Prettify(s)
  4009  }
  4010  
  4011  // GoString returns the string representation.
  4012  //
  4013  // API parameter values that are decorated as "sensitive" in the API will not
  4014  // be included in the string output. The member name will be present, but the
  4015  // value will be replaced with "sensitive".
  4016  func (s PollForTaskOutput) GoString() string {
  4017  	return s.String()
  4018  }
  4019  
  4020  // SetTaskObject sets the TaskObject field's value.
  4021  func (s *PollForTaskOutput) SetTaskObject(v *TaskObject) *PollForTaskOutput {
  4022  	s.TaskObject = v
  4023  	return s
  4024  }
  4025  
  4026  // Contains the parameters for PutPipelineDefinition.
  4027  type PutPipelineDefinitionInput struct {
  4028  	_ struct{} `type:"structure"`
  4029  
  4030  	// The parameter objects used with the pipeline.
  4031  	ParameterObjects []*ParameterObject `locationName:"parameterObjects" type:"list"`
  4032  
  4033  	// The parameter values used with the pipeline.
  4034  	ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"`
  4035  
  4036  	// The ID of the pipeline.
  4037  	//
  4038  	// PipelineId is a required field
  4039  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  4040  
  4041  	// The objects that define the pipeline. These objects overwrite the existing
  4042  	// pipeline definition.
  4043  	//
  4044  	// PipelineObjects is a required field
  4045  	PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list" required:"true"`
  4046  }
  4047  
  4048  // String returns the string representation.
  4049  //
  4050  // API parameter values that are decorated as "sensitive" in the API will not
  4051  // be included in the string output. The member name will be present, but the
  4052  // value will be replaced with "sensitive".
  4053  func (s PutPipelineDefinitionInput) String() string {
  4054  	return awsutil.Prettify(s)
  4055  }
  4056  
  4057  // GoString returns the string representation.
  4058  //
  4059  // API parameter values that are decorated as "sensitive" in the API will not
  4060  // be included in the string output. The member name will be present, but the
  4061  // value will be replaced with "sensitive".
  4062  func (s PutPipelineDefinitionInput) GoString() string {
  4063  	return s.String()
  4064  }
  4065  
  4066  // Validate inspects the fields of the type to determine if they are valid.
  4067  func (s *PutPipelineDefinitionInput) Validate() error {
  4068  	invalidParams := request.ErrInvalidParams{Context: "PutPipelineDefinitionInput"}
  4069  	if s.PipelineId == nil {
  4070  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  4071  	}
  4072  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  4073  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  4074  	}
  4075  	if s.PipelineObjects == nil {
  4076  		invalidParams.Add(request.NewErrParamRequired("PipelineObjects"))
  4077  	}
  4078  	if s.ParameterObjects != nil {
  4079  		for i, v := range s.ParameterObjects {
  4080  			if v == nil {
  4081  				continue
  4082  			}
  4083  			if err := v.Validate(); err != nil {
  4084  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterObjects", i), err.(request.ErrInvalidParams))
  4085  			}
  4086  		}
  4087  	}
  4088  	if s.ParameterValues != nil {
  4089  		for i, v := range s.ParameterValues {
  4090  			if v == nil {
  4091  				continue
  4092  			}
  4093  			if err := v.Validate(); err != nil {
  4094  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterValues", i), err.(request.ErrInvalidParams))
  4095  			}
  4096  		}
  4097  	}
  4098  	if s.PipelineObjects != nil {
  4099  		for i, v := range s.PipelineObjects {
  4100  			if v == nil {
  4101  				continue
  4102  			}
  4103  			if err := v.Validate(); err != nil {
  4104  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineObjects", i), err.(request.ErrInvalidParams))
  4105  			}
  4106  		}
  4107  	}
  4108  
  4109  	if invalidParams.Len() > 0 {
  4110  		return invalidParams
  4111  	}
  4112  	return nil
  4113  }
  4114  
  4115  // SetParameterObjects sets the ParameterObjects field's value.
  4116  func (s *PutPipelineDefinitionInput) SetParameterObjects(v []*ParameterObject) *PutPipelineDefinitionInput {
  4117  	s.ParameterObjects = v
  4118  	return s
  4119  }
  4120  
  4121  // SetParameterValues sets the ParameterValues field's value.
  4122  func (s *PutPipelineDefinitionInput) SetParameterValues(v []*ParameterValue) *PutPipelineDefinitionInput {
  4123  	s.ParameterValues = v
  4124  	return s
  4125  }
  4126  
  4127  // SetPipelineId sets the PipelineId field's value.
  4128  func (s *PutPipelineDefinitionInput) SetPipelineId(v string) *PutPipelineDefinitionInput {
  4129  	s.PipelineId = &v
  4130  	return s
  4131  }
  4132  
  4133  // SetPipelineObjects sets the PipelineObjects field's value.
  4134  func (s *PutPipelineDefinitionInput) SetPipelineObjects(v []*PipelineObject) *PutPipelineDefinitionInput {
  4135  	s.PipelineObjects = v
  4136  	return s
  4137  }
  4138  
  4139  // Contains the output of PutPipelineDefinition.
  4140  type PutPipelineDefinitionOutput struct {
  4141  	_ struct{} `type:"structure"`
  4142  
  4143  	// Indicates whether there were validation errors, and the pipeline definition
  4144  	// is stored but cannot be activated until you correct the pipeline and call
  4145  	// PutPipelineDefinition to commit the corrected pipeline.
  4146  	//
  4147  	// Errored is a required field
  4148  	Errored *bool `locationName:"errored" type:"boolean" required:"true"`
  4149  
  4150  	// The validation errors that are associated with the objects defined in pipelineObjects.
  4151  	ValidationErrors []*ValidationError `locationName:"validationErrors" type:"list"`
  4152  
  4153  	// The validation warnings that are associated with the objects defined in pipelineObjects.
  4154  	ValidationWarnings []*ValidationWarning `locationName:"validationWarnings" type:"list"`
  4155  }
  4156  
  4157  // String returns the string representation.
  4158  //
  4159  // API parameter values that are decorated as "sensitive" in the API will not
  4160  // be included in the string output. The member name will be present, but the
  4161  // value will be replaced with "sensitive".
  4162  func (s PutPipelineDefinitionOutput) String() string {
  4163  	return awsutil.Prettify(s)
  4164  }
  4165  
  4166  // GoString returns the string representation.
  4167  //
  4168  // API parameter values that are decorated as "sensitive" in the API will not
  4169  // be included in the string output. The member name will be present, but the
  4170  // value will be replaced with "sensitive".
  4171  func (s PutPipelineDefinitionOutput) GoString() string {
  4172  	return s.String()
  4173  }
  4174  
  4175  // SetErrored sets the Errored field's value.
  4176  func (s *PutPipelineDefinitionOutput) SetErrored(v bool) *PutPipelineDefinitionOutput {
  4177  	s.Errored = &v
  4178  	return s
  4179  }
  4180  
  4181  // SetValidationErrors sets the ValidationErrors field's value.
  4182  func (s *PutPipelineDefinitionOutput) SetValidationErrors(v []*ValidationError) *PutPipelineDefinitionOutput {
  4183  	s.ValidationErrors = v
  4184  	return s
  4185  }
  4186  
  4187  // SetValidationWarnings sets the ValidationWarnings field's value.
  4188  func (s *PutPipelineDefinitionOutput) SetValidationWarnings(v []*ValidationWarning) *PutPipelineDefinitionOutput {
  4189  	s.ValidationWarnings = v
  4190  	return s
  4191  }
  4192  
  4193  // Defines the query to run against an object.
  4194  type Query struct {
  4195  	_ struct{} `type:"structure"`
  4196  
  4197  	// List of selectors that define the query. An object must satisfy all of the
  4198  	// selectors to match the query.
  4199  	Selectors []*Selector `locationName:"selectors" type:"list"`
  4200  }
  4201  
  4202  // String returns the string representation.
  4203  //
  4204  // API parameter values that are decorated as "sensitive" in the API will not
  4205  // be included in the string output. The member name will be present, but the
  4206  // value will be replaced with "sensitive".
  4207  func (s Query) String() string {
  4208  	return awsutil.Prettify(s)
  4209  }
  4210  
  4211  // GoString returns the string representation.
  4212  //
  4213  // API parameter values that are decorated as "sensitive" in the API will not
  4214  // be included in the string output. The member name will be present, but the
  4215  // value will be replaced with "sensitive".
  4216  func (s Query) GoString() string {
  4217  	return s.String()
  4218  }
  4219  
  4220  // SetSelectors sets the Selectors field's value.
  4221  func (s *Query) SetSelectors(v []*Selector) *Query {
  4222  	s.Selectors = v
  4223  	return s
  4224  }
  4225  
  4226  // Contains the parameters for QueryObjects.
  4227  type QueryObjectsInput struct {
  4228  	_ struct{} `type:"structure"`
  4229  
  4230  	// The maximum number of object names that QueryObjects will return in a single
  4231  	// call. The default value is 100.
  4232  	Limit *int64 `locationName:"limit" type:"integer"`
  4233  
  4234  	// The starting point for the results to be returned. For the first call, this
  4235  	// value should be empty. As long as there are more results, continue to call
  4236  	// QueryObjects with the marker value from the previous call to retrieve the
  4237  	// next set of results.
  4238  	Marker *string `locationName:"marker" type:"string"`
  4239  
  4240  	// The ID of the pipeline.
  4241  	//
  4242  	// PipelineId is a required field
  4243  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  4244  
  4245  	// The query that defines the objects to be returned. The Query object can contain
  4246  	// a maximum of ten selectors. The conditions in the query are limited to top-level
  4247  	// String fields in the object. These filters can be applied to components,
  4248  	// instances, and attempts.
  4249  	Query *Query `locationName:"query" type:"structure"`
  4250  
  4251  	// Indicates whether the query applies to components or instances. The possible
  4252  	// values are: COMPONENT, INSTANCE, and ATTEMPT.
  4253  	//
  4254  	// Sphere is a required field
  4255  	Sphere *string `locationName:"sphere" type:"string" required:"true"`
  4256  }
  4257  
  4258  // String returns the string representation.
  4259  //
  4260  // API parameter values that are decorated as "sensitive" in the API will not
  4261  // be included in the string output. The member name will be present, but the
  4262  // value will be replaced with "sensitive".
  4263  func (s QueryObjectsInput) String() string {
  4264  	return awsutil.Prettify(s)
  4265  }
  4266  
  4267  // GoString returns the string representation.
  4268  //
  4269  // API parameter values that are decorated as "sensitive" in the API will not
  4270  // be included in the string output. The member name will be present, but the
  4271  // value will be replaced with "sensitive".
  4272  func (s QueryObjectsInput) GoString() string {
  4273  	return s.String()
  4274  }
  4275  
  4276  // Validate inspects the fields of the type to determine if they are valid.
  4277  func (s *QueryObjectsInput) Validate() error {
  4278  	invalidParams := request.ErrInvalidParams{Context: "QueryObjectsInput"}
  4279  	if s.PipelineId == nil {
  4280  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  4281  	}
  4282  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  4283  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  4284  	}
  4285  	if s.Sphere == nil {
  4286  		invalidParams.Add(request.NewErrParamRequired("Sphere"))
  4287  	}
  4288  
  4289  	if invalidParams.Len() > 0 {
  4290  		return invalidParams
  4291  	}
  4292  	return nil
  4293  }
  4294  
  4295  // SetLimit sets the Limit field's value.
  4296  func (s *QueryObjectsInput) SetLimit(v int64) *QueryObjectsInput {
  4297  	s.Limit = &v
  4298  	return s
  4299  }
  4300  
  4301  // SetMarker sets the Marker field's value.
  4302  func (s *QueryObjectsInput) SetMarker(v string) *QueryObjectsInput {
  4303  	s.Marker = &v
  4304  	return s
  4305  }
  4306  
  4307  // SetPipelineId sets the PipelineId field's value.
  4308  func (s *QueryObjectsInput) SetPipelineId(v string) *QueryObjectsInput {
  4309  	s.PipelineId = &v
  4310  	return s
  4311  }
  4312  
  4313  // SetQuery sets the Query field's value.
  4314  func (s *QueryObjectsInput) SetQuery(v *Query) *QueryObjectsInput {
  4315  	s.Query = v
  4316  	return s
  4317  }
  4318  
  4319  // SetSphere sets the Sphere field's value.
  4320  func (s *QueryObjectsInput) SetSphere(v string) *QueryObjectsInput {
  4321  	s.Sphere = &v
  4322  	return s
  4323  }
  4324  
  4325  // Contains the output of QueryObjects.
  4326  type QueryObjectsOutput struct {
  4327  	_ struct{} `type:"structure"`
  4328  
  4329  	// Indicates whether there are more results that can be obtained by a subsequent
  4330  	// call.
  4331  	HasMoreResults *bool `locationName:"hasMoreResults" type:"boolean"`
  4332  
  4333  	// The identifiers that match the query selectors.
  4334  	Ids []*string `locationName:"ids" type:"list"`
  4335  
  4336  	// The starting point for the next page of results. To view the next page of
  4337  	// results, call QueryObjects again with this marker value. If the value is
  4338  	// null, there are no more results.
  4339  	Marker *string `locationName:"marker" type:"string"`
  4340  }
  4341  
  4342  // String returns the string representation.
  4343  //
  4344  // API parameter values that are decorated as "sensitive" in the API will not
  4345  // be included in the string output. The member name will be present, but the
  4346  // value will be replaced with "sensitive".
  4347  func (s QueryObjectsOutput) String() string {
  4348  	return awsutil.Prettify(s)
  4349  }
  4350  
  4351  // GoString returns the string representation.
  4352  //
  4353  // API parameter values that are decorated as "sensitive" in the API will not
  4354  // be included in the string output. The member name will be present, but the
  4355  // value will be replaced with "sensitive".
  4356  func (s QueryObjectsOutput) GoString() string {
  4357  	return s.String()
  4358  }
  4359  
  4360  // SetHasMoreResults sets the HasMoreResults field's value.
  4361  func (s *QueryObjectsOutput) SetHasMoreResults(v bool) *QueryObjectsOutput {
  4362  	s.HasMoreResults = &v
  4363  	return s
  4364  }
  4365  
  4366  // SetIds sets the Ids field's value.
  4367  func (s *QueryObjectsOutput) SetIds(v []*string) *QueryObjectsOutput {
  4368  	s.Ids = v
  4369  	return s
  4370  }
  4371  
  4372  // SetMarker sets the Marker field's value.
  4373  func (s *QueryObjectsOutput) SetMarker(v string) *QueryObjectsOutput {
  4374  	s.Marker = &v
  4375  	return s
  4376  }
  4377  
  4378  // Contains the parameters for RemoveTags.
  4379  type RemoveTagsInput struct {
  4380  	_ struct{} `type:"structure"`
  4381  
  4382  	// The ID of the pipeline.
  4383  	//
  4384  	// PipelineId is a required field
  4385  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  4386  
  4387  	// The keys of the tags to remove.
  4388  	//
  4389  	// TagKeys is a required field
  4390  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
  4391  }
  4392  
  4393  // String returns the string representation.
  4394  //
  4395  // API parameter values that are decorated as "sensitive" in the API will not
  4396  // be included in the string output. The member name will be present, but the
  4397  // value will be replaced with "sensitive".
  4398  func (s RemoveTagsInput) String() string {
  4399  	return awsutil.Prettify(s)
  4400  }
  4401  
  4402  // GoString returns the string representation.
  4403  //
  4404  // API parameter values that are decorated as "sensitive" in the API will not
  4405  // be included in the string output. The member name will be present, but the
  4406  // value will be replaced with "sensitive".
  4407  func (s RemoveTagsInput) GoString() string {
  4408  	return s.String()
  4409  }
  4410  
  4411  // Validate inspects the fields of the type to determine if they are valid.
  4412  func (s *RemoveTagsInput) Validate() error {
  4413  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
  4414  	if s.PipelineId == nil {
  4415  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  4416  	}
  4417  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  4418  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  4419  	}
  4420  	if s.TagKeys == nil {
  4421  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  4422  	}
  4423  
  4424  	if invalidParams.Len() > 0 {
  4425  		return invalidParams
  4426  	}
  4427  	return nil
  4428  }
  4429  
  4430  // SetPipelineId sets the PipelineId field's value.
  4431  func (s *RemoveTagsInput) SetPipelineId(v string) *RemoveTagsInput {
  4432  	s.PipelineId = &v
  4433  	return s
  4434  }
  4435  
  4436  // SetTagKeys sets the TagKeys field's value.
  4437  func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
  4438  	s.TagKeys = v
  4439  	return s
  4440  }
  4441  
  4442  // Contains the output of RemoveTags.
  4443  type RemoveTagsOutput struct {
  4444  	_ struct{} `type:"structure"`
  4445  }
  4446  
  4447  // String returns the string representation.
  4448  //
  4449  // API parameter values that are decorated as "sensitive" in the API will not
  4450  // be included in the string output. The member name will be present, but the
  4451  // value will be replaced with "sensitive".
  4452  func (s RemoveTagsOutput) String() string {
  4453  	return awsutil.Prettify(s)
  4454  }
  4455  
  4456  // GoString returns the string representation.
  4457  //
  4458  // API parameter values that are decorated as "sensitive" in the API will not
  4459  // be included in the string output. The member name will be present, but the
  4460  // value will be replaced with "sensitive".
  4461  func (s RemoveTagsOutput) GoString() string {
  4462  	return s.String()
  4463  }
  4464  
  4465  // Contains the parameters for ReportTaskProgress.
  4466  type ReportTaskProgressInput struct {
  4467  	_ struct{} `type:"structure"`
  4468  
  4469  	// Key-value pairs that define the properties of the ReportTaskProgressInput
  4470  	// object.
  4471  	Fields []*Field `locationName:"fields" type:"list"`
  4472  
  4473  	// The ID of the task assigned to the task runner. This value is provided in
  4474  	// the response for PollForTask.
  4475  	//
  4476  	// TaskId is a required field
  4477  	TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"`
  4478  }
  4479  
  4480  // String returns the string representation.
  4481  //
  4482  // API parameter values that are decorated as "sensitive" in the API will not
  4483  // be included in the string output. The member name will be present, but the
  4484  // value will be replaced with "sensitive".
  4485  func (s ReportTaskProgressInput) String() string {
  4486  	return awsutil.Prettify(s)
  4487  }
  4488  
  4489  // GoString returns the string representation.
  4490  //
  4491  // API parameter values that are decorated as "sensitive" in the API will not
  4492  // be included in the string output. The member name will be present, but the
  4493  // value will be replaced with "sensitive".
  4494  func (s ReportTaskProgressInput) GoString() string {
  4495  	return s.String()
  4496  }
  4497  
  4498  // Validate inspects the fields of the type to determine if they are valid.
  4499  func (s *ReportTaskProgressInput) Validate() error {
  4500  	invalidParams := request.ErrInvalidParams{Context: "ReportTaskProgressInput"}
  4501  	if s.TaskId == nil {
  4502  		invalidParams.Add(request.NewErrParamRequired("TaskId"))
  4503  	}
  4504  	if s.TaskId != nil && len(*s.TaskId) < 1 {
  4505  		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
  4506  	}
  4507  	if s.Fields != nil {
  4508  		for i, v := range s.Fields {
  4509  			if v == nil {
  4510  				continue
  4511  			}
  4512  			if err := v.Validate(); err != nil {
  4513  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Fields", i), err.(request.ErrInvalidParams))
  4514  			}
  4515  		}
  4516  	}
  4517  
  4518  	if invalidParams.Len() > 0 {
  4519  		return invalidParams
  4520  	}
  4521  	return nil
  4522  }
  4523  
  4524  // SetFields sets the Fields field's value.
  4525  func (s *ReportTaskProgressInput) SetFields(v []*Field) *ReportTaskProgressInput {
  4526  	s.Fields = v
  4527  	return s
  4528  }
  4529  
  4530  // SetTaskId sets the TaskId field's value.
  4531  func (s *ReportTaskProgressInput) SetTaskId(v string) *ReportTaskProgressInput {
  4532  	s.TaskId = &v
  4533  	return s
  4534  }
  4535  
  4536  // Contains the output of ReportTaskProgress.
  4537  type ReportTaskProgressOutput struct {
  4538  	_ struct{} `type:"structure"`
  4539  
  4540  	// If true, the calling task runner should cancel processing of the task. The
  4541  	// task runner does not need to call SetTaskStatus for canceled tasks.
  4542  	//
  4543  	// Canceled is a required field
  4544  	Canceled *bool `locationName:"canceled" type:"boolean" required:"true"`
  4545  }
  4546  
  4547  // String returns the string representation.
  4548  //
  4549  // API parameter values that are decorated as "sensitive" in the API will not
  4550  // be included in the string output. The member name will be present, but the
  4551  // value will be replaced with "sensitive".
  4552  func (s ReportTaskProgressOutput) String() string {
  4553  	return awsutil.Prettify(s)
  4554  }
  4555  
  4556  // GoString returns the string representation.
  4557  //
  4558  // API parameter values that are decorated as "sensitive" in the API will not
  4559  // be included in the string output. The member name will be present, but the
  4560  // value will be replaced with "sensitive".
  4561  func (s ReportTaskProgressOutput) GoString() string {
  4562  	return s.String()
  4563  }
  4564  
  4565  // SetCanceled sets the Canceled field's value.
  4566  func (s *ReportTaskProgressOutput) SetCanceled(v bool) *ReportTaskProgressOutput {
  4567  	s.Canceled = &v
  4568  	return s
  4569  }
  4570  
  4571  // Contains the parameters for ReportTaskRunnerHeartbeat.
  4572  type ReportTaskRunnerHeartbeatInput struct {
  4573  	_ struct{} `type:"structure"`
  4574  
  4575  	// The public DNS name of the task runner.
  4576  	Hostname *string `locationName:"hostname" min:"1" type:"string"`
  4577  
  4578  	// The ID of the task runner. This value should be unique across your AWS account.
  4579  	// In the case of AWS Data Pipeline Task Runner launched on a resource managed
  4580  	// by AWS Data Pipeline, the web service provides a unique identifier when it
  4581  	// launches the application. If you have written a custom task runner, you should
  4582  	// assign a unique identifier for the task runner.
  4583  	//
  4584  	// TaskrunnerId is a required field
  4585  	TaskrunnerId *string `locationName:"taskrunnerId" min:"1" type:"string" required:"true"`
  4586  
  4587  	// The type of task the task runner is configured to accept and process. The
  4588  	// worker group is set as a field on objects in the pipeline when they are created.
  4589  	// You can only specify a single value for workerGroup. There are no wildcard
  4590  	// values permitted in workerGroup; the string must be an exact, case-sensitive,
  4591  	// match.
  4592  	WorkerGroup *string `locationName:"workerGroup" type:"string"`
  4593  }
  4594  
  4595  // String returns the string representation.
  4596  //
  4597  // API parameter values that are decorated as "sensitive" in the API will not
  4598  // be included in the string output. The member name will be present, but the
  4599  // value will be replaced with "sensitive".
  4600  func (s ReportTaskRunnerHeartbeatInput) String() string {
  4601  	return awsutil.Prettify(s)
  4602  }
  4603  
  4604  // GoString returns the string representation.
  4605  //
  4606  // API parameter values that are decorated as "sensitive" in the API will not
  4607  // be included in the string output. The member name will be present, but the
  4608  // value will be replaced with "sensitive".
  4609  func (s ReportTaskRunnerHeartbeatInput) GoString() string {
  4610  	return s.String()
  4611  }
  4612  
  4613  // Validate inspects the fields of the type to determine if they are valid.
  4614  func (s *ReportTaskRunnerHeartbeatInput) Validate() error {
  4615  	invalidParams := request.ErrInvalidParams{Context: "ReportTaskRunnerHeartbeatInput"}
  4616  	if s.Hostname != nil && len(*s.Hostname) < 1 {
  4617  		invalidParams.Add(request.NewErrParamMinLen("Hostname", 1))
  4618  	}
  4619  	if s.TaskrunnerId == nil {
  4620  		invalidParams.Add(request.NewErrParamRequired("TaskrunnerId"))
  4621  	}
  4622  	if s.TaskrunnerId != nil && len(*s.TaskrunnerId) < 1 {
  4623  		invalidParams.Add(request.NewErrParamMinLen("TaskrunnerId", 1))
  4624  	}
  4625  
  4626  	if invalidParams.Len() > 0 {
  4627  		return invalidParams
  4628  	}
  4629  	return nil
  4630  }
  4631  
  4632  // SetHostname sets the Hostname field's value.
  4633  func (s *ReportTaskRunnerHeartbeatInput) SetHostname(v string) *ReportTaskRunnerHeartbeatInput {
  4634  	s.Hostname = &v
  4635  	return s
  4636  }
  4637  
  4638  // SetTaskrunnerId sets the TaskrunnerId field's value.
  4639  func (s *ReportTaskRunnerHeartbeatInput) SetTaskrunnerId(v string) *ReportTaskRunnerHeartbeatInput {
  4640  	s.TaskrunnerId = &v
  4641  	return s
  4642  }
  4643  
  4644  // SetWorkerGroup sets the WorkerGroup field's value.
  4645  func (s *ReportTaskRunnerHeartbeatInput) SetWorkerGroup(v string) *ReportTaskRunnerHeartbeatInput {
  4646  	s.WorkerGroup = &v
  4647  	return s
  4648  }
  4649  
  4650  // Contains the output of ReportTaskRunnerHeartbeat.
  4651  type ReportTaskRunnerHeartbeatOutput struct {
  4652  	_ struct{} `type:"structure"`
  4653  
  4654  	// Indicates whether the calling task runner should terminate.
  4655  	//
  4656  	// Terminate is a required field
  4657  	Terminate *bool `locationName:"terminate" type:"boolean" required:"true"`
  4658  }
  4659  
  4660  // String returns the string representation.
  4661  //
  4662  // API parameter values that are decorated as "sensitive" in the API will not
  4663  // be included in the string output. The member name will be present, but the
  4664  // value will be replaced with "sensitive".
  4665  func (s ReportTaskRunnerHeartbeatOutput) String() string {
  4666  	return awsutil.Prettify(s)
  4667  }
  4668  
  4669  // GoString returns the string representation.
  4670  //
  4671  // API parameter values that are decorated as "sensitive" in the API will not
  4672  // be included in the string output. The member name will be present, but the
  4673  // value will be replaced with "sensitive".
  4674  func (s ReportTaskRunnerHeartbeatOutput) GoString() string {
  4675  	return s.String()
  4676  }
  4677  
  4678  // SetTerminate sets the Terminate field's value.
  4679  func (s *ReportTaskRunnerHeartbeatOutput) SetTerminate(v bool) *ReportTaskRunnerHeartbeatOutput {
  4680  	s.Terminate = &v
  4681  	return s
  4682  }
  4683  
  4684  // A comparision that is used to determine whether a query should return this
  4685  // object.
  4686  type Selector struct {
  4687  	_ struct{} `type:"structure"`
  4688  
  4689  	// The name of the field that the operator will be applied to. The field name
  4690  	// is the "key" portion of the field definition in the pipeline definition syntax
  4691  	// that is used by the AWS Data Pipeline API. If the field is not set on the
  4692  	// object, the condition fails.
  4693  	FieldName *string `locationName:"fieldName" type:"string"`
  4694  
  4695  	// Contains a logical operation for comparing the value of a field with a specified
  4696  	// value.
  4697  	Operator *Operator `locationName:"operator" type:"structure"`
  4698  }
  4699  
  4700  // String returns the string representation.
  4701  //
  4702  // API parameter values that are decorated as "sensitive" in the API will not
  4703  // be included in the string output. The member name will be present, but the
  4704  // value will be replaced with "sensitive".
  4705  func (s Selector) String() string {
  4706  	return awsutil.Prettify(s)
  4707  }
  4708  
  4709  // GoString returns the string representation.
  4710  //
  4711  // API parameter values that are decorated as "sensitive" in the API will not
  4712  // be included in the string output. The member name will be present, but the
  4713  // value will be replaced with "sensitive".
  4714  func (s Selector) GoString() string {
  4715  	return s.String()
  4716  }
  4717  
  4718  // SetFieldName sets the FieldName field's value.
  4719  func (s *Selector) SetFieldName(v string) *Selector {
  4720  	s.FieldName = &v
  4721  	return s
  4722  }
  4723  
  4724  // SetOperator sets the Operator field's value.
  4725  func (s *Selector) SetOperator(v *Operator) *Selector {
  4726  	s.Operator = v
  4727  	return s
  4728  }
  4729  
  4730  // Contains the parameters for SetStatus.
  4731  type SetStatusInput struct {
  4732  	_ struct{} `type:"structure"`
  4733  
  4734  	// The IDs of the objects. The corresponding objects can be either physical
  4735  	// or components, but not a mix of both types.
  4736  	//
  4737  	// ObjectIds is a required field
  4738  	ObjectIds []*string `locationName:"objectIds" type:"list" required:"true"`
  4739  
  4740  	// The ID of the pipeline that contains the objects.
  4741  	//
  4742  	// PipelineId is a required field
  4743  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  4744  
  4745  	// The status to be set on all the objects specified in objectIds. For components,
  4746  	// use PAUSE or RESUME. For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED.
  4747  	//
  4748  	// Status is a required field
  4749  	Status *string `locationName:"status" type:"string" required:"true"`
  4750  }
  4751  
  4752  // String returns the string representation.
  4753  //
  4754  // API parameter values that are decorated as "sensitive" in the API will not
  4755  // be included in the string output. The member name will be present, but the
  4756  // value will be replaced with "sensitive".
  4757  func (s SetStatusInput) String() string {
  4758  	return awsutil.Prettify(s)
  4759  }
  4760  
  4761  // GoString returns the string representation.
  4762  //
  4763  // API parameter values that are decorated as "sensitive" in the API will not
  4764  // be included in the string output. The member name will be present, but the
  4765  // value will be replaced with "sensitive".
  4766  func (s SetStatusInput) GoString() string {
  4767  	return s.String()
  4768  }
  4769  
  4770  // Validate inspects the fields of the type to determine if they are valid.
  4771  func (s *SetStatusInput) Validate() error {
  4772  	invalidParams := request.ErrInvalidParams{Context: "SetStatusInput"}
  4773  	if s.ObjectIds == nil {
  4774  		invalidParams.Add(request.NewErrParamRequired("ObjectIds"))
  4775  	}
  4776  	if s.PipelineId == nil {
  4777  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  4778  	}
  4779  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  4780  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  4781  	}
  4782  	if s.Status == nil {
  4783  		invalidParams.Add(request.NewErrParamRequired("Status"))
  4784  	}
  4785  
  4786  	if invalidParams.Len() > 0 {
  4787  		return invalidParams
  4788  	}
  4789  	return nil
  4790  }
  4791  
  4792  // SetObjectIds sets the ObjectIds field's value.
  4793  func (s *SetStatusInput) SetObjectIds(v []*string) *SetStatusInput {
  4794  	s.ObjectIds = v
  4795  	return s
  4796  }
  4797  
  4798  // SetPipelineId sets the PipelineId field's value.
  4799  func (s *SetStatusInput) SetPipelineId(v string) *SetStatusInput {
  4800  	s.PipelineId = &v
  4801  	return s
  4802  }
  4803  
  4804  // SetStatus sets the Status field's value.
  4805  func (s *SetStatusInput) SetStatus(v string) *SetStatusInput {
  4806  	s.Status = &v
  4807  	return s
  4808  }
  4809  
  4810  type SetStatusOutput struct {
  4811  	_ struct{} `type:"structure"`
  4812  }
  4813  
  4814  // String returns the string representation.
  4815  //
  4816  // API parameter values that are decorated as "sensitive" in the API will not
  4817  // be included in the string output. The member name will be present, but the
  4818  // value will be replaced with "sensitive".
  4819  func (s SetStatusOutput) String() string {
  4820  	return awsutil.Prettify(s)
  4821  }
  4822  
  4823  // GoString returns the string representation.
  4824  //
  4825  // API parameter values that are decorated as "sensitive" in the API will not
  4826  // be included in the string output. The member name will be present, but the
  4827  // value will be replaced with "sensitive".
  4828  func (s SetStatusOutput) GoString() string {
  4829  	return s.String()
  4830  }
  4831  
  4832  // Contains the parameters for SetTaskStatus.
  4833  type SetTaskStatusInput struct {
  4834  	_ struct{} `type:"structure"`
  4835  
  4836  	// If an error occurred during the task, this value specifies the error code.
  4837  	// This value is set on the physical attempt object. It is used to display error
  4838  	// information to the user. It should not start with string "Service_" which
  4839  	// is reserved by the system.
  4840  	ErrorId *string `locationName:"errorId" type:"string"`
  4841  
  4842  	// If an error occurred during the task, this value specifies a text description
  4843  	// of the error. This value is set on the physical attempt object. It is used
  4844  	// to display error information to the user. The web service does not parse
  4845  	// this value.
  4846  	ErrorMessage *string `locationName:"errorMessage" type:"string"`
  4847  
  4848  	// If an error occurred during the task, this value specifies the stack trace
  4849  	// associated with the error. This value is set on the physical attempt object.
  4850  	// It is used to display error information to the user. The web service does
  4851  	// not parse this value.
  4852  	ErrorStackTrace *string `locationName:"errorStackTrace" type:"string"`
  4853  
  4854  	// The ID of the task assigned to the task runner. This value is provided in
  4855  	// the response for PollForTask.
  4856  	//
  4857  	// TaskId is a required field
  4858  	TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"`
  4859  
  4860  	// If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully.
  4861  	// Preconditions use false.
  4862  	//
  4863  	// TaskStatus is a required field
  4864  	TaskStatus *string `locationName:"taskStatus" type:"string" required:"true" enum:"TaskStatus"`
  4865  }
  4866  
  4867  // String returns the string representation.
  4868  //
  4869  // API parameter values that are decorated as "sensitive" in the API will not
  4870  // be included in the string output. The member name will be present, but the
  4871  // value will be replaced with "sensitive".
  4872  func (s SetTaskStatusInput) String() string {
  4873  	return awsutil.Prettify(s)
  4874  }
  4875  
  4876  // GoString returns the string representation.
  4877  //
  4878  // API parameter values that are decorated as "sensitive" in the API will not
  4879  // be included in the string output. The member name will be present, but the
  4880  // value will be replaced with "sensitive".
  4881  func (s SetTaskStatusInput) GoString() string {
  4882  	return s.String()
  4883  }
  4884  
  4885  // Validate inspects the fields of the type to determine if they are valid.
  4886  func (s *SetTaskStatusInput) Validate() error {
  4887  	invalidParams := request.ErrInvalidParams{Context: "SetTaskStatusInput"}
  4888  	if s.TaskId == nil {
  4889  		invalidParams.Add(request.NewErrParamRequired("TaskId"))
  4890  	}
  4891  	if s.TaskId != nil && len(*s.TaskId) < 1 {
  4892  		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
  4893  	}
  4894  	if s.TaskStatus == nil {
  4895  		invalidParams.Add(request.NewErrParamRequired("TaskStatus"))
  4896  	}
  4897  
  4898  	if invalidParams.Len() > 0 {
  4899  		return invalidParams
  4900  	}
  4901  	return nil
  4902  }
  4903  
  4904  // SetErrorId sets the ErrorId field's value.
  4905  func (s *SetTaskStatusInput) SetErrorId(v string) *SetTaskStatusInput {
  4906  	s.ErrorId = &v
  4907  	return s
  4908  }
  4909  
  4910  // SetErrorMessage sets the ErrorMessage field's value.
  4911  func (s *SetTaskStatusInput) SetErrorMessage(v string) *SetTaskStatusInput {
  4912  	s.ErrorMessage = &v
  4913  	return s
  4914  }
  4915  
  4916  // SetErrorStackTrace sets the ErrorStackTrace field's value.
  4917  func (s *SetTaskStatusInput) SetErrorStackTrace(v string) *SetTaskStatusInput {
  4918  	s.ErrorStackTrace = &v
  4919  	return s
  4920  }
  4921  
  4922  // SetTaskId sets the TaskId field's value.
  4923  func (s *SetTaskStatusInput) SetTaskId(v string) *SetTaskStatusInput {
  4924  	s.TaskId = &v
  4925  	return s
  4926  }
  4927  
  4928  // SetTaskStatus sets the TaskStatus field's value.
  4929  func (s *SetTaskStatusInput) SetTaskStatus(v string) *SetTaskStatusInput {
  4930  	s.TaskStatus = &v
  4931  	return s
  4932  }
  4933  
  4934  // Contains the output of SetTaskStatus.
  4935  type SetTaskStatusOutput struct {
  4936  	_ struct{} `type:"structure"`
  4937  }
  4938  
  4939  // String returns the string representation.
  4940  //
  4941  // API parameter values that are decorated as "sensitive" in the API will not
  4942  // be included in the string output. The member name will be present, but the
  4943  // value will be replaced with "sensitive".
  4944  func (s SetTaskStatusOutput) String() string {
  4945  	return awsutil.Prettify(s)
  4946  }
  4947  
  4948  // GoString returns the string representation.
  4949  //
  4950  // API parameter values that are decorated as "sensitive" in the API will not
  4951  // be included in the string output. The member name will be present, but the
  4952  // value will be replaced with "sensitive".
  4953  func (s SetTaskStatusOutput) GoString() string {
  4954  	return s.String()
  4955  }
  4956  
  4957  // Tags are key/value pairs defined by a user and associated with a pipeline
  4958  // to control access. AWS Data Pipeline allows you to associate ten tags per
  4959  // pipeline. For more information, see Controlling User Access to Pipelines
  4960  // (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html)
  4961  // in the AWS Data Pipeline Developer Guide.
  4962  type Tag struct {
  4963  	_ struct{} `type:"structure"`
  4964  
  4965  	// The key name of a tag defined by a user. For more information, see Controlling
  4966  	// User Access to Pipelines (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html)
  4967  	// in the AWS Data Pipeline Developer Guide.
  4968  	//
  4969  	// Key is a required field
  4970  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
  4971  
  4972  	// The optional value portion of a tag defined by a user. For more information,
  4973  	// see Controlling User Access to Pipelines (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html)
  4974  	// in the AWS Data Pipeline Developer Guide.
  4975  	//
  4976  	// Value is a required field
  4977  	Value *string `locationName:"value" type:"string" required:"true"`
  4978  }
  4979  
  4980  // String returns the string representation.
  4981  //
  4982  // API parameter values that are decorated as "sensitive" in the API will not
  4983  // be included in the string output. The member name will be present, but the
  4984  // value will be replaced with "sensitive".
  4985  func (s Tag) String() string {
  4986  	return awsutil.Prettify(s)
  4987  }
  4988  
  4989  // GoString returns the string representation.
  4990  //
  4991  // API parameter values that are decorated as "sensitive" in the API will not
  4992  // be included in the string output. The member name will be present, but the
  4993  // value will be replaced with "sensitive".
  4994  func (s Tag) GoString() string {
  4995  	return s.String()
  4996  }
  4997  
  4998  // Validate inspects the fields of the type to determine if they are valid.
  4999  func (s *Tag) Validate() error {
  5000  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  5001  	if s.Key == nil {
  5002  		invalidParams.Add(request.NewErrParamRequired("Key"))
  5003  	}
  5004  	if s.Key != nil && len(*s.Key) < 1 {
  5005  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  5006  	}
  5007  	if s.Value == nil {
  5008  		invalidParams.Add(request.NewErrParamRequired("Value"))
  5009  	}
  5010  
  5011  	if invalidParams.Len() > 0 {
  5012  		return invalidParams
  5013  	}
  5014  	return nil
  5015  }
  5016  
  5017  // SetKey sets the Key field's value.
  5018  func (s *Tag) SetKey(v string) *Tag {
  5019  	s.Key = &v
  5020  	return s
  5021  }
  5022  
  5023  // SetValue sets the Value field's value.
  5024  func (s *Tag) SetValue(v string) *Tag {
  5025  	s.Value = &v
  5026  	return s
  5027  }
  5028  
  5029  // The specified task was not found.
  5030  type TaskNotFoundException struct {
  5031  	_            struct{}                  `type:"structure"`
  5032  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5033  
  5034  	// Description of the error message.
  5035  	Message_ *string `locationName:"message" type:"string"`
  5036  }
  5037  
  5038  // String returns the string representation.
  5039  //
  5040  // API parameter values that are decorated as "sensitive" in the API will not
  5041  // be included in the string output. The member name will be present, but the
  5042  // value will be replaced with "sensitive".
  5043  func (s TaskNotFoundException) String() string {
  5044  	return awsutil.Prettify(s)
  5045  }
  5046  
  5047  // GoString returns the string representation.
  5048  //
  5049  // API parameter values that are decorated as "sensitive" in the API will not
  5050  // be included in the string output. The member name will be present, but the
  5051  // value will be replaced with "sensitive".
  5052  func (s TaskNotFoundException) GoString() string {
  5053  	return s.String()
  5054  }
  5055  
  5056  func newErrorTaskNotFoundException(v protocol.ResponseMetadata) error {
  5057  	return &TaskNotFoundException{
  5058  		RespMetadata: v,
  5059  	}
  5060  }
  5061  
  5062  // Code returns the exception type name.
  5063  func (s *TaskNotFoundException) Code() string {
  5064  	return "TaskNotFoundException"
  5065  }
  5066  
  5067  // Message returns the exception's message.
  5068  func (s *TaskNotFoundException) Message() string {
  5069  	if s.Message_ != nil {
  5070  		return *s.Message_
  5071  	}
  5072  	return ""
  5073  }
  5074  
  5075  // OrigErr always returns nil, satisfies awserr.Error interface.
  5076  func (s *TaskNotFoundException) OrigErr() error {
  5077  	return nil
  5078  }
  5079  
  5080  func (s *TaskNotFoundException) Error() string {
  5081  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5082  }
  5083  
  5084  // Status code returns the HTTP status code for the request's response error.
  5085  func (s *TaskNotFoundException) StatusCode() int {
  5086  	return s.RespMetadata.StatusCode
  5087  }
  5088  
  5089  // RequestID returns the service's response RequestID for request.
  5090  func (s *TaskNotFoundException) RequestID() string {
  5091  	return s.RespMetadata.RequestID
  5092  }
  5093  
  5094  // Contains information about a pipeline task that is assigned to a task runner.
  5095  type TaskObject struct {
  5096  	_ struct{} `type:"structure"`
  5097  
  5098  	// The ID of the pipeline task attempt object. AWS Data Pipeline uses this value
  5099  	// to track how many times a task is attempted.
  5100  	AttemptId *string `locationName:"attemptId" min:"1" type:"string"`
  5101  
  5102  	// Connection information for the location where the task runner will publish
  5103  	// the output of the task.
  5104  	Objects map[string]*PipelineObject `locationName:"objects" type:"map"`
  5105  
  5106  	// The ID of the pipeline that provided the task.
  5107  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string"`
  5108  
  5109  	// An internal identifier for the task. This ID is passed to the SetTaskStatus
  5110  	// and ReportTaskProgress actions.
  5111  	TaskId *string `locationName:"taskId" min:"1" type:"string"`
  5112  }
  5113  
  5114  // String returns the string representation.
  5115  //
  5116  // API parameter values that are decorated as "sensitive" in the API will not
  5117  // be included in the string output. The member name will be present, but the
  5118  // value will be replaced with "sensitive".
  5119  func (s TaskObject) String() string {
  5120  	return awsutil.Prettify(s)
  5121  }
  5122  
  5123  // GoString returns the string representation.
  5124  //
  5125  // API parameter values that are decorated as "sensitive" in the API will not
  5126  // be included in the string output. The member name will be present, but the
  5127  // value will be replaced with "sensitive".
  5128  func (s TaskObject) GoString() string {
  5129  	return s.String()
  5130  }
  5131  
  5132  // SetAttemptId sets the AttemptId field's value.
  5133  func (s *TaskObject) SetAttemptId(v string) *TaskObject {
  5134  	s.AttemptId = &v
  5135  	return s
  5136  }
  5137  
  5138  // SetObjects sets the Objects field's value.
  5139  func (s *TaskObject) SetObjects(v map[string]*PipelineObject) *TaskObject {
  5140  	s.Objects = v
  5141  	return s
  5142  }
  5143  
  5144  // SetPipelineId sets the PipelineId field's value.
  5145  func (s *TaskObject) SetPipelineId(v string) *TaskObject {
  5146  	s.PipelineId = &v
  5147  	return s
  5148  }
  5149  
  5150  // SetTaskId sets the TaskId field's value.
  5151  func (s *TaskObject) SetTaskId(v string) *TaskObject {
  5152  	s.TaskId = &v
  5153  	return s
  5154  }
  5155  
  5156  // Contains the parameters for ValidatePipelineDefinition.
  5157  type ValidatePipelineDefinitionInput struct {
  5158  	_ struct{} `type:"structure"`
  5159  
  5160  	// The parameter objects used with the pipeline.
  5161  	ParameterObjects []*ParameterObject `locationName:"parameterObjects" type:"list"`
  5162  
  5163  	// The parameter values used with the pipeline.
  5164  	ParameterValues []*ParameterValue `locationName:"parameterValues" type:"list"`
  5165  
  5166  	// The ID of the pipeline.
  5167  	//
  5168  	// PipelineId is a required field
  5169  	PipelineId *string `locationName:"pipelineId" min:"1" type:"string" required:"true"`
  5170  
  5171  	// The objects that define the pipeline changes to validate against the pipeline.
  5172  	//
  5173  	// PipelineObjects is a required field
  5174  	PipelineObjects []*PipelineObject `locationName:"pipelineObjects" type:"list" required:"true"`
  5175  }
  5176  
  5177  // String returns the string representation.
  5178  //
  5179  // API parameter values that are decorated as "sensitive" in the API will not
  5180  // be included in the string output. The member name will be present, but the
  5181  // value will be replaced with "sensitive".
  5182  func (s ValidatePipelineDefinitionInput) String() string {
  5183  	return awsutil.Prettify(s)
  5184  }
  5185  
  5186  // GoString returns the string representation.
  5187  //
  5188  // API parameter values that are decorated as "sensitive" in the API will not
  5189  // be included in the string output. The member name will be present, but the
  5190  // value will be replaced with "sensitive".
  5191  func (s ValidatePipelineDefinitionInput) GoString() string {
  5192  	return s.String()
  5193  }
  5194  
  5195  // Validate inspects the fields of the type to determine if they are valid.
  5196  func (s *ValidatePipelineDefinitionInput) Validate() error {
  5197  	invalidParams := request.ErrInvalidParams{Context: "ValidatePipelineDefinitionInput"}
  5198  	if s.PipelineId == nil {
  5199  		invalidParams.Add(request.NewErrParamRequired("PipelineId"))
  5200  	}
  5201  	if s.PipelineId != nil && len(*s.PipelineId) < 1 {
  5202  		invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1))
  5203  	}
  5204  	if s.PipelineObjects == nil {
  5205  		invalidParams.Add(request.NewErrParamRequired("PipelineObjects"))
  5206  	}
  5207  	if s.ParameterObjects != nil {
  5208  		for i, v := range s.ParameterObjects {
  5209  			if v == nil {
  5210  				continue
  5211  			}
  5212  			if err := v.Validate(); err != nil {
  5213  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterObjects", i), err.(request.ErrInvalidParams))
  5214  			}
  5215  		}
  5216  	}
  5217  	if s.ParameterValues != nil {
  5218  		for i, v := range s.ParameterValues {
  5219  			if v == nil {
  5220  				continue
  5221  			}
  5222  			if err := v.Validate(); err != nil {
  5223  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterValues", i), err.(request.ErrInvalidParams))
  5224  			}
  5225  		}
  5226  	}
  5227  	if s.PipelineObjects != nil {
  5228  		for i, v := range s.PipelineObjects {
  5229  			if v == nil {
  5230  				continue
  5231  			}
  5232  			if err := v.Validate(); err != nil {
  5233  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineObjects", i), err.(request.ErrInvalidParams))
  5234  			}
  5235  		}
  5236  	}
  5237  
  5238  	if invalidParams.Len() > 0 {
  5239  		return invalidParams
  5240  	}
  5241  	return nil
  5242  }
  5243  
  5244  // SetParameterObjects sets the ParameterObjects field's value.
  5245  func (s *ValidatePipelineDefinitionInput) SetParameterObjects(v []*ParameterObject) *ValidatePipelineDefinitionInput {
  5246  	s.ParameterObjects = v
  5247  	return s
  5248  }
  5249  
  5250  // SetParameterValues sets the ParameterValues field's value.
  5251  func (s *ValidatePipelineDefinitionInput) SetParameterValues(v []*ParameterValue) *ValidatePipelineDefinitionInput {
  5252  	s.ParameterValues = v
  5253  	return s
  5254  }
  5255  
  5256  // SetPipelineId sets the PipelineId field's value.
  5257  func (s *ValidatePipelineDefinitionInput) SetPipelineId(v string) *ValidatePipelineDefinitionInput {
  5258  	s.PipelineId = &v
  5259  	return s
  5260  }
  5261  
  5262  // SetPipelineObjects sets the PipelineObjects field's value.
  5263  func (s *ValidatePipelineDefinitionInput) SetPipelineObjects(v []*PipelineObject) *ValidatePipelineDefinitionInput {
  5264  	s.PipelineObjects = v
  5265  	return s
  5266  }
  5267  
  5268  // Contains the output of ValidatePipelineDefinition.
  5269  type ValidatePipelineDefinitionOutput struct {
  5270  	_ struct{} `type:"structure"`
  5271  
  5272  	// Indicates whether there were validation errors.
  5273  	//
  5274  	// Errored is a required field
  5275  	Errored *bool `locationName:"errored" type:"boolean" required:"true"`
  5276  
  5277  	// Any validation errors that were found.
  5278  	ValidationErrors []*ValidationError `locationName:"validationErrors" type:"list"`
  5279  
  5280  	// Any validation warnings that were found.
  5281  	ValidationWarnings []*ValidationWarning `locationName:"validationWarnings" type:"list"`
  5282  }
  5283  
  5284  // String returns the string representation.
  5285  //
  5286  // API parameter values that are decorated as "sensitive" in the API will not
  5287  // be included in the string output. The member name will be present, but the
  5288  // value will be replaced with "sensitive".
  5289  func (s ValidatePipelineDefinitionOutput) String() string {
  5290  	return awsutil.Prettify(s)
  5291  }
  5292  
  5293  // GoString returns the string representation.
  5294  //
  5295  // API parameter values that are decorated as "sensitive" in the API will not
  5296  // be included in the string output. The member name will be present, but the
  5297  // value will be replaced with "sensitive".
  5298  func (s ValidatePipelineDefinitionOutput) GoString() string {
  5299  	return s.String()
  5300  }
  5301  
  5302  // SetErrored sets the Errored field's value.
  5303  func (s *ValidatePipelineDefinitionOutput) SetErrored(v bool) *ValidatePipelineDefinitionOutput {
  5304  	s.Errored = &v
  5305  	return s
  5306  }
  5307  
  5308  // SetValidationErrors sets the ValidationErrors field's value.
  5309  func (s *ValidatePipelineDefinitionOutput) SetValidationErrors(v []*ValidationError) *ValidatePipelineDefinitionOutput {
  5310  	s.ValidationErrors = v
  5311  	return s
  5312  }
  5313  
  5314  // SetValidationWarnings sets the ValidationWarnings field's value.
  5315  func (s *ValidatePipelineDefinitionOutput) SetValidationWarnings(v []*ValidationWarning) *ValidatePipelineDefinitionOutput {
  5316  	s.ValidationWarnings = v
  5317  	return s
  5318  }
  5319  
  5320  // Defines a validation error. Validation errors prevent pipeline activation.
  5321  // The set of validation errors that can be returned are defined by AWS Data
  5322  // Pipeline.
  5323  type ValidationError struct {
  5324  	_ struct{} `type:"structure"`
  5325  
  5326  	// A description of the validation error.
  5327  	Errors []*string `locationName:"errors" type:"list"`
  5328  
  5329  	// The identifier of the object that contains the validation error.
  5330  	Id *string `locationName:"id" min:"1" type:"string"`
  5331  }
  5332  
  5333  // String returns the string representation.
  5334  //
  5335  // API parameter values that are decorated as "sensitive" in the API will not
  5336  // be included in the string output. The member name will be present, but the
  5337  // value will be replaced with "sensitive".
  5338  func (s ValidationError) String() string {
  5339  	return awsutil.Prettify(s)
  5340  }
  5341  
  5342  // GoString returns the string representation.
  5343  //
  5344  // API parameter values that are decorated as "sensitive" in the API will not
  5345  // be included in the string output. The member name will be present, but the
  5346  // value will be replaced with "sensitive".
  5347  func (s ValidationError) GoString() string {
  5348  	return s.String()
  5349  }
  5350  
  5351  // SetErrors sets the Errors field's value.
  5352  func (s *ValidationError) SetErrors(v []*string) *ValidationError {
  5353  	s.Errors = v
  5354  	return s
  5355  }
  5356  
  5357  // SetId sets the Id field's value.
  5358  func (s *ValidationError) SetId(v string) *ValidationError {
  5359  	s.Id = &v
  5360  	return s
  5361  }
  5362  
  5363  // Defines a validation warning. Validation warnings do not prevent pipeline
  5364  // activation. The set of validation warnings that can be returned are defined
  5365  // by AWS Data Pipeline.
  5366  type ValidationWarning struct {
  5367  	_ struct{} `type:"structure"`
  5368  
  5369  	// The identifier of the object that contains the validation warning.
  5370  	Id *string `locationName:"id" min:"1" type:"string"`
  5371  
  5372  	// A description of the validation warning.
  5373  	Warnings []*string `locationName:"warnings" type:"list"`
  5374  }
  5375  
  5376  // String returns the string representation.
  5377  //
  5378  // API parameter values that are decorated as "sensitive" in the API will not
  5379  // be included in the string output. The member name will be present, but the
  5380  // value will be replaced with "sensitive".
  5381  func (s ValidationWarning) String() string {
  5382  	return awsutil.Prettify(s)
  5383  }
  5384  
  5385  // GoString returns the string representation.
  5386  //
  5387  // API parameter values that are decorated as "sensitive" in the API will not
  5388  // be included in the string output. The member name will be present, but the
  5389  // value will be replaced with "sensitive".
  5390  func (s ValidationWarning) GoString() string {
  5391  	return s.String()
  5392  }
  5393  
  5394  // SetId sets the Id field's value.
  5395  func (s *ValidationWarning) SetId(v string) *ValidationWarning {
  5396  	s.Id = &v
  5397  	return s
  5398  }
  5399  
  5400  // SetWarnings sets the Warnings field's value.
  5401  func (s *ValidationWarning) SetWarnings(v []*string) *ValidationWarning {
  5402  	s.Warnings = v
  5403  	return s
  5404  }
  5405  
  5406  const (
  5407  	// OperatorTypeEq is a OperatorType enum value
  5408  	OperatorTypeEq = "EQ"
  5409  
  5410  	// OperatorTypeRefEq is a OperatorType enum value
  5411  	OperatorTypeRefEq = "REF_EQ"
  5412  
  5413  	// OperatorTypeLe is a OperatorType enum value
  5414  	OperatorTypeLe = "LE"
  5415  
  5416  	// OperatorTypeGe is a OperatorType enum value
  5417  	OperatorTypeGe = "GE"
  5418  
  5419  	// OperatorTypeBetween is a OperatorType enum value
  5420  	OperatorTypeBetween = "BETWEEN"
  5421  )
  5422  
  5423  // OperatorType_Values returns all elements of the OperatorType enum
  5424  func OperatorType_Values() []string {
  5425  	return []string{
  5426  		OperatorTypeEq,
  5427  		OperatorTypeRefEq,
  5428  		OperatorTypeLe,
  5429  		OperatorTypeGe,
  5430  		OperatorTypeBetween,
  5431  	}
  5432  }
  5433  
  5434  const (
  5435  	// TaskStatusFinished is a TaskStatus enum value
  5436  	TaskStatusFinished = "FINISHED"
  5437  
  5438  	// TaskStatusFailed is a TaskStatus enum value
  5439  	TaskStatusFailed = "FAILED"
  5440  
  5441  	// TaskStatusFalse is a TaskStatus enum value
  5442  	TaskStatusFalse = "FALSE"
  5443  )
  5444  
  5445  // TaskStatus_Values returns all elements of the TaskStatus enum
  5446  func TaskStatus_Values() []string {
  5447  	return []string{
  5448  		TaskStatusFinished,
  5449  		TaskStatusFailed,
  5450  		TaskStatusFalse,
  5451  	}
  5452  }