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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package healthlake
     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 opCreateFHIRDatastore = "CreateFHIRDatastore"
    17  
    18  // CreateFHIRDatastoreRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateFHIRDatastore 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 CreateFHIRDatastore for more information on using the CreateFHIRDatastore
    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 CreateFHIRDatastoreRequest method.
    34  //    req, resp := client.CreateFHIRDatastoreRequest(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/healthlake-2017-07-01/CreateFHIRDatastore
    42  func (c *HealthLake) CreateFHIRDatastoreRequest(input *CreateFHIRDatastoreInput) (req *request.Request, output *CreateFHIRDatastoreOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateFHIRDatastore,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateFHIRDatastoreInput{}
    51  	}
    52  
    53  	output = &CreateFHIRDatastoreOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateFHIRDatastore API operation for Amazon HealthLake.
    59  //
    60  // Creates a Data Store that can ingest and export FHIR formatted data.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon HealthLake's
    67  // API operation CreateFHIRDatastore for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ValidationException
    71  //   The user input parameter was invalid.
    72  //
    73  //   * ThrottlingException
    74  //   The user has exceeded their maximum number of allowed calls to the given
    75  //   API.
    76  //
    77  //   * AccessDeniedException
    78  //   Access is denied. Your account is not authorized to perform this operation.
    79  //
    80  //   * InternalServerException
    81  //   Unknown error occurs in the service.
    82  //
    83  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/CreateFHIRDatastore
    84  func (c *HealthLake) CreateFHIRDatastore(input *CreateFHIRDatastoreInput) (*CreateFHIRDatastoreOutput, error) {
    85  	req, out := c.CreateFHIRDatastoreRequest(input)
    86  	return out, req.Send()
    87  }
    88  
    89  // CreateFHIRDatastoreWithContext is the same as CreateFHIRDatastore with the addition of
    90  // the ability to pass a context and additional request options.
    91  //
    92  // See CreateFHIRDatastore for details on how to use this API operation.
    93  //
    94  // The context must be non-nil and will be used for request cancellation. If
    95  // the context is nil a panic will occur. In the future the SDK may create
    96  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    97  // for more information on using Contexts.
    98  func (c *HealthLake) CreateFHIRDatastoreWithContext(ctx aws.Context, input *CreateFHIRDatastoreInput, opts ...request.Option) (*CreateFHIRDatastoreOutput, error) {
    99  	req, out := c.CreateFHIRDatastoreRequest(input)
   100  	req.SetContext(ctx)
   101  	req.ApplyOptions(opts...)
   102  	return out, req.Send()
   103  }
   104  
   105  const opDeleteFHIRDatastore = "DeleteFHIRDatastore"
   106  
   107  // DeleteFHIRDatastoreRequest generates a "aws/request.Request" representing the
   108  // client's request for the DeleteFHIRDatastore operation. The "output" return
   109  // value will be populated with the request's response once the request completes
   110  // successfully.
   111  //
   112  // Use "Send" method on the returned Request to send the API call to the service.
   113  // the "output" return value is not valid until after Send returns without error.
   114  //
   115  // See DeleteFHIRDatastore for more information on using the DeleteFHIRDatastore
   116  // API call, and error handling.
   117  //
   118  // This method is useful when you want to inject custom logic or configuration
   119  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   120  //
   121  //
   122  //    // Example sending a request using the DeleteFHIRDatastoreRequest method.
   123  //    req, resp := client.DeleteFHIRDatastoreRequest(params)
   124  //
   125  //    err := req.Send()
   126  //    if err == nil { // resp is now filled
   127  //        fmt.Println(resp)
   128  //    }
   129  //
   130  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DeleteFHIRDatastore
   131  func (c *HealthLake) DeleteFHIRDatastoreRequest(input *DeleteFHIRDatastoreInput) (req *request.Request, output *DeleteFHIRDatastoreOutput) {
   132  	op := &request.Operation{
   133  		Name:       opDeleteFHIRDatastore,
   134  		HTTPMethod: "POST",
   135  		HTTPPath:   "/",
   136  	}
   137  
   138  	if input == nil {
   139  		input = &DeleteFHIRDatastoreInput{}
   140  	}
   141  
   142  	output = &DeleteFHIRDatastoreOutput{}
   143  	req = c.newRequest(op, input, output)
   144  	return
   145  }
   146  
   147  // DeleteFHIRDatastore API operation for Amazon HealthLake.
   148  //
   149  // Deletes a Data Store.
   150  //
   151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   152  // with awserr.Error's Code and Message methods to get detailed information about
   153  // the error.
   154  //
   155  // See the AWS API reference guide for Amazon HealthLake's
   156  // API operation DeleteFHIRDatastore for usage and error information.
   157  //
   158  // Returned Error Types:
   159  //   * AccessDeniedException
   160  //   Access is denied. Your account is not authorized to perform this operation.
   161  //
   162  //   * ConflictException
   163  //   The Data Store is in a transition state and the user requested action can
   164  //   not be performed.
   165  //
   166  //   * ValidationException
   167  //   The user input parameter was invalid.
   168  //
   169  //   * ResourceNotFoundException
   170  //   The requested Data Store was not found.
   171  //
   172  //   * ThrottlingException
   173  //   The user has exceeded their maximum number of allowed calls to the given
   174  //   API.
   175  //
   176  //   * InternalServerException
   177  //   Unknown error occurs in the service.
   178  //
   179  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DeleteFHIRDatastore
   180  func (c *HealthLake) DeleteFHIRDatastore(input *DeleteFHIRDatastoreInput) (*DeleteFHIRDatastoreOutput, error) {
   181  	req, out := c.DeleteFHIRDatastoreRequest(input)
   182  	return out, req.Send()
   183  }
   184  
   185  // DeleteFHIRDatastoreWithContext is the same as DeleteFHIRDatastore with the addition of
   186  // the ability to pass a context and additional request options.
   187  //
   188  // See DeleteFHIRDatastore for details on how to use this API operation.
   189  //
   190  // The context must be non-nil and will be used for request cancellation. If
   191  // the context is nil a panic will occur. In the future the SDK may create
   192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   193  // for more information on using Contexts.
   194  func (c *HealthLake) DeleteFHIRDatastoreWithContext(ctx aws.Context, input *DeleteFHIRDatastoreInput, opts ...request.Option) (*DeleteFHIRDatastoreOutput, error) {
   195  	req, out := c.DeleteFHIRDatastoreRequest(input)
   196  	req.SetContext(ctx)
   197  	req.ApplyOptions(opts...)
   198  	return out, req.Send()
   199  }
   200  
   201  const opDescribeFHIRDatastore = "DescribeFHIRDatastore"
   202  
   203  // DescribeFHIRDatastoreRequest generates a "aws/request.Request" representing the
   204  // client's request for the DescribeFHIRDatastore operation. The "output" return
   205  // value will be populated with the request's response once the request completes
   206  // successfully.
   207  //
   208  // Use "Send" method on the returned Request to send the API call to the service.
   209  // the "output" return value is not valid until after Send returns without error.
   210  //
   211  // See DescribeFHIRDatastore for more information on using the DescribeFHIRDatastore
   212  // API call, and error handling.
   213  //
   214  // This method is useful when you want to inject custom logic or configuration
   215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   216  //
   217  //
   218  //    // Example sending a request using the DescribeFHIRDatastoreRequest method.
   219  //    req, resp := client.DescribeFHIRDatastoreRequest(params)
   220  //
   221  //    err := req.Send()
   222  //    if err == nil { // resp is now filled
   223  //        fmt.Println(resp)
   224  //    }
   225  //
   226  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DescribeFHIRDatastore
   227  func (c *HealthLake) DescribeFHIRDatastoreRequest(input *DescribeFHIRDatastoreInput) (req *request.Request, output *DescribeFHIRDatastoreOutput) {
   228  	op := &request.Operation{
   229  		Name:       opDescribeFHIRDatastore,
   230  		HTTPMethod: "POST",
   231  		HTTPPath:   "/",
   232  	}
   233  
   234  	if input == nil {
   235  		input = &DescribeFHIRDatastoreInput{}
   236  	}
   237  
   238  	output = &DescribeFHIRDatastoreOutput{}
   239  	req = c.newRequest(op, input, output)
   240  	return
   241  }
   242  
   243  // DescribeFHIRDatastore API operation for Amazon HealthLake.
   244  //
   245  // Gets the properties associated with the FHIR Data Store, including the Data
   246  // Store ID, Data Store ARN, Data Store name, Data Store status, created at,
   247  // Data Store type version, and Data Store endpoint.
   248  //
   249  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   250  // with awserr.Error's Code and Message methods to get detailed information about
   251  // the error.
   252  //
   253  // See the AWS API reference guide for Amazon HealthLake's
   254  // API operation DescribeFHIRDatastore for usage and error information.
   255  //
   256  // Returned Error Types:
   257  //   * ValidationException
   258  //   The user input parameter was invalid.
   259  //
   260  //   * ResourceNotFoundException
   261  //   The requested Data Store was not found.
   262  //
   263  //   * ThrottlingException
   264  //   The user has exceeded their maximum number of allowed calls to the given
   265  //   API.
   266  //
   267  //   * InternalServerException
   268  //   Unknown error occurs in the service.
   269  //
   270  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DescribeFHIRDatastore
   271  func (c *HealthLake) DescribeFHIRDatastore(input *DescribeFHIRDatastoreInput) (*DescribeFHIRDatastoreOutput, error) {
   272  	req, out := c.DescribeFHIRDatastoreRequest(input)
   273  	return out, req.Send()
   274  }
   275  
   276  // DescribeFHIRDatastoreWithContext is the same as DescribeFHIRDatastore with the addition of
   277  // the ability to pass a context and additional request options.
   278  //
   279  // See DescribeFHIRDatastore 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 *HealthLake) DescribeFHIRDatastoreWithContext(ctx aws.Context, input *DescribeFHIRDatastoreInput, opts ...request.Option) (*DescribeFHIRDatastoreOutput, error) {
   286  	req, out := c.DescribeFHIRDatastoreRequest(input)
   287  	req.SetContext(ctx)
   288  	req.ApplyOptions(opts...)
   289  	return out, req.Send()
   290  }
   291  
   292  const opDescribeFHIRExportJob = "DescribeFHIRExportJob"
   293  
   294  // DescribeFHIRExportJobRequest generates a "aws/request.Request" representing the
   295  // client's request for the DescribeFHIRExportJob 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 DescribeFHIRExportJob for more information on using the DescribeFHIRExportJob
   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 DescribeFHIRExportJobRequest method.
   310  //    req, resp := client.DescribeFHIRExportJobRequest(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/healthlake-2017-07-01/DescribeFHIRExportJob
   318  func (c *HealthLake) DescribeFHIRExportJobRequest(input *DescribeFHIRExportJobInput) (req *request.Request, output *DescribeFHIRExportJobOutput) {
   319  	op := &request.Operation{
   320  		Name:       opDescribeFHIRExportJob,
   321  		HTTPMethod: "POST",
   322  		HTTPPath:   "/",
   323  	}
   324  
   325  	if input == nil {
   326  		input = &DescribeFHIRExportJobInput{}
   327  	}
   328  
   329  	output = &DescribeFHIRExportJobOutput{}
   330  	req = c.newRequest(op, input, output)
   331  	return
   332  }
   333  
   334  // DescribeFHIRExportJob API operation for Amazon HealthLake.
   335  //
   336  // Displays the properties of a FHIR export job, including the ID, ARN, name,
   337  // and the status of the job.
   338  //
   339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   340  // with awserr.Error's Code and Message methods to get detailed information about
   341  // the error.
   342  //
   343  // See the AWS API reference guide for Amazon HealthLake's
   344  // API operation DescribeFHIRExportJob for usage and error information.
   345  //
   346  // Returned Error Types:
   347  //   * ValidationException
   348  //   The user input parameter was invalid.
   349  //
   350  //   * ResourceNotFoundException
   351  //   The requested Data Store was not found.
   352  //
   353  //   * ThrottlingException
   354  //   The user has exceeded their maximum number of allowed calls to the given
   355  //   API.
   356  //
   357  //   * InternalServerException
   358  //   Unknown error occurs in the service.
   359  //
   360  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DescribeFHIRExportJob
   361  func (c *HealthLake) DescribeFHIRExportJob(input *DescribeFHIRExportJobInput) (*DescribeFHIRExportJobOutput, error) {
   362  	req, out := c.DescribeFHIRExportJobRequest(input)
   363  	return out, req.Send()
   364  }
   365  
   366  // DescribeFHIRExportJobWithContext is the same as DescribeFHIRExportJob with the addition of
   367  // the ability to pass a context and additional request options.
   368  //
   369  // See DescribeFHIRExportJob for details on how to use this API operation.
   370  //
   371  // The context must be non-nil and will be used for request cancellation. If
   372  // the context is nil a panic will occur. In the future the SDK may create
   373  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   374  // for more information on using Contexts.
   375  func (c *HealthLake) DescribeFHIRExportJobWithContext(ctx aws.Context, input *DescribeFHIRExportJobInput, opts ...request.Option) (*DescribeFHIRExportJobOutput, error) {
   376  	req, out := c.DescribeFHIRExportJobRequest(input)
   377  	req.SetContext(ctx)
   378  	req.ApplyOptions(opts...)
   379  	return out, req.Send()
   380  }
   381  
   382  const opDescribeFHIRImportJob = "DescribeFHIRImportJob"
   383  
   384  // DescribeFHIRImportJobRequest generates a "aws/request.Request" representing the
   385  // client's request for the DescribeFHIRImportJob operation. The "output" return
   386  // value will be populated with the request's response once the request completes
   387  // successfully.
   388  //
   389  // Use "Send" method on the returned Request to send the API call to the service.
   390  // the "output" return value is not valid until after Send returns without error.
   391  //
   392  // See DescribeFHIRImportJob for more information on using the DescribeFHIRImportJob
   393  // API call, and error handling.
   394  //
   395  // This method is useful when you want to inject custom logic or configuration
   396  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   397  //
   398  //
   399  //    // Example sending a request using the DescribeFHIRImportJobRequest method.
   400  //    req, resp := client.DescribeFHIRImportJobRequest(params)
   401  //
   402  //    err := req.Send()
   403  //    if err == nil { // resp is now filled
   404  //        fmt.Println(resp)
   405  //    }
   406  //
   407  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DescribeFHIRImportJob
   408  func (c *HealthLake) DescribeFHIRImportJobRequest(input *DescribeFHIRImportJobInput) (req *request.Request, output *DescribeFHIRImportJobOutput) {
   409  	op := &request.Operation{
   410  		Name:       opDescribeFHIRImportJob,
   411  		HTTPMethod: "POST",
   412  		HTTPPath:   "/",
   413  	}
   414  
   415  	if input == nil {
   416  		input = &DescribeFHIRImportJobInput{}
   417  	}
   418  
   419  	output = &DescribeFHIRImportJobOutput{}
   420  	req = c.newRequest(op, input, output)
   421  	return
   422  }
   423  
   424  // DescribeFHIRImportJob API operation for Amazon HealthLake.
   425  //
   426  // Displays the properties of a FHIR import job, including the ID, ARN, name,
   427  // and the status of the job.
   428  //
   429  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   430  // with awserr.Error's Code and Message methods to get detailed information about
   431  // the error.
   432  //
   433  // See the AWS API reference guide for Amazon HealthLake's
   434  // API operation DescribeFHIRImportJob for usage and error information.
   435  //
   436  // Returned Error Types:
   437  //   * ValidationException
   438  //   The user input parameter was invalid.
   439  //
   440  //   * ResourceNotFoundException
   441  //   The requested Data Store was not found.
   442  //
   443  //   * ThrottlingException
   444  //   The user has exceeded their maximum number of allowed calls to the given
   445  //   API.
   446  //
   447  //   * InternalServerException
   448  //   Unknown error occurs in the service.
   449  //
   450  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/DescribeFHIRImportJob
   451  func (c *HealthLake) DescribeFHIRImportJob(input *DescribeFHIRImportJobInput) (*DescribeFHIRImportJobOutput, error) {
   452  	req, out := c.DescribeFHIRImportJobRequest(input)
   453  	return out, req.Send()
   454  }
   455  
   456  // DescribeFHIRImportJobWithContext is the same as DescribeFHIRImportJob with the addition of
   457  // the ability to pass a context and additional request options.
   458  //
   459  // See DescribeFHIRImportJob for details on how to use this API operation.
   460  //
   461  // The context must be non-nil and will be used for request cancellation. If
   462  // the context is nil a panic will occur. In the future the SDK may create
   463  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   464  // for more information on using Contexts.
   465  func (c *HealthLake) DescribeFHIRImportJobWithContext(ctx aws.Context, input *DescribeFHIRImportJobInput, opts ...request.Option) (*DescribeFHIRImportJobOutput, error) {
   466  	req, out := c.DescribeFHIRImportJobRequest(input)
   467  	req.SetContext(ctx)
   468  	req.ApplyOptions(opts...)
   469  	return out, req.Send()
   470  }
   471  
   472  const opListFHIRDatastores = "ListFHIRDatastores"
   473  
   474  // ListFHIRDatastoresRequest generates a "aws/request.Request" representing the
   475  // client's request for the ListFHIRDatastores operation. The "output" return
   476  // value will be populated with the request's response once the request completes
   477  // successfully.
   478  //
   479  // Use "Send" method on the returned Request to send the API call to the service.
   480  // the "output" return value is not valid until after Send returns without error.
   481  //
   482  // See ListFHIRDatastores for more information on using the ListFHIRDatastores
   483  // API call, and error handling.
   484  //
   485  // This method is useful when you want to inject custom logic or configuration
   486  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   487  //
   488  //
   489  //    // Example sending a request using the ListFHIRDatastoresRequest method.
   490  //    req, resp := client.ListFHIRDatastoresRequest(params)
   491  //
   492  //    err := req.Send()
   493  //    if err == nil { // resp is now filled
   494  //        fmt.Println(resp)
   495  //    }
   496  //
   497  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListFHIRDatastores
   498  func (c *HealthLake) ListFHIRDatastoresRequest(input *ListFHIRDatastoresInput) (req *request.Request, output *ListFHIRDatastoresOutput) {
   499  	op := &request.Operation{
   500  		Name:       opListFHIRDatastores,
   501  		HTTPMethod: "POST",
   502  		HTTPPath:   "/",
   503  		Paginator: &request.Paginator{
   504  			InputTokens:     []string{"NextToken"},
   505  			OutputTokens:    []string{"NextToken"},
   506  			LimitToken:      "MaxResults",
   507  			TruncationToken: "",
   508  		},
   509  	}
   510  
   511  	if input == nil {
   512  		input = &ListFHIRDatastoresInput{}
   513  	}
   514  
   515  	output = &ListFHIRDatastoresOutput{}
   516  	req = c.newRequest(op, input, output)
   517  	return
   518  }
   519  
   520  // ListFHIRDatastores API operation for Amazon HealthLake.
   521  //
   522  // Lists all FHIR Data Stores that are in the user’s account, regardless of
   523  // Data Store status.
   524  //
   525  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   526  // with awserr.Error's Code and Message methods to get detailed information about
   527  // the error.
   528  //
   529  // See the AWS API reference guide for Amazon HealthLake's
   530  // API operation ListFHIRDatastores for usage and error information.
   531  //
   532  // Returned Error Types:
   533  //   * ValidationException
   534  //   The user input parameter was invalid.
   535  //
   536  //   * ThrottlingException
   537  //   The user has exceeded their maximum number of allowed calls to the given
   538  //   API.
   539  //
   540  //   * InternalServerException
   541  //   Unknown error occurs in the service.
   542  //
   543  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListFHIRDatastores
   544  func (c *HealthLake) ListFHIRDatastores(input *ListFHIRDatastoresInput) (*ListFHIRDatastoresOutput, error) {
   545  	req, out := c.ListFHIRDatastoresRequest(input)
   546  	return out, req.Send()
   547  }
   548  
   549  // ListFHIRDatastoresWithContext is the same as ListFHIRDatastores with the addition of
   550  // the ability to pass a context and additional request options.
   551  //
   552  // See ListFHIRDatastores for details on how to use this API operation.
   553  //
   554  // The context must be non-nil and will be used for request cancellation. If
   555  // the context is nil a panic will occur. In the future the SDK may create
   556  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   557  // for more information on using Contexts.
   558  func (c *HealthLake) ListFHIRDatastoresWithContext(ctx aws.Context, input *ListFHIRDatastoresInput, opts ...request.Option) (*ListFHIRDatastoresOutput, error) {
   559  	req, out := c.ListFHIRDatastoresRequest(input)
   560  	req.SetContext(ctx)
   561  	req.ApplyOptions(opts...)
   562  	return out, req.Send()
   563  }
   564  
   565  // ListFHIRDatastoresPages iterates over the pages of a ListFHIRDatastores operation,
   566  // calling the "fn" function with the response data for each page. To stop
   567  // iterating, return false from the fn function.
   568  //
   569  // See ListFHIRDatastores method for more information on how to use this operation.
   570  //
   571  // Note: This operation can generate multiple requests to a service.
   572  //
   573  //    // Example iterating over at most 3 pages of a ListFHIRDatastores operation.
   574  //    pageNum := 0
   575  //    err := client.ListFHIRDatastoresPages(params,
   576  //        func(page *healthlake.ListFHIRDatastoresOutput, lastPage bool) bool {
   577  //            pageNum++
   578  //            fmt.Println(page)
   579  //            return pageNum <= 3
   580  //        })
   581  //
   582  func (c *HealthLake) ListFHIRDatastoresPages(input *ListFHIRDatastoresInput, fn func(*ListFHIRDatastoresOutput, bool) bool) error {
   583  	return c.ListFHIRDatastoresPagesWithContext(aws.BackgroundContext(), input, fn)
   584  }
   585  
   586  // ListFHIRDatastoresPagesWithContext same as ListFHIRDatastoresPages except
   587  // it takes a Context and allows setting request options on the pages.
   588  //
   589  // The context must be non-nil and will be used for request cancellation. If
   590  // the context is nil a panic will occur. In the future the SDK may create
   591  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   592  // for more information on using Contexts.
   593  func (c *HealthLake) ListFHIRDatastoresPagesWithContext(ctx aws.Context, input *ListFHIRDatastoresInput, fn func(*ListFHIRDatastoresOutput, bool) bool, opts ...request.Option) error {
   594  	p := request.Pagination{
   595  		NewRequest: func() (*request.Request, error) {
   596  			var inCpy *ListFHIRDatastoresInput
   597  			if input != nil {
   598  				tmp := *input
   599  				inCpy = &tmp
   600  			}
   601  			req, _ := c.ListFHIRDatastoresRequest(inCpy)
   602  			req.SetContext(ctx)
   603  			req.ApplyOptions(opts...)
   604  			return req, nil
   605  		},
   606  	}
   607  
   608  	for p.Next() {
   609  		if !fn(p.Page().(*ListFHIRDatastoresOutput), !p.HasNextPage()) {
   610  			break
   611  		}
   612  	}
   613  
   614  	return p.Err()
   615  }
   616  
   617  const opListFHIRExportJobs = "ListFHIRExportJobs"
   618  
   619  // ListFHIRExportJobsRequest generates a "aws/request.Request" representing the
   620  // client's request for the ListFHIRExportJobs operation. The "output" return
   621  // value will be populated with the request's response once the request completes
   622  // successfully.
   623  //
   624  // Use "Send" method on the returned Request to send the API call to the service.
   625  // the "output" return value is not valid until after Send returns without error.
   626  //
   627  // See ListFHIRExportJobs for more information on using the ListFHIRExportJobs
   628  // API call, and error handling.
   629  //
   630  // This method is useful when you want to inject custom logic or configuration
   631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   632  //
   633  //
   634  //    // Example sending a request using the ListFHIRExportJobsRequest method.
   635  //    req, resp := client.ListFHIRExportJobsRequest(params)
   636  //
   637  //    err := req.Send()
   638  //    if err == nil { // resp is now filled
   639  //        fmt.Println(resp)
   640  //    }
   641  //
   642  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListFHIRExportJobs
   643  func (c *HealthLake) ListFHIRExportJobsRequest(input *ListFHIRExportJobsInput) (req *request.Request, output *ListFHIRExportJobsOutput) {
   644  	op := &request.Operation{
   645  		Name:       opListFHIRExportJobs,
   646  		HTTPMethod: "POST",
   647  		HTTPPath:   "/",
   648  		Paginator: &request.Paginator{
   649  			InputTokens:     []string{"NextToken"},
   650  			OutputTokens:    []string{"NextToken"},
   651  			LimitToken:      "MaxResults",
   652  			TruncationToken: "",
   653  		},
   654  	}
   655  
   656  	if input == nil {
   657  		input = &ListFHIRExportJobsInput{}
   658  	}
   659  
   660  	output = &ListFHIRExportJobsOutput{}
   661  	req = c.newRequest(op, input, output)
   662  	return
   663  }
   664  
   665  // ListFHIRExportJobs API operation for Amazon HealthLake.
   666  //
   667  // Lists all FHIR export jobs associated with an account and their statuses.
   668  //
   669  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   670  // with awserr.Error's Code and Message methods to get detailed information about
   671  // the error.
   672  //
   673  // See the AWS API reference guide for Amazon HealthLake's
   674  // API operation ListFHIRExportJobs for usage and error information.
   675  //
   676  // Returned Error Types:
   677  //   * ValidationException
   678  //   The user input parameter was invalid.
   679  //
   680  //   * ResourceNotFoundException
   681  //   The requested Data Store was not found.
   682  //
   683  //   * AccessDeniedException
   684  //   Access is denied. Your account is not authorized to perform this operation.
   685  //
   686  //   * ThrottlingException
   687  //   The user has exceeded their maximum number of allowed calls to the given
   688  //   API.
   689  //
   690  //   * InternalServerException
   691  //   Unknown error occurs in the service.
   692  //
   693  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListFHIRExportJobs
   694  func (c *HealthLake) ListFHIRExportJobs(input *ListFHIRExportJobsInput) (*ListFHIRExportJobsOutput, error) {
   695  	req, out := c.ListFHIRExportJobsRequest(input)
   696  	return out, req.Send()
   697  }
   698  
   699  // ListFHIRExportJobsWithContext is the same as ListFHIRExportJobs with the addition of
   700  // the ability to pass a context and additional request options.
   701  //
   702  // See ListFHIRExportJobs for details on how to use this API operation.
   703  //
   704  // The context must be non-nil and will be used for request cancellation. If
   705  // the context is nil a panic will occur. In the future the SDK may create
   706  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   707  // for more information on using Contexts.
   708  func (c *HealthLake) ListFHIRExportJobsWithContext(ctx aws.Context, input *ListFHIRExportJobsInput, opts ...request.Option) (*ListFHIRExportJobsOutput, error) {
   709  	req, out := c.ListFHIRExportJobsRequest(input)
   710  	req.SetContext(ctx)
   711  	req.ApplyOptions(opts...)
   712  	return out, req.Send()
   713  }
   714  
   715  // ListFHIRExportJobsPages iterates over the pages of a ListFHIRExportJobs operation,
   716  // calling the "fn" function with the response data for each page. To stop
   717  // iterating, return false from the fn function.
   718  //
   719  // See ListFHIRExportJobs method for more information on how to use this operation.
   720  //
   721  // Note: This operation can generate multiple requests to a service.
   722  //
   723  //    // Example iterating over at most 3 pages of a ListFHIRExportJobs operation.
   724  //    pageNum := 0
   725  //    err := client.ListFHIRExportJobsPages(params,
   726  //        func(page *healthlake.ListFHIRExportJobsOutput, lastPage bool) bool {
   727  //            pageNum++
   728  //            fmt.Println(page)
   729  //            return pageNum <= 3
   730  //        })
   731  //
   732  func (c *HealthLake) ListFHIRExportJobsPages(input *ListFHIRExportJobsInput, fn func(*ListFHIRExportJobsOutput, bool) bool) error {
   733  	return c.ListFHIRExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
   734  }
   735  
   736  // ListFHIRExportJobsPagesWithContext same as ListFHIRExportJobsPages except
   737  // it takes a Context and allows setting request options on the pages.
   738  //
   739  // The context must be non-nil and will be used for request cancellation. If
   740  // the context is nil a panic will occur. In the future the SDK may create
   741  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   742  // for more information on using Contexts.
   743  func (c *HealthLake) ListFHIRExportJobsPagesWithContext(ctx aws.Context, input *ListFHIRExportJobsInput, fn func(*ListFHIRExportJobsOutput, bool) bool, opts ...request.Option) error {
   744  	p := request.Pagination{
   745  		NewRequest: func() (*request.Request, error) {
   746  			var inCpy *ListFHIRExportJobsInput
   747  			if input != nil {
   748  				tmp := *input
   749  				inCpy = &tmp
   750  			}
   751  			req, _ := c.ListFHIRExportJobsRequest(inCpy)
   752  			req.SetContext(ctx)
   753  			req.ApplyOptions(opts...)
   754  			return req, nil
   755  		},
   756  	}
   757  
   758  	for p.Next() {
   759  		if !fn(p.Page().(*ListFHIRExportJobsOutput), !p.HasNextPage()) {
   760  			break
   761  		}
   762  	}
   763  
   764  	return p.Err()
   765  }
   766  
   767  const opListFHIRImportJobs = "ListFHIRImportJobs"
   768  
   769  // ListFHIRImportJobsRequest generates a "aws/request.Request" representing the
   770  // client's request for the ListFHIRImportJobs operation. The "output" return
   771  // value will be populated with the request's response once the request completes
   772  // successfully.
   773  //
   774  // Use "Send" method on the returned Request to send the API call to the service.
   775  // the "output" return value is not valid until after Send returns without error.
   776  //
   777  // See ListFHIRImportJobs for more information on using the ListFHIRImportJobs
   778  // API call, and error handling.
   779  //
   780  // This method is useful when you want to inject custom logic or configuration
   781  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   782  //
   783  //
   784  //    // Example sending a request using the ListFHIRImportJobsRequest method.
   785  //    req, resp := client.ListFHIRImportJobsRequest(params)
   786  //
   787  //    err := req.Send()
   788  //    if err == nil { // resp is now filled
   789  //        fmt.Println(resp)
   790  //    }
   791  //
   792  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListFHIRImportJobs
   793  func (c *HealthLake) ListFHIRImportJobsRequest(input *ListFHIRImportJobsInput) (req *request.Request, output *ListFHIRImportJobsOutput) {
   794  	op := &request.Operation{
   795  		Name:       opListFHIRImportJobs,
   796  		HTTPMethod: "POST",
   797  		HTTPPath:   "/",
   798  		Paginator: &request.Paginator{
   799  			InputTokens:     []string{"NextToken"},
   800  			OutputTokens:    []string{"NextToken"},
   801  			LimitToken:      "MaxResults",
   802  			TruncationToken: "",
   803  		},
   804  	}
   805  
   806  	if input == nil {
   807  		input = &ListFHIRImportJobsInput{}
   808  	}
   809  
   810  	output = &ListFHIRImportJobsOutput{}
   811  	req = c.newRequest(op, input, output)
   812  	return
   813  }
   814  
   815  // ListFHIRImportJobs API operation for Amazon HealthLake.
   816  //
   817  // Lists all FHIR import jobs associated with an account and their statuses.
   818  //
   819  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   820  // with awserr.Error's Code and Message methods to get detailed information about
   821  // the error.
   822  //
   823  // See the AWS API reference guide for Amazon HealthLake's
   824  // API operation ListFHIRImportJobs for usage and error information.
   825  //
   826  // Returned Error Types:
   827  //   * ValidationException
   828  //   The user input parameter was invalid.
   829  //
   830  //   * ResourceNotFoundException
   831  //   The requested Data Store was not found.
   832  //
   833  //   * AccessDeniedException
   834  //   Access is denied. Your account is not authorized to perform this operation.
   835  //
   836  //   * ThrottlingException
   837  //   The user has exceeded their maximum number of allowed calls to the given
   838  //   API.
   839  //
   840  //   * InternalServerException
   841  //   Unknown error occurs in the service.
   842  //
   843  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListFHIRImportJobs
   844  func (c *HealthLake) ListFHIRImportJobs(input *ListFHIRImportJobsInput) (*ListFHIRImportJobsOutput, error) {
   845  	req, out := c.ListFHIRImportJobsRequest(input)
   846  	return out, req.Send()
   847  }
   848  
   849  // ListFHIRImportJobsWithContext is the same as ListFHIRImportJobs with the addition of
   850  // the ability to pass a context and additional request options.
   851  //
   852  // See ListFHIRImportJobs for details on how to use this API operation.
   853  //
   854  // The context must be non-nil and will be used for request cancellation. If
   855  // the context is nil a panic will occur. In the future the SDK may create
   856  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   857  // for more information on using Contexts.
   858  func (c *HealthLake) ListFHIRImportJobsWithContext(ctx aws.Context, input *ListFHIRImportJobsInput, opts ...request.Option) (*ListFHIRImportJobsOutput, error) {
   859  	req, out := c.ListFHIRImportJobsRequest(input)
   860  	req.SetContext(ctx)
   861  	req.ApplyOptions(opts...)
   862  	return out, req.Send()
   863  }
   864  
   865  // ListFHIRImportJobsPages iterates over the pages of a ListFHIRImportJobs operation,
   866  // calling the "fn" function with the response data for each page. To stop
   867  // iterating, return false from the fn function.
   868  //
   869  // See ListFHIRImportJobs method for more information on how to use this operation.
   870  //
   871  // Note: This operation can generate multiple requests to a service.
   872  //
   873  //    // Example iterating over at most 3 pages of a ListFHIRImportJobs operation.
   874  //    pageNum := 0
   875  //    err := client.ListFHIRImportJobsPages(params,
   876  //        func(page *healthlake.ListFHIRImportJobsOutput, lastPage bool) bool {
   877  //            pageNum++
   878  //            fmt.Println(page)
   879  //            return pageNum <= 3
   880  //        })
   881  //
   882  func (c *HealthLake) ListFHIRImportJobsPages(input *ListFHIRImportJobsInput, fn func(*ListFHIRImportJobsOutput, bool) bool) error {
   883  	return c.ListFHIRImportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
   884  }
   885  
   886  // ListFHIRImportJobsPagesWithContext same as ListFHIRImportJobsPages except
   887  // it takes a Context and allows setting request options on the pages.
   888  //
   889  // The context must be non-nil and will be used for request cancellation. If
   890  // the context is nil a panic will occur. In the future the SDK may create
   891  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   892  // for more information on using Contexts.
   893  func (c *HealthLake) ListFHIRImportJobsPagesWithContext(ctx aws.Context, input *ListFHIRImportJobsInput, fn func(*ListFHIRImportJobsOutput, bool) bool, opts ...request.Option) error {
   894  	p := request.Pagination{
   895  		NewRequest: func() (*request.Request, error) {
   896  			var inCpy *ListFHIRImportJobsInput
   897  			if input != nil {
   898  				tmp := *input
   899  				inCpy = &tmp
   900  			}
   901  			req, _ := c.ListFHIRImportJobsRequest(inCpy)
   902  			req.SetContext(ctx)
   903  			req.ApplyOptions(opts...)
   904  			return req, nil
   905  		},
   906  	}
   907  
   908  	for p.Next() {
   909  		if !fn(p.Page().(*ListFHIRImportJobsOutput), !p.HasNextPage()) {
   910  			break
   911  		}
   912  	}
   913  
   914  	return p.Err()
   915  }
   916  
   917  const opListTagsForResource = "ListTagsForResource"
   918  
   919  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
   920  // client's request for the ListTagsForResource operation. The "output" return
   921  // value will be populated with the request's response once the request completes
   922  // successfully.
   923  //
   924  // Use "Send" method on the returned Request to send the API call to the service.
   925  // the "output" return value is not valid until after Send returns without error.
   926  //
   927  // See ListTagsForResource for more information on using the ListTagsForResource
   928  // API call, and error handling.
   929  //
   930  // This method is useful when you want to inject custom logic or configuration
   931  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   932  //
   933  //
   934  //    // Example sending a request using the ListTagsForResourceRequest method.
   935  //    req, resp := client.ListTagsForResourceRequest(params)
   936  //
   937  //    err := req.Send()
   938  //    if err == nil { // resp is now filled
   939  //        fmt.Println(resp)
   940  //    }
   941  //
   942  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListTagsForResource
   943  func (c *HealthLake) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
   944  	op := &request.Operation{
   945  		Name:       opListTagsForResource,
   946  		HTTPMethod: "POST",
   947  		HTTPPath:   "/",
   948  	}
   949  
   950  	if input == nil {
   951  		input = &ListTagsForResourceInput{}
   952  	}
   953  
   954  	output = &ListTagsForResourceOutput{}
   955  	req = c.newRequest(op, input, output)
   956  	return
   957  }
   958  
   959  // ListTagsForResource API operation for Amazon HealthLake.
   960  //
   961  // Returns a list of all existing tags associated with a Data Store.
   962  //
   963  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   964  // with awserr.Error's Code and Message methods to get detailed information about
   965  // the error.
   966  //
   967  // See the AWS API reference guide for Amazon HealthLake's
   968  // API operation ListTagsForResource for usage and error information.
   969  //
   970  // Returned Error Types:
   971  //   * ValidationException
   972  //   The user input parameter was invalid.
   973  //
   974  //   * ResourceNotFoundException
   975  //   The requested Data Store was not found.
   976  //
   977  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/ListTagsForResource
   978  func (c *HealthLake) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
   979  	req, out := c.ListTagsForResourceRequest(input)
   980  	return out, req.Send()
   981  }
   982  
   983  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
   984  // the ability to pass a context and additional request options.
   985  //
   986  // See ListTagsForResource for details on how to use this API operation.
   987  //
   988  // The context must be non-nil and will be used for request cancellation. If
   989  // the context is nil a panic will occur. In the future the SDK may create
   990  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   991  // for more information on using Contexts.
   992  func (c *HealthLake) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
   993  	req, out := c.ListTagsForResourceRequest(input)
   994  	req.SetContext(ctx)
   995  	req.ApplyOptions(opts...)
   996  	return out, req.Send()
   997  }
   998  
   999  const opStartFHIRExportJob = "StartFHIRExportJob"
  1000  
  1001  // StartFHIRExportJobRequest generates a "aws/request.Request" representing the
  1002  // client's request for the StartFHIRExportJob operation. The "output" return
  1003  // value will be populated with the request's response once the request completes
  1004  // successfully.
  1005  //
  1006  // Use "Send" method on the returned Request to send the API call to the service.
  1007  // the "output" return value is not valid until after Send returns without error.
  1008  //
  1009  // See StartFHIRExportJob for more information on using the StartFHIRExportJob
  1010  // API call, and error handling.
  1011  //
  1012  // This method is useful when you want to inject custom logic or configuration
  1013  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1014  //
  1015  //
  1016  //    // Example sending a request using the StartFHIRExportJobRequest method.
  1017  //    req, resp := client.StartFHIRExportJobRequest(params)
  1018  //
  1019  //    err := req.Send()
  1020  //    if err == nil { // resp is now filled
  1021  //        fmt.Println(resp)
  1022  //    }
  1023  //
  1024  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/StartFHIRExportJob
  1025  func (c *HealthLake) StartFHIRExportJobRequest(input *StartFHIRExportJobInput) (req *request.Request, output *StartFHIRExportJobOutput) {
  1026  	op := &request.Operation{
  1027  		Name:       opStartFHIRExportJob,
  1028  		HTTPMethod: "POST",
  1029  		HTTPPath:   "/",
  1030  	}
  1031  
  1032  	if input == nil {
  1033  		input = &StartFHIRExportJobInput{}
  1034  	}
  1035  
  1036  	output = &StartFHIRExportJobOutput{}
  1037  	req = c.newRequest(op, input, output)
  1038  	return
  1039  }
  1040  
  1041  // StartFHIRExportJob API operation for Amazon HealthLake.
  1042  //
  1043  // Begins a FHIR export job.
  1044  //
  1045  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1046  // with awserr.Error's Code and Message methods to get detailed information about
  1047  // the error.
  1048  //
  1049  // See the AWS API reference guide for Amazon HealthLake's
  1050  // API operation StartFHIRExportJob for usage and error information.
  1051  //
  1052  // Returned Error Types:
  1053  //   * ValidationException
  1054  //   The user input parameter was invalid.
  1055  //
  1056  //   * ThrottlingException
  1057  //   The user has exceeded their maximum number of allowed calls to the given
  1058  //   API.
  1059  //
  1060  //   * AccessDeniedException
  1061  //   Access is denied. Your account is not authorized to perform this operation.
  1062  //
  1063  //   * ResourceNotFoundException
  1064  //   The requested Data Store was not found.
  1065  //
  1066  //   * InternalServerException
  1067  //   Unknown error occurs in the service.
  1068  //
  1069  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/StartFHIRExportJob
  1070  func (c *HealthLake) StartFHIRExportJob(input *StartFHIRExportJobInput) (*StartFHIRExportJobOutput, error) {
  1071  	req, out := c.StartFHIRExportJobRequest(input)
  1072  	return out, req.Send()
  1073  }
  1074  
  1075  // StartFHIRExportJobWithContext is the same as StartFHIRExportJob with the addition of
  1076  // the ability to pass a context and additional request options.
  1077  //
  1078  // See StartFHIRExportJob for details on how to use this API operation.
  1079  //
  1080  // The context must be non-nil and will be used for request cancellation. If
  1081  // the context is nil a panic will occur. In the future the SDK may create
  1082  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1083  // for more information on using Contexts.
  1084  func (c *HealthLake) StartFHIRExportJobWithContext(ctx aws.Context, input *StartFHIRExportJobInput, opts ...request.Option) (*StartFHIRExportJobOutput, error) {
  1085  	req, out := c.StartFHIRExportJobRequest(input)
  1086  	req.SetContext(ctx)
  1087  	req.ApplyOptions(opts...)
  1088  	return out, req.Send()
  1089  }
  1090  
  1091  const opStartFHIRImportJob = "StartFHIRImportJob"
  1092  
  1093  // StartFHIRImportJobRequest generates a "aws/request.Request" representing the
  1094  // client's request for the StartFHIRImportJob operation. The "output" return
  1095  // value will be populated with the request's response once the request completes
  1096  // successfully.
  1097  //
  1098  // Use "Send" method on the returned Request to send the API call to the service.
  1099  // the "output" return value is not valid until after Send returns without error.
  1100  //
  1101  // See StartFHIRImportJob for more information on using the StartFHIRImportJob
  1102  // API call, and error handling.
  1103  //
  1104  // This method is useful when you want to inject custom logic or configuration
  1105  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1106  //
  1107  //
  1108  //    // Example sending a request using the StartFHIRImportJobRequest method.
  1109  //    req, resp := client.StartFHIRImportJobRequest(params)
  1110  //
  1111  //    err := req.Send()
  1112  //    if err == nil { // resp is now filled
  1113  //        fmt.Println(resp)
  1114  //    }
  1115  //
  1116  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/StartFHIRImportJob
  1117  func (c *HealthLake) StartFHIRImportJobRequest(input *StartFHIRImportJobInput) (req *request.Request, output *StartFHIRImportJobOutput) {
  1118  	op := &request.Operation{
  1119  		Name:       opStartFHIRImportJob,
  1120  		HTTPMethod: "POST",
  1121  		HTTPPath:   "/",
  1122  	}
  1123  
  1124  	if input == nil {
  1125  		input = &StartFHIRImportJobInput{}
  1126  	}
  1127  
  1128  	output = &StartFHIRImportJobOutput{}
  1129  	req = c.newRequest(op, input, output)
  1130  	return
  1131  }
  1132  
  1133  // StartFHIRImportJob API operation for Amazon HealthLake.
  1134  //
  1135  // Begins a FHIR Import job.
  1136  //
  1137  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1138  // with awserr.Error's Code and Message methods to get detailed information about
  1139  // the error.
  1140  //
  1141  // See the AWS API reference guide for Amazon HealthLake's
  1142  // API operation StartFHIRImportJob for usage and error information.
  1143  //
  1144  // Returned Error Types:
  1145  //   * ValidationException
  1146  //   The user input parameter was invalid.
  1147  //
  1148  //   * ThrottlingException
  1149  //   The user has exceeded their maximum number of allowed calls to the given
  1150  //   API.
  1151  //
  1152  //   * AccessDeniedException
  1153  //   Access is denied. Your account is not authorized to perform this operation.
  1154  //
  1155  //   * ResourceNotFoundException
  1156  //   The requested Data Store was not found.
  1157  //
  1158  //   * InternalServerException
  1159  //   Unknown error occurs in the service.
  1160  //
  1161  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/StartFHIRImportJob
  1162  func (c *HealthLake) StartFHIRImportJob(input *StartFHIRImportJobInput) (*StartFHIRImportJobOutput, error) {
  1163  	req, out := c.StartFHIRImportJobRequest(input)
  1164  	return out, req.Send()
  1165  }
  1166  
  1167  // StartFHIRImportJobWithContext is the same as StartFHIRImportJob with the addition of
  1168  // the ability to pass a context and additional request options.
  1169  //
  1170  // See StartFHIRImportJob for details on how to use this API operation.
  1171  //
  1172  // The context must be non-nil and will be used for request cancellation. If
  1173  // the context is nil a panic will occur. In the future the SDK may create
  1174  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1175  // for more information on using Contexts.
  1176  func (c *HealthLake) StartFHIRImportJobWithContext(ctx aws.Context, input *StartFHIRImportJobInput, opts ...request.Option) (*StartFHIRImportJobOutput, error) {
  1177  	req, out := c.StartFHIRImportJobRequest(input)
  1178  	req.SetContext(ctx)
  1179  	req.ApplyOptions(opts...)
  1180  	return out, req.Send()
  1181  }
  1182  
  1183  const opTagResource = "TagResource"
  1184  
  1185  // TagResourceRequest generates a "aws/request.Request" representing the
  1186  // client's request for the TagResource operation. The "output" return
  1187  // value will be populated with the request's response once the request completes
  1188  // successfully.
  1189  //
  1190  // Use "Send" method on the returned Request to send the API call to the service.
  1191  // the "output" return value is not valid until after Send returns without error.
  1192  //
  1193  // See TagResource for more information on using the TagResource
  1194  // API call, and error handling.
  1195  //
  1196  // This method is useful when you want to inject custom logic or configuration
  1197  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1198  //
  1199  //
  1200  //    // Example sending a request using the TagResourceRequest method.
  1201  //    req, resp := client.TagResourceRequest(params)
  1202  //
  1203  //    err := req.Send()
  1204  //    if err == nil { // resp is now filled
  1205  //        fmt.Println(resp)
  1206  //    }
  1207  //
  1208  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/TagResource
  1209  func (c *HealthLake) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1210  	op := &request.Operation{
  1211  		Name:       opTagResource,
  1212  		HTTPMethod: "POST",
  1213  		HTTPPath:   "/",
  1214  	}
  1215  
  1216  	if input == nil {
  1217  		input = &TagResourceInput{}
  1218  	}
  1219  
  1220  	output = &TagResourceOutput{}
  1221  	req = c.newRequest(op, input, output)
  1222  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1223  	return
  1224  }
  1225  
  1226  // TagResource API operation for Amazon HealthLake.
  1227  //
  1228  // Adds a user specifed key and value tag to a Data Store.
  1229  //
  1230  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1231  // with awserr.Error's Code and Message methods to get detailed information about
  1232  // the error.
  1233  //
  1234  // See the AWS API reference guide for Amazon HealthLake's
  1235  // API operation TagResource for usage and error information.
  1236  //
  1237  // Returned Error Types:
  1238  //   * ValidationException
  1239  //   The user input parameter was invalid.
  1240  //
  1241  //   * ResourceNotFoundException
  1242  //   The requested Data Store was not found.
  1243  //
  1244  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/TagResource
  1245  func (c *HealthLake) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1246  	req, out := c.TagResourceRequest(input)
  1247  	return out, req.Send()
  1248  }
  1249  
  1250  // TagResourceWithContext is the same as TagResource with the addition of
  1251  // the ability to pass a context and additional request options.
  1252  //
  1253  // See TagResource for details on how to use this API operation.
  1254  //
  1255  // The context must be non-nil and will be used for request cancellation. If
  1256  // the context is nil a panic will occur. In the future the SDK may create
  1257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1258  // for more information on using Contexts.
  1259  func (c *HealthLake) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1260  	req, out := c.TagResourceRequest(input)
  1261  	req.SetContext(ctx)
  1262  	req.ApplyOptions(opts...)
  1263  	return out, req.Send()
  1264  }
  1265  
  1266  const opUntagResource = "UntagResource"
  1267  
  1268  // UntagResourceRequest generates a "aws/request.Request" representing the
  1269  // client's request for the UntagResource operation. The "output" return
  1270  // value will be populated with the request's response once the request completes
  1271  // successfully.
  1272  //
  1273  // Use "Send" method on the returned Request to send the API call to the service.
  1274  // the "output" return value is not valid until after Send returns without error.
  1275  //
  1276  // See UntagResource for more information on using the UntagResource
  1277  // API call, and error handling.
  1278  //
  1279  // This method is useful when you want to inject custom logic or configuration
  1280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1281  //
  1282  //
  1283  //    // Example sending a request using the UntagResourceRequest method.
  1284  //    req, resp := client.UntagResourceRequest(params)
  1285  //
  1286  //    err := req.Send()
  1287  //    if err == nil { // resp is now filled
  1288  //        fmt.Println(resp)
  1289  //    }
  1290  //
  1291  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/UntagResource
  1292  func (c *HealthLake) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1293  	op := &request.Operation{
  1294  		Name:       opUntagResource,
  1295  		HTTPMethod: "POST",
  1296  		HTTPPath:   "/",
  1297  	}
  1298  
  1299  	if input == nil {
  1300  		input = &UntagResourceInput{}
  1301  	}
  1302  
  1303  	output = &UntagResourceOutput{}
  1304  	req = c.newRequest(op, input, output)
  1305  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1306  	return
  1307  }
  1308  
  1309  // UntagResource API operation for Amazon HealthLake.
  1310  //
  1311  // Removes tags from a Data Store.
  1312  //
  1313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1314  // with awserr.Error's Code and Message methods to get detailed information about
  1315  // the error.
  1316  //
  1317  // See the AWS API reference guide for Amazon HealthLake's
  1318  // API operation UntagResource for usage and error information.
  1319  //
  1320  // Returned Error Types:
  1321  //   * ValidationException
  1322  //   The user input parameter was invalid.
  1323  //
  1324  //   * ResourceNotFoundException
  1325  //   The requested Data Store was not found.
  1326  //
  1327  // See also, https://docs.aws.amazon.com/goto/WebAPI/healthlake-2017-07-01/UntagResource
  1328  func (c *HealthLake) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1329  	req, out := c.UntagResourceRequest(input)
  1330  	return out, req.Send()
  1331  }
  1332  
  1333  // UntagResourceWithContext is the same as UntagResource with the addition of
  1334  // the ability to pass a context and additional request options.
  1335  //
  1336  // See UntagResource for details on how to use this API operation.
  1337  //
  1338  // The context must be non-nil and will be used for request cancellation. If
  1339  // the context is nil a panic will occur. In the future the SDK may create
  1340  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1341  // for more information on using Contexts.
  1342  func (c *HealthLake) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1343  	req, out := c.UntagResourceRequest(input)
  1344  	req.SetContext(ctx)
  1345  	req.ApplyOptions(opts...)
  1346  	return out, req.Send()
  1347  }
  1348  
  1349  // Access is denied. Your account is not authorized to perform this operation.
  1350  type AccessDeniedException struct {
  1351  	_            struct{}                  `type:"structure"`
  1352  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1353  
  1354  	Message_ *string `locationName:"Message" type:"string"`
  1355  }
  1356  
  1357  // String returns the string representation.
  1358  //
  1359  // API parameter values that are decorated as "sensitive" in the API will not
  1360  // be included in the string output. The member name will be present, but the
  1361  // value will be replaced with "sensitive".
  1362  func (s AccessDeniedException) String() string {
  1363  	return awsutil.Prettify(s)
  1364  }
  1365  
  1366  // GoString returns the string representation.
  1367  //
  1368  // API parameter values that are decorated as "sensitive" in the API will not
  1369  // be included in the string output. The member name will be present, but the
  1370  // value will be replaced with "sensitive".
  1371  func (s AccessDeniedException) GoString() string {
  1372  	return s.String()
  1373  }
  1374  
  1375  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  1376  	return &AccessDeniedException{
  1377  		RespMetadata: v,
  1378  	}
  1379  }
  1380  
  1381  // Code returns the exception type name.
  1382  func (s *AccessDeniedException) Code() string {
  1383  	return "AccessDeniedException"
  1384  }
  1385  
  1386  // Message returns the exception's message.
  1387  func (s *AccessDeniedException) Message() string {
  1388  	if s.Message_ != nil {
  1389  		return *s.Message_
  1390  	}
  1391  	return ""
  1392  }
  1393  
  1394  // OrigErr always returns nil, satisfies awserr.Error interface.
  1395  func (s *AccessDeniedException) OrigErr() error {
  1396  	return nil
  1397  }
  1398  
  1399  func (s *AccessDeniedException) Error() string {
  1400  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1401  }
  1402  
  1403  // Status code returns the HTTP status code for the request's response error.
  1404  func (s *AccessDeniedException) StatusCode() int {
  1405  	return s.RespMetadata.StatusCode
  1406  }
  1407  
  1408  // RequestID returns the service's response RequestID for request.
  1409  func (s *AccessDeniedException) RequestID() string {
  1410  	return s.RespMetadata.RequestID
  1411  }
  1412  
  1413  // The Data Store is in a transition state and the user requested action can
  1414  // not be performed.
  1415  type ConflictException struct {
  1416  	_            struct{}                  `type:"structure"`
  1417  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1418  
  1419  	Message_ *string `locationName:"Message" type:"string"`
  1420  }
  1421  
  1422  // String returns the string representation.
  1423  //
  1424  // API parameter values that are decorated as "sensitive" in the API will not
  1425  // be included in the string output. The member name will be present, but the
  1426  // value will be replaced with "sensitive".
  1427  func (s ConflictException) String() string {
  1428  	return awsutil.Prettify(s)
  1429  }
  1430  
  1431  // GoString returns the string representation.
  1432  //
  1433  // API parameter values that are decorated as "sensitive" in the API will not
  1434  // be included in the string output. The member name will be present, but the
  1435  // value will be replaced with "sensitive".
  1436  func (s ConflictException) GoString() string {
  1437  	return s.String()
  1438  }
  1439  
  1440  func newErrorConflictException(v protocol.ResponseMetadata) error {
  1441  	return &ConflictException{
  1442  		RespMetadata: v,
  1443  	}
  1444  }
  1445  
  1446  // Code returns the exception type name.
  1447  func (s *ConflictException) Code() string {
  1448  	return "ConflictException"
  1449  }
  1450  
  1451  // Message returns the exception's message.
  1452  func (s *ConflictException) Message() string {
  1453  	if s.Message_ != nil {
  1454  		return *s.Message_
  1455  	}
  1456  	return ""
  1457  }
  1458  
  1459  // OrigErr always returns nil, satisfies awserr.Error interface.
  1460  func (s *ConflictException) OrigErr() error {
  1461  	return nil
  1462  }
  1463  
  1464  func (s *ConflictException) Error() string {
  1465  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1466  }
  1467  
  1468  // Status code returns the HTTP status code for the request's response error.
  1469  func (s *ConflictException) StatusCode() int {
  1470  	return s.RespMetadata.StatusCode
  1471  }
  1472  
  1473  // RequestID returns the service's response RequestID for request.
  1474  func (s *ConflictException) RequestID() string {
  1475  	return s.RespMetadata.RequestID
  1476  }
  1477  
  1478  type CreateFHIRDatastoreInput struct {
  1479  	_ struct{} `type:"structure"`
  1480  
  1481  	// Optional user provided token used for ensuring idempotency.
  1482  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  1483  
  1484  	// The user generated name for the Data Store.
  1485  	DatastoreName *string `min:"1" type:"string"`
  1486  
  1487  	// The FHIR version of the Data Store. The only supported version is R4.
  1488  	//
  1489  	// DatastoreTypeVersion is a required field
  1490  	DatastoreTypeVersion *string `type:"string" required:"true" enum:"FHIRVersion"`
  1491  
  1492  	// Optional parameter to preload data upon creation of the Data Store. Currently,
  1493  	// the only supported preloaded data is synthetic data generated from Synthea.
  1494  	PreloadDataConfig *PreloadDataConfig `type:"structure"`
  1495  
  1496  	// The server-side encryption key configuration for a customer provided encryption
  1497  	// key specified for creating a Data Store.
  1498  	SseConfiguration *SseConfiguration `type:"structure"`
  1499  
  1500  	// Resource tags that are applied to a Data Store when it is created.
  1501  	Tags []*Tag `type:"list"`
  1502  }
  1503  
  1504  // String returns the string representation.
  1505  //
  1506  // API parameter values that are decorated as "sensitive" in the API will not
  1507  // be included in the string output. The member name will be present, but the
  1508  // value will be replaced with "sensitive".
  1509  func (s CreateFHIRDatastoreInput) String() string {
  1510  	return awsutil.Prettify(s)
  1511  }
  1512  
  1513  // GoString returns the string representation.
  1514  //
  1515  // API parameter values that are decorated as "sensitive" in the API will not
  1516  // be included in the string output. The member name will be present, but the
  1517  // value will be replaced with "sensitive".
  1518  func (s CreateFHIRDatastoreInput) GoString() string {
  1519  	return s.String()
  1520  }
  1521  
  1522  // Validate inspects the fields of the type to determine if they are valid.
  1523  func (s *CreateFHIRDatastoreInput) Validate() error {
  1524  	invalidParams := request.ErrInvalidParams{Context: "CreateFHIRDatastoreInput"}
  1525  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1526  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1527  	}
  1528  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
  1529  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
  1530  	}
  1531  	if s.DatastoreTypeVersion == nil {
  1532  		invalidParams.Add(request.NewErrParamRequired("DatastoreTypeVersion"))
  1533  	}
  1534  	if s.PreloadDataConfig != nil {
  1535  		if err := s.PreloadDataConfig.Validate(); err != nil {
  1536  			invalidParams.AddNested("PreloadDataConfig", err.(request.ErrInvalidParams))
  1537  		}
  1538  	}
  1539  	if s.SseConfiguration != nil {
  1540  		if err := s.SseConfiguration.Validate(); err != nil {
  1541  			invalidParams.AddNested("SseConfiguration", err.(request.ErrInvalidParams))
  1542  		}
  1543  	}
  1544  	if s.Tags != nil {
  1545  		for i, v := range s.Tags {
  1546  			if v == nil {
  1547  				continue
  1548  			}
  1549  			if err := v.Validate(); err != nil {
  1550  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  1551  			}
  1552  		}
  1553  	}
  1554  
  1555  	if invalidParams.Len() > 0 {
  1556  		return invalidParams
  1557  	}
  1558  	return nil
  1559  }
  1560  
  1561  // SetClientToken sets the ClientToken field's value.
  1562  func (s *CreateFHIRDatastoreInput) SetClientToken(v string) *CreateFHIRDatastoreInput {
  1563  	s.ClientToken = &v
  1564  	return s
  1565  }
  1566  
  1567  // SetDatastoreName sets the DatastoreName field's value.
  1568  func (s *CreateFHIRDatastoreInput) SetDatastoreName(v string) *CreateFHIRDatastoreInput {
  1569  	s.DatastoreName = &v
  1570  	return s
  1571  }
  1572  
  1573  // SetDatastoreTypeVersion sets the DatastoreTypeVersion field's value.
  1574  func (s *CreateFHIRDatastoreInput) SetDatastoreTypeVersion(v string) *CreateFHIRDatastoreInput {
  1575  	s.DatastoreTypeVersion = &v
  1576  	return s
  1577  }
  1578  
  1579  // SetPreloadDataConfig sets the PreloadDataConfig field's value.
  1580  func (s *CreateFHIRDatastoreInput) SetPreloadDataConfig(v *PreloadDataConfig) *CreateFHIRDatastoreInput {
  1581  	s.PreloadDataConfig = v
  1582  	return s
  1583  }
  1584  
  1585  // SetSseConfiguration sets the SseConfiguration field's value.
  1586  func (s *CreateFHIRDatastoreInput) SetSseConfiguration(v *SseConfiguration) *CreateFHIRDatastoreInput {
  1587  	s.SseConfiguration = v
  1588  	return s
  1589  }
  1590  
  1591  // SetTags sets the Tags field's value.
  1592  func (s *CreateFHIRDatastoreInput) SetTags(v []*Tag) *CreateFHIRDatastoreInput {
  1593  	s.Tags = v
  1594  	return s
  1595  }
  1596  
  1597  type CreateFHIRDatastoreOutput struct {
  1598  	_ struct{} `type:"structure"`
  1599  
  1600  	// The datastore ARN is generated during the creation of the Data Store and
  1601  	// can be found in the output from the initial Data Store creation call.
  1602  	//
  1603  	// DatastoreArn is a required field
  1604  	DatastoreArn *string `type:"string" required:"true"`
  1605  
  1606  	// The AWS endpoint for the created Data Store. For preview, only US-east-1
  1607  	// endpoints are supported.
  1608  	//
  1609  	// DatastoreEndpoint is a required field
  1610  	DatastoreEndpoint *string `min:"1" type:"string" required:"true"`
  1611  
  1612  	// The AWS-generated Data Store id. This id is in the output from the initial
  1613  	// Data Store creation call.
  1614  	//
  1615  	// DatastoreId is a required field
  1616  	DatastoreId *string `min:"1" type:"string" required:"true"`
  1617  
  1618  	// The status of the FHIR Data Store. Possible statuses are ‘CREATING’,
  1619  	// ‘ACTIVE’, ‘DELETING’, ‘DELETED’.
  1620  	//
  1621  	// DatastoreStatus is a required field
  1622  	DatastoreStatus *string `type:"string" required:"true" enum:"DatastoreStatus"`
  1623  }
  1624  
  1625  // String returns the string representation.
  1626  //
  1627  // API parameter values that are decorated as "sensitive" in the API will not
  1628  // be included in the string output. The member name will be present, but the
  1629  // value will be replaced with "sensitive".
  1630  func (s CreateFHIRDatastoreOutput) String() string {
  1631  	return awsutil.Prettify(s)
  1632  }
  1633  
  1634  // GoString returns the string representation.
  1635  //
  1636  // API parameter values that are decorated as "sensitive" in the API will not
  1637  // be included in the string output. The member name will be present, but the
  1638  // value will be replaced with "sensitive".
  1639  func (s CreateFHIRDatastoreOutput) GoString() string {
  1640  	return s.String()
  1641  }
  1642  
  1643  // SetDatastoreArn sets the DatastoreArn field's value.
  1644  func (s *CreateFHIRDatastoreOutput) SetDatastoreArn(v string) *CreateFHIRDatastoreOutput {
  1645  	s.DatastoreArn = &v
  1646  	return s
  1647  }
  1648  
  1649  // SetDatastoreEndpoint sets the DatastoreEndpoint field's value.
  1650  func (s *CreateFHIRDatastoreOutput) SetDatastoreEndpoint(v string) *CreateFHIRDatastoreOutput {
  1651  	s.DatastoreEndpoint = &v
  1652  	return s
  1653  }
  1654  
  1655  // SetDatastoreId sets the DatastoreId field's value.
  1656  func (s *CreateFHIRDatastoreOutput) SetDatastoreId(v string) *CreateFHIRDatastoreOutput {
  1657  	s.DatastoreId = &v
  1658  	return s
  1659  }
  1660  
  1661  // SetDatastoreStatus sets the DatastoreStatus field's value.
  1662  func (s *CreateFHIRDatastoreOutput) SetDatastoreStatus(v string) *CreateFHIRDatastoreOutput {
  1663  	s.DatastoreStatus = &v
  1664  	return s
  1665  }
  1666  
  1667  // The filters applied to Data Store query.
  1668  type DatastoreFilter struct {
  1669  	_ struct{} `type:"structure"`
  1670  
  1671  	// A filter that allows the user to set cutoff dates for records. All Data Stores
  1672  	// created after the specified date will be included in the results.
  1673  	CreatedAfter *time.Time `type:"timestamp"`
  1674  
  1675  	// A filter that allows the user to set cutoff dates for records. All Data Stores
  1676  	// created before the specified date will be included in the results.
  1677  	CreatedBefore *time.Time `type:"timestamp"`
  1678  
  1679  	// Allows the user to filter Data Store results by name.
  1680  	DatastoreName *string `min:"1" type:"string"`
  1681  
  1682  	// Allows the user to filter Data Store results by status.
  1683  	DatastoreStatus *string `type:"string" enum:"DatastoreStatus"`
  1684  }
  1685  
  1686  // String returns the string representation.
  1687  //
  1688  // API parameter values that are decorated as "sensitive" in the API will not
  1689  // be included in the string output. The member name will be present, but the
  1690  // value will be replaced with "sensitive".
  1691  func (s DatastoreFilter) String() string {
  1692  	return awsutil.Prettify(s)
  1693  }
  1694  
  1695  // GoString returns the string representation.
  1696  //
  1697  // API parameter values that are decorated as "sensitive" in the API will not
  1698  // be included in the string output. The member name will be present, but the
  1699  // value will be replaced with "sensitive".
  1700  func (s DatastoreFilter) GoString() string {
  1701  	return s.String()
  1702  }
  1703  
  1704  // Validate inspects the fields of the type to determine if they are valid.
  1705  func (s *DatastoreFilter) Validate() error {
  1706  	invalidParams := request.ErrInvalidParams{Context: "DatastoreFilter"}
  1707  	if s.DatastoreName != nil && len(*s.DatastoreName) < 1 {
  1708  		invalidParams.Add(request.NewErrParamMinLen("DatastoreName", 1))
  1709  	}
  1710  
  1711  	if invalidParams.Len() > 0 {
  1712  		return invalidParams
  1713  	}
  1714  	return nil
  1715  }
  1716  
  1717  // SetCreatedAfter sets the CreatedAfter field's value.
  1718  func (s *DatastoreFilter) SetCreatedAfter(v time.Time) *DatastoreFilter {
  1719  	s.CreatedAfter = &v
  1720  	return s
  1721  }
  1722  
  1723  // SetCreatedBefore sets the CreatedBefore field's value.
  1724  func (s *DatastoreFilter) SetCreatedBefore(v time.Time) *DatastoreFilter {
  1725  	s.CreatedBefore = &v
  1726  	return s
  1727  }
  1728  
  1729  // SetDatastoreName sets the DatastoreName field's value.
  1730  func (s *DatastoreFilter) SetDatastoreName(v string) *DatastoreFilter {
  1731  	s.DatastoreName = &v
  1732  	return s
  1733  }
  1734  
  1735  // SetDatastoreStatus sets the DatastoreStatus field's value.
  1736  func (s *DatastoreFilter) SetDatastoreStatus(v string) *DatastoreFilter {
  1737  	s.DatastoreStatus = &v
  1738  	return s
  1739  }
  1740  
  1741  // Displays the properties of the Data Store, including the ID, Arn, name, and
  1742  // the status of the Data Store.
  1743  type DatastoreProperties struct {
  1744  	_ struct{} `type:"structure"`
  1745  
  1746  	// The time that a Data Store was created.
  1747  	CreatedAt *time.Time `type:"timestamp"`
  1748  
  1749  	// The Amazon Resource Name used in the creation of the Data Store.
  1750  	//
  1751  	// DatastoreArn is a required field
  1752  	DatastoreArn *string `type:"string" required:"true"`
  1753  
  1754  	// The AWS endpoint for the Data Store. Each Data Store will have it's own endpoint
  1755  	// with Data Store ID in the endpoint URL.
  1756  	//
  1757  	// DatastoreEndpoint is a required field
  1758  	DatastoreEndpoint *string `type:"string" required:"true"`
  1759  
  1760  	// The AWS-generated ID number for the Data Store.
  1761  	//
  1762  	// DatastoreId is a required field
  1763  	DatastoreId *string `min:"1" type:"string" required:"true"`
  1764  
  1765  	// The user-generated name for the Data Store.
  1766  	DatastoreName *string `min:"1" type:"string"`
  1767  
  1768  	// The status of the Data Store. Possible statuses are 'CREATING', 'ACTIVE',
  1769  	// 'DELETING', or 'DELETED'.
  1770  	//
  1771  	// DatastoreStatus is a required field
  1772  	DatastoreStatus *string `type:"string" required:"true" enum:"DatastoreStatus"`
  1773  
  1774  	// The FHIR version. Only R4 version data is supported.
  1775  	//
  1776  	// DatastoreTypeVersion is a required field
  1777  	DatastoreTypeVersion *string `type:"string" required:"true" enum:"FHIRVersion"`
  1778  
  1779  	// The preloaded data configuration for the Data Store. Only data preloaded
  1780  	// from Synthea is supported.
  1781  	PreloadDataConfig *PreloadDataConfig `type:"structure"`
  1782  
  1783  	// The server-side encryption key configuration for a customer provided encryption
  1784  	// key (CMK).
  1785  	SseConfiguration *SseConfiguration `type:"structure"`
  1786  }
  1787  
  1788  // String returns the string representation.
  1789  //
  1790  // API parameter values that are decorated as "sensitive" in the API will not
  1791  // be included in the string output. The member name will be present, but the
  1792  // value will be replaced with "sensitive".
  1793  func (s DatastoreProperties) String() string {
  1794  	return awsutil.Prettify(s)
  1795  }
  1796  
  1797  // GoString returns the string representation.
  1798  //
  1799  // API parameter values that are decorated as "sensitive" in the API will not
  1800  // be included in the string output. The member name will be present, but the
  1801  // value will be replaced with "sensitive".
  1802  func (s DatastoreProperties) GoString() string {
  1803  	return s.String()
  1804  }
  1805  
  1806  // SetCreatedAt sets the CreatedAt field's value.
  1807  func (s *DatastoreProperties) SetCreatedAt(v time.Time) *DatastoreProperties {
  1808  	s.CreatedAt = &v
  1809  	return s
  1810  }
  1811  
  1812  // SetDatastoreArn sets the DatastoreArn field's value.
  1813  func (s *DatastoreProperties) SetDatastoreArn(v string) *DatastoreProperties {
  1814  	s.DatastoreArn = &v
  1815  	return s
  1816  }
  1817  
  1818  // SetDatastoreEndpoint sets the DatastoreEndpoint field's value.
  1819  func (s *DatastoreProperties) SetDatastoreEndpoint(v string) *DatastoreProperties {
  1820  	s.DatastoreEndpoint = &v
  1821  	return s
  1822  }
  1823  
  1824  // SetDatastoreId sets the DatastoreId field's value.
  1825  func (s *DatastoreProperties) SetDatastoreId(v string) *DatastoreProperties {
  1826  	s.DatastoreId = &v
  1827  	return s
  1828  }
  1829  
  1830  // SetDatastoreName sets the DatastoreName field's value.
  1831  func (s *DatastoreProperties) SetDatastoreName(v string) *DatastoreProperties {
  1832  	s.DatastoreName = &v
  1833  	return s
  1834  }
  1835  
  1836  // SetDatastoreStatus sets the DatastoreStatus field's value.
  1837  func (s *DatastoreProperties) SetDatastoreStatus(v string) *DatastoreProperties {
  1838  	s.DatastoreStatus = &v
  1839  	return s
  1840  }
  1841  
  1842  // SetDatastoreTypeVersion sets the DatastoreTypeVersion field's value.
  1843  func (s *DatastoreProperties) SetDatastoreTypeVersion(v string) *DatastoreProperties {
  1844  	s.DatastoreTypeVersion = &v
  1845  	return s
  1846  }
  1847  
  1848  // SetPreloadDataConfig sets the PreloadDataConfig field's value.
  1849  func (s *DatastoreProperties) SetPreloadDataConfig(v *PreloadDataConfig) *DatastoreProperties {
  1850  	s.PreloadDataConfig = v
  1851  	return s
  1852  }
  1853  
  1854  // SetSseConfiguration sets the SseConfiguration field's value.
  1855  func (s *DatastoreProperties) SetSseConfiguration(v *SseConfiguration) *DatastoreProperties {
  1856  	s.SseConfiguration = v
  1857  	return s
  1858  }
  1859  
  1860  type DeleteFHIRDatastoreInput struct {
  1861  	_ struct{} `type:"structure"`
  1862  
  1863  	// The AWS-generated ID for the Data Store to be deleted.
  1864  	DatastoreId *string `min:"1" type:"string"`
  1865  }
  1866  
  1867  // String returns the string representation.
  1868  //
  1869  // API parameter values that are decorated as "sensitive" in the API will not
  1870  // be included in the string output. The member name will be present, but the
  1871  // value will be replaced with "sensitive".
  1872  func (s DeleteFHIRDatastoreInput) String() string {
  1873  	return awsutil.Prettify(s)
  1874  }
  1875  
  1876  // GoString returns the string representation.
  1877  //
  1878  // API parameter values that are decorated as "sensitive" in the API will not
  1879  // be included in the string output. The member name will be present, but the
  1880  // value will be replaced with "sensitive".
  1881  func (s DeleteFHIRDatastoreInput) GoString() string {
  1882  	return s.String()
  1883  }
  1884  
  1885  // Validate inspects the fields of the type to determine if they are valid.
  1886  func (s *DeleteFHIRDatastoreInput) Validate() error {
  1887  	invalidParams := request.ErrInvalidParams{Context: "DeleteFHIRDatastoreInput"}
  1888  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  1889  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  1890  	}
  1891  
  1892  	if invalidParams.Len() > 0 {
  1893  		return invalidParams
  1894  	}
  1895  	return nil
  1896  }
  1897  
  1898  // SetDatastoreId sets the DatastoreId field's value.
  1899  func (s *DeleteFHIRDatastoreInput) SetDatastoreId(v string) *DeleteFHIRDatastoreInput {
  1900  	s.DatastoreId = &v
  1901  	return s
  1902  }
  1903  
  1904  type DeleteFHIRDatastoreOutput struct {
  1905  	_ struct{} `type:"structure"`
  1906  
  1907  	// The Amazon Resource Name (ARN) that gives Amazon HealthLake access permission.
  1908  	//
  1909  	// DatastoreArn is a required field
  1910  	DatastoreArn *string `type:"string" required:"true"`
  1911  
  1912  	// The AWS endpoint for the Data Store the user has requested to be deleted.
  1913  	//
  1914  	// DatastoreEndpoint is a required field
  1915  	DatastoreEndpoint *string `min:"1" type:"string" required:"true"`
  1916  
  1917  	// The AWS-generated ID for the Data Store to be deleted.
  1918  	//
  1919  	// DatastoreId is a required field
  1920  	DatastoreId *string `min:"1" type:"string" required:"true"`
  1921  
  1922  	// The status of the Data Store that the user has requested to be deleted.
  1923  	//
  1924  	// DatastoreStatus is a required field
  1925  	DatastoreStatus *string `type:"string" required:"true" enum:"DatastoreStatus"`
  1926  }
  1927  
  1928  // String returns the string representation.
  1929  //
  1930  // API parameter values that are decorated as "sensitive" in the API will not
  1931  // be included in the string output. The member name will be present, but the
  1932  // value will be replaced with "sensitive".
  1933  func (s DeleteFHIRDatastoreOutput) String() string {
  1934  	return awsutil.Prettify(s)
  1935  }
  1936  
  1937  // GoString returns the string representation.
  1938  //
  1939  // API parameter values that are decorated as "sensitive" in the API will not
  1940  // be included in the string output. The member name will be present, but the
  1941  // value will be replaced with "sensitive".
  1942  func (s DeleteFHIRDatastoreOutput) GoString() string {
  1943  	return s.String()
  1944  }
  1945  
  1946  // SetDatastoreArn sets the DatastoreArn field's value.
  1947  func (s *DeleteFHIRDatastoreOutput) SetDatastoreArn(v string) *DeleteFHIRDatastoreOutput {
  1948  	s.DatastoreArn = &v
  1949  	return s
  1950  }
  1951  
  1952  // SetDatastoreEndpoint sets the DatastoreEndpoint field's value.
  1953  func (s *DeleteFHIRDatastoreOutput) SetDatastoreEndpoint(v string) *DeleteFHIRDatastoreOutput {
  1954  	s.DatastoreEndpoint = &v
  1955  	return s
  1956  }
  1957  
  1958  // SetDatastoreId sets the DatastoreId field's value.
  1959  func (s *DeleteFHIRDatastoreOutput) SetDatastoreId(v string) *DeleteFHIRDatastoreOutput {
  1960  	s.DatastoreId = &v
  1961  	return s
  1962  }
  1963  
  1964  // SetDatastoreStatus sets the DatastoreStatus field's value.
  1965  func (s *DeleteFHIRDatastoreOutput) SetDatastoreStatus(v string) *DeleteFHIRDatastoreOutput {
  1966  	s.DatastoreStatus = &v
  1967  	return s
  1968  }
  1969  
  1970  type DescribeFHIRDatastoreInput struct {
  1971  	_ struct{} `type:"structure"`
  1972  
  1973  	// The AWS-generated Data Store id. This is part of the ‘CreateFHIRDatastore’
  1974  	// output.
  1975  	DatastoreId *string `min:"1" type:"string"`
  1976  }
  1977  
  1978  // String returns the string representation.
  1979  //
  1980  // API parameter values that are decorated as "sensitive" in the API will not
  1981  // be included in the string output. The member name will be present, but the
  1982  // value will be replaced with "sensitive".
  1983  func (s DescribeFHIRDatastoreInput) String() string {
  1984  	return awsutil.Prettify(s)
  1985  }
  1986  
  1987  // GoString returns the string representation.
  1988  //
  1989  // API parameter values that are decorated as "sensitive" in the API will not
  1990  // be included in the string output. The member name will be present, but the
  1991  // value will be replaced with "sensitive".
  1992  func (s DescribeFHIRDatastoreInput) GoString() string {
  1993  	return s.String()
  1994  }
  1995  
  1996  // Validate inspects the fields of the type to determine if they are valid.
  1997  func (s *DescribeFHIRDatastoreInput) Validate() error {
  1998  	invalidParams := request.ErrInvalidParams{Context: "DescribeFHIRDatastoreInput"}
  1999  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  2000  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  2001  	}
  2002  
  2003  	if invalidParams.Len() > 0 {
  2004  		return invalidParams
  2005  	}
  2006  	return nil
  2007  }
  2008  
  2009  // SetDatastoreId sets the DatastoreId field's value.
  2010  func (s *DescribeFHIRDatastoreInput) SetDatastoreId(v string) *DescribeFHIRDatastoreInput {
  2011  	s.DatastoreId = &v
  2012  	return s
  2013  }
  2014  
  2015  type DescribeFHIRDatastoreOutput struct {
  2016  	_ struct{} `type:"structure"`
  2017  
  2018  	// All properties associated with a Data Store, including the Data Store ID,
  2019  	// Data Store ARN, Data Store name, Data Store status, created at, Data Store
  2020  	// type version, and Data Store endpoint.
  2021  	//
  2022  	// DatastoreProperties is a required field
  2023  	DatastoreProperties *DatastoreProperties `type:"structure" required:"true"`
  2024  }
  2025  
  2026  // String returns the string representation.
  2027  //
  2028  // API parameter values that are decorated as "sensitive" in the API will not
  2029  // be included in the string output. The member name will be present, but the
  2030  // value will be replaced with "sensitive".
  2031  func (s DescribeFHIRDatastoreOutput) String() string {
  2032  	return awsutil.Prettify(s)
  2033  }
  2034  
  2035  // GoString returns the string representation.
  2036  //
  2037  // API parameter values that are decorated as "sensitive" in the API will not
  2038  // be included in the string output. The member name will be present, but the
  2039  // value will be replaced with "sensitive".
  2040  func (s DescribeFHIRDatastoreOutput) GoString() string {
  2041  	return s.String()
  2042  }
  2043  
  2044  // SetDatastoreProperties sets the DatastoreProperties field's value.
  2045  func (s *DescribeFHIRDatastoreOutput) SetDatastoreProperties(v *DatastoreProperties) *DescribeFHIRDatastoreOutput {
  2046  	s.DatastoreProperties = v
  2047  	return s
  2048  }
  2049  
  2050  type DescribeFHIRExportJobInput struct {
  2051  	_ struct{} `type:"structure"`
  2052  
  2053  	// The AWS generated ID for the Data Store from which files are being exported
  2054  	// from for an export job.
  2055  	//
  2056  	// DatastoreId is a required field
  2057  	DatastoreId *string `min:"1" type:"string" required:"true"`
  2058  
  2059  	// The AWS generated ID for an export job.
  2060  	//
  2061  	// JobId is a required field
  2062  	JobId *string `min:"1" type:"string" required:"true"`
  2063  }
  2064  
  2065  // String returns the string representation.
  2066  //
  2067  // API parameter values that are decorated as "sensitive" in the API will not
  2068  // be included in the string output. The member name will be present, but the
  2069  // value will be replaced with "sensitive".
  2070  func (s DescribeFHIRExportJobInput) String() string {
  2071  	return awsutil.Prettify(s)
  2072  }
  2073  
  2074  // GoString returns the string representation.
  2075  //
  2076  // API parameter values that are decorated as "sensitive" in the API will not
  2077  // be included in the string output. The member name will be present, but the
  2078  // value will be replaced with "sensitive".
  2079  func (s DescribeFHIRExportJobInput) GoString() string {
  2080  	return s.String()
  2081  }
  2082  
  2083  // Validate inspects the fields of the type to determine if they are valid.
  2084  func (s *DescribeFHIRExportJobInput) Validate() error {
  2085  	invalidParams := request.ErrInvalidParams{Context: "DescribeFHIRExportJobInput"}
  2086  	if s.DatastoreId == nil {
  2087  		invalidParams.Add(request.NewErrParamRequired("DatastoreId"))
  2088  	}
  2089  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  2090  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  2091  	}
  2092  	if s.JobId == nil {
  2093  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  2094  	}
  2095  	if s.JobId != nil && len(*s.JobId) < 1 {
  2096  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
  2097  	}
  2098  
  2099  	if invalidParams.Len() > 0 {
  2100  		return invalidParams
  2101  	}
  2102  	return nil
  2103  }
  2104  
  2105  // SetDatastoreId sets the DatastoreId field's value.
  2106  func (s *DescribeFHIRExportJobInput) SetDatastoreId(v string) *DescribeFHIRExportJobInput {
  2107  	s.DatastoreId = &v
  2108  	return s
  2109  }
  2110  
  2111  // SetJobId sets the JobId field's value.
  2112  func (s *DescribeFHIRExportJobInput) SetJobId(v string) *DescribeFHIRExportJobInput {
  2113  	s.JobId = &v
  2114  	return s
  2115  }
  2116  
  2117  type DescribeFHIRExportJobOutput struct {
  2118  	_ struct{} `type:"structure"`
  2119  
  2120  	// Displays the properties of the export job, including the ID, Arn, Name, and
  2121  	// the status of the job.
  2122  	//
  2123  	// ExportJobProperties is a required field
  2124  	ExportJobProperties *ExportJobProperties `type:"structure" required:"true"`
  2125  }
  2126  
  2127  // String returns the string representation.
  2128  //
  2129  // API parameter values that are decorated as "sensitive" in the API will not
  2130  // be included in the string output. The member name will be present, but the
  2131  // value will be replaced with "sensitive".
  2132  func (s DescribeFHIRExportJobOutput) String() string {
  2133  	return awsutil.Prettify(s)
  2134  }
  2135  
  2136  // GoString returns the string representation.
  2137  //
  2138  // API parameter values that are decorated as "sensitive" in the API will not
  2139  // be included in the string output. The member name will be present, but the
  2140  // value will be replaced with "sensitive".
  2141  func (s DescribeFHIRExportJobOutput) GoString() string {
  2142  	return s.String()
  2143  }
  2144  
  2145  // SetExportJobProperties sets the ExportJobProperties field's value.
  2146  func (s *DescribeFHIRExportJobOutput) SetExportJobProperties(v *ExportJobProperties) *DescribeFHIRExportJobOutput {
  2147  	s.ExportJobProperties = v
  2148  	return s
  2149  }
  2150  
  2151  type DescribeFHIRImportJobInput struct {
  2152  	_ struct{} `type:"structure"`
  2153  
  2154  	// The AWS-generated ID of the Data Store.
  2155  	//
  2156  	// DatastoreId is a required field
  2157  	DatastoreId *string `min:"1" type:"string" required:"true"`
  2158  
  2159  	// The AWS-generated job ID.
  2160  	//
  2161  	// JobId is a required field
  2162  	JobId *string `min:"1" type:"string" required:"true"`
  2163  }
  2164  
  2165  // String returns the string representation.
  2166  //
  2167  // API parameter values that are decorated as "sensitive" in the API will not
  2168  // be included in the string output. The member name will be present, but the
  2169  // value will be replaced with "sensitive".
  2170  func (s DescribeFHIRImportJobInput) String() string {
  2171  	return awsutil.Prettify(s)
  2172  }
  2173  
  2174  // GoString returns the string representation.
  2175  //
  2176  // API parameter values that are decorated as "sensitive" in the API will not
  2177  // be included in the string output. The member name will be present, but the
  2178  // value will be replaced with "sensitive".
  2179  func (s DescribeFHIRImportJobInput) GoString() string {
  2180  	return s.String()
  2181  }
  2182  
  2183  // Validate inspects the fields of the type to determine if they are valid.
  2184  func (s *DescribeFHIRImportJobInput) Validate() error {
  2185  	invalidParams := request.ErrInvalidParams{Context: "DescribeFHIRImportJobInput"}
  2186  	if s.DatastoreId == nil {
  2187  		invalidParams.Add(request.NewErrParamRequired("DatastoreId"))
  2188  	}
  2189  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  2190  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  2191  	}
  2192  	if s.JobId == nil {
  2193  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  2194  	}
  2195  	if s.JobId != nil && len(*s.JobId) < 1 {
  2196  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
  2197  	}
  2198  
  2199  	if invalidParams.Len() > 0 {
  2200  		return invalidParams
  2201  	}
  2202  	return nil
  2203  }
  2204  
  2205  // SetDatastoreId sets the DatastoreId field's value.
  2206  func (s *DescribeFHIRImportJobInput) SetDatastoreId(v string) *DescribeFHIRImportJobInput {
  2207  	s.DatastoreId = &v
  2208  	return s
  2209  }
  2210  
  2211  // SetJobId sets the JobId field's value.
  2212  func (s *DescribeFHIRImportJobInput) SetJobId(v string) *DescribeFHIRImportJobInput {
  2213  	s.JobId = &v
  2214  	return s
  2215  }
  2216  
  2217  type DescribeFHIRImportJobOutput struct {
  2218  	_ struct{} `type:"structure"`
  2219  
  2220  	// The properties of the Import job request, including the ID, ARN, name, and
  2221  	// the status of the job.
  2222  	//
  2223  	// ImportJobProperties is a required field
  2224  	ImportJobProperties *ImportJobProperties `type:"structure" required:"true"`
  2225  }
  2226  
  2227  // String returns the string representation.
  2228  //
  2229  // API parameter values that are decorated as "sensitive" in the API will not
  2230  // be included in the string output. The member name will be present, but the
  2231  // value will be replaced with "sensitive".
  2232  func (s DescribeFHIRImportJobOutput) String() string {
  2233  	return awsutil.Prettify(s)
  2234  }
  2235  
  2236  // GoString returns the string representation.
  2237  //
  2238  // API parameter values that are decorated as "sensitive" in the API will not
  2239  // be included in the string output. The member name will be present, but the
  2240  // value will be replaced with "sensitive".
  2241  func (s DescribeFHIRImportJobOutput) GoString() string {
  2242  	return s.String()
  2243  }
  2244  
  2245  // SetImportJobProperties sets the ImportJobProperties field's value.
  2246  func (s *DescribeFHIRImportJobOutput) SetImportJobProperties(v *ImportJobProperties) *DescribeFHIRImportJobOutput {
  2247  	s.ImportJobProperties = v
  2248  	return s
  2249  }
  2250  
  2251  // The properties of a FHIR export job, including the ID, ARN, name, and the
  2252  // status of the job.
  2253  type ExportJobProperties struct {
  2254  	_ struct{} `type:"structure"`
  2255  
  2256  	// The Amazon Resource Name used during the initiation of the job.
  2257  	DataAccessRoleArn *string `min:"20" type:"string"`
  2258  
  2259  	// The AWS generated ID for the Data Store from which files are being exported
  2260  	// for an export job.
  2261  	//
  2262  	// DatastoreId is a required field
  2263  	DatastoreId *string `min:"1" type:"string" required:"true"`
  2264  
  2265  	// The time an export job completed.
  2266  	EndTime *time.Time `type:"timestamp"`
  2267  
  2268  	// The AWS generated ID for an export job.
  2269  	//
  2270  	// JobId is a required field
  2271  	JobId *string `min:"1" type:"string" required:"true"`
  2272  
  2273  	// The user generated name for an export job.
  2274  	JobName *string `min:"1" type:"string"`
  2275  
  2276  	// The status of a FHIR export job. Possible statuses are SUBMITTED, IN_PROGRESS,
  2277  	// COMPLETED, or FAILED.
  2278  	//
  2279  	// JobStatus is a required field
  2280  	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
  2281  
  2282  	// An explanation of any errors that may have occurred during the export job.
  2283  	Message *string `min:"1" type:"string"`
  2284  
  2285  	// The output data configuration that was supplied when the export job was created.
  2286  	//
  2287  	// OutputDataConfig is a required field
  2288  	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
  2289  
  2290  	// The time an export job was initiated.
  2291  	//
  2292  	// SubmitTime is a required field
  2293  	SubmitTime *time.Time `type:"timestamp" required:"true"`
  2294  }
  2295  
  2296  // String returns the string representation.
  2297  //
  2298  // API parameter values that are decorated as "sensitive" in the API will not
  2299  // be included in the string output. The member name will be present, but the
  2300  // value will be replaced with "sensitive".
  2301  func (s ExportJobProperties) String() string {
  2302  	return awsutil.Prettify(s)
  2303  }
  2304  
  2305  // GoString returns the string representation.
  2306  //
  2307  // API parameter values that are decorated as "sensitive" in the API will not
  2308  // be included in the string output. The member name will be present, but the
  2309  // value will be replaced with "sensitive".
  2310  func (s ExportJobProperties) GoString() string {
  2311  	return s.String()
  2312  }
  2313  
  2314  // SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
  2315  func (s *ExportJobProperties) SetDataAccessRoleArn(v string) *ExportJobProperties {
  2316  	s.DataAccessRoleArn = &v
  2317  	return s
  2318  }
  2319  
  2320  // SetDatastoreId sets the DatastoreId field's value.
  2321  func (s *ExportJobProperties) SetDatastoreId(v string) *ExportJobProperties {
  2322  	s.DatastoreId = &v
  2323  	return s
  2324  }
  2325  
  2326  // SetEndTime sets the EndTime field's value.
  2327  func (s *ExportJobProperties) SetEndTime(v time.Time) *ExportJobProperties {
  2328  	s.EndTime = &v
  2329  	return s
  2330  }
  2331  
  2332  // SetJobId sets the JobId field's value.
  2333  func (s *ExportJobProperties) SetJobId(v string) *ExportJobProperties {
  2334  	s.JobId = &v
  2335  	return s
  2336  }
  2337  
  2338  // SetJobName sets the JobName field's value.
  2339  func (s *ExportJobProperties) SetJobName(v string) *ExportJobProperties {
  2340  	s.JobName = &v
  2341  	return s
  2342  }
  2343  
  2344  // SetJobStatus sets the JobStatus field's value.
  2345  func (s *ExportJobProperties) SetJobStatus(v string) *ExportJobProperties {
  2346  	s.JobStatus = &v
  2347  	return s
  2348  }
  2349  
  2350  // SetMessage sets the Message field's value.
  2351  func (s *ExportJobProperties) SetMessage(v string) *ExportJobProperties {
  2352  	s.Message = &v
  2353  	return s
  2354  }
  2355  
  2356  // SetOutputDataConfig sets the OutputDataConfig field's value.
  2357  func (s *ExportJobProperties) SetOutputDataConfig(v *OutputDataConfig) *ExportJobProperties {
  2358  	s.OutputDataConfig = v
  2359  	return s
  2360  }
  2361  
  2362  // SetSubmitTime sets the SubmitTime field's value.
  2363  func (s *ExportJobProperties) SetSubmitTime(v time.Time) *ExportJobProperties {
  2364  	s.SubmitTime = &v
  2365  	return s
  2366  }
  2367  
  2368  // Displays the properties of the import job, including the ID, Arn, Name, and
  2369  // the status of the Data Store.
  2370  type ImportJobProperties struct {
  2371  	_ struct{} `type:"structure"`
  2372  
  2373  	// The Amazon Resource Name (ARN) that gives Amazon HealthLake access to your
  2374  	// input data.
  2375  	DataAccessRoleArn *string `min:"20" type:"string"`
  2376  
  2377  	// The datastore id used when the Import job was created.
  2378  	//
  2379  	// DatastoreId is a required field
  2380  	DatastoreId *string `min:"1" type:"string" required:"true"`
  2381  
  2382  	// The time that the Import job was completed.
  2383  	EndTime *time.Time `type:"timestamp"`
  2384  
  2385  	// The input data configuration that was supplied when the Import job was created.
  2386  	//
  2387  	// InputDataConfig is a required field
  2388  	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
  2389  
  2390  	// The AWS-generated id number for the Import job.
  2391  	//
  2392  	// JobId is a required field
  2393  	JobId *string `min:"1" type:"string" required:"true"`
  2394  
  2395  	// The user-generated name for an Import job.
  2396  	JobName *string `min:"1" type:"string"`
  2397  
  2398  	// The output data configuration that was supplied when the export job was created.
  2399  	JobOutputDataConfig *OutputDataConfig `type:"structure"`
  2400  
  2401  	// The job status for an Import job. Possible statuses are SUBMITTED, IN_PROGRESS,
  2402  	// COMPLETED, FAILED.
  2403  	//
  2404  	// JobStatus is a required field
  2405  	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
  2406  
  2407  	// An explanation of any errors that may have occurred during the FHIR import
  2408  	// job.
  2409  	Message *string `min:"1" type:"string"`
  2410  
  2411  	// The time that the Import job was submitted for processing.
  2412  	//
  2413  	// SubmitTime is a required field
  2414  	SubmitTime *time.Time `type:"timestamp" required:"true"`
  2415  }
  2416  
  2417  // String returns the string representation.
  2418  //
  2419  // API parameter values that are decorated as "sensitive" in the API will not
  2420  // be included in the string output. The member name will be present, but the
  2421  // value will be replaced with "sensitive".
  2422  func (s ImportJobProperties) String() string {
  2423  	return awsutil.Prettify(s)
  2424  }
  2425  
  2426  // GoString returns the string representation.
  2427  //
  2428  // API parameter values that are decorated as "sensitive" in the API will not
  2429  // be included in the string output. The member name will be present, but the
  2430  // value will be replaced with "sensitive".
  2431  func (s ImportJobProperties) GoString() string {
  2432  	return s.String()
  2433  }
  2434  
  2435  // SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
  2436  func (s *ImportJobProperties) SetDataAccessRoleArn(v string) *ImportJobProperties {
  2437  	s.DataAccessRoleArn = &v
  2438  	return s
  2439  }
  2440  
  2441  // SetDatastoreId sets the DatastoreId field's value.
  2442  func (s *ImportJobProperties) SetDatastoreId(v string) *ImportJobProperties {
  2443  	s.DatastoreId = &v
  2444  	return s
  2445  }
  2446  
  2447  // SetEndTime sets the EndTime field's value.
  2448  func (s *ImportJobProperties) SetEndTime(v time.Time) *ImportJobProperties {
  2449  	s.EndTime = &v
  2450  	return s
  2451  }
  2452  
  2453  // SetInputDataConfig sets the InputDataConfig field's value.
  2454  func (s *ImportJobProperties) SetInputDataConfig(v *InputDataConfig) *ImportJobProperties {
  2455  	s.InputDataConfig = v
  2456  	return s
  2457  }
  2458  
  2459  // SetJobId sets the JobId field's value.
  2460  func (s *ImportJobProperties) SetJobId(v string) *ImportJobProperties {
  2461  	s.JobId = &v
  2462  	return s
  2463  }
  2464  
  2465  // SetJobName sets the JobName field's value.
  2466  func (s *ImportJobProperties) SetJobName(v string) *ImportJobProperties {
  2467  	s.JobName = &v
  2468  	return s
  2469  }
  2470  
  2471  // SetJobOutputDataConfig sets the JobOutputDataConfig field's value.
  2472  func (s *ImportJobProperties) SetJobOutputDataConfig(v *OutputDataConfig) *ImportJobProperties {
  2473  	s.JobOutputDataConfig = v
  2474  	return s
  2475  }
  2476  
  2477  // SetJobStatus sets the JobStatus field's value.
  2478  func (s *ImportJobProperties) SetJobStatus(v string) *ImportJobProperties {
  2479  	s.JobStatus = &v
  2480  	return s
  2481  }
  2482  
  2483  // SetMessage sets the Message field's value.
  2484  func (s *ImportJobProperties) SetMessage(v string) *ImportJobProperties {
  2485  	s.Message = &v
  2486  	return s
  2487  }
  2488  
  2489  // SetSubmitTime sets the SubmitTime field's value.
  2490  func (s *ImportJobProperties) SetSubmitTime(v time.Time) *ImportJobProperties {
  2491  	s.SubmitTime = &v
  2492  	return s
  2493  }
  2494  
  2495  // The input properties for an import job.
  2496  type InputDataConfig struct {
  2497  	_ struct{} `type:"structure"`
  2498  
  2499  	// The S3Uri is the user specified S3 location of the FHIR data to be imported
  2500  	// into Amazon HealthLake.
  2501  	S3Uri *string `type:"string"`
  2502  }
  2503  
  2504  // String returns the string representation.
  2505  //
  2506  // API parameter values that are decorated as "sensitive" in the API will not
  2507  // be included in the string output. The member name will be present, but the
  2508  // value will be replaced with "sensitive".
  2509  func (s InputDataConfig) String() string {
  2510  	return awsutil.Prettify(s)
  2511  }
  2512  
  2513  // GoString returns the string representation.
  2514  //
  2515  // API parameter values that are decorated as "sensitive" in the API will not
  2516  // be included in the string output. The member name will be present, but the
  2517  // value will be replaced with "sensitive".
  2518  func (s InputDataConfig) GoString() string {
  2519  	return s.String()
  2520  }
  2521  
  2522  // SetS3Uri sets the S3Uri field's value.
  2523  func (s *InputDataConfig) SetS3Uri(v string) *InputDataConfig {
  2524  	s.S3Uri = &v
  2525  	return s
  2526  }
  2527  
  2528  // Unknown error occurs in the service.
  2529  type InternalServerException struct {
  2530  	_            struct{}                  `type:"structure"`
  2531  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2532  
  2533  	Message_ *string `locationName:"Message" type:"string"`
  2534  }
  2535  
  2536  // String returns the string representation.
  2537  //
  2538  // API parameter values that are decorated as "sensitive" in the API will not
  2539  // be included in the string output. The member name will be present, but the
  2540  // value will be replaced with "sensitive".
  2541  func (s InternalServerException) String() string {
  2542  	return awsutil.Prettify(s)
  2543  }
  2544  
  2545  // GoString returns the string representation.
  2546  //
  2547  // API parameter values that are decorated as "sensitive" in the API will not
  2548  // be included in the string output. The member name will be present, but the
  2549  // value will be replaced with "sensitive".
  2550  func (s InternalServerException) GoString() string {
  2551  	return s.String()
  2552  }
  2553  
  2554  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  2555  	return &InternalServerException{
  2556  		RespMetadata: v,
  2557  	}
  2558  }
  2559  
  2560  // Code returns the exception type name.
  2561  func (s *InternalServerException) Code() string {
  2562  	return "InternalServerException"
  2563  }
  2564  
  2565  // Message returns the exception's message.
  2566  func (s *InternalServerException) Message() string {
  2567  	if s.Message_ != nil {
  2568  		return *s.Message_
  2569  	}
  2570  	return ""
  2571  }
  2572  
  2573  // OrigErr always returns nil, satisfies awserr.Error interface.
  2574  func (s *InternalServerException) OrigErr() error {
  2575  	return nil
  2576  }
  2577  
  2578  func (s *InternalServerException) Error() string {
  2579  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2580  }
  2581  
  2582  // Status code returns the HTTP status code for the request's response error.
  2583  func (s *InternalServerException) StatusCode() int {
  2584  	return s.RespMetadata.StatusCode
  2585  }
  2586  
  2587  // RequestID returns the service's response RequestID for request.
  2588  func (s *InternalServerException) RequestID() string {
  2589  	return s.RespMetadata.RequestID
  2590  }
  2591  
  2592  // The customer-managed-key(CMK) used when creating a Data Store. If a customer
  2593  // owned key is not specified, an AWS owned key will be used for encryption.
  2594  type KmsEncryptionConfig struct {
  2595  	_ struct{} `type:"structure"`
  2596  
  2597  	// The type of customer-managed-key(CMK) used for encyrption. The two types
  2598  	// of supported CMKs are customer owned CMKs and AWS owned CMKs.
  2599  	//
  2600  	// CmkType is a required field
  2601  	CmkType *string `type:"string" required:"true" enum:"CmkType"`
  2602  
  2603  	// The KMS encryption key id/alias used to encrypt the Data Store contents at
  2604  	// rest.
  2605  	KmsKeyId *string `min:"1" type:"string"`
  2606  }
  2607  
  2608  // String returns the string representation.
  2609  //
  2610  // API parameter values that are decorated as "sensitive" in the API will not
  2611  // be included in the string output. The member name will be present, but the
  2612  // value will be replaced with "sensitive".
  2613  func (s KmsEncryptionConfig) String() string {
  2614  	return awsutil.Prettify(s)
  2615  }
  2616  
  2617  // GoString returns the string representation.
  2618  //
  2619  // API parameter values that are decorated as "sensitive" in the API will not
  2620  // be included in the string output. The member name will be present, but the
  2621  // value will be replaced with "sensitive".
  2622  func (s KmsEncryptionConfig) GoString() string {
  2623  	return s.String()
  2624  }
  2625  
  2626  // Validate inspects the fields of the type to determine if they are valid.
  2627  func (s *KmsEncryptionConfig) Validate() error {
  2628  	invalidParams := request.ErrInvalidParams{Context: "KmsEncryptionConfig"}
  2629  	if s.CmkType == nil {
  2630  		invalidParams.Add(request.NewErrParamRequired("CmkType"))
  2631  	}
  2632  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  2633  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  2634  	}
  2635  
  2636  	if invalidParams.Len() > 0 {
  2637  		return invalidParams
  2638  	}
  2639  	return nil
  2640  }
  2641  
  2642  // SetCmkType sets the CmkType field's value.
  2643  func (s *KmsEncryptionConfig) SetCmkType(v string) *KmsEncryptionConfig {
  2644  	s.CmkType = &v
  2645  	return s
  2646  }
  2647  
  2648  // SetKmsKeyId sets the KmsKeyId field's value.
  2649  func (s *KmsEncryptionConfig) SetKmsKeyId(v string) *KmsEncryptionConfig {
  2650  	s.KmsKeyId = &v
  2651  	return s
  2652  }
  2653  
  2654  type ListFHIRDatastoresInput struct {
  2655  	_ struct{} `type:"structure"`
  2656  
  2657  	// Lists all filters associated with a FHIR Data Store request.
  2658  	Filter *DatastoreFilter `type:"structure"`
  2659  
  2660  	// The maximum number of Data Stores returned in a single page of a ListFHIRDatastoresRequest
  2661  	// call.
  2662  	MaxResults *int64 `min:"1" type:"integer"`
  2663  
  2664  	// Fetches the next page of Data Stores when results are paginated.
  2665  	NextToken *string `type:"string"`
  2666  }
  2667  
  2668  // String returns the string representation.
  2669  //
  2670  // API parameter values that are decorated as "sensitive" in the API will not
  2671  // be included in the string output. The member name will be present, but the
  2672  // value will be replaced with "sensitive".
  2673  func (s ListFHIRDatastoresInput) String() string {
  2674  	return awsutil.Prettify(s)
  2675  }
  2676  
  2677  // GoString returns the string representation.
  2678  //
  2679  // API parameter values that are decorated as "sensitive" in the API will not
  2680  // be included in the string output. The member name will be present, but the
  2681  // value will be replaced with "sensitive".
  2682  func (s ListFHIRDatastoresInput) GoString() string {
  2683  	return s.String()
  2684  }
  2685  
  2686  // Validate inspects the fields of the type to determine if they are valid.
  2687  func (s *ListFHIRDatastoresInput) Validate() error {
  2688  	invalidParams := request.ErrInvalidParams{Context: "ListFHIRDatastoresInput"}
  2689  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2690  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2691  	}
  2692  	if s.Filter != nil {
  2693  		if err := s.Filter.Validate(); err != nil {
  2694  			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
  2695  		}
  2696  	}
  2697  
  2698  	if invalidParams.Len() > 0 {
  2699  		return invalidParams
  2700  	}
  2701  	return nil
  2702  }
  2703  
  2704  // SetFilter sets the Filter field's value.
  2705  func (s *ListFHIRDatastoresInput) SetFilter(v *DatastoreFilter) *ListFHIRDatastoresInput {
  2706  	s.Filter = v
  2707  	return s
  2708  }
  2709  
  2710  // SetMaxResults sets the MaxResults field's value.
  2711  func (s *ListFHIRDatastoresInput) SetMaxResults(v int64) *ListFHIRDatastoresInput {
  2712  	s.MaxResults = &v
  2713  	return s
  2714  }
  2715  
  2716  // SetNextToken sets the NextToken field's value.
  2717  func (s *ListFHIRDatastoresInput) SetNextToken(v string) *ListFHIRDatastoresInput {
  2718  	s.NextToken = &v
  2719  	return s
  2720  }
  2721  
  2722  type ListFHIRDatastoresOutput struct {
  2723  	_ struct{} `type:"structure"`
  2724  
  2725  	// All properties associated with the listed Data Stores.
  2726  	//
  2727  	// DatastorePropertiesList is a required field
  2728  	DatastorePropertiesList []*DatastoreProperties `type:"list" required:"true"`
  2729  
  2730  	// Pagination token that can be used to retrieve the next page of results.
  2731  	NextToken *string `type:"string"`
  2732  }
  2733  
  2734  // String returns the string representation.
  2735  //
  2736  // API parameter values that are decorated as "sensitive" in the API will not
  2737  // be included in the string output. The member name will be present, but the
  2738  // value will be replaced with "sensitive".
  2739  func (s ListFHIRDatastoresOutput) String() string {
  2740  	return awsutil.Prettify(s)
  2741  }
  2742  
  2743  // GoString returns the string representation.
  2744  //
  2745  // API parameter values that are decorated as "sensitive" in the API will not
  2746  // be included in the string output. The member name will be present, but the
  2747  // value will be replaced with "sensitive".
  2748  func (s ListFHIRDatastoresOutput) GoString() string {
  2749  	return s.String()
  2750  }
  2751  
  2752  // SetDatastorePropertiesList sets the DatastorePropertiesList field's value.
  2753  func (s *ListFHIRDatastoresOutput) SetDatastorePropertiesList(v []*DatastoreProperties) *ListFHIRDatastoresOutput {
  2754  	s.DatastorePropertiesList = v
  2755  	return s
  2756  }
  2757  
  2758  // SetNextToken sets the NextToken field's value.
  2759  func (s *ListFHIRDatastoresOutput) SetNextToken(v string) *ListFHIRDatastoresOutput {
  2760  	s.NextToken = &v
  2761  	return s
  2762  }
  2763  
  2764  type ListFHIRExportJobsInput struct {
  2765  	_ struct{} `type:"structure"`
  2766  
  2767  	// This parameter limits the response to the export job with the specified Data
  2768  	// Store ID.
  2769  	//
  2770  	// DatastoreId is a required field
  2771  	DatastoreId *string `min:"1" type:"string" required:"true"`
  2772  
  2773  	// This parameter limits the response to the export job with the specified job
  2774  	// name.
  2775  	JobName *string `min:"1" type:"string"`
  2776  
  2777  	// This parameter limits the response to the export jobs with the specified
  2778  	// job status.
  2779  	JobStatus *string `type:"string" enum:"JobStatus"`
  2780  
  2781  	// This parameter limits the number of results returned for a ListFHIRExportJobs
  2782  	// to a maximum quantity specified by the user.
  2783  	MaxResults *int64 `min:"1" type:"integer"`
  2784  
  2785  	// A pagination token used to identify the next page of results to return for
  2786  	// a ListFHIRExportJobs query.
  2787  	NextToken *string `type:"string"`
  2788  
  2789  	// This parameter limits the response to FHIR export jobs submitted after a
  2790  	// user specified date.
  2791  	SubmittedAfter *time.Time `type:"timestamp"`
  2792  
  2793  	// This parameter limits the response to FHIR export jobs submitted before a
  2794  	// user specified date.
  2795  	SubmittedBefore *time.Time `type:"timestamp"`
  2796  }
  2797  
  2798  // String returns the string representation.
  2799  //
  2800  // API parameter values that are decorated as "sensitive" in the API will not
  2801  // be included in the string output. The member name will be present, but the
  2802  // value will be replaced with "sensitive".
  2803  func (s ListFHIRExportJobsInput) String() string {
  2804  	return awsutil.Prettify(s)
  2805  }
  2806  
  2807  // GoString returns the string representation.
  2808  //
  2809  // API parameter values that are decorated as "sensitive" in the API will not
  2810  // be included in the string output. The member name will be present, but the
  2811  // value will be replaced with "sensitive".
  2812  func (s ListFHIRExportJobsInput) GoString() string {
  2813  	return s.String()
  2814  }
  2815  
  2816  // Validate inspects the fields of the type to determine if they are valid.
  2817  func (s *ListFHIRExportJobsInput) Validate() error {
  2818  	invalidParams := request.ErrInvalidParams{Context: "ListFHIRExportJobsInput"}
  2819  	if s.DatastoreId == nil {
  2820  		invalidParams.Add(request.NewErrParamRequired("DatastoreId"))
  2821  	}
  2822  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  2823  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  2824  	}
  2825  	if s.JobName != nil && len(*s.JobName) < 1 {
  2826  		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
  2827  	}
  2828  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2829  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2830  	}
  2831  
  2832  	if invalidParams.Len() > 0 {
  2833  		return invalidParams
  2834  	}
  2835  	return nil
  2836  }
  2837  
  2838  // SetDatastoreId sets the DatastoreId field's value.
  2839  func (s *ListFHIRExportJobsInput) SetDatastoreId(v string) *ListFHIRExportJobsInput {
  2840  	s.DatastoreId = &v
  2841  	return s
  2842  }
  2843  
  2844  // SetJobName sets the JobName field's value.
  2845  func (s *ListFHIRExportJobsInput) SetJobName(v string) *ListFHIRExportJobsInput {
  2846  	s.JobName = &v
  2847  	return s
  2848  }
  2849  
  2850  // SetJobStatus sets the JobStatus field's value.
  2851  func (s *ListFHIRExportJobsInput) SetJobStatus(v string) *ListFHIRExportJobsInput {
  2852  	s.JobStatus = &v
  2853  	return s
  2854  }
  2855  
  2856  // SetMaxResults sets the MaxResults field's value.
  2857  func (s *ListFHIRExportJobsInput) SetMaxResults(v int64) *ListFHIRExportJobsInput {
  2858  	s.MaxResults = &v
  2859  	return s
  2860  }
  2861  
  2862  // SetNextToken sets the NextToken field's value.
  2863  func (s *ListFHIRExportJobsInput) SetNextToken(v string) *ListFHIRExportJobsInput {
  2864  	s.NextToken = &v
  2865  	return s
  2866  }
  2867  
  2868  // SetSubmittedAfter sets the SubmittedAfter field's value.
  2869  func (s *ListFHIRExportJobsInput) SetSubmittedAfter(v time.Time) *ListFHIRExportJobsInput {
  2870  	s.SubmittedAfter = &v
  2871  	return s
  2872  }
  2873  
  2874  // SetSubmittedBefore sets the SubmittedBefore field's value.
  2875  func (s *ListFHIRExportJobsInput) SetSubmittedBefore(v time.Time) *ListFHIRExportJobsInput {
  2876  	s.SubmittedBefore = &v
  2877  	return s
  2878  }
  2879  
  2880  type ListFHIRExportJobsOutput struct {
  2881  	_ struct{} `type:"structure"`
  2882  
  2883  	// The properties of listed FHIR export jobs, including the ID, ARN, name, and
  2884  	// the status of the job.
  2885  	//
  2886  	// ExportJobPropertiesList is a required field
  2887  	ExportJobPropertiesList []*ExportJobProperties `type:"list" required:"true"`
  2888  
  2889  	// A pagination token used to identify the next page of results to return for
  2890  	// a ListFHIRExportJobs query.
  2891  	NextToken *string `type:"string"`
  2892  }
  2893  
  2894  // String returns the string representation.
  2895  //
  2896  // API parameter values that are decorated as "sensitive" in the API will not
  2897  // be included in the string output. The member name will be present, but the
  2898  // value will be replaced with "sensitive".
  2899  func (s ListFHIRExportJobsOutput) String() string {
  2900  	return awsutil.Prettify(s)
  2901  }
  2902  
  2903  // GoString returns the string representation.
  2904  //
  2905  // API parameter values that are decorated as "sensitive" in the API will not
  2906  // be included in the string output. The member name will be present, but the
  2907  // value will be replaced with "sensitive".
  2908  func (s ListFHIRExportJobsOutput) GoString() string {
  2909  	return s.String()
  2910  }
  2911  
  2912  // SetExportJobPropertiesList sets the ExportJobPropertiesList field's value.
  2913  func (s *ListFHIRExportJobsOutput) SetExportJobPropertiesList(v []*ExportJobProperties) *ListFHIRExportJobsOutput {
  2914  	s.ExportJobPropertiesList = v
  2915  	return s
  2916  }
  2917  
  2918  // SetNextToken sets the NextToken field's value.
  2919  func (s *ListFHIRExportJobsOutput) SetNextToken(v string) *ListFHIRExportJobsOutput {
  2920  	s.NextToken = &v
  2921  	return s
  2922  }
  2923  
  2924  type ListFHIRImportJobsInput struct {
  2925  	_ struct{} `type:"structure"`
  2926  
  2927  	// This parameter limits the response to the import job with the specified Data
  2928  	// Store ID.
  2929  	//
  2930  	// DatastoreId is a required field
  2931  	DatastoreId *string `min:"1" type:"string" required:"true"`
  2932  
  2933  	// This parameter limits the response to the import job with the specified job
  2934  	// name.
  2935  	JobName *string `min:"1" type:"string"`
  2936  
  2937  	// This parameter limits the response to the import job with the specified job
  2938  	// status.
  2939  	JobStatus *string `type:"string" enum:"JobStatus"`
  2940  
  2941  	// This parameter limits the number of results returned for a ListFHIRImportJobs
  2942  	// to a maximum quantity specified by the user.
  2943  	MaxResults *int64 `min:"1" type:"integer"`
  2944  
  2945  	// A pagination token used to identify the next page of results to return for
  2946  	// a ListFHIRImportJobs query.
  2947  	NextToken *string `type:"string"`
  2948  
  2949  	// This parameter limits the response to FHIR import jobs submitted after a
  2950  	// user specified date.
  2951  	SubmittedAfter *time.Time `type:"timestamp"`
  2952  
  2953  	// This parameter limits the response to FHIR import jobs submitted before a
  2954  	// user specified date.
  2955  	SubmittedBefore *time.Time `type:"timestamp"`
  2956  }
  2957  
  2958  // String returns the string representation.
  2959  //
  2960  // API parameter values that are decorated as "sensitive" in the API will not
  2961  // be included in the string output. The member name will be present, but the
  2962  // value will be replaced with "sensitive".
  2963  func (s ListFHIRImportJobsInput) String() string {
  2964  	return awsutil.Prettify(s)
  2965  }
  2966  
  2967  // GoString returns the string representation.
  2968  //
  2969  // API parameter values that are decorated as "sensitive" in the API will not
  2970  // be included in the string output. The member name will be present, but the
  2971  // value will be replaced with "sensitive".
  2972  func (s ListFHIRImportJobsInput) GoString() string {
  2973  	return s.String()
  2974  }
  2975  
  2976  // Validate inspects the fields of the type to determine if they are valid.
  2977  func (s *ListFHIRImportJobsInput) Validate() error {
  2978  	invalidParams := request.ErrInvalidParams{Context: "ListFHIRImportJobsInput"}
  2979  	if s.DatastoreId == nil {
  2980  		invalidParams.Add(request.NewErrParamRequired("DatastoreId"))
  2981  	}
  2982  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  2983  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  2984  	}
  2985  	if s.JobName != nil && len(*s.JobName) < 1 {
  2986  		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
  2987  	}
  2988  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2989  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2990  	}
  2991  
  2992  	if invalidParams.Len() > 0 {
  2993  		return invalidParams
  2994  	}
  2995  	return nil
  2996  }
  2997  
  2998  // SetDatastoreId sets the DatastoreId field's value.
  2999  func (s *ListFHIRImportJobsInput) SetDatastoreId(v string) *ListFHIRImportJobsInput {
  3000  	s.DatastoreId = &v
  3001  	return s
  3002  }
  3003  
  3004  // SetJobName sets the JobName field's value.
  3005  func (s *ListFHIRImportJobsInput) SetJobName(v string) *ListFHIRImportJobsInput {
  3006  	s.JobName = &v
  3007  	return s
  3008  }
  3009  
  3010  // SetJobStatus sets the JobStatus field's value.
  3011  func (s *ListFHIRImportJobsInput) SetJobStatus(v string) *ListFHIRImportJobsInput {
  3012  	s.JobStatus = &v
  3013  	return s
  3014  }
  3015  
  3016  // SetMaxResults sets the MaxResults field's value.
  3017  func (s *ListFHIRImportJobsInput) SetMaxResults(v int64) *ListFHIRImportJobsInput {
  3018  	s.MaxResults = &v
  3019  	return s
  3020  }
  3021  
  3022  // SetNextToken sets the NextToken field's value.
  3023  func (s *ListFHIRImportJobsInput) SetNextToken(v string) *ListFHIRImportJobsInput {
  3024  	s.NextToken = &v
  3025  	return s
  3026  }
  3027  
  3028  // SetSubmittedAfter sets the SubmittedAfter field's value.
  3029  func (s *ListFHIRImportJobsInput) SetSubmittedAfter(v time.Time) *ListFHIRImportJobsInput {
  3030  	s.SubmittedAfter = &v
  3031  	return s
  3032  }
  3033  
  3034  // SetSubmittedBefore sets the SubmittedBefore field's value.
  3035  func (s *ListFHIRImportJobsInput) SetSubmittedBefore(v time.Time) *ListFHIRImportJobsInput {
  3036  	s.SubmittedBefore = &v
  3037  	return s
  3038  }
  3039  
  3040  type ListFHIRImportJobsOutput struct {
  3041  	_ struct{} `type:"structure"`
  3042  
  3043  	// The properties of a listed FHIR import jobs, including the ID, ARN, name,
  3044  	// and the status of the job.
  3045  	//
  3046  	// ImportJobPropertiesList is a required field
  3047  	ImportJobPropertiesList []*ImportJobProperties `type:"list" required:"true"`
  3048  
  3049  	// A pagination token used to identify the next page of results to return for
  3050  	// a ListFHIRImportJobs query.
  3051  	NextToken *string `type:"string"`
  3052  }
  3053  
  3054  // String returns the string representation.
  3055  //
  3056  // API parameter values that are decorated as "sensitive" in the API will not
  3057  // be included in the string output. The member name will be present, but the
  3058  // value will be replaced with "sensitive".
  3059  func (s ListFHIRImportJobsOutput) String() string {
  3060  	return awsutil.Prettify(s)
  3061  }
  3062  
  3063  // GoString returns the string representation.
  3064  //
  3065  // API parameter values that are decorated as "sensitive" in the API will not
  3066  // be included in the string output. The member name will be present, but the
  3067  // value will be replaced with "sensitive".
  3068  func (s ListFHIRImportJobsOutput) GoString() string {
  3069  	return s.String()
  3070  }
  3071  
  3072  // SetImportJobPropertiesList sets the ImportJobPropertiesList field's value.
  3073  func (s *ListFHIRImportJobsOutput) SetImportJobPropertiesList(v []*ImportJobProperties) *ListFHIRImportJobsOutput {
  3074  	s.ImportJobPropertiesList = v
  3075  	return s
  3076  }
  3077  
  3078  // SetNextToken sets the NextToken field's value.
  3079  func (s *ListFHIRImportJobsOutput) SetNextToken(v string) *ListFHIRImportJobsOutput {
  3080  	s.NextToken = &v
  3081  	return s
  3082  }
  3083  
  3084  type ListTagsForResourceInput struct {
  3085  	_ struct{} `type:"structure"`
  3086  
  3087  	// The Amazon Resource Name(ARN) of the Data Store for which tags are being
  3088  	// added.
  3089  	//
  3090  	// ResourceARN is a required field
  3091  	ResourceARN *string `min:"1" type:"string" required:"true"`
  3092  }
  3093  
  3094  // String returns the string representation.
  3095  //
  3096  // API parameter values that are decorated as "sensitive" in the API will not
  3097  // be included in the string output. The member name will be present, but the
  3098  // value will be replaced with "sensitive".
  3099  func (s ListTagsForResourceInput) String() string {
  3100  	return awsutil.Prettify(s)
  3101  }
  3102  
  3103  // GoString returns the string representation.
  3104  //
  3105  // API parameter values that are decorated as "sensitive" in the API will not
  3106  // be included in the string output. The member name will be present, but the
  3107  // value will be replaced with "sensitive".
  3108  func (s ListTagsForResourceInput) GoString() string {
  3109  	return s.String()
  3110  }
  3111  
  3112  // Validate inspects the fields of the type to determine if they are valid.
  3113  func (s *ListTagsForResourceInput) Validate() error {
  3114  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3115  	if s.ResourceARN == nil {
  3116  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  3117  	}
  3118  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  3119  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  3120  	}
  3121  
  3122  	if invalidParams.Len() > 0 {
  3123  		return invalidParams
  3124  	}
  3125  	return nil
  3126  }
  3127  
  3128  // SetResourceARN sets the ResourceARN field's value.
  3129  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
  3130  	s.ResourceARN = &v
  3131  	return s
  3132  }
  3133  
  3134  type ListTagsForResourceOutput struct {
  3135  	_ struct{} `type:"structure"`
  3136  
  3137  	// Returns a list of tags associated with a Data Store.
  3138  	Tags []*Tag `type:"list"`
  3139  }
  3140  
  3141  // String returns the string representation.
  3142  //
  3143  // API parameter values that are decorated as "sensitive" in the API will not
  3144  // be included in the string output. The member name will be present, but the
  3145  // value will be replaced with "sensitive".
  3146  func (s ListTagsForResourceOutput) String() string {
  3147  	return awsutil.Prettify(s)
  3148  }
  3149  
  3150  // GoString returns the string representation.
  3151  //
  3152  // API parameter values that are decorated as "sensitive" in the API will not
  3153  // be included in the string output. The member name will be present, but the
  3154  // value will be replaced with "sensitive".
  3155  func (s ListTagsForResourceOutput) GoString() string {
  3156  	return s.String()
  3157  }
  3158  
  3159  // SetTags sets the Tags field's value.
  3160  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  3161  	s.Tags = v
  3162  	return s
  3163  }
  3164  
  3165  // The output data configuration that was supplied when the export job was created.
  3166  type OutputDataConfig struct {
  3167  	_ struct{} `type:"structure"`
  3168  
  3169  	// The output data configuration that was supplied when the export job was created.
  3170  	S3Configuration *S3Configuration `type:"structure"`
  3171  }
  3172  
  3173  // String returns the string representation.
  3174  //
  3175  // API parameter values that are decorated as "sensitive" in the API will not
  3176  // be included in the string output. The member name will be present, but the
  3177  // value will be replaced with "sensitive".
  3178  func (s OutputDataConfig) String() string {
  3179  	return awsutil.Prettify(s)
  3180  }
  3181  
  3182  // GoString returns the string representation.
  3183  //
  3184  // API parameter values that are decorated as "sensitive" in the API will not
  3185  // be included in the string output. The member name will be present, but the
  3186  // value will be replaced with "sensitive".
  3187  func (s OutputDataConfig) GoString() string {
  3188  	return s.String()
  3189  }
  3190  
  3191  // Validate inspects the fields of the type to determine if they are valid.
  3192  func (s *OutputDataConfig) Validate() error {
  3193  	invalidParams := request.ErrInvalidParams{Context: "OutputDataConfig"}
  3194  	if s.S3Configuration != nil {
  3195  		if err := s.S3Configuration.Validate(); err != nil {
  3196  			invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams))
  3197  		}
  3198  	}
  3199  
  3200  	if invalidParams.Len() > 0 {
  3201  		return invalidParams
  3202  	}
  3203  	return nil
  3204  }
  3205  
  3206  // SetS3Configuration sets the S3Configuration field's value.
  3207  func (s *OutputDataConfig) SetS3Configuration(v *S3Configuration) *OutputDataConfig {
  3208  	s.S3Configuration = v
  3209  	return s
  3210  }
  3211  
  3212  // The input properties for the preloaded Data Store. Only data preloaded from
  3213  // Synthea is supported.
  3214  type PreloadDataConfig struct {
  3215  	_ struct{} `type:"structure"`
  3216  
  3217  	// The type of preloaded data. Only Synthea preloaded data is supported.
  3218  	//
  3219  	// PreloadDataType is a required field
  3220  	PreloadDataType *string `type:"string" required:"true" enum:"PreloadDataType"`
  3221  }
  3222  
  3223  // String returns the string representation.
  3224  //
  3225  // API parameter values that are decorated as "sensitive" in the API will not
  3226  // be included in the string output. The member name will be present, but the
  3227  // value will be replaced with "sensitive".
  3228  func (s PreloadDataConfig) String() string {
  3229  	return awsutil.Prettify(s)
  3230  }
  3231  
  3232  // GoString returns the string representation.
  3233  //
  3234  // API parameter values that are decorated as "sensitive" in the API will not
  3235  // be included in the string output. The member name will be present, but the
  3236  // value will be replaced with "sensitive".
  3237  func (s PreloadDataConfig) GoString() string {
  3238  	return s.String()
  3239  }
  3240  
  3241  // Validate inspects the fields of the type to determine if they are valid.
  3242  func (s *PreloadDataConfig) Validate() error {
  3243  	invalidParams := request.ErrInvalidParams{Context: "PreloadDataConfig"}
  3244  	if s.PreloadDataType == nil {
  3245  		invalidParams.Add(request.NewErrParamRequired("PreloadDataType"))
  3246  	}
  3247  
  3248  	if invalidParams.Len() > 0 {
  3249  		return invalidParams
  3250  	}
  3251  	return nil
  3252  }
  3253  
  3254  // SetPreloadDataType sets the PreloadDataType field's value.
  3255  func (s *PreloadDataConfig) SetPreloadDataType(v string) *PreloadDataConfig {
  3256  	s.PreloadDataType = &v
  3257  	return s
  3258  }
  3259  
  3260  // The requested Data Store was not found.
  3261  type ResourceNotFoundException struct {
  3262  	_            struct{}                  `type:"structure"`
  3263  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3264  
  3265  	Message_ *string `locationName:"Message" type:"string"`
  3266  }
  3267  
  3268  // String returns the string representation.
  3269  //
  3270  // API parameter values that are decorated as "sensitive" in the API will not
  3271  // be included in the string output. The member name will be present, but the
  3272  // value will be replaced with "sensitive".
  3273  func (s ResourceNotFoundException) String() string {
  3274  	return awsutil.Prettify(s)
  3275  }
  3276  
  3277  // GoString returns the string representation.
  3278  //
  3279  // API parameter values that are decorated as "sensitive" in the API will not
  3280  // be included in the string output. The member name will be present, but the
  3281  // value will be replaced with "sensitive".
  3282  func (s ResourceNotFoundException) GoString() string {
  3283  	return s.String()
  3284  }
  3285  
  3286  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  3287  	return &ResourceNotFoundException{
  3288  		RespMetadata: v,
  3289  	}
  3290  }
  3291  
  3292  // Code returns the exception type name.
  3293  func (s *ResourceNotFoundException) Code() string {
  3294  	return "ResourceNotFoundException"
  3295  }
  3296  
  3297  // Message returns the exception's message.
  3298  func (s *ResourceNotFoundException) Message() string {
  3299  	if s.Message_ != nil {
  3300  		return *s.Message_
  3301  	}
  3302  	return ""
  3303  }
  3304  
  3305  // OrigErr always returns nil, satisfies awserr.Error interface.
  3306  func (s *ResourceNotFoundException) OrigErr() error {
  3307  	return nil
  3308  }
  3309  
  3310  func (s *ResourceNotFoundException) Error() string {
  3311  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3312  }
  3313  
  3314  // Status code returns the HTTP status code for the request's response error.
  3315  func (s *ResourceNotFoundException) StatusCode() int {
  3316  	return s.RespMetadata.StatusCode
  3317  }
  3318  
  3319  // RequestID returns the service's response RequestID for request.
  3320  func (s *ResourceNotFoundException) RequestID() string {
  3321  	return s.RespMetadata.RequestID
  3322  }
  3323  
  3324  // The configuration of the S3 bucket for either an import or export job. This
  3325  // includes assigning permissions for access.
  3326  type S3Configuration struct {
  3327  	_ struct{} `type:"structure"`
  3328  
  3329  	// The KMS key ID used to access the S3 bucket.
  3330  	//
  3331  	// KmsKeyId is a required field
  3332  	KmsKeyId *string `min:"1" type:"string" required:"true"`
  3333  
  3334  	// The S3Uri is the user specified S3 location of the FHIR data to be imported
  3335  	// into Amazon HealthLake.
  3336  	//
  3337  	// S3Uri is a required field
  3338  	S3Uri *string `type:"string" required:"true"`
  3339  }
  3340  
  3341  // String returns the string representation.
  3342  //
  3343  // API parameter values that are decorated as "sensitive" in the API will not
  3344  // be included in the string output. The member name will be present, but the
  3345  // value will be replaced with "sensitive".
  3346  func (s S3Configuration) String() string {
  3347  	return awsutil.Prettify(s)
  3348  }
  3349  
  3350  // GoString returns the string representation.
  3351  //
  3352  // API parameter values that are decorated as "sensitive" in the API will not
  3353  // be included in the string output. The member name will be present, but the
  3354  // value will be replaced with "sensitive".
  3355  func (s S3Configuration) GoString() string {
  3356  	return s.String()
  3357  }
  3358  
  3359  // Validate inspects the fields of the type to determine if they are valid.
  3360  func (s *S3Configuration) Validate() error {
  3361  	invalidParams := request.ErrInvalidParams{Context: "S3Configuration"}
  3362  	if s.KmsKeyId == nil {
  3363  		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
  3364  	}
  3365  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  3366  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  3367  	}
  3368  	if s.S3Uri == nil {
  3369  		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
  3370  	}
  3371  
  3372  	if invalidParams.Len() > 0 {
  3373  		return invalidParams
  3374  	}
  3375  	return nil
  3376  }
  3377  
  3378  // SetKmsKeyId sets the KmsKeyId field's value.
  3379  func (s *S3Configuration) SetKmsKeyId(v string) *S3Configuration {
  3380  	s.KmsKeyId = &v
  3381  	return s
  3382  }
  3383  
  3384  // SetS3Uri sets the S3Uri field's value.
  3385  func (s *S3Configuration) SetS3Uri(v string) *S3Configuration {
  3386  	s.S3Uri = &v
  3387  	return s
  3388  }
  3389  
  3390  // The server-side encryption key configuration for a customer provided encryption
  3391  // key.
  3392  type SseConfiguration struct {
  3393  	_ struct{} `type:"structure"`
  3394  
  3395  	// The KMS encryption configuration used to provide details for data encryption.
  3396  	//
  3397  	// KmsEncryptionConfig is a required field
  3398  	KmsEncryptionConfig *KmsEncryptionConfig `type:"structure" required:"true"`
  3399  }
  3400  
  3401  // String returns the string representation.
  3402  //
  3403  // API parameter values that are decorated as "sensitive" in the API will not
  3404  // be included in the string output. The member name will be present, but the
  3405  // value will be replaced with "sensitive".
  3406  func (s SseConfiguration) String() string {
  3407  	return awsutil.Prettify(s)
  3408  }
  3409  
  3410  // GoString returns the string representation.
  3411  //
  3412  // API parameter values that are decorated as "sensitive" in the API will not
  3413  // be included in the string output. The member name will be present, but the
  3414  // value will be replaced with "sensitive".
  3415  func (s SseConfiguration) GoString() string {
  3416  	return s.String()
  3417  }
  3418  
  3419  // Validate inspects the fields of the type to determine if they are valid.
  3420  func (s *SseConfiguration) Validate() error {
  3421  	invalidParams := request.ErrInvalidParams{Context: "SseConfiguration"}
  3422  	if s.KmsEncryptionConfig == nil {
  3423  		invalidParams.Add(request.NewErrParamRequired("KmsEncryptionConfig"))
  3424  	}
  3425  	if s.KmsEncryptionConfig != nil {
  3426  		if err := s.KmsEncryptionConfig.Validate(); err != nil {
  3427  			invalidParams.AddNested("KmsEncryptionConfig", err.(request.ErrInvalidParams))
  3428  		}
  3429  	}
  3430  
  3431  	if invalidParams.Len() > 0 {
  3432  		return invalidParams
  3433  	}
  3434  	return nil
  3435  }
  3436  
  3437  // SetKmsEncryptionConfig sets the KmsEncryptionConfig field's value.
  3438  func (s *SseConfiguration) SetKmsEncryptionConfig(v *KmsEncryptionConfig) *SseConfiguration {
  3439  	s.KmsEncryptionConfig = v
  3440  	return s
  3441  }
  3442  
  3443  type StartFHIRExportJobInput struct {
  3444  	_ struct{} `type:"structure"`
  3445  
  3446  	// An optional user provided token used for ensuring idempotency.
  3447  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  3448  
  3449  	// The Amazon Resource Name used during the initiation of the job.
  3450  	//
  3451  	// DataAccessRoleArn is a required field
  3452  	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
  3453  
  3454  	// The AWS generated ID for the Data Store from which files are being exported
  3455  	// for an export job.
  3456  	//
  3457  	// DatastoreId is a required field
  3458  	DatastoreId *string `min:"1" type:"string" required:"true"`
  3459  
  3460  	// The user generated name for an export job.
  3461  	JobName *string `min:"1" type:"string"`
  3462  
  3463  	// The output data configuration that was supplied when the export job was created.
  3464  	//
  3465  	// OutputDataConfig is a required field
  3466  	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
  3467  }
  3468  
  3469  // String returns the string representation.
  3470  //
  3471  // API parameter values that are decorated as "sensitive" in the API will not
  3472  // be included in the string output. The member name will be present, but the
  3473  // value will be replaced with "sensitive".
  3474  func (s StartFHIRExportJobInput) String() string {
  3475  	return awsutil.Prettify(s)
  3476  }
  3477  
  3478  // GoString returns the string representation.
  3479  //
  3480  // API parameter values that are decorated as "sensitive" in the API will not
  3481  // be included in the string output. The member name will be present, but the
  3482  // value will be replaced with "sensitive".
  3483  func (s StartFHIRExportJobInput) GoString() string {
  3484  	return s.String()
  3485  }
  3486  
  3487  // Validate inspects the fields of the type to determine if they are valid.
  3488  func (s *StartFHIRExportJobInput) Validate() error {
  3489  	invalidParams := request.ErrInvalidParams{Context: "StartFHIRExportJobInput"}
  3490  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  3491  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  3492  	}
  3493  	if s.DataAccessRoleArn == nil {
  3494  		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
  3495  	}
  3496  	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
  3497  		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
  3498  	}
  3499  	if s.DatastoreId == nil {
  3500  		invalidParams.Add(request.NewErrParamRequired("DatastoreId"))
  3501  	}
  3502  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  3503  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  3504  	}
  3505  	if s.JobName != nil && len(*s.JobName) < 1 {
  3506  		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
  3507  	}
  3508  	if s.OutputDataConfig == nil {
  3509  		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
  3510  	}
  3511  	if s.OutputDataConfig != nil {
  3512  		if err := s.OutputDataConfig.Validate(); err != nil {
  3513  			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
  3514  		}
  3515  	}
  3516  
  3517  	if invalidParams.Len() > 0 {
  3518  		return invalidParams
  3519  	}
  3520  	return nil
  3521  }
  3522  
  3523  // SetClientToken sets the ClientToken field's value.
  3524  func (s *StartFHIRExportJobInput) SetClientToken(v string) *StartFHIRExportJobInput {
  3525  	s.ClientToken = &v
  3526  	return s
  3527  }
  3528  
  3529  // SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
  3530  func (s *StartFHIRExportJobInput) SetDataAccessRoleArn(v string) *StartFHIRExportJobInput {
  3531  	s.DataAccessRoleArn = &v
  3532  	return s
  3533  }
  3534  
  3535  // SetDatastoreId sets the DatastoreId field's value.
  3536  func (s *StartFHIRExportJobInput) SetDatastoreId(v string) *StartFHIRExportJobInput {
  3537  	s.DatastoreId = &v
  3538  	return s
  3539  }
  3540  
  3541  // SetJobName sets the JobName field's value.
  3542  func (s *StartFHIRExportJobInput) SetJobName(v string) *StartFHIRExportJobInput {
  3543  	s.JobName = &v
  3544  	return s
  3545  }
  3546  
  3547  // SetOutputDataConfig sets the OutputDataConfig field's value.
  3548  func (s *StartFHIRExportJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartFHIRExportJobInput {
  3549  	s.OutputDataConfig = v
  3550  	return s
  3551  }
  3552  
  3553  type StartFHIRExportJobOutput struct {
  3554  	_ struct{} `type:"structure"`
  3555  
  3556  	// The AWS generated ID for the Data Store from which files are being exported
  3557  	// for an export job.
  3558  	DatastoreId *string `min:"1" type:"string"`
  3559  
  3560  	// The AWS generated ID for an export job.
  3561  	//
  3562  	// JobId is a required field
  3563  	JobId *string `min:"1" type:"string" required:"true"`
  3564  
  3565  	// The status of a FHIR export job. Possible statuses are SUBMITTED, IN_PROGRESS,
  3566  	// COMPLETED, or FAILED.
  3567  	//
  3568  	// JobStatus is a required field
  3569  	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
  3570  }
  3571  
  3572  // String returns the string representation.
  3573  //
  3574  // API parameter values that are decorated as "sensitive" in the API will not
  3575  // be included in the string output. The member name will be present, but the
  3576  // value will be replaced with "sensitive".
  3577  func (s StartFHIRExportJobOutput) String() string {
  3578  	return awsutil.Prettify(s)
  3579  }
  3580  
  3581  // GoString returns the string representation.
  3582  //
  3583  // API parameter values that are decorated as "sensitive" in the API will not
  3584  // be included in the string output. The member name will be present, but the
  3585  // value will be replaced with "sensitive".
  3586  func (s StartFHIRExportJobOutput) GoString() string {
  3587  	return s.String()
  3588  }
  3589  
  3590  // SetDatastoreId sets the DatastoreId field's value.
  3591  func (s *StartFHIRExportJobOutput) SetDatastoreId(v string) *StartFHIRExportJobOutput {
  3592  	s.DatastoreId = &v
  3593  	return s
  3594  }
  3595  
  3596  // SetJobId sets the JobId field's value.
  3597  func (s *StartFHIRExportJobOutput) SetJobId(v string) *StartFHIRExportJobOutput {
  3598  	s.JobId = &v
  3599  	return s
  3600  }
  3601  
  3602  // SetJobStatus sets the JobStatus field's value.
  3603  func (s *StartFHIRExportJobOutput) SetJobStatus(v string) *StartFHIRExportJobOutput {
  3604  	s.JobStatus = &v
  3605  	return s
  3606  }
  3607  
  3608  type StartFHIRImportJobInput struct {
  3609  	_ struct{} `type:"structure"`
  3610  
  3611  	// Optional user provided token used for ensuring idempotency.
  3612  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  3613  
  3614  	// The Amazon Resource Name (ARN) that gives Amazon HealthLake access permission.
  3615  	//
  3616  	// DataAccessRoleArn is a required field
  3617  	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
  3618  
  3619  	// The AWS-generated Data Store ID.
  3620  	//
  3621  	// DatastoreId is a required field
  3622  	DatastoreId *string `min:"1" type:"string" required:"true"`
  3623  
  3624  	// The input properties of the FHIR Import job in the StartFHIRImport job request.
  3625  	//
  3626  	// InputDataConfig is a required field
  3627  	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
  3628  
  3629  	// The name of the FHIR Import job in the StartFHIRImport job request.
  3630  	JobName *string `min:"1" type:"string"`
  3631  
  3632  	// The output data configuration that was supplied when the export job was created.
  3633  	//
  3634  	// JobOutputDataConfig is a required field
  3635  	JobOutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
  3636  }
  3637  
  3638  // String returns the string representation.
  3639  //
  3640  // API parameter values that are decorated as "sensitive" in the API will not
  3641  // be included in the string output. The member name will be present, but the
  3642  // value will be replaced with "sensitive".
  3643  func (s StartFHIRImportJobInput) String() string {
  3644  	return awsutil.Prettify(s)
  3645  }
  3646  
  3647  // GoString returns the string representation.
  3648  //
  3649  // API parameter values that are decorated as "sensitive" in the API will not
  3650  // be included in the string output. The member name will be present, but the
  3651  // value will be replaced with "sensitive".
  3652  func (s StartFHIRImportJobInput) GoString() string {
  3653  	return s.String()
  3654  }
  3655  
  3656  // Validate inspects the fields of the type to determine if they are valid.
  3657  func (s *StartFHIRImportJobInput) Validate() error {
  3658  	invalidParams := request.ErrInvalidParams{Context: "StartFHIRImportJobInput"}
  3659  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  3660  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  3661  	}
  3662  	if s.DataAccessRoleArn == nil {
  3663  		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
  3664  	}
  3665  	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
  3666  		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
  3667  	}
  3668  	if s.DatastoreId == nil {
  3669  		invalidParams.Add(request.NewErrParamRequired("DatastoreId"))
  3670  	}
  3671  	if s.DatastoreId != nil && len(*s.DatastoreId) < 1 {
  3672  		invalidParams.Add(request.NewErrParamMinLen("DatastoreId", 1))
  3673  	}
  3674  	if s.InputDataConfig == nil {
  3675  		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
  3676  	}
  3677  	if s.JobName != nil && len(*s.JobName) < 1 {
  3678  		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
  3679  	}
  3680  	if s.JobOutputDataConfig == nil {
  3681  		invalidParams.Add(request.NewErrParamRequired("JobOutputDataConfig"))
  3682  	}
  3683  	if s.JobOutputDataConfig != nil {
  3684  		if err := s.JobOutputDataConfig.Validate(); err != nil {
  3685  			invalidParams.AddNested("JobOutputDataConfig", err.(request.ErrInvalidParams))
  3686  		}
  3687  	}
  3688  
  3689  	if invalidParams.Len() > 0 {
  3690  		return invalidParams
  3691  	}
  3692  	return nil
  3693  }
  3694  
  3695  // SetClientToken sets the ClientToken field's value.
  3696  func (s *StartFHIRImportJobInput) SetClientToken(v string) *StartFHIRImportJobInput {
  3697  	s.ClientToken = &v
  3698  	return s
  3699  }
  3700  
  3701  // SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
  3702  func (s *StartFHIRImportJobInput) SetDataAccessRoleArn(v string) *StartFHIRImportJobInput {
  3703  	s.DataAccessRoleArn = &v
  3704  	return s
  3705  }
  3706  
  3707  // SetDatastoreId sets the DatastoreId field's value.
  3708  func (s *StartFHIRImportJobInput) SetDatastoreId(v string) *StartFHIRImportJobInput {
  3709  	s.DatastoreId = &v
  3710  	return s
  3711  }
  3712  
  3713  // SetInputDataConfig sets the InputDataConfig field's value.
  3714  func (s *StartFHIRImportJobInput) SetInputDataConfig(v *InputDataConfig) *StartFHIRImportJobInput {
  3715  	s.InputDataConfig = v
  3716  	return s
  3717  }
  3718  
  3719  // SetJobName sets the JobName field's value.
  3720  func (s *StartFHIRImportJobInput) SetJobName(v string) *StartFHIRImportJobInput {
  3721  	s.JobName = &v
  3722  	return s
  3723  }
  3724  
  3725  // SetJobOutputDataConfig sets the JobOutputDataConfig field's value.
  3726  func (s *StartFHIRImportJobInput) SetJobOutputDataConfig(v *OutputDataConfig) *StartFHIRImportJobInput {
  3727  	s.JobOutputDataConfig = v
  3728  	return s
  3729  }
  3730  
  3731  type StartFHIRImportJobOutput struct {
  3732  	_ struct{} `type:"structure"`
  3733  
  3734  	// The AWS-generated Data Store ID.
  3735  	DatastoreId *string `min:"1" type:"string"`
  3736  
  3737  	// The AWS-generated job ID.
  3738  	//
  3739  	// JobId is a required field
  3740  	JobId *string `min:"1" type:"string" required:"true"`
  3741  
  3742  	// The status of an import job.
  3743  	//
  3744  	// JobStatus is a required field
  3745  	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
  3746  }
  3747  
  3748  // String returns the string representation.
  3749  //
  3750  // API parameter values that are decorated as "sensitive" in the API will not
  3751  // be included in the string output. The member name will be present, but the
  3752  // value will be replaced with "sensitive".
  3753  func (s StartFHIRImportJobOutput) String() string {
  3754  	return awsutil.Prettify(s)
  3755  }
  3756  
  3757  // GoString returns the string representation.
  3758  //
  3759  // API parameter values that are decorated as "sensitive" in the API will not
  3760  // be included in the string output. The member name will be present, but the
  3761  // value will be replaced with "sensitive".
  3762  func (s StartFHIRImportJobOutput) GoString() string {
  3763  	return s.String()
  3764  }
  3765  
  3766  // SetDatastoreId sets the DatastoreId field's value.
  3767  func (s *StartFHIRImportJobOutput) SetDatastoreId(v string) *StartFHIRImportJobOutput {
  3768  	s.DatastoreId = &v
  3769  	return s
  3770  }
  3771  
  3772  // SetJobId sets the JobId field's value.
  3773  func (s *StartFHIRImportJobOutput) SetJobId(v string) *StartFHIRImportJobOutput {
  3774  	s.JobId = &v
  3775  	return s
  3776  }
  3777  
  3778  // SetJobStatus sets the JobStatus field's value.
  3779  func (s *StartFHIRImportJobOutput) SetJobStatus(v string) *StartFHIRImportJobOutput {
  3780  	s.JobStatus = &v
  3781  	return s
  3782  }
  3783  
  3784  // A tag is a label consisting of a user-defined key and value. The form for
  3785  // tags is {"Key", "Value"}
  3786  type Tag struct {
  3787  	_ struct{} `type:"structure"`
  3788  
  3789  	// The key portion of a tag. Tag keys are case sensitive.
  3790  	//
  3791  	// Key is a required field
  3792  	Key *string `min:"1" type:"string" required:"true"`
  3793  
  3794  	// The value portion of tag. Tag values are case sensitive.
  3795  	//
  3796  	// Value is a required field
  3797  	Value *string `type:"string" required:"true"`
  3798  }
  3799  
  3800  // String returns the string representation.
  3801  //
  3802  // API parameter values that are decorated as "sensitive" in the API will not
  3803  // be included in the string output. The member name will be present, but the
  3804  // value will be replaced with "sensitive".
  3805  func (s Tag) String() string {
  3806  	return awsutil.Prettify(s)
  3807  }
  3808  
  3809  // GoString returns the string representation.
  3810  //
  3811  // API parameter values that are decorated as "sensitive" in the API will not
  3812  // be included in the string output. The member name will be present, but the
  3813  // value will be replaced with "sensitive".
  3814  func (s Tag) GoString() string {
  3815  	return s.String()
  3816  }
  3817  
  3818  // Validate inspects the fields of the type to determine if they are valid.
  3819  func (s *Tag) Validate() error {
  3820  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  3821  	if s.Key == nil {
  3822  		invalidParams.Add(request.NewErrParamRequired("Key"))
  3823  	}
  3824  	if s.Key != nil && len(*s.Key) < 1 {
  3825  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  3826  	}
  3827  	if s.Value == nil {
  3828  		invalidParams.Add(request.NewErrParamRequired("Value"))
  3829  	}
  3830  
  3831  	if invalidParams.Len() > 0 {
  3832  		return invalidParams
  3833  	}
  3834  	return nil
  3835  }
  3836  
  3837  // SetKey sets the Key field's value.
  3838  func (s *Tag) SetKey(v string) *Tag {
  3839  	s.Key = &v
  3840  	return s
  3841  }
  3842  
  3843  // SetValue sets the Value field's value.
  3844  func (s *Tag) SetValue(v string) *Tag {
  3845  	s.Value = &v
  3846  	return s
  3847  }
  3848  
  3849  type TagResourceInput struct {
  3850  	_ struct{} `type:"structure"`
  3851  
  3852  	// The Amazon Resource Name(ARN)that gives Amazon HealthLake access to the Data
  3853  	// Store which tags are being added to.
  3854  	//
  3855  	// ResourceARN is a required field
  3856  	ResourceARN *string `min:"1" type:"string" required:"true"`
  3857  
  3858  	// The user specified key and value pair tags being added to a Data Store.
  3859  	//
  3860  	// Tags is a required field
  3861  	Tags []*Tag `type:"list" required:"true"`
  3862  }
  3863  
  3864  // String returns the string representation.
  3865  //
  3866  // API parameter values that are decorated as "sensitive" in the API will not
  3867  // be included in the string output. The member name will be present, but the
  3868  // value will be replaced with "sensitive".
  3869  func (s TagResourceInput) String() string {
  3870  	return awsutil.Prettify(s)
  3871  }
  3872  
  3873  // GoString returns the string representation.
  3874  //
  3875  // API parameter values that are decorated as "sensitive" in the API will not
  3876  // be included in the string output. The member name will be present, but the
  3877  // value will be replaced with "sensitive".
  3878  func (s TagResourceInput) GoString() string {
  3879  	return s.String()
  3880  }
  3881  
  3882  // Validate inspects the fields of the type to determine if they are valid.
  3883  func (s *TagResourceInput) Validate() error {
  3884  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  3885  	if s.ResourceARN == nil {
  3886  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  3887  	}
  3888  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  3889  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  3890  	}
  3891  	if s.Tags == nil {
  3892  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  3893  	}
  3894  	if s.Tags != nil {
  3895  		for i, v := range s.Tags {
  3896  			if v == nil {
  3897  				continue
  3898  			}
  3899  			if err := v.Validate(); err != nil {
  3900  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3901  			}
  3902  		}
  3903  	}
  3904  
  3905  	if invalidParams.Len() > 0 {
  3906  		return invalidParams
  3907  	}
  3908  	return nil
  3909  }
  3910  
  3911  // SetResourceARN sets the ResourceARN field's value.
  3912  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
  3913  	s.ResourceARN = &v
  3914  	return s
  3915  }
  3916  
  3917  // SetTags sets the Tags field's value.
  3918  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  3919  	s.Tags = v
  3920  	return s
  3921  }
  3922  
  3923  type TagResourceOutput struct {
  3924  	_ struct{} `type:"structure"`
  3925  }
  3926  
  3927  // String returns the string representation.
  3928  //
  3929  // API parameter values that are decorated as "sensitive" in the API will not
  3930  // be included in the string output. The member name will be present, but the
  3931  // value will be replaced with "sensitive".
  3932  func (s TagResourceOutput) String() string {
  3933  	return awsutil.Prettify(s)
  3934  }
  3935  
  3936  // GoString returns the string representation.
  3937  //
  3938  // API parameter values that are decorated as "sensitive" in the API will not
  3939  // be included in the string output. The member name will be present, but the
  3940  // value will be replaced with "sensitive".
  3941  func (s TagResourceOutput) GoString() string {
  3942  	return s.String()
  3943  }
  3944  
  3945  // The user has exceeded their maximum number of allowed calls to the given
  3946  // API.
  3947  type ThrottlingException struct {
  3948  	_            struct{}                  `type:"structure"`
  3949  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3950  
  3951  	Message_ *string `locationName:"Message" type:"string"`
  3952  }
  3953  
  3954  // String returns the string representation.
  3955  //
  3956  // API parameter values that are decorated as "sensitive" in the API will not
  3957  // be included in the string output. The member name will be present, but the
  3958  // value will be replaced with "sensitive".
  3959  func (s ThrottlingException) String() string {
  3960  	return awsutil.Prettify(s)
  3961  }
  3962  
  3963  // GoString returns the string representation.
  3964  //
  3965  // API parameter values that are decorated as "sensitive" in the API will not
  3966  // be included in the string output. The member name will be present, but the
  3967  // value will be replaced with "sensitive".
  3968  func (s ThrottlingException) GoString() string {
  3969  	return s.String()
  3970  }
  3971  
  3972  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  3973  	return &ThrottlingException{
  3974  		RespMetadata: v,
  3975  	}
  3976  }
  3977  
  3978  // Code returns the exception type name.
  3979  func (s *ThrottlingException) Code() string {
  3980  	return "ThrottlingException"
  3981  }
  3982  
  3983  // Message returns the exception's message.
  3984  func (s *ThrottlingException) Message() string {
  3985  	if s.Message_ != nil {
  3986  		return *s.Message_
  3987  	}
  3988  	return ""
  3989  }
  3990  
  3991  // OrigErr always returns nil, satisfies awserr.Error interface.
  3992  func (s *ThrottlingException) OrigErr() error {
  3993  	return nil
  3994  }
  3995  
  3996  func (s *ThrottlingException) Error() string {
  3997  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3998  }
  3999  
  4000  // Status code returns the HTTP status code for the request's response error.
  4001  func (s *ThrottlingException) StatusCode() int {
  4002  	return s.RespMetadata.StatusCode
  4003  }
  4004  
  4005  // RequestID returns the service's response RequestID for request.
  4006  func (s *ThrottlingException) RequestID() string {
  4007  	return s.RespMetadata.RequestID
  4008  }
  4009  
  4010  type UntagResourceInput struct {
  4011  	_ struct{} `type:"structure"`
  4012  
  4013  	// "The Amazon Resource Name(ARN) of the Data Store for which tags are being
  4014  	// removed
  4015  	//
  4016  	// ResourceARN is a required field
  4017  	ResourceARN *string `min:"1" type:"string" required:"true"`
  4018  
  4019  	// The keys for the tags to be removed from the Healthlake Data Store.
  4020  	//
  4021  	// TagKeys is a required field
  4022  	TagKeys []*string `type:"list" required:"true"`
  4023  }
  4024  
  4025  // String returns the string representation.
  4026  //
  4027  // API parameter values that are decorated as "sensitive" in the API will not
  4028  // be included in the string output. The member name will be present, but the
  4029  // value will be replaced with "sensitive".
  4030  func (s UntagResourceInput) String() string {
  4031  	return awsutil.Prettify(s)
  4032  }
  4033  
  4034  // GoString returns the string representation.
  4035  //
  4036  // API parameter values that are decorated as "sensitive" in the API will not
  4037  // be included in the string output. The member name will be present, but the
  4038  // value will be replaced with "sensitive".
  4039  func (s UntagResourceInput) GoString() string {
  4040  	return s.String()
  4041  }
  4042  
  4043  // Validate inspects the fields of the type to determine if they are valid.
  4044  func (s *UntagResourceInput) Validate() error {
  4045  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  4046  	if s.ResourceARN == nil {
  4047  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  4048  	}
  4049  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  4050  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  4051  	}
  4052  	if s.TagKeys == nil {
  4053  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  4054  	}
  4055  
  4056  	if invalidParams.Len() > 0 {
  4057  		return invalidParams
  4058  	}
  4059  	return nil
  4060  }
  4061  
  4062  // SetResourceARN sets the ResourceARN field's value.
  4063  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
  4064  	s.ResourceARN = &v
  4065  	return s
  4066  }
  4067  
  4068  // SetTagKeys sets the TagKeys field's value.
  4069  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  4070  	s.TagKeys = v
  4071  	return s
  4072  }
  4073  
  4074  type UntagResourceOutput struct {
  4075  	_ struct{} `type:"structure"`
  4076  }
  4077  
  4078  // String returns the string representation.
  4079  //
  4080  // API parameter values that are decorated as "sensitive" in the API will not
  4081  // be included in the string output. The member name will be present, but the
  4082  // value will be replaced with "sensitive".
  4083  func (s UntagResourceOutput) String() string {
  4084  	return awsutil.Prettify(s)
  4085  }
  4086  
  4087  // GoString returns the string representation.
  4088  //
  4089  // API parameter values that are decorated as "sensitive" in the API will not
  4090  // be included in the string output. The member name will be present, but the
  4091  // value will be replaced with "sensitive".
  4092  func (s UntagResourceOutput) GoString() string {
  4093  	return s.String()
  4094  }
  4095  
  4096  // The user input parameter was invalid.
  4097  type ValidationException struct {
  4098  	_            struct{}                  `type:"structure"`
  4099  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4100  
  4101  	Message_ *string `locationName:"Message" type:"string"`
  4102  }
  4103  
  4104  // String returns the string representation.
  4105  //
  4106  // API parameter values that are decorated as "sensitive" in the API will not
  4107  // be included in the string output. The member name will be present, but the
  4108  // value will be replaced with "sensitive".
  4109  func (s ValidationException) String() string {
  4110  	return awsutil.Prettify(s)
  4111  }
  4112  
  4113  // GoString returns the string representation.
  4114  //
  4115  // API parameter values that are decorated as "sensitive" in the API will not
  4116  // be included in the string output. The member name will be present, but the
  4117  // value will be replaced with "sensitive".
  4118  func (s ValidationException) GoString() string {
  4119  	return s.String()
  4120  }
  4121  
  4122  func newErrorValidationException(v protocol.ResponseMetadata) error {
  4123  	return &ValidationException{
  4124  		RespMetadata: v,
  4125  	}
  4126  }
  4127  
  4128  // Code returns the exception type name.
  4129  func (s *ValidationException) Code() string {
  4130  	return "ValidationException"
  4131  }
  4132  
  4133  // Message returns the exception's message.
  4134  func (s *ValidationException) Message() string {
  4135  	if s.Message_ != nil {
  4136  		return *s.Message_
  4137  	}
  4138  	return ""
  4139  }
  4140  
  4141  // OrigErr always returns nil, satisfies awserr.Error interface.
  4142  func (s *ValidationException) OrigErr() error {
  4143  	return nil
  4144  }
  4145  
  4146  func (s *ValidationException) Error() string {
  4147  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4148  }
  4149  
  4150  // Status code returns the HTTP status code for the request's response error.
  4151  func (s *ValidationException) StatusCode() int {
  4152  	return s.RespMetadata.StatusCode
  4153  }
  4154  
  4155  // RequestID returns the service's response RequestID for request.
  4156  func (s *ValidationException) RequestID() string {
  4157  	return s.RespMetadata.RequestID
  4158  }
  4159  
  4160  const (
  4161  	// CmkTypeCustomerManagedKmsKey is a CmkType enum value
  4162  	CmkTypeCustomerManagedKmsKey = "CUSTOMER_MANAGED_KMS_KEY"
  4163  
  4164  	// CmkTypeAwsOwnedKmsKey is a CmkType enum value
  4165  	CmkTypeAwsOwnedKmsKey = "AWS_OWNED_KMS_KEY"
  4166  )
  4167  
  4168  // CmkType_Values returns all elements of the CmkType enum
  4169  func CmkType_Values() []string {
  4170  	return []string{
  4171  		CmkTypeCustomerManagedKmsKey,
  4172  		CmkTypeAwsOwnedKmsKey,
  4173  	}
  4174  }
  4175  
  4176  const (
  4177  	// DatastoreStatusCreating is a DatastoreStatus enum value
  4178  	DatastoreStatusCreating = "CREATING"
  4179  
  4180  	// DatastoreStatusActive is a DatastoreStatus enum value
  4181  	DatastoreStatusActive = "ACTIVE"
  4182  
  4183  	// DatastoreStatusDeleting is a DatastoreStatus enum value
  4184  	DatastoreStatusDeleting = "DELETING"
  4185  
  4186  	// DatastoreStatusDeleted is a DatastoreStatus enum value
  4187  	DatastoreStatusDeleted = "DELETED"
  4188  )
  4189  
  4190  // DatastoreStatus_Values returns all elements of the DatastoreStatus enum
  4191  func DatastoreStatus_Values() []string {
  4192  	return []string{
  4193  		DatastoreStatusCreating,
  4194  		DatastoreStatusActive,
  4195  		DatastoreStatusDeleting,
  4196  		DatastoreStatusDeleted,
  4197  	}
  4198  }
  4199  
  4200  const (
  4201  	// FHIRVersionR4 is a FHIRVersion enum value
  4202  	FHIRVersionR4 = "R4"
  4203  )
  4204  
  4205  // FHIRVersion_Values returns all elements of the FHIRVersion enum
  4206  func FHIRVersion_Values() []string {
  4207  	return []string{
  4208  		FHIRVersionR4,
  4209  	}
  4210  }
  4211  
  4212  const (
  4213  	// JobStatusSubmitted is a JobStatus enum value
  4214  	JobStatusSubmitted = "SUBMITTED"
  4215  
  4216  	// JobStatusInProgress is a JobStatus enum value
  4217  	JobStatusInProgress = "IN_PROGRESS"
  4218  
  4219  	// JobStatusCompletedWithErrors is a JobStatus enum value
  4220  	JobStatusCompletedWithErrors = "COMPLETED_WITH_ERRORS"
  4221  
  4222  	// JobStatusCompleted is a JobStatus enum value
  4223  	JobStatusCompleted = "COMPLETED"
  4224  
  4225  	// JobStatusFailed is a JobStatus enum value
  4226  	JobStatusFailed = "FAILED"
  4227  )
  4228  
  4229  // JobStatus_Values returns all elements of the JobStatus enum
  4230  func JobStatus_Values() []string {
  4231  	return []string{
  4232  		JobStatusSubmitted,
  4233  		JobStatusInProgress,
  4234  		JobStatusCompletedWithErrors,
  4235  		JobStatusCompleted,
  4236  		JobStatusFailed,
  4237  	}
  4238  }
  4239  
  4240  const (
  4241  	// PreloadDataTypeSynthea is a PreloadDataType enum value
  4242  	PreloadDataTypeSynthea = "SYNTHEA"
  4243  )
  4244  
  4245  // PreloadDataType_Values returns all elements of the PreloadDataType enum
  4246  func PreloadDataType_Values() []string {
  4247  	return []string{
  4248  		PreloadDataTypeSynthea,
  4249  	}
  4250  }