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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package locationservice
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAssociateTrackerConsumer = "AssociateTrackerConsumer"
    17  
    18  // AssociateTrackerConsumerRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateTrackerConsumer 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 AssociateTrackerConsumer for more information on using the AssociateTrackerConsumer
    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 AssociateTrackerConsumerRequest method.
    34  //    req, resp := client.AssociateTrackerConsumerRequest(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/location-2020-11-19/AssociateTrackerConsumer
    42  func (c *LocationService) AssociateTrackerConsumerRequest(input *AssociateTrackerConsumerInput) (req *request.Request, output *AssociateTrackerConsumerOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateTrackerConsumer,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/consumers",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateTrackerConsumerInput{}
    51  	}
    52  
    53  	output = &AssociateTrackerConsumerOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
    57  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
    58  	return
    59  }
    60  
    61  // AssociateTrackerConsumer API operation for Amazon Location Service.
    62  //
    63  // Creates an association between a geofence collection and a tracker resource.
    64  // This allows the tracker resource to communicate location data to the linked
    65  // geofence collection.
    66  //
    67  // You can associate up to five geofence collections to each tracker resource.
    68  //
    69  // Currently not supported — Cross-account configurations, such as creating
    70  // associations between a tracker resource in one account and a geofence collection
    71  // in another account.
    72  //
    73  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    74  // with awserr.Error's Code and Message methods to get detailed information about
    75  // the error.
    76  //
    77  // See the AWS API reference guide for Amazon Location Service's
    78  // API operation AssociateTrackerConsumer for usage and error information.
    79  //
    80  // Returned Error Types:
    81  //   * InternalServerException
    82  //   The request has failed to process because of an unknown server error, exception,
    83  //   or failure.
    84  //
    85  //   * ResourceNotFoundException
    86  //   The resource that you've entered was not found in your AWS account.
    87  //
    88  //   * ConflictException
    89  //   The request was unsuccessful because of a conflict.
    90  //
    91  //   * AccessDeniedException
    92  //   The request was denied because of insufficient access or permissions. Check
    93  //   with an administrator to verify your permissions.
    94  //
    95  //   * ValidationException
    96  //   The input failed to meet the constraints specified by the AWS service.
    97  //
    98  //   * ServiceQuotaExceededException
    99  //   The operation was denied because the request would exceed the maximum quota
   100  //   (https://docs.aws.amazon.com/location/latest/developerguide/location-quotas.html)
   101  //   set for Amazon Location Service.
   102  //
   103  //   * ThrottlingException
   104  //   The request was denied because of request throttling.
   105  //
   106  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/AssociateTrackerConsumer
   107  func (c *LocationService) AssociateTrackerConsumer(input *AssociateTrackerConsumerInput) (*AssociateTrackerConsumerOutput, error) {
   108  	req, out := c.AssociateTrackerConsumerRequest(input)
   109  	return out, req.Send()
   110  }
   111  
   112  // AssociateTrackerConsumerWithContext is the same as AssociateTrackerConsumer with the addition of
   113  // the ability to pass a context and additional request options.
   114  //
   115  // See AssociateTrackerConsumer for details on how to use this API operation.
   116  //
   117  // The context must be non-nil and will be used for request cancellation. If
   118  // the context is nil a panic will occur. In the future the SDK may create
   119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   120  // for more information on using Contexts.
   121  func (c *LocationService) AssociateTrackerConsumerWithContext(ctx aws.Context, input *AssociateTrackerConsumerInput, opts ...request.Option) (*AssociateTrackerConsumerOutput, error) {
   122  	req, out := c.AssociateTrackerConsumerRequest(input)
   123  	req.SetContext(ctx)
   124  	req.ApplyOptions(opts...)
   125  	return out, req.Send()
   126  }
   127  
   128  const opBatchDeleteDevicePositionHistory = "BatchDeleteDevicePositionHistory"
   129  
   130  // BatchDeleteDevicePositionHistoryRequest generates a "aws/request.Request" representing the
   131  // client's request for the BatchDeleteDevicePositionHistory operation. The "output" return
   132  // value will be populated with the request's response once the request completes
   133  // successfully.
   134  //
   135  // Use "Send" method on the returned Request to send the API call to the service.
   136  // the "output" return value is not valid until after Send returns without error.
   137  //
   138  // See BatchDeleteDevicePositionHistory for more information on using the BatchDeleteDevicePositionHistory
   139  // API call, and error handling.
   140  //
   141  // This method is useful when you want to inject custom logic or configuration
   142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   143  //
   144  //
   145  //    // Example sending a request using the BatchDeleteDevicePositionHistoryRequest method.
   146  //    req, resp := client.BatchDeleteDevicePositionHistoryRequest(params)
   147  //
   148  //    err := req.Send()
   149  //    if err == nil { // resp is now filled
   150  //        fmt.Println(resp)
   151  //    }
   152  //
   153  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteDevicePositionHistory
   154  func (c *LocationService) BatchDeleteDevicePositionHistoryRequest(input *BatchDeleteDevicePositionHistoryInput) (req *request.Request, output *BatchDeleteDevicePositionHistoryOutput) {
   155  	op := &request.Operation{
   156  		Name:       opBatchDeleteDevicePositionHistory,
   157  		HTTPMethod: "POST",
   158  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/delete-positions",
   159  	}
   160  
   161  	if input == nil {
   162  		input = &BatchDeleteDevicePositionHistoryInput{}
   163  	}
   164  
   165  	output = &BatchDeleteDevicePositionHistoryOutput{}
   166  	req = c.newRequest(op, input, output)
   167  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
   168  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   169  	return
   170  }
   171  
   172  // BatchDeleteDevicePositionHistory API operation for Amazon Location Service.
   173  //
   174  // Deletes the position history of one or more devices from a tracker resource.
   175  //
   176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   177  // with awserr.Error's Code and Message methods to get detailed information about
   178  // the error.
   179  //
   180  // See the AWS API reference guide for Amazon Location Service's
   181  // API operation BatchDeleteDevicePositionHistory for usage and error information.
   182  //
   183  // Returned Error Types:
   184  //   * InternalServerException
   185  //   The request has failed to process because of an unknown server error, exception,
   186  //   or failure.
   187  //
   188  //   * ResourceNotFoundException
   189  //   The resource that you've entered was not found in your AWS account.
   190  //
   191  //   * AccessDeniedException
   192  //   The request was denied because of insufficient access or permissions. Check
   193  //   with an administrator to verify your permissions.
   194  //
   195  //   * ValidationException
   196  //   The input failed to meet the constraints specified by the AWS service.
   197  //
   198  //   * ThrottlingException
   199  //   The request was denied because of request throttling.
   200  //
   201  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteDevicePositionHistory
   202  func (c *LocationService) BatchDeleteDevicePositionHistory(input *BatchDeleteDevicePositionHistoryInput) (*BatchDeleteDevicePositionHistoryOutput, error) {
   203  	req, out := c.BatchDeleteDevicePositionHistoryRequest(input)
   204  	return out, req.Send()
   205  }
   206  
   207  // BatchDeleteDevicePositionHistoryWithContext is the same as BatchDeleteDevicePositionHistory with the addition of
   208  // the ability to pass a context and additional request options.
   209  //
   210  // See BatchDeleteDevicePositionHistory for details on how to use this API operation.
   211  //
   212  // The context must be non-nil and will be used for request cancellation. If
   213  // the context is nil a panic will occur. In the future the SDK may create
   214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   215  // for more information on using Contexts.
   216  func (c *LocationService) BatchDeleteDevicePositionHistoryWithContext(ctx aws.Context, input *BatchDeleteDevicePositionHistoryInput, opts ...request.Option) (*BatchDeleteDevicePositionHistoryOutput, error) {
   217  	req, out := c.BatchDeleteDevicePositionHistoryRequest(input)
   218  	req.SetContext(ctx)
   219  	req.ApplyOptions(opts...)
   220  	return out, req.Send()
   221  }
   222  
   223  const opBatchDeleteGeofence = "BatchDeleteGeofence"
   224  
   225  // BatchDeleteGeofenceRequest generates a "aws/request.Request" representing the
   226  // client's request for the BatchDeleteGeofence operation. The "output" return
   227  // value will be populated with the request's response once the request completes
   228  // successfully.
   229  //
   230  // Use "Send" method on the returned Request to send the API call to the service.
   231  // the "output" return value is not valid until after Send returns without error.
   232  //
   233  // See BatchDeleteGeofence for more information on using the BatchDeleteGeofence
   234  // API call, and error handling.
   235  //
   236  // This method is useful when you want to inject custom logic or configuration
   237  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   238  //
   239  //
   240  //    // Example sending a request using the BatchDeleteGeofenceRequest method.
   241  //    req, resp := client.BatchDeleteGeofenceRequest(params)
   242  //
   243  //    err := req.Send()
   244  //    if err == nil { // resp is now filled
   245  //        fmt.Println(resp)
   246  //    }
   247  //
   248  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteGeofence
   249  func (c *LocationService) BatchDeleteGeofenceRequest(input *BatchDeleteGeofenceInput) (req *request.Request, output *BatchDeleteGeofenceOutput) {
   250  	op := &request.Operation{
   251  		Name:       opBatchDeleteGeofence,
   252  		HTTPMethod: "POST",
   253  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/delete-geofences",
   254  	}
   255  
   256  	if input == nil {
   257  		input = &BatchDeleteGeofenceInput{}
   258  	}
   259  
   260  	output = &BatchDeleteGeofenceOutput{}
   261  	req = c.newRequest(op, input, output)
   262  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
   263  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   264  	return
   265  }
   266  
   267  // BatchDeleteGeofence API operation for Amazon Location Service.
   268  //
   269  // Deletes a batch of geofences from a geofence collection.
   270  //
   271  // This operation deletes the resource permanently.
   272  //
   273  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   274  // with awserr.Error's Code and Message methods to get detailed information about
   275  // the error.
   276  //
   277  // See the AWS API reference guide for Amazon Location Service's
   278  // API operation BatchDeleteGeofence for usage and error information.
   279  //
   280  // Returned Error Types:
   281  //   * InternalServerException
   282  //   The request has failed to process because of an unknown server error, exception,
   283  //   or failure.
   284  //
   285  //   * ResourceNotFoundException
   286  //   The resource that you've entered was not found in your AWS account.
   287  //
   288  //   * AccessDeniedException
   289  //   The request was denied because of insufficient access or permissions. Check
   290  //   with an administrator to verify your permissions.
   291  //
   292  //   * ValidationException
   293  //   The input failed to meet the constraints specified by the AWS service.
   294  //
   295  //   * ThrottlingException
   296  //   The request was denied because of request throttling.
   297  //
   298  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteGeofence
   299  func (c *LocationService) BatchDeleteGeofence(input *BatchDeleteGeofenceInput) (*BatchDeleteGeofenceOutput, error) {
   300  	req, out := c.BatchDeleteGeofenceRequest(input)
   301  	return out, req.Send()
   302  }
   303  
   304  // BatchDeleteGeofenceWithContext is the same as BatchDeleteGeofence with the addition of
   305  // the ability to pass a context and additional request options.
   306  //
   307  // See BatchDeleteGeofence for details on how to use this API operation.
   308  //
   309  // The context must be non-nil and will be used for request cancellation. If
   310  // the context is nil a panic will occur. In the future the SDK may create
   311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   312  // for more information on using Contexts.
   313  func (c *LocationService) BatchDeleteGeofenceWithContext(ctx aws.Context, input *BatchDeleteGeofenceInput, opts ...request.Option) (*BatchDeleteGeofenceOutput, error) {
   314  	req, out := c.BatchDeleteGeofenceRequest(input)
   315  	req.SetContext(ctx)
   316  	req.ApplyOptions(opts...)
   317  	return out, req.Send()
   318  }
   319  
   320  const opBatchEvaluateGeofences = "BatchEvaluateGeofences"
   321  
   322  // BatchEvaluateGeofencesRequest generates a "aws/request.Request" representing the
   323  // client's request for the BatchEvaluateGeofences operation. The "output" return
   324  // value will be populated with the request's response once the request completes
   325  // successfully.
   326  //
   327  // Use "Send" method on the returned Request to send the API call to the service.
   328  // the "output" return value is not valid until after Send returns without error.
   329  //
   330  // See BatchEvaluateGeofences for more information on using the BatchEvaluateGeofences
   331  // API call, and error handling.
   332  //
   333  // This method is useful when you want to inject custom logic or configuration
   334  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   335  //
   336  //
   337  //    // Example sending a request using the BatchEvaluateGeofencesRequest method.
   338  //    req, resp := client.BatchEvaluateGeofencesRequest(params)
   339  //
   340  //    err := req.Send()
   341  //    if err == nil { // resp is now filled
   342  //        fmt.Println(resp)
   343  //    }
   344  //
   345  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchEvaluateGeofences
   346  func (c *LocationService) BatchEvaluateGeofencesRequest(input *BatchEvaluateGeofencesInput) (req *request.Request, output *BatchEvaluateGeofencesOutput) {
   347  	op := &request.Operation{
   348  		Name:       opBatchEvaluateGeofences,
   349  		HTTPMethod: "POST",
   350  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/positions",
   351  	}
   352  
   353  	if input == nil {
   354  		input = &BatchEvaluateGeofencesInput{}
   355  	}
   356  
   357  	output = &BatchEvaluateGeofencesOutput{}
   358  	req = c.newRequest(op, input, output)
   359  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
   360  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   361  	return
   362  }
   363  
   364  // BatchEvaluateGeofences API operation for Amazon Location Service.
   365  //
   366  // Evaluates device positions against the geofence geometries from a given geofence
   367  // collection.
   368  //
   369  // This operation always returns an empty response because geofences are asynchronously
   370  // evaluated. The evaluation determines if the device has entered or exited
   371  // a geofenced area, and then publishes one of the following events to Amazon
   372  // EventBridge:
   373  //
   374  //    * ENTER if Amazon Location determines that the tracked device has entered
   375  //    a geofenced area.
   376  //
   377  //    * EXIT if Amazon Location determines that the tracked device has exited
   378  //    a geofenced area.
   379  //
   380  // The last geofence that a device was observed within is tracked for 30 days
   381  // after the most recent device position update.
   382  //
   383  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   384  // with awserr.Error's Code and Message methods to get detailed information about
   385  // the error.
   386  //
   387  // See the AWS API reference guide for Amazon Location Service's
   388  // API operation BatchEvaluateGeofences for usage and error information.
   389  //
   390  // Returned Error Types:
   391  //   * InternalServerException
   392  //   The request has failed to process because of an unknown server error, exception,
   393  //   or failure.
   394  //
   395  //   * ResourceNotFoundException
   396  //   The resource that you've entered was not found in your AWS account.
   397  //
   398  //   * AccessDeniedException
   399  //   The request was denied because of insufficient access or permissions. Check
   400  //   with an administrator to verify your permissions.
   401  //
   402  //   * ValidationException
   403  //   The input failed to meet the constraints specified by the AWS service.
   404  //
   405  //   * ThrottlingException
   406  //   The request was denied because of request throttling.
   407  //
   408  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchEvaluateGeofences
   409  func (c *LocationService) BatchEvaluateGeofences(input *BatchEvaluateGeofencesInput) (*BatchEvaluateGeofencesOutput, error) {
   410  	req, out := c.BatchEvaluateGeofencesRequest(input)
   411  	return out, req.Send()
   412  }
   413  
   414  // BatchEvaluateGeofencesWithContext is the same as BatchEvaluateGeofences with the addition of
   415  // the ability to pass a context and additional request options.
   416  //
   417  // See BatchEvaluateGeofences for details on how to use this API operation.
   418  //
   419  // The context must be non-nil and will be used for request cancellation. If
   420  // the context is nil a panic will occur. In the future the SDK may create
   421  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   422  // for more information on using Contexts.
   423  func (c *LocationService) BatchEvaluateGeofencesWithContext(ctx aws.Context, input *BatchEvaluateGeofencesInput, opts ...request.Option) (*BatchEvaluateGeofencesOutput, error) {
   424  	req, out := c.BatchEvaluateGeofencesRequest(input)
   425  	req.SetContext(ctx)
   426  	req.ApplyOptions(opts...)
   427  	return out, req.Send()
   428  }
   429  
   430  const opBatchGetDevicePosition = "BatchGetDevicePosition"
   431  
   432  // BatchGetDevicePositionRequest generates a "aws/request.Request" representing the
   433  // client's request for the BatchGetDevicePosition operation. The "output" return
   434  // value will be populated with the request's response once the request completes
   435  // successfully.
   436  //
   437  // Use "Send" method on the returned Request to send the API call to the service.
   438  // the "output" return value is not valid until after Send returns without error.
   439  //
   440  // See BatchGetDevicePosition for more information on using the BatchGetDevicePosition
   441  // API call, and error handling.
   442  //
   443  // This method is useful when you want to inject custom logic or configuration
   444  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   445  //
   446  //
   447  //    // Example sending a request using the BatchGetDevicePositionRequest method.
   448  //    req, resp := client.BatchGetDevicePositionRequest(params)
   449  //
   450  //    err := req.Send()
   451  //    if err == nil { // resp is now filled
   452  //        fmt.Println(resp)
   453  //    }
   454  //
   455  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchGetDevicePosition
   456  func (c *LocationService) BatchGetDevicePositionRequest(input *BatchGetDevicePositionInput) (req *request.Request, output *BatchGetDevicePositionOutput) {
   457  	op := &request.Operation{
   458  		Name:       opBatchGetDevicePosition,
   459  		HTTPMethod: "POST",
   460  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/get-positions",
   461  	}
   462  
   463  	if input == nil {
   464  		input = &BatchGetDevicePositionInput{}
   465  	}
   466  
   467  	output = &BatchGetDevicePositionOutput{}
   468  	req = c.newRequest(op, input, output)
   469  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
   470  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   471  	return
   472  }
   473  
   474  // BatchGetDevicePosition API operation for Amazon Location Service.
   475  //
   476  // Lists the latest device positions for requested devices.
   477  //
   478  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   479  // with awserr.Error's Code and Message methods to get detailed information about
   480  // the error.
   481  //
   482  // See the AWS API reference guide for Amazon Location Service's
   483  // API operation BatchGetDevicePosition for usage and error information.
   484  //
   485  // Returned Error Types:
   486  //   * InternalServerException
   487  //   The request has failed to process because of an unknown server error, exception,
   488  //   or failure.
   489  //
   490  //   * ResourceNotFoundException
   491  //   The resource that you've entered was not found in your AWS account.
   492  //
   493  //   * AccessDeniedException
   494  //   The request was denied because of insufficient access or permissions. Check
   495  //   with an administrator to verify your permissions.
   496  //
   497  //   * ValidationException
   498  //   The input failed to meet the constraints specified by the AWS service.
   499  //
   500  //   * ThrottlingException
   501  //   The request was denied because of request throttling.
   502  //
   503  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchGetDevicePosition
   504  func (c *LocationService) BatchGetDevicePosition(input *BatchGetDevicePositionInput) (*BatchGetDevicePositionOutput, error) {
   505  	req, out := c.BatchGetDevicePositionRequest(input)
   506  	return out, req.Send()
   507  }
   508  
   509  // BatchGetDevicePositionWithContext is the same as BatchGetDevicePosition with the addition of
   510  // the ability to pass a context and additional request options.
   511  //
   512  // See BatchGetDevicePosition for details on how to use this API operation.
   513  //
   514  // The context must be non-nil and will be used for request cancellation. If
   515  // the context is nil a panic will occur. In the future the SDK may create
   516  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   517  // for more information on using Contexts.
   518  func (c *LocationService) BatchGetDevicePositionWithContext(ctx aws.Context, input *BatchGetDevicePositionInput, opts ...request.Option) (*BatchGetDevicePositionOutput, error) {
   519  	req, out := c.BatchGetDevicePositionRequest(input)
   520  	req.SetContext(ctx)
   521  	req.ApplyOptions(opts...)
   522  	return out, req.Send()
   523  }
   524  
   525  const opBatchPutGeofence = "BatchPutGeofence"
   526  
   527  // BatchPutGeofenceRequest generates a "aws/request.Request" representing the
   528  // client's request for the BatchPutGeofence operation. The "output" return
   529  // value will be populated with the request's response once the request completes
   530  // successfully.
   531  //
   532  // Use "Send" method on the returned Request to send the API call to the service.
   533  // the "output" return value is not valid until after Send returns without error.
   534  //
   535  // See BatchPutGeofence for more information on using the BatchPutGeofence
   536  // API call, and error handling.
   537  //
   538  // This method is useful when you want to inject custom logic or configuration
   539  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   540  //
   541  //
   542  //    // Example sending a request using the BatchPutGeofenceRequest method.
   543  //    req, resp := client.BatchPutGeofenceRequest(params)
   544  //
   545  //    err := req.Send()
   546  //    if err == nil { // resp is now filled
   547  //        fmt.Println(resp)
   548  //    }
   549  //
   550  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchPutGeofence
   551  func (c *LocationService) BatchPutGeofenceRequest(input *BatchPutGeofenceInput) (req *request.Request, output *BatchPutGeofenceOutput) {
   552  	op := &request.Operation{
   553  		Name:       opBatchPutGeofence,
   554  		HTTPMethod: "POST",
   555  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/put-geofences",
   556  	}
   557  
   558  	if input == nil {
   559  		input = &BatchPutGeofenceInput{}
   560  	}
   561  
   562  	output = &BatchPutGeofenceOutput{}
   563  	req = c.newRequest(op, input, output)
   564  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
   565  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   566  	return
   567  }
   568  
   569  // BatchPutGeofence API operation for Amazon Location Service.
   570  //
   571  // A batch request for storing geofence geometries into a given geofence collection,
   572  // or updates the geometry of an existing geofence if a geofence ID is included
   573  // in the request.
   574  //
   575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   576  // with awserr.Error's Code and Message methods to get detailed information about
   577  // the error.
   578  //
   579  // See the AWS API reference guide for Amazon Location Service's
   580  // API operation BatchPutGeofence for usage and error information.
   581  //
   582  // Returned Error Types:
   583  //   * InternalServerException
   584  //   The request has failed to process because of an unknown server error, exception,
   585  //   or failure.
   586  //
   587  //   * ResourceNotFoundException
   588  //   The resource that you've entered was not found in your AWS account.
   589  //
   590  //   * AccessDeniedException
   591  //   The request was denied because of insufficient access or permissions. Check
   592  //   with an administrator to verify your permissions.
   593  //
   594  //   * ValidationException
   595  //   The input failed to meet the constraints specified by the AWS service.
   596  //
   597  //   * ThrottlingException
   598  //   The request was denied because of request throttling.
   599  //
   600  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchPutGeofence
   601  func (c *LocationService) BatchPutGeofence(input *BatchPutGeofenceInput) (*BatchPutGeofenceOutput, error) {
   602  	req, out := c.BatchPutGeofenceRequest(input)
   603  	return out, req.Send()
   604  }
   605  
   606  // BatchPutGeofenceWithContext is the same as BatchPutGeofence with the addition of
   607  // the ability to pass a context and additional request options.
   608  //
   609  // See BatchPutGeofence for details on how to use this API operation.
   610  //
   611  // The context must be non-nil and will be used for request cancellation. If
   612  // the context is nil a panic will occur. In the future the SDK may create
   613  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   614  // for more information on using Contexts.
   615  func (c *LocationService) BatchPutGeofenceWithContext(ctx aws.Context, input *BatchPutGeofenceInput, opts ...request.Option) (*BatchPutGeofenceOutput, error) {
   616  	req, out := c.BatchPutGeofenceRequest(input)
   617  	req.SetContext(ctx)
   618  	req.ApplyOptions(opts...)
   619  	return out, req.Send()
   620  }
   621  
   622  const opBatchUpdateDevicePosition = "BatchUpdateDevicePosition"
   623  
   624  // BatchUpdateDevicePositionRequest generates a "aws/request.Request" representing the
   625  // client's request for the BatchUpdateDevicePosition operation. The "output" return
   626  // value will be populated with the request's response once the request completes
   627  // successfully.
   628  //
   629  // Use "Send" method on the returned Request to send the API call to the service.
   630  // the "output" return value is not valid until after Send returns without error.
   631  //
   632  // See BatchUpdateDevicePosition for more information on using the BatchUpdateDevicePosition
   633  // API call, and error handling.
   634  //
   635  // This method is useful when you want to inject custom logic or configuration
   636  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   637  //
   638  //
   639  //    // Example sending a request using the BatchUpdateDevicePositionRequest method.
   640  //    req, resp := client.BatchUpdateDevicePositionRequest(params)
   641  //
   642  //    err := req.Send()
   643  //    if err == nil { // resp is now filled
   644  //        fmt.Println(resp)
   645  //    }
   646  //
   647  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchUpdateDevicePosition
   648  func (c *LocationService) BatchUpdateDevicePositionRequest(input *BatchUpdateDevicePositionInput) (req *request.Request, output *BatchUpdateDevicePositionOutput) {
   649  	op := &request.Operation{
   650  		Name:       opBatchUpdateDevicePosition,
   651  		HTTPMethod: "POST",
   652  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/positions",
   653  	}
   654  
   655  	if input == nil {
   656  		input = &BatchUpdateDevicePositionInput{}
   657  	}
   658  
   659  	output = &BatchUpdateDevicePositionOutput{}
   660  	req = c.newRequest(op, input, output)
   661  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
   662  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   663  	return
   664  }
   665  
   666  // BatchUpdateDevicePosition API operation for Amazon Location Service.
   667  //
   668  // Uploads position update data for one or more devices to a tracker resource.
   669  // Amazon Location uses the data when it reports the last known device position
   670  // and position history. Amazon Location retains location data for 30 days.
   671  //
   672  // Position updates are handled based on the PositionFiltering property of the
   673  // tracker. When PositionFiltering is set to TimeBased, updates are evaluated
   674  // against linked geofence collections, and location data is stored at a maximum
   675  // of one position per 30 second interval. If your update frequency is more
   676  // often than every 30 seconds, only one update per 30 seconds is stored for
   677  // each unique device ID. When PositionFiltering is set to DistanceBased filtering,
   678  // location data is stored and evaluated against linked geofence collections
   679  // only if the device has moved more than 30 m (98.4 ft).
   680  //
   681  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   682  // with awserr.Error's Code and Message methods to get detailed information about
   683  // the error.
   684  //
   685  // See the AWS API reference guide for Amazon Location Service's
   686  // API operation BatchUpdateDevicePosition for usage and error information.
   687  //
   688  // Returned Error Types:
   689  //   * InternalServerException
   690  //   The request has failed to process because of an unknown server error, exception,
   691  //   or failure.
   692  //
   693  //   * ResourceNotFoundException
   694  //   The resource that you've entered was not found in your AWS account.
   695  //
   696  //   * AccessDeniedException
   697  //   The request was denied because of insufficient access or permissions. Check
   698  //   with an administrator to verify your permissions.
   699  //
   700  //   * ValidationException
   701  //   The input failed to meet the constraints specified by the AWS service.
   702  //
   703  //   * ThrottlingException
   704  //   The request was denied because of request throttling.
   705  //
   706  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchUpdateDevicePosition
   707  func (c *LocationService) BatchUpdateDevicePosition(input *BatchUpdateDevicePositionInput) (*BatchUpdateDevicePositionOutput, error) {
   708  	req, out := c.BatchUpdateDevicePositionRequest(input)
   709  	return out, req.Send()
   710  }
   711  
   712  // BatchUpdateDevicePositionWithContext is the same as BatchUpdateDevicePosition with the addition of
   713  // the ability to pass a context and additional request options.
   714  //
   715  // See BatchUpdateDevicePosition for details on how to use this API operation.
   716  //
   717  // The context must be non-nil and will be used for request cancellation. If
   718  // the context is nil a panic will occur. In the future the SDK may create
   719  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   720  // for more information on using Contexts.
   721  func (c *LocationService) BatchUpdateDevicePositionWithContext(ctx aws.Context, input *BatchUpdateDevicePositionInput, opts ...request.Option) (*BatchUpdateDevicePositionOutput, error) {
   722  	req, out := c.BatchUpdateDevicePositionRequest(input)
   723  	req.SetContext(ctx)
   724  	req.ApplyOptions(opts...)
   725  	return out, req.Send()
   726  }
   727  
   728  const opCalculateRoute = "CalculateRoute"
   729  
   730  // CalculateRouteRequest generates a "aws/request.Request" representing the
   731  // client's request for the CalculateRoute operation. The "output" return
   732  // value will be populated with the request's response once the request completes
   733  // successfully.
   734  //
   735  // Use "Send" method on the returned Request to send the API call to the service.
   736  // the "output" return value is not valid until after Send returns without error.
   737  //
   738  // See CalculateRoute for more information on using the CalculateRoute
   739  // API call, and error handling.
   740  //
   741  // This method is useful when you want to inject custom logic or configuration
   742  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   743  //
   744  //
   745  //    // Example sending a request using the CalculateRouteRequest method.
   746  //    req, resp := client.CalculateRouteRequest(params)
   747  //
   748  //    err := req.Send()
   749  //    if err == nil { // resp is now filled
   750  //        fmt.Println(resp)
   751  //    }
   752  //
   753  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CalculateRoute
   754  func (c *LocationService) CalculateRouteRequest(input *CalculateRouteInput) (req *request.Request, output *CalculateRouteOutput) {
   755  	op := &request.Operation{
   756  		Name:       opCalculateRoute,
   757  		HTTPMethod: "POST",
   758  		HTTPPath:   "/routes/v0/calculators/{CalculatorName}/calculate/route",
   759  	}
   760  
   761  	if input == nil {
   762  		input = &CalculateRouteInput{}
   763  	}
   764  
   765  	output = &CalculateRouteOutput{}
   766  	req = c.newRequest(op, input, output)
   767  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
   768  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   769  	return
   770  }
   771  
   772  // CalculateRoute API operation for Amazon Location Service.
   773  //
   774  // Calculates a route (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html)
   775  // given the following required parameters: DeparturePostiton and DestinationPosition.
   776  // Requires that you first create a route calculator resource (https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html)
   777  //
   778  // By default, a request that doesn't specify a departure time uses the best
   779  // time of day to travel with the best traffic conditions when calculating the
   780  // route.
   781  //
   782  // Additional options include:
   783  //
   784  //    * Specifying a departure time (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#departure-time)
   785  //    using either DepartureTime or DepartureNow. This calculates a route based
   786  //    on predictive traffic data at the given time. You can't specify both DepartureTime
   787  //    and DepartureNow in a single request. Specifying both parameters returns
   788  //    an error message.
   789  //
   790  //    * Specifying a travel mode (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#travel-mode)
   791  //    using TravelMode. This lets you specify an additional route preference
   792  //    such as CarModeOptions if traveling by Car, or TruckModeOptions if traveling
   793  //    by Truck.
   794  //
   795  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   796  // with awserr.Error's Code and Message methods to get detailed information about
   797  // the error.
   798  //
   799  // See the AWS API reference guide for Amazon Location Service's
   800  // API operation CalculateRoute for usage and error information.
   801  //
   802  // Returned Error Types:
   803  //   * InternalServerException
   804  //   The request has failed to process because of an unknown server error, exception,
   805  //   or failure.
   806  //
   807  //   * ResourceNotFoundException
   808  //   The resource that you've entered was not found in your AWS account.
   809  //
   810  //   * AccessDeniedException
   811  //   The request was denied because of insufficient access or permissions. Check
   812  //   with an administrator to verify your permissions.
   813  //
   814  //   * ValidationException
   815  //   The input failed to meet the constraints specified by the AWS service.
   816  //
   817  //   * ThrottlingException
   818  //   The request was denied because of request throttling.
   819  //
   820  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CalculateRoute
   821  func (c *LocationService) CalculateRoute(input *CalculateRouteInput) (*CalculateRouteOutput, error) {
   822  	req, out := c.CalculateRouteRequest(input)
   823  	return out, req.Send()
   824  }
   825  
   826  // CalculateRouteWithContext is the same as CalculateRoute with the addition of
   827  // the ability to pass a context and additional request options.
   828  //
   829  // See CalculateRoute for details on how to use this API operation.
   830  //
   831  // The context must be non-nil and will be used for request cancellation. If
   832  // the context is nil a panic will occur. In the future the SDK may create
   833  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   834  // for more information on using Contexts.
   835  func (c *LocationService) CalculateRouteWithContext(ctx aws.Context, input *CalculateRouteInput, opts ...request.Option) (*CalculateRouteOutput, error) {
   836  	req, out := c.CalculateRouteRequest(input)
   837  	req.SetContext(ctx)
   838  	req.ApplyOptions(opts...)
   839  	return out, req.Send()
   840  }
   841  
   842  const opCreateGeofenceCollection = "CreateGeofenceCollection"
   843  
   844  // CreateGeofenceCollectionRequest generates a "aws/request.Request" representing the
   845  // client's request for the CreateGeofenceCollection operation. The "output" return
   846  // value will be populated with the request's response once the request completes
   847  // successfully.
   848  //
   849  // Use "Send" method on the returned Request to send the API call to the service.
   850  // the "output" return value is not valid until after Send returns without error.
   851  //
   852  // See CreateGeofenceCollection for more information on using the CreateGeofenceCollection
   853  // API call, and error handling.
   854  //
   855  // This method is useful when you want to inject custom logic or configuration
   856  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   857  //
   858  //
   859  //    // Example sending a request using the CreateGeofenceCollectionRequest method.
   860  //    req, resp := client.CreateGeofenceCollectionRequest(params)
   861  //
   862  //    err := req.Send()
   863  //    if err == nil { // resp is now filled
   864  //        fmt.Println(resp)
   865  //    }
   866  //
   867  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection
   868  func (c *LocationService) CreateGeofenceCollectionRequest(input *CreateGeofenceCollectionInput) (req *request.Request, output *CreateGeofenceCollectionOutput) {
   869  	op := &request.Operation{
   870  		Name:       opCreateGeofenceCollection,
   871  		HTTPMethod: "POST",
   872  		HTTPPath:   "/geofencing/v0/collections",
   873  	}
   874  
   875  	if input == nil {
   876  		input = &CreateGeofenceCollectionInput{}
   877  	}
   878  
   879  	output = &CreateGeofenceCollectionOutput{}
   880  	req = c.newRequest(op, input, output)
   881  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
   882  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   883  	return
   884  }
   885  
   886  // CreateGeofenceCollection API operation for Amazon Location Service.
   887  //
   888  // Creates a geofence collection, which manages and stores geofences.
   889  //
   890  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   891  // with awserr.Error's Code and Message methods to get detailed information about
   892  // the error.
   893  //
   894  // See the AWS API reference guide for Amazon Location Service's
   895  // API operation CreateGeofenceCollection for usage and error information.
   896  //
   897  // Returned Error Types:
   898  //   * InternalServerException
   899  //   The request has failed to process because of an unknown server error, exception,
   900  //   or failure.
   901  //
   902  //   * ConflictException
   903  //   The request was unsuccessful because of a conflict.
   904  //
   905  //   * AccessDeniedException
   906  //   The request was denied because of insufficient access or permissions. Check
   907  //   with an administrator to verify your permissions.
   908  //
   909  //   * ValidationException
   910  //   The input failed to meet the constraints specified by the AWS service.
   911  //
   912  //   * ThrottlingException
   913  //   The request was denied because of request throttling.
   914  //
   915  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection
   916  func (c *LocationService) CreateGeofenceCollection(input *CreateGeofenceCollectionInput) (*CreateGeofenceCollectionOutput, error) {
   917  	req, out := c.CreateGeofenceCollectionRequest(input)
   918  	return out, req.Send()
   919  }
   920  
   921  // CreateGeofenceCollectionWithContext is the same as CreateGeofenceCollection with the addition of
   922  // the ability to pass a context and additional request options.
   923  //
   924  // See CreateGeofenceCollection for details on how to use this API operation.
   925  //
   926  // The context must be non-nil and will be used for request cancellation. If
   927  // the context is nil a panic will occur. In the future the SDK may create
   928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   929  // for more information on using Contexts.
   930  func (c *LocationService) CreateGeofenceCollectionWithContext(ctx aws.Context, input *CreateGeofenceCollectionInput, opts ...request.Option) (*CreateGeofenceCollectionOutput, error) {
   931  	req, out := c.CreateGeofenceCollectionRequest(input)
   932  	req.SetContext(ctx)
   933  	req.ApplyOptions(opts...)
   934  	return out, req.Send()
   935  }
   936  
   937  const opCreateMap = "CreateMap"
   938  
   939  // CreateMapRequest generates a "aws/request.Request" representing the
   940  // client's request for the CreateMap operation. The "output" return
   941  // value will be populated with the request's response once the request completes
   942  // successfully.
   943  //
   944  // Use "Send" method on the returned Request to send the API call to the service.
   945  // the "output" return value is not valid until after Send returns without error.
   946  //
   947  // See CreateMap for more information on using the CreateMap
   948  // API call, and error handling.
   949  //
   950  // This method is useful when you want to inject custom logic or configuration
   951  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   952  //
   953  //
   954  //    // Example sending a request using the CreateMapRequest method.
   955  //    req, resp := client.CreateMapRequest(params)
   956  //
   957  //    err := req.Send()
   958  //    if err == nil { // resp is now filled
   959  //        fmt.Println(resp)
   960  //    }
   961  //
   962  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap
   963  func (c *LocationService) CreateMapRequest(input *CreateMapInput) (req *request.Request, output *CreateMapOutput) {
   964  	op := &request.Operation{
   965  		Name:       opCreateMap,
   966  		HTTPMethod: "POST",
   967  		HTTPPath:   "/maps/v0/maps",
   968  	}
   969  
   970  	if input == nil {
   971  		input = &CreateMapInput{}
   972  	}
   973  
   974  	output = &CreateMapOutput{}
   975  	req = c.newRequest(op, input, output)
   976  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
   977  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   978  	return
   979  }
   980  
   981  // CreateMap API operation for Amazon Location Service.
   982  //
   983  // Creates a map resource in your AWS account, which provides map tiles of different
   984  // styles sourced from global location data providers.
   985  //
   986  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   987  // with awserr.Error's Code and Message methods to get detailed information about
   988  // the error.
   989  //
   990  // See the AWS API reference guide for Amazon Location Service's
   991  // API operation CreateMap for usage and error information.
   992  //
   993  // Returned Error Types:
   994  //   * InternalServerException
   995  //   The request has failed to process because of an unknown server error, exception,
   996  //   or failure.
   997  //
   998  //   * ConflictException
   999  //   The request was unsuccessful because of a conflict.
  1000  //
  1001  //   * AccessDeniedException
  1002  //   The request was denied because of insufficient access or permissions. Check
  1003  //   with an administrator to verify your permissions.
  1004  //
  1005  //   * ValidationException
  1006  //   The input failed to meet the constraints specified by the AWS service.
  1007  //
  1008  //   * ThrottlingException
  1009  //   The request was denied because of request throttling.
  1010  //
  1011  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap
  1012  func (c *LocationService) CreateMap(input *CreateMapInput) (*CreateMapOutput, error) {
  1013  	req, out := c.CreateMapRequest(input)
  1014  	return out, req.Send()
  1015  }
  1016  
  1017  // CreateMapWithContext is the same as CreateMap with the addition of
  1018  // the ability to pass a context and additional request options.
  1019  //
  1020  // See CreateMap for details on how to use this API operation.
  1021  //
  1022  // The context must be non-nil and will be used for request cancellation. If
  1023  // the context is nil a panic will occur. In the future the SDK may create
  1024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1025  // for more information on using Contexts.
  1026  func (c *LocationService) CreateMapWithContext(ctx aws.Context, input *CreateMapInput, opts ...request.Option) (*CreateMapOutput, error) {
  1027  	req, out := c.CreateMapRequest(input)
  1028  	req.SetContext(ctx)
  1029  	req.ApplyOptions(opts...)
  1030  	return out, req.Send()
  1031  }
  1032  
  1033  const opCreatePlaceIndex = "CreatePlaceIndex"
  1034  
  1035  // CreatePlaceIndexRequest generates a "aws/request.Request" representing the
  1036  // client's request for the CreatePlaceIndex operation. The "output" return
  1037  // value will be populated with the request's response once the request completes
  1038  // successfully.
  1039  //
  1040  // Use "Send" method on the returned Request to send the API call to the service.
  1041  // the "output" return value is not valid until after Send returns without error.
  1042  //
  1043  // See CreatePlaceIndex for more information on using the CreatePlaceIndex
  1044  // API call, and error handling.
  1045  //
  1046  // This method is useful when you want to inject custom logic or configuration
  1047  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1048  //
  1049  //
  1050  //    // Example sending a request using the CreatePlaceIndexRequest method.
  1051  //    req, resp := client.CreatePlaceIndexRequest(params)
  1052  //
  1053  //    err := req.Send()
  1054  //    if err == nil { // resp is now filled
  1055  //        fmt.Println(resp)
  1056  //    }
  1057  //
  1058  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex
  1059  func (c *LocationService) CreatePlaceIndexRequest(input *CreatePlaceIndexInput) (req *request.Request, output *CreatePlaceIndexOutput) {
  1060  	op := &request.Operation{
  1061  		Name:       opCreatePlaceIndex,
  1062  		HTTPMethod: "POST",
  1063  		HTTPPath:   "/places/v0/indexes",
  1064  	}
  1065  
  1066  	if input == nil {
  1067  		input = &CreatePlaceIndexInput{}
  1068  	}
  1069  
  1070  	output = &CreatePlaceIndexOutput{}
  1071  	req = c.newRequest(op, input, output)
  1072  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  1073  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1074  	return
  1075  }
  1076  
  1077  // CreatePlaceIndex API operation for Amazon Location Service.
  1078  //
  1079  // Creates a place index resource in your AWS account, which supports functions
  1080  // with geospatial data sourced from your chosen data provider.
  1081  //
  1082  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1083  // with awserr.Error's Code and Message methods to get detailed information about
  1084  // the error.
  1085  //
  1086  // See the AWS API reference guide for Amazon Location Service's
  1087  // API operation CreatePlaceIndex for usage and error information.
  1088  //
  1089  // Returned Error Types:
  1090  //   * InternalServerException
  1091  //   The request has failed to process because of an unknown server error, exception,
  1092  //   or failure.
  1093  //
  1094  //   * ConflictException
  1095  //   The request was unsuccessful because of a conflict.
  1096  //
  1097  //   * AccessDeniedException
  1098  //   The request was denied because of insufficient access or permissions. Check
  1099  //   with an administrator to verify your permissions.
  1100  //
  1101  //   * ValidationException
  1102  //   The input failed to meet the constraints specified by the AWS service.
  1103  //
  1104  //   * ThrottlingException
  1105  //   The request was denied because of request throttling.
  1106  //
  1107  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex
  1108  func (c *LocationService) CreatePlaceIndex(input *CreatePlaceIndexInput) (*CreatePlaceIndexOutput, error) {
  1109  	req, out := c.CreatePlaceIndexRequest(input)
  1110  	return out, req.Send()
  1111  }
  1112  
  1113  // CreatePlaceIndexWithContext is the same as CreatePlaceIndex with the addition of
  1114  // the ability to pass a context and additional request options.
  1115  //
  1116  // See CreatePlaceIndex for details on how to use this API operation.
  1117  //
  1118  // The context must be non-nil and will be used for request cancellation. If
  1119  // the context is nil a panic will occur. In the future the SDK may create
  1120  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1121  // for more information on using Contexts.
  1122  func (c *LocationService) CreatePlaceIndexWithContext(ctx aws.Context, input *CreatePlaceIndexInput, opts ...request.Option) (*CreatePlaceIndexOutput, error) {
  1123  	req, out := c.CreatePlaceIndexRequest(input)
  1124  	req.SetContext(ctx)
  1125  	req.ApplyOptions(opts...)
  1126  	return out, req.Send()
  1127  }
  1128  
  1129  const opCreateRouteCalculator = "CreateRouteCalculator"
  1130  
  1131  // CreateRouteCalculatorRequest generates a "aws/request.Request" representing the
  1132  // client's request for the CreateRouteCalculator operation. The "output" return
  1133  // value will be populated with the request's response once the request completes
  1134  // successfully.
  1135  //
  1136  // Use "Send" method on the returned Request to send the API call to the service.
  1137  // the "output" return value is not valid until after Send returns without error.
  1138  //
  1139  // See CreateRouteCalculator for more information on using the CreateRouteCalculator
  1140  // API call, and error handling.
  1141  //
  1142  // This method is useful when you want to inject custom logic or configuration
  1143  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1144  //
  1145  //
  1146  //    // Example sending a request using the CreateRouteCalculatorRequest method.
  1147  //    req, resp := client.CreateRouteCalculatorRequest(params)
  1148  //
  1149  //    err := req.Send()
  1150  //    if err == nil { // resp is now filled
  1151  //        fmt.Println(resp)
  1152  //    }
  1153  //
  1154  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateRouteCalculator
  1155  func (c *LocationService) CreateRouteCalculatorRequest(input *CreateRouteCalculatorInput) (req *request.Request, output *CreateRouteCalculatorOutput) {
  1156  	op := &request.Operation{
  1157  		Name:       opCreateRouteCalculator,
  1158  		HTTPMethod: "POST",
  1159  		HTTPPath:   "/routes/v0/calculators",
  1160  	}
  1161  
  1162  	if input == nil {
  1163  		input = &CreateRouteCalculatorInput{}
  1164  	}
  1165  
  1166  	output = &CreateRouteCalculatorOutput{}
  1167  	req = c.newRequest(op, input, output)
  1168  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
  1169  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1170  	return
  1171  }
  1172  
  1173  // CreateRouteCalculator API operation for Amazon Location Service.
  1174  //
  1175  // Creates a route calculator resource in your AWS account.
  1176  //
  1177  // You can send requests to a route calculator resource to estimate travel time,
  1178  // distance, and get directions. A route calculator sources traffic and road
  1179  // network data from your chosen data provider.
  1180  //
  1181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1182  // with awserr.Error's Code and Message methods to get detailed information about
  1183  // the error.
  1184  //
  1185  // See the AWS API reference guide for Amazon Location Service's
  1186  // API operation CreateRouteCalculator for usage and error information.
  1187  //
  1188  // Returned Error Types:
  1189  //   * InternalServerException
  1190  //   The request has failed to process because of an unknown server error, exception,
  1191  //   or failure.
  1192  //
  1193  //   * ConflictException
  1194  //   The request was unsuccessful because of a conflict.
  1195  //
  1196  //   * AccessDeniedException
  1197  //   The request was denied because of insufficient access or permissions. Check
  1198  //   with an administrator to verify your permissions.
  1199  //
  1200  //   * ValidationException
  1201  //   The input failed to meet the constraints specified by the AWS service.
  1202  //
  1203  //   * ThrottlingException
  1204  //   The request was denied because of request throttling.
  1205  //
  1206  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateRouteCalculator
  1207  func (c *LocationService) CreateRouteCalculator(input *CreateRouteCalculatorInput) (*CreateRouteCalculatorOutput, error) {
  1208  	req, out := c.CreateRouteCalculatorRequest(input)
  1209  	return out, req.Send()
  1210  }
  1211  
  1212  // CreateRouteCalculatorWithContext is the same as CreateRouteCalculator with the addition of
  1213  // the ability to pass a context and additional request options.
  1214  //
  1215  // See CreateRouteCalculator for details on how to use this API operation.
  1216  //
  1217  // The context must be non-nil and will be used for request cancellation. If
  1218  // the context is nil a panic will occur. In the future the SDK may create
  1219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1220  // for more information on using Contexts.
  1221  func (c *LocationService) CreateRouteCalculatorWithContext(ctx aws.Context, input *CreateRouteCalculatorInput, opts ...request.Option) (*CreateRouteCalculatorOutput, error) {
  1222  	req, out := c.CreateRouteCalculatorRequest(input)
  1223  	req.SetContext(ctx)
  1224  	req.ApplyOptions(opts...)
  1225  	return out, req.Send()
  1226  }
  1227  
  1228  const opCreateTracker = "CreateTracker"
  1229  
  1230  // CreateTrackerRequest generates a "aws/request.Request" representing the
  1231  // client's request for the CreateTracker operation. The "output" return
  1232  // value will be populated with the request's response once the request completes
  1233  // successfully.
  1234  //
  1235  // Use "Send" method on the returned Request to send the API call to the service.
  1236  // the "output" return value is not valid until after Send returns without error.
  1237  //
  1238  // See CreateTracker for more information on using the CreateTracker
  1239  // API call, and error handling.
  1240  //
  1241  // This method is useful when you want to inject custom logic or configuration
  1242  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1243  //
  1244  //
  1245  //    // Example sending a request using the CreateTrackerRequest method.
  1246  //    req, resp := client.CreateTrackerRequest(params)
  1247  //
  1248  //    err := req.Send()
  1249  //    if err == nil { // resp is now filled
  1250  //        fmt.Println(resp)
  1251  //    }
  1252  //
  1253  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker
  1254  func (c *LocationService) CreateTrackerRequest(input *CreateTrackerInput) (req *request.Request, output *CreateTrackerOutput) {
  1255  	op := &request.Operation{
  1256  		Name:       opCreateTracker,
  1257  		HTTPMethod: "POST",
  1258  		HTTPPath:   "/tracking/v0/trackers",
  1259  	}
  1260  
  1261  	if input == nil {
  1262  		input = &CreateTrackerInput{}
  1263  	}
  1264  
  1265  	output = &CreateTrackerOutput{}
  1266  	req = c.newRequest(op, input, output)
  1267  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  1268  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1269  	return
  1270  }
  1271  
  1272  // CreateTracker API operation for Amazon Location Service.
  1273  //
  1274  // Creates a tracker resource in your AWS account, which lets you retrieve current
  1275  // and historical location of devices.
  1276  //
  1277  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1278  // with awserr.Error's Code and Message methods to get detailed information about
  1279  // the error.
  1280  //
  1281  // See the AWS API reference guide for Amazon Location Service's
  1282  // API operation CreateTracker for usage and error information.
  1283  //
  1284  // Returned Error Types:
  1285  //   * InternalServerException
  1286  //   The request has failed to process because of an unknown server error, exception,
  1287  //   or failure.
  1288  //
  1289  //   * ConflictException
  1290  //   The request was unsuccessful because of a conflict.
  1291  //
  1292  //   * AccessDeniedException
  1293  //   The request was denied because of insufficient access or permissions. Check
  1294  //   with an administrator to verify your permissions.
  1295  //
  1296  //   * ValidationException
  1297  //   The input failed to meet the constraints specified by the AWS service.
  1298  //
  1299  //   * ThrottlingException
  1300  //   The request was denied because of request throttling.
  1301  //
  1302  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker
  1303  func (c *LocationService) CreateTracker(input *CreateTrackerInput) (*CreateTrackerOutput, error) {
  1304  	req, out := c.CreateTrackerRequest(input)
  1305  	return out, req.Send()
  1306  }
  1307  
  1308  // CreateTrackerWithContext is the same as CreateTracker with the addition of
  1309  // the ability to pass a context and additional request options.
  1310  //
  1311  // See CreateTracker for details on how to use this API operation.
  1312  //
  1313  // The context must be non-nil and will be used for request cancellation. If
  1314  // the context is nil a panic will occur. In the future the SDK may create
  1315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1316  // for more information on using Contexts.
  1317  func (c *LocationService) CreateTrackerWithContext(ctx aws.Context, input *CreateTrackerInput, opts ...request.Option) (*CreateTrackerOutput, error) {
  1318  	req, out := c.CreateTrackerRequest(input)
  1319  	req.SetContext(ctx)
  1320  	req.ApplyOptions(opts...)
  1321  	return out, req.Send()
  1322  }
  1323  
  1324  const opDeleteGeofenceCollection = "DeleteGeofenceCollection"
  1325  
  1326  // DeleteGeofenceCollectionRequest generates a "aws/request.Request" representing the
  1327  // client's request for the DeleteGeofenceCollection operation. The "output" return
  1328  // value will be populated with the request's response once the request completes
  1329  // successfully.
  1330  //
  1331  // Use "Send" method on the returned Request to send the API call to the service.
  1332  // the "output" return value is not valid until after Send returns without error.
  1333  //
  1334  // See DeleteGeofenceCollection for more information on using the DeleteGeofenceCollection
  1335  // API call, and error handling.
  1336  //
  1337  // This method is useful when you want to inject custom logic or configuration
  1338  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1339  //
  1340  //
  1341  //    // Example sending a request using the DeleteGeofenceCollectionRequest method.
  1342  //    req, resp := client.DeleteGeofenceCollectionRequest(params)
  1343  //
  1344  //    err := req.Send()
  1345  //    if err == nil { // resp is now filled
  1346  //        fmt.Println(resp)
  1347  //    }
  1348  //
  1349  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection
  1350  func (c *LocationService) DeleteGeofenceCollectionRequest(input *DeleteGeofenceCollectionInput) (req *request.Request, output *DeleteGeofenceCollectionOutput) {
  1351  	op := &request.Operation{
  1352  		Name:       opDeleteGeofenceCollection,
  1353  		HTTPMethod: "DELETE",
  1354  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
  1355  	}
  1356  
  1357  	if input == nil {
  1358  		input = &DeleteGeofenceCollectionInput{}
  1359  	}
  1360  
  1361  	output = &DeleteGeofenceCollectionOutput{}
  1362  	req = c.newRequest(op, input, output)
  1363  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1364  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  1365  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1366  	return
  1367  }
  1368  
  1369  // DeleteGeofenceCollection API operation for Amazon Location Service.
  1370  //
  1371  // Deletes a geofence collection from your AWS account.
  1372  //
  1373  // This operation deletes the resource permanently. If the geofence collection
  1374  // is the target of a tracker resource, the devices will no longer be monitored.
  1375  //
  1376  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1377  // with awserr.Error's Code and Message methods to get detailed information about
  1378  // the error.
  1379  //
  1380  // See the AWS API reference guide for Amazon Location Service's
  1381  // API operation DeleteGeofenceCollection for usage and error information.
  1382  //
  1383  // Returned Error Types:
  1384  //   * InternalServerException
  1385  //   The request has failed to process because of an unknown server error, exception,
  1386  //   or failure.
  1387  //
  1388  //   * ResourceNotFoundException
  1389  //   The resource that you've entered was not found in your AWS account.
  1390  //
  1391  //   * AccessDeniedException
  1392  //   The request was denied because of insufficient access or permissions. Check
  1393  //   with an administrator to verify your permissions.
  1394  //
  1395  //   * ValidationException
  1396  //   The input failed to meet the constraints specified by the AWS service.
  1397  //
  1398  //   * ThrottlingException
  1399  //   The request was denied because of request throttling.
  1400  //
  1401  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection
  1402  func (c *LocationService) DeleteGeofenceCollection(input *DeleteGeofenceCollectionInput) (*DeleteGeofenceCollectionOutput, error) {
  1403  	req, out := c.DeleteGeofenceCollectionRequest(input)
  1404  	return out, req.Send()
  1405  }
  1406  
  1407  // DeleteGeofenceCollectionWithContext is the same as DeleteGeofenceCollection with the addition of
  1408  // the ability to pass a context and additional request options.
  1409  //
  1410  // See DeleteGeofenceCollection for details on how to use this API operation.
  1411  //
  1412  // The context must be non-nil and will be used for request cancellation. If
  1413  // the context is nil a panic will occur. In the future the SDK may create
  1414  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1415  // for more information on using Contexts.
  1416  func (c *LocationService) DeleteGeofenceCollectionWithContext(ctx aws.Context, input *DeleteGeofenceCollectionInput, opts ...request.Option) (*DeleteGeofenceCollectionOutput, error) {
  1417  	req, out := c.DeleteGeofenceCollectionRequest(input)
  1418  	req.SetContext(ctx)
  1419  	req.ApplyOptions(opts...)
  1420  	return out, req.Send()
  1421  }
  1422  
  1423  const opDeleteMap = "DeleteMap"
  1424  
  1425  // DeleteMapRequest generates a "aws/request.Request" representing the
  1426  // client's request for the DeleteMap operation. The "output" return
  1427  // value will be populated with the request's response once the request completes
  1428  // successfully.
  1429  //
  1430  // Use "Send" method on the returned Request to send the API call to the service.
  1431  // the "output" return value is not valid until after Send returns without error.
  1432  //
  1433  // See DeleteMap for more information on using the DeleteMap
  1434  // API call, and error handling.
  1435  //
  1436  // This method is useful when you want to inject custom logic or configuration
  1437  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1438  //
  1439  //
  1440  //    // Example sending a request using the DeleteMapRequest method.
  1441  //    req, resp := client.DeleteMapRequest(params)
  1442  //
  1443  //    err := req.Send()
  1444  //    if err == nil { // resp is now filled
  1445  //        fmt.Println(resp)
  1446  //    }
  1447  //
  1448  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap
  1449  func (c *LocationService) DeleteMapRequest(input *DeleteMapInput) (req *request.Request, output *DeleteMapOutput) {
  1450  	op := &request.Operation{
  1451  		Name:       opDeleteMap,
  1452  		HTTPMethod: "DELETE",
  1453  		HTTPPath:   "/maps/v0/maps/{MapName}",
  1454  	}
  1455  
  1456  	if input == nil {
  1457  		input = &DeleteMapInput{}
  1458  	}
  1459  
  1460  	output = &DeleteMapOutput{}
  1461  	req = c.newRequest(op, input, output)
  1462  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1463  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  1464  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1465  	return
  1466  }
  1467  
  1468  // DeleteMap API operation for Amazon Location Service.
  1469  //
  1470  // Deletes a map resource from your AWS account.
  1471  //
  1472  // This operation deletes the resource permanently. If the map is being used
  1473  // in an application, the map may not render.
  1474  //
  1475  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1476  // with awserr.Error's Code and Message methods to get detailed information about
  1477  // the error.
  1478  //
  1479  // See the AWS API reference guide for Amazon Location Service's
  1480  // API operation DeleteMap for usage and error information.
  1481  //
  1482  // Returned Error Types:
  1483  //   * InternalServerException
  1484  //   The request has failed to process because of an unknown server error, exception,
  1485  //   or failure.
  1486  //
  1487  //   * ResourceNotFoundException
  1488  //   The resource that you've entered was not found in your AWS account.
  1489  //
  1490  //   * AccessDeniedException
  1491  //   The request was denied because of insufficient access or permissions. Check
  1492  //   with an administrator to verify your permissions.
  1493  //
  1494  //   * ValidationException
  1495  //   The input failed to meet the constraints specified by the AWS service.
  1496  //
  1497  //   * ThrottlingException
  1498  //   The request was denied because of request throttling.
  1499  //
  1500  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap
  1501  func (c *LocationService) DeleteMap(input *DeleteMapInput) (*DeleteMapOutput, error) {
  1502  	req, out := c.DeleteMapRequest(input)
  1503  	return out, req.Send()
  1504  }
  1505  
  1506  // DeleteMapWithContext is the same as DeleteMap with the addition of
  1507  // the ability to pass a context and additional request options.
  1508  //
  1509  // See DeleteMap for details on how to use this API operation.
  1510  //
  1511  // The context must be non-nil and will be used for request cancellation. If
  1512  // the context is nil a panic will occur. In the future the SDK may create
  1513  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1514  // for more information on using Contexts.
  1515  func (c *LocationService) DeleteMapWithContext(ctx aws.Context, input *DeleteMapInput, opts ...request.Option) (*DeleteMapOutput, error) {
  1516  	req, out := c.DeleteMapRequest(input)
  1517  	req.SetContext(ctx)
  1518  	req.ApplyOptions(opts...)
  1519  	return out, req.Send()
  1520  }
  1521  
  1522  const opDeletePlaceIndex = "DeletePlaceIndex"
  1523  
  1524  // DeletePlaceIndexRequest generates a "aws/request.Request" representing the
  1525  // client's request for the DeletePlaceIndex operation. The "output" return
  1526  // value will be populated with the request's response once the request completes
  1527  // successfully.
  1528  //
  1529  // Use "Send" method on the returned Request to send the API call to the service.
  1530  // the "output" return value is not valid until after Send returns without error.
  1531  //
  1532  // See DeletePlaceIndex for more information on using the DeletePlaceIndex
  1533  // API call, and error handling.
  1534  //
  1535  // This method is useful when you want to inject custom logic or configuration
  1536  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1537  //
  1538  //
  1539  //    // Example sending a request using the DeletePlaceIndexRequest method.
  1540  //    req, resp := client.DeletePlaceIndexRequest(params)
  1541  //
  1542  //    err := req.Send()
  1543  //    if err == nil { // resp is now filled
  1544  //        fmt.Println(resp)
  1545  //    }
  1546  //
  1547  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex
  1548  func (c *LocationService) DeletePlaceIndexRequest(input *DeletePlaceIndexInput) (req *request.Request, output *DeletePlaceIndexOutput) {
  1549  	op := &request.Operation{
  1550  		Name:       opDeletePlaceIndex,
  1551  		HTTPMethod: "DELETE",
  1552  		HTTPPath:   "/places/v0/indexes/{IndexName}",
  1553  	}
  1554  
  1555  	if input == nil {
  1556  		input = &DeletePlaceIndexInput{}
  1557  	}
  1558  
  1559  	output = &DeletePlaceIndexOutput{}
  1560  	req = c.newRequest(op, input, output)
  1561  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1562  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  1563  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1564  	return
  1565  }
  1566  
  1567  // DeletePlaceIndex API operation for Amazon Location Service.
  1568  //
  1569  // Deletes a place index resource from your AWS account.
  1570  //
  1571  // This operation deletes the resource permanently.
  1572  //
  1573  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1574  // with awserr.Error's Code and Message methods to get detailed information about
  1575  // the error.
  1576  //
  1577  // See the AWS API reference guide for Amazon Location Service's
  1578  // API operation DeletePlaceIndex for usage and error information.
  1579  //
  1580  // Returned Error Types:
  1581  //   * InternalServerException
  1582  //   The request has failed to process because of an unknown server error, exception,
  1583  //   or failure.
  1584  //
  1585  //   * ResourceNotFoundException
  1586  //   The resource that you've entered was not found in your AWS account.
  1587  //
  1588  //   * AccessDeniedException
  1589  //   The request was denied because of insufficient access or permissions. Check
  1590  //   with an administrator to verify your permissions.
  1591  //
  1592  //   * ValidationException
  1593  //   The input failed to meet the constraints specified by the AWS service.
  1594  //
  1595  //   * ThrottlingException
  1596  //   The request was denied because of request throttling.
  1597  //
  1598  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex
  1599  func (c *LocationService) DeletePlaceIndex(input *DeletePlaceIndexInput) (*DeletePlaceIndexOutput, error) {
  1600  	req, out := c.DeletePlaceIndexRequest(input)
  1601  	return out, req.Send()
  1602  }
  1603  
  1604  // DeletePlaceIndexWithContext is the same as DeletePlaceIndex with the addition of
  1605  // the ability to pass a context and additional request options.
  1606  //
  1607  // See DeletePlaceIndex for details on how to use this API operation.
  1608  //
  1609  // The context must be non-nil and will be used for request cancellation. If
  1610  // the context is nil a panic will occur. In the future the SDK may create
  1611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1612  // for more information on using Contexts.
  1613  func (c *LocationService) DeletePlaceIndexWithContext(ctx aws.Context, input *DeletePlaceIndexInput, opts ...request.Option) (*DeletePlaceIndexOutput, error) {
  1614  	req, out := c.DeletePlaceIndexRequest(input)
  1615  	req.SetContext(ctx)
  1616  	req.ApplyOptions(opts...)
  1617  	return out, req.Send()
  1618  }
  1619  
  1620  const opDeleteRouteCalculator = "DeleteRouteCalculator"
  1621  
  1622  // DeleteRouteCalculatorRequest generates a "aws/request.Request" representing the
  1623  // client's request for the DeleteRouteCalculator operation. The "output" return
  1624  // value will be populated with the request's response once the request completes
  1625  // successfully.
  1626  //
  1627  // Use "Send" method on the returned Request to send the API call to the service.
  1628  // the "output" return value is not valid until after Send returns without error.
  1629  //
  1630  // See DeleteRouteCalculator for more information on using the DeleteRouteCalculator
  1631  // API call, and error handling.
  1632  //
  1633  // This method is useful when you want to inject custom logic or configuration
  1634  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1635  //
  1636  //
  1637  //    // Example sending a request using the DeleteRouteCalculatorRequest method.
  1638  //    req, resp := client.DeleteRouteCalculatorRequest(params)
  1639  //
  1640  //    err := req.Send()
  1641  //    if err == nil { // resp is now filled
  1642  //        fmt.Println(resp)
  1643  //    }
  1644  //
  1645  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteRouteCalculator
  1646  func (c *LocationService) DeleteRouteCalculatorRequest(input *DeleteRouteCalculatorInput) (req *request.Request, output *DeleteRouteCalculatorOutput) {
  1647  	op := &request.Operation{
  1648  		Name:       opDeleteRouteCalculator,
  1649  		HTTPMethod: "DELETE",
  1650  		HTTPPath:   "/routes/v0/calculators/{CalculatorName}",
  1651  	}
  1652  
  1653  	if input == nil {
  1654  		input = &DeleteRouteCalculatorInput{}
  1655  	}
  1656  
  1657  	output = &DeleteRouteCalculatorOutput{}
  1658  	req = c.newRequest(op, input, output)
  1659  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1660  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
  1661  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1662  	return
  1663  }
  1664  
  1665  // DeleteRouteCalculator API operation for Amazon Location Service.
  1666  //
  1667  // Deletes a route calculator resource from your AWS account.
  1668  //
  1669  // This operation deletes the resource permanently.
  1670  //
  1671  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1672  // with awserr.Error's Code and Message methods to get detailed information about
  1673  // the error.
  1674  //
  1675  // See the AWS API reference guide for Amazon Location Service's
  1676  // API operation DeleteRouteCalculator for usage and error information.
  1677  //
  1678  // Returned Error Types:
  1679  //   * InternalServerException
  1680  //   The request has failed to process because of an unknown server error, exception,
  1681  //   or failure.
  1682  //
  1683  //   * ResourceNotFoundException
  1684  //   The resource that you've entered was not found in your AWS account.
  1685  //
  1686  //   * AccessDeniedException
  1687  //   The request was denied because of insufficient access or permissions. Check
  1688  //   with an administrator to verify your permissions.
  1689  //
  1690  //   * ValidationException
  1691  //   The input failed to meet the constraints specified by the AWS service.
  1692  //
  1693  //   * ThrottlingException
  1694  //   The request was denied because of request throttling.
  1695  //
  1696  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteRouteCalculator
  1697  func (c *LocationService) DeleteRouteCalculator(input *DeleteRouteCalculatorInput) (*DeleteRouteCalculatorOutput, error) {
  1698  	req, out := c.DeleteRouteCalculatorRequest(input)
  1699  	return out, req.Send()
  1700  }
  1701  
  1702  // DeleteRouteCalculatorWithContext is the same as DeleteRouteCalculator with the addition of
  1703  // the ability to pass a context and additional request options.
  1704  //
  1705  // See DeleteRouteCalculator for details on how to use this API operation.
  1706  //
  1707  // The context must be non-nil and will be used for request cancellation. If
  1708  // the context is nil a panic will occur. In the future the SDK may create
  1709  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1710  // for more information on using Contexts.
  1711  func (c *LocationService) DeleteRouteCalculatorWithContext(ctx aws.Context, input *DeleteRouteCalculatorInput, opts ...request.Option) (*DeleteRouteCalculatorOutput, error) {
  1712  	req, out := c.DeleteRouteCalculatorRequest(input)
  1713  	req.SetContext(ctx)
  1714  	req.ApplyOptions(opts...)
  1715  	return out, req.Send()
  1716  }
  1717  
  1718  const opDeleteTracker = "DeleteTracker"
  1719  
  1720  // DeleteTrackerRequest generates a "aws/request.Request" representing the
  1721  // client's request for the DeleteTracker operation. The "output" return
  1722  // value will be populated with the request's response once the request completes
  1723  // successfully.
  1724  //
  1725  // Use "Send" method on the returned Request to send the API call to the service.
  1726  // the "output" return value is not valid until after Send returns without error.
  1727  //
  1728  // See DeleteTracker for more information on using the DeleteTracker
  1729  // API call, and error handling.
  1730  //
  1731  // This method is useful when you want to inject custom logic or configuration
  1732  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1733  //
  1734  //
  1735  //    // Example sending a request using the DeleteTrackerRequest method.
  1736  //    req, resp := client.DeleteTrackerRequest(params)
  1737  //
  1738  //    err := req.Send()
  1739  //    if err == nil { // resp is now filled
  1740  //        fmt.Println(resp)
  1741  //    }
  1742  //
  1743  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker
  1744  func (c *LocationService) DeleteTrackerRequest(input *DeleteTrackerInput) (req *request.Request, output *DeleteTrackerOutput) {
  1745  	op := &request.Operation{
  1746  		Name:       opDeleteTracker,
  1747  		HTTPMethod: "DELETE",
  1748  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
  1749  	}
  1750  
  1751  	if input == nil {
  1752  		input = &DeleteTrackerInput{}
  1753  	}
  1754  
  1755  	output = &DeleteTrackerOutput{}
  1756  	req = c.newRequest(op, input, output)
  1757  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1758  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  1759  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1760  	return
  1761  }
  1762  
  1763  // DeleteTracker API operation for Amazon Location Service.
  1764  //
  1765  // Deletes a tracker resource from your AWS account.
  1766  //
  1767  // This operation deletes the resource permanently. If the tracker resource
  1768  // is in use, you may encounter an error. Make sure that the target resource
  1769  // isn't a dependency for your applications.
  1770  //
  1771  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1772  // with awserr.Error's Code and Message methods to get detailed information about
  1773  // the error.
  1774  //
  1775  // See the AWS API reference guide for Amazon Location Service's
  1776  // API operation DeleteTracker for usage and error information.
  1777  //
  1778  // Returned Error Types:
  1779  //   * InternalServerException
  1780  //   The request has failed to process because of an unknown server error, exception,
  1781  //   or failure.
  1782  //
  1783  //   * ResourceNotFoundException
  1784  //   The resource that you've entered was not found in your AWS account.
  1785  //
  1786  //   * AccessDeniedException
  1787  //   The request was denied because of insufficient access or permissions. Check
  1788  //   with an administrator to verify your permissions.
  1789  //
  1790  //   * ValidationException
  1791  //   The input failed to meet the constraints specified by the AWS service.
  1792  //
  1793  //   * ThrottlingException
  1794  //   The request was denied because of request throttling.
  1795  //
  1796  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker
  1797  func (c *LocationService) DeleteTracker(input *DeleteTrackerInput) (*DeleteTrackerOutput, error) {
  1798  	req, out := c.DeleteTrackerRequest(input)
  1799  	return out, req.Send()
  1800  }
  1801  
  1802  // DeleteTrackerWithContext is the same as DeleteTracker with the addition of
  1803  // the ability to pass a context and additional request options.
  1804  //
  1805  // See DeleteTracker for details on how to use this API operation.
  1806  //
  1807  // The context must be non-nil and will be used for request cancellation. If
  1808  // the context is nil a panic will occur. In the future the SDK may create
  1809  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1810  // for more information on using Contexts.
  1811  func (c *LocationService) DeleteTrackerWithContext(ctx aws.Context, input *DeleteTrackerInput, opts ...request.Option) (*DeleteTrackerOutput, error) {
  1812  	req, out := c.DeleteTrackerRequest(input)
  1813  	req.SetContext(ctx)
  1814  	req.ApplyOptions(opts...)
  1815  	return out, req.Send()
  1816  }
  1817  
  1818  const opDescribeGeofenceCollection = "DescribeGeofenceCollection"
  1819  
  1820  // DescribeGeofenceCollectionRequest generates a "aws/request.Request" representing the
  1821  // client's request for the DescribeGeofenceCollection operation. The "output" return
  1822  // value will be populated with the request's response once the request completes
  1823  // successfully.
  1824  //
  1825  // Use "Send" method on the returned Request to send the API call to the service.
  1826  // the "output" return value is not valid until after Send returns without error.
  1827  //
  1828  // See DescribeGeofenceCollection for more information on using the DescribeGeofenceCollection
  1829  // API call, and error handling.
  1830  //
  1831  // This method is useful when you want to inject custom logic or configuration
  1832  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1833  //
  1834  //
  1835  //    // Example sending a request using the DescribeGeofenceCollectionRequest method.
  1836  //    req, resp := client.DescribeGeofenceCollectionRequest(params)
  1837  //
  1838  //    err := req.Send()
  1839  //    if err == nil { // resp is now filled
  1840  //        fmt.Println(resp)
  1841  //    }
  1842  //
  1843  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection
  1844  func (c *LocationService) DescribeGeofenceCollectionRequest(input *DescribeGeofenceCollectionInput) (req *request.Request, output *DescribeGeofenceCollectionOutput) {
  1845  	op := &request.Operation{
  1846  		Name:       opDescribeGeofenceCollection,
  1847  		HTTPMethod: "GET",
  1848  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
  1849  	}
  1850  
  1851  	if input == nil {
  1852  		input = &DescribeGeofenceCollectionInput{}
  1853  	}
  1854  
  1855  	output = &DescribeGeofenceCollectionOutput{}
  1856  	req = c.newRequest(op, input, output)
  1857  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  1858  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1859  	return
  1860  }
  1861  
  1862  // DescribeGeofenceCollection API operation for Amazon Location Service.
  1863  //
  1864  // Retrieves the geofence collection details.
  1865  //
  1866  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1867  // with awserr.Error's Code and Message methods to get detailed information about
  1868  // the error.
  1869  //
  1870  // See the AWS API reference guide for Amazon Location Service's
  1871  // API operation DescribeGeofenceCollection for usage and error information.
  1872  //
  1873  // Returned Error Types:
  1874  //   * InternalServerException
  1875  //   The request has failed to process because of an unknown server error, exception,
  1876  //   or failure.
  1877  //
  1878  //   * ResourceNotFoundException
  1879  //   The resource that you've entered was not found in your AWS account.
  1880  //
  1881  //   * AccessDeniedException
  1882  //   The request was denied because of insufficient access or permissions. Check
  1883  //   with an administrator to verify your permissions.
  1884  //
  1885  //   * ValidationException
  1886  //   The input failed to meet the constraints specified by the AWS service.
  1887  //
  1888  //   * ThrottlingException
  1889  //   The request was denied because of request throttling.
  1890  //
  1891  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection
  1892  func (c *LocationService) DescribeGeofenceCollection(input *DescribeGeofenceCollectionInput) (*DescribeGeofenceCollectionOutput, error) {
  1893  	req, out := c.DescribeGeofenceCollectionRequest(input)
  1894  	return out, req.Send()
  1895  }
  1896  
  1897  // DescribeGeofenceCollectionWithContext is the same as DescribeGeofenceCollection with the addition of
  1898  // the ability to pass a context and additional request options.
  1899  //
  1900  // See DescribeGeofenceCollection for details on how to use this API operation.
  1901  //
  1902  // The context must be non-nil and will be used for request cancellation. If
  1903  // the context is nil a panic will occur. In the future the SDK may create
  1904  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1905  // for more information on using Contexts.
  1906  func (c *LocationService) DescribeGeofenceCollectionWithContext(ctx aws.Context, input *DescribeGeofenceCollectionInput, opts ...request.Option) (*DescribeGeofenceCollectionOutput, error) {
  1907  	req, out := c.DescribeGeofenceCollectionRequest(input)
  1908  	req.SetContext(ctx)
  1909  	req.ApplyOptions(opts...)
  1910  	return out, req.Send()
  1911  }
  1912  
  1913  const opDescribeMap = "DescribeMap"
  1914  
  1915  // DescribeMapRequest generates a "aws/request.Request" representing the
  1916  // client's request for the DescribeMap operation. The "output" return
  1917  // value will be populated with the request's response once the request completes
  1918  // successfully.
  1919  //
  1920  // Use "Send" method on the returned Request to send the API call to the service.
  1921  // the "output" return value is not valid until after Send returns without error.
  1922  //
  1923  // See DescribeMap for more information on using the DescribeMap
  1924  // API call, and error handling.
  1925  //
  1926  // This method is useful when you want to inject custom logic or configuration
  1927  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1928  //
  1929  //
  1930  //    // Example sending a request using the DescribeMapRequest method.
  1931  //    req, resp := client.DescribeMapRequest(params)
  1932  //
  1933  //    err := req.Send()
  1934  //    if err == nil { // resp is now filled
  1935  //        fmt.Println(resp)
  1936  //    }
  1937  //
  1938  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap
  1939  func (c *LocationService) DescribeMapRequest(input *DescribeMapInput) (req *request.Request, output *DescribeMapOutput) {
  1940  	op := &request.Operation{
  1941  		Name:       opDescribeMap,
  1942  		HTTPMethod: "GET",
  1943  		HTTPPath:   "/maps/v0/maps/{MapName}",
  1944  	}
  1945  
  1946  	if input == nil {
  1947  		input = &DescribeMapInput{}
  1948  	}
  1949  
  1950  	output = &DescribeMapOutput{}
  1951  	req = c.newRequest(op, input, output)
  1952  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  1953  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1954  	return
  1955  }
  1956  
  1957  // DescribeMap API operation for Amazon Location Service.
  1958  //
  1959  // Retrieves the map resource details.
  1960  //
  1961  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1962  // with awserr.Error's Code and Message methods to get detailed information about
  1963  // the error.
  1964  //
  1965  // See the AWS API reference guide for Amazon Location Service's
  1966  // API operation DescribeMap for usage and error information.
  1967  //
  1968  // Returned Error Types:
  1969  //   * InternalServerException
  1970  //   The request has failed to process because of an unknown server error, exception,
  1971  //   or failure.
  1972  //
  1973  //   * ResourceNotFoundException
  1974  //   The resource that you've entered was not found in your AWS account.
  1975  //
  1976  //   * AccessDeniedException
  1977  //   The request was denied because of insufficient access or permissions. Check
  1978  //   with an administrator to verify your permissions.
  1979  //
  1980  //   * ValidationException
  1981  //   The input failed to meet the constraints specified by the AWS service.
  1982  //
  1983  //   * ThrottlingException
  1984  //   The request was denied because of request throttling.
  1985  //
  1986  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap
  1987  func (c *LocationService) DescribeMap(input *DescribeMapInput) (*DescribeMapOutput, error) {
  1988  	req, out := c.DescribeMapRequest(input)
  1989  	return out, req.Send()
  1990  }
  1991  
  1992  // DescribeMapWithContext is the same as DescribeMap with the addition of
  1993  // the ability to pass a context and additional request options.
  1994  //
  1995  // See DescribeMap for details on how to use this API operation.
  1996  //
  1997  // The context must be non-nil and will be used for request cancellation. If
  1998  // the context is nil a panic will occur. In the future the SDK may create
  1999  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2000  // for more information on using Contexts.
  2001  func (c *LocationService) DescribeMapWithContext(ctx aws.Context, input *DescribeMapInput, opts ...request.Option) (*DescribeMapOutput, error) {
  2002  	req, out := c.DescribeMapRequest(input)
  2003  	req.SetContext(ctx)
  2004  	req.ApplyOptions(opts...)
  2005  	return out, req.Send()
  2006  }
  2007  
  2008  const opDescribePlaceIndex = "DescribePlaceIndex"
  2009  
  2010  // DescribePlaceIndexRequest generates a "aws/request.Request" representing the
  2011  // client's request for the DescribePlaceIndex operation. The "output" return
  2012  // value will be populated with the request's response once the request completes
  2013  // successfully.
  2014  //
  2015  // Use "Send" method on the returned Request to send the API call to the service.
  2016  // the "output" return value is not valid until after Send returns without error.
  2017  //
  2018  // See DescribePlaceIndex for more information on using the DescribePlaceIndex
  2019  // API call, and error handling.
  2020  //
  2021  // This method is useful when you want to inject custom logic or configuration
  2022  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2023  //
  2024  //
  2025  //    // Example sending a request using the DescribePlaceIndexRequest method.
  2026  //    req, resp := client.DescribePlaceIndexRequest(params)
  2027  //
  2028  //    err := req.Send()
  2029  //    if err == nil { // resp is now filled
  2030  //        fmt.Println(resp)
  2031  //    }
  2032  //
  2033  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex
  2034  func (c *LocationService) DescribePlaceIndexRequest(input *DescribePlaceIndexInput) (req *request.Request, output *DescribePlaceIndexOutput) {
  2035  	op := &request.Operation{
  2036  		Name:       opDescribePlaceIndex,
  2037  		HTTPMethod: "GET",
  2038  		HTTPPath:   "/places/v0/indexes/{IndexName}",
  2039  	}
  2040  
  2041  	if input == nil {
  2042  		input = &DescribePlaceIndexInput{}
  2043  	}
  2044  
  2045  	output = &DescribePlaceIndexOutput{}
  2046  	req = c.newRequest(op, input, output)
  2047  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  2048  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2049  	return
  2050  }
  2051  
  2052  // DescribePlaceIndex API operation for Amazon Location Service.
  2053  //
  2054  // Retrieves the place index resource details.
  2055  //
  2056  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2057  // with awserr.Error's Code and Message methods to get detailed information about
  2058  // the error.
  2059  //
  2060  // See the AWS API reference guide for Amazon Location Service's
  2061  // API operation DescribePlaceIndex for usage and error information.
  2062  //
  2063  // Returned Error Types:
  2064  //   * InternalServerException
  2065  //   The request has failed to process because of an unknown server error, exception,
  2066  //   or failure.
  2067  //
  2068  //   * ResourceNotFoundException
  2069  //   The resource that you've entered was not found in your AWS account.
  2070  //
  2071  //   * AccessDeniedException
  2072  //   The request was denied because of insufficient access or permissions. Check
  2073  //   with an administrator to verify your permissions.
  2074  //
  2075  //   * ValidationException
  2076  //   The input failed to meet the constraints specified by the AWS service.
  2077  //
  2078  //   * ThrottlingException
  2079  //   The request was denied because of request throttling.
  2080  //
  2081  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex
  2082  func (c *LocationService) DescribePlaceIndex(input *DescribePlaceIndexInput) (*DescribePlaceIndexOutput, error) {
  2083  	req, out := c.DescribePlaceIndexRequest(input)
  2084  	return out, req.Send()
  2085  }
  2086  
  2087  // DescribePlaceIndexWithContext is the same as DescribePlaceIndex with the addition of
  2088  // the ability to pass a context and additional request options.
  2089  //
  2090  // See DescribePlaceIndex for details on how to use this API operation.
  2091  //
  2092  // The context must be non-nil and will be used for request cancellation. If
  2093  // the context is nil a panic will occur. In the future the SDK may create
  2094  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2095  // for more information on using Contexts.
  2096  func (c *LocationService) DescribePlaceIndexWithContext(ctx aws.Context, input *DescribePlaceIndexInput, opts ...request.Option) (*DescribePlaceIndexOutput, error) {
  2097  	req, out := c.DescribePlaceIndexRequest(input)
  2098  	req.SetContext(ctx)
  2099  	req.ApplyOptions(opts...)
  2100  	return out, req.Send()
  2101  }
  2102  
  2103  const opDescribeRouteCalculator = "DescribeRouteCalculator"
  2104  
  2105  // DescribeRouteCalculatorRequest generates a "aws/request.Request" representing the
  2106  // client's request for the DescribeRouteCalculator operation. The "output" return
  2107  // value will be populated with the request's response once the request completes
  2108  // successfully.
  2109  //
  2110  // Use "Send" method on the returned Request to send the API call to the service.
  2111  // the "output" return value is not valid until after Send returns without error.
  2112  //
  2113  // See DescribeRouteCalculator for more information on using the DescribeRouteCalculator
  2114  // API call, and error handling.
  2115  //
  2116  // This method is useful when you want to inject custom logic or configuration
  2117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2118  //
  2119  //
  2120  //    // Example sending a request using the DescribeRouteCalculatorRequest method.
  2121  //    req, resp := client.DescribeRouteCalculatorRequest(params)
  2122  //
  2123  //    err := req.Send()
  2124  //    if err == nil { // resp is now filled
  2125  //        fmt.Println(resp)
  2126  //    }
  2127  //
  2128  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeRouteCalculator
  2129  func (c *LocationService) DescribeRouteCalculatorRequest(input *DescribeRouteCalculatorInput) (req *request.Request, output *DescribeRouteCalculatorOutput) {
  2130  	op := &request.Operation{
  2131  		Name:       opDescribeRouteCalculator,
  2132  		HTTPMethod: "GET",
  2133  		HTTPPath:   "/routes/v0/calculators/{CalculatorName}",
  2134  	}
  2135  
  2136  	if input == nil {
  2137  		input = &DescribeRouteCalculatorInput{}
  2138  	}
  2139  
  2140  	output = &DescribeRouteCalculatorOutput{}
  2141  	req = c.newRequest(op, input, output)
  2142  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
  2143  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2144  	return
  2145  }
  2146  
  2147  // DescribeRouteCalculator API operation for Amazon Location Service.
  2148  //
  2149  // Retrieves the route calculator resource details.
  2150  //
  2151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2152  // with awserr.Error's Code and Message methods to get detailed information about
  2153  // the error.
  2154  //
  2155  // See the AWS API reference guide for Amazon Location Service's
  2156  // API operation DescribeRouteCalculator for usage and error information.
  2157  //
  2158  // Returned Error Types:
  2159  //   * InternalServerException
  2160  //   The request has failed to process because of an unknown server error, exception,
  2161  //   or failure.
  2162  //
  2163  //   * ResourceNotFoundException
  2164  //   The resource that you've entered was not found in your AWS account.
  2165  //
  2166  //   * AccessDeniedException
  2167  //   The request was denied because of insufficient access or permissions. Check
  2168  //   with an administrator to verify your permissions.
  2169  //
  2170  //   * ValidationException
  2171  //   The input failed to meet the constraints specified by the AWS service.
  2172  //
  2173  //   * ThrottlingException
  2174  //   The request was denied because of request throttling.
  2175  //
  2176  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeRouteCalculator
  2177  func (c *LocationService) DescribeRouteCalculator(input *DescribeRouteCalculatorInput) (*DescribeRouteCalculatorOutput, error) {
  2178  	req, out := c.DescribeRouteCalculatorRequest(input)
  2179  	return out, req.Send()
  2180  }
  2181  
  2182  // DescribeRouteCalculatorWithContext is the same as DescribeRouteCalculator with the addition of
  2183  // the ability to pass a context and additional request options.
  2184  //
  2185  // See DescribeRouteCalculator for details on how to use this API operation.
  2186  //
  2187  // The context must be non-nil and will be used for request cancellation. If
  2188  // the context is nil a panic will occur. In the future the SDK may create
  2189  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2190  // for more information on using Contexts.
  2191  func (c *LocationService) DescribeRouteCalculatorWithContext(ctx aws.Context, input *DescribeRouteCalculatorInput, opts ...request.Option) (*DescribeRouteCalculatorOutput, error) {
  2192  	req, out := c.DescribeRouteCalculatorRequest(input)
  2193  	req.SetContext(ctx)
  2194  	req.ApplyOptions(opts...)
  2195  	return out, req.Send()
  2196  }
  2197  
  2198  const opDescribeTracker = "DescribeTracker"
  2199  
  2200  // DescribeTrackerRequest generates a "aws/request.Request" representing the
  2201  // client's request for the DescribeTracker operation. The "output" return
  2202  // value will be populated with the request's response once the request completes
  2203  // successfully.
  2204  //
  2205  // Use "Send" method on the returned Request to send the API call to the service.
  2206  // the "output" return value is not valid until after Send returns without error.
  2207  //
  2208  // See DescribeTracker for more information on using the DescribeTracker
  2209  // API call, and error handling.
  2210  //
  2211  // This method is useful when you want to inject custom logic or configuration
  2212  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2213  //
  2214  //
  2215  //    // Example sending a request using the DescribeTrackerRequest method.
  2216  //    req, resp := client.DescribeTrackerRequest(params)
  2217  //
  2218  //    err := req.Send()
  2219  //    if err == nil { // resp is now filled
  2220  //        fmt.Println(resp)
  2221  //    }
  2222  //
  2223  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker
  2224  func (c *LocationService) DescribeTrackerRequest(input *DescribeTrackerInput) (req *request.Request, output *DescribeTrackerOutput) {
  2225  	op := &request.Operation{
  2226  		Name:       opDescribeTracker,
  2227  		HTTPMethod: "GET",
  2228  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
  2229  	}
  2230  
  2231  	if input == nil {
  2232  		input = &DescribeTrackerInput{}
  2233  	}
  2234  
  2235  	output = &DescribeTrackerOutput{}
  2236  	req = c.newRequest(op, input, output)
  2237  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  2238  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2239  	return
  2240  }
  2241  
  2242  // DescribeTracker API operation for Amazon Location Service.
  2243  //
  2244  // Retrieves the tracker resource details.
  2245  //
  2246  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2247  // with awserr.Error's Code and Message methods to get detailed information about
  2248  // the error.
  2249  //
  2250  // See the AWS API reference guide for Amazon Location Service's
  2251  // API operation DescribeTracker for usage and error information.
  2252  //
  2253  // Returned Error Types:
  2254  //   * InternalServerException
  2255  //   The request has failed to process because of an unknown server error, exception,
  2256  //   or failure.
  2257  //
  2258  //   * ResourceNotFoundException
  2259  //   The resource that you've entered was not found in your AWS account.
  2260  //
  2261  //   * AccessDeniedException
  2262  //   The request was denied because of insufficient access or permissions. Check
  2263  //   with an administrator to verify your permissions.
  2264  //
  2265  //   * ValidationException
  2266  //   The input failed to meet the constraints specified by the AWS service.
  2267  //
  2268  //   * ThrottlingException
  2269  //   The request was denied because of request throttling.
  2270  //
  2271  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker
  2272  func (c *LocationService) DescribeTracker(input *DescribeTrackerInput) (*DescribeTrackerOutput, error) {
  2273  	req, out := c.DescribeTrackerRequest(input)
  2274  	return out, req.Send()
  2275  }
  2276  
  2277  // DescribeTrackerWithContext is the same as DescribeTracker with the addition of
  2278  // the ability to pass a context and additional request options.
  2279  //
  2280  // See DescribeTracker for details on how to use this API operation.
  2281  //
  2282  // The context must be non-nil and will be used for request cancellation. If
  2283  // the context is nil a panic will occur. In the future the SDK may create
  2284  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2285  // for more information on using Contexts.
  2286  func (c *LocationService) DescribeTrackerWithContext(ctx aws.Context, input *DescribeTrackerInput, opts ...request.Option) (*DescribeTrackerOutput, error) {
  2287  	req, out := c.DescribeTrackerRequest(input)
  2288  	req.SetContext(ctx)
  2289  	req.ApplyOptions(opts...)
  2290  	return out, req.Send()
  2291  }
  2292  
  2293  const opDisassociateTrackerConsumer = "DisassociateTrackerConsumer"
  2294  
  2295  // DisassociateTrackerConsumerRequest generates a "aws/request.Request" representing the
  2296  // client's request for the DisassociateTrackerConsumer operation. The "output" return
  2297  // value will be populated with the request's response once the request completes
  2298  // successfully.
  2299  //
  2300  // Use "Send" method on the returned Request to send the API call to the service.
  2301  // the "output" return value is not valid until after Send returns without error.
  2302  //
  2303  // See DisassociateTrackerConsumer for more information on using the DisassociateTrackerConsumer
  2304  // API call, and error handling.
  2305  //
  2306  // This method is useful when you want to inject custom logic or configuration
  2307  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2308  //
  2309  //
  2310  //    // Example sending a request using the DisassociateTrackerConsumerRequest method.
  2311  //    req, resp := client.DisassociateTrackerConsumerRequest(params)
  2312  //
  2313  //    err := req.Send()
  2314  //    if err == nil { // resp is now filled
  2315  //        fmt.Println(resp)
  2316  //    }
  2317  //
  2318  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer
  2319  func (c *LocationService) DisassociateTrackerConsumerRequest(input *DisassociateTrackerConsumerInput) (req *request.Request, output *DisassociateTrackerConsumerOutput) {
  2320  	op := &request.Operation{
  2321  		Name:       opDisassociateTrackerConsumer,
  2322  		HTTPMethod: "DELETE",
  2323  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/consumers/{ConsumerArn}",
  2324  	}
  2325  
  2326  	if input == nil {
  2327  		input = &DisassociateTrackerConsumerInput{}
  2328  	}
  2329  
  2330  	output = &DisassociateTrackerConsumerOutput{}
  2331  	req = c.newRequest(op, input, output)
  2332  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2333  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  2334  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2335  	return
  2336  }
  2337  
  2338  // DisassociateTrackerConsumer API operation for Amazon Location Service.
  2339  //
  2340  // Removes the association between a tracker resource and a geofence collection.
  2341  //
  2342  // Once you unlink a tracker resource from a geofence collection, the tracker
  2343  // positions will no longer be automatically evaluated against geofences.
  2344  //
  2345  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2346  // with awserr.Error's Code and Message methods to get detailed information about
  2347  // the error.
  2348  //
  2349  // See the AWS API reference guide for Amazon Location Service's
  2350  // API operation DisassociateTrackerConsumer for usage and error information.
  2351  //
  2352  // Returned Error Types:
  2353  //   * InternalServerException
  2354  //   The request has failed to process because of an unknown server error, exception,
  2355  //   or failure.
  2356  //
  2357  //   * ResourceNotFoundException
  2358  //   The resource that you've entered was not found in your AWS account.
  2359  //
  2360  //   * AccessDeniedException
  2361  //   The request was denied because of insufficient access or permissions. Check
  2362  //   with an administrator to verify your permissions.
  2363  //
  2364  //   * ValidationException
  2365  //   The input failed to meet the constraints specified by the AWS service.
  2366  //
  2367  //   * ThrottlingException
  2368  //   The request was denied because of request throttling.
  2369  //
  2370  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer
  2371  func (c *LocationService) DisassociateTrackerConsumer(input *DisassociateTrackerConsumerInput) (*DisassociateTrackerConsumerOutput, error) {
  2372  	req, out := c.DisassociateTrackerConsumerRequest(input)
  2373  	return out, req.Send()
  2374  }
  2375  
  2376  // DisassociateTrackerConsumerWithContext is the same as DisassociateTrackerConsumer with the addition of
  2377  // the ability to pass a context and additional request options.
  2378  //
  2379  // See DisassociateTrackerConsumer for details on how to use this API operation.
  2380  //
  2381  // The context must be non-nil and will be used for request cancellation. If
  2382  // the context is nil a panic will occur. In the future the SDK may create
  2383  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2384  // for more information on using Contexts.
  2385  func (c *LocationService) DisassociateTrackerConsumerWithContext(ctx aws.Context, input *DisassociateTrackerConsumerInput, opts ...request.Option) (*DisassociateTrackerConsumerOutput, error) {
  2386  	req, out := c.DisassociateTrackerConsumerRequest(input)
  2387  	req.SetContext(ctx)
  2388  	req.ApplyOptions(opts...)
  2389  	return out, req.Send()
  2390  }
  2391  
  2392  const opGetDevicePosition = "GetDevicePosition"
  2393  
  2394  // GetDevicePositionRequest generates a "aws/request.Request" representing the
  2395  // client's request for the GetDevicePosition operation. The "output" return
  2396  // value will be populated with the request's response once the request completes
  2397  // successfully.
  2398  //
  2399  // Use "Send" method on the returned Request to send the API call to the service.
  2400  // the "output" return value is not valid until after Send returns without error.
  2401  //
  2402  // See GetDevicePosition for more information on using the GetDevicePosition
  2403  // API call, and error handling.
  2404  //
  2405  // This method is useful when you want to inject custom logic or configuration
  2406  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2407  //
  2408  //
  2409  //    // Example sending a request using the GetDevicePositionRequest method.
  2410  //    req, resp := client.GetDevicePositionRequest(params)
  2411  //
  2412  //    err := req.Send()
  2413  //    if err == nil { // resp is now filled
  2414  //        fmt.Println(resp)
  2415  //    }
  2416  //
  2417  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition
  2418  func (c *LocationService) GetDevicePositionRequest(input *GetDevicePositionInput) (req *request.Request, output *GetDevicePositionOutput) {
  2419  	op := &request.Operation{
  2420  		Name:       opGetDevicePosition,
  2421  		HTTPMethod: "GET",
  2422  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/positions/latest",
  2423  	}
  2424  
  2425  	if input == nil {
  2426  		input = &GetDevicePositionInput{}
  2427  	}
  2428  
  2429  	output = &GetDevicePositionOutput{}
  2430  	req = c.newRequest(op, input, output)
  2431  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  2432  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2433  	return
  2434  }
  2435  
  2436  // GetDevicePosition API operation for Amazon Location Service.
  2437  //
  2438  // Retrieves a device's most recent position according to its sample time.
  2439  //
  2440  // Device positions are deleted after 30 days.
  2441  //
  2442  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2443  // with awserr.Error's Code and Message methods to get detailed information about
  2444  // the error.
  2445  //
  2446  // See the AWS API reference guide for Amazon Location Service's
  2447  // API operation GetDevicePosition for usage and error information.
  2448  //
  2449  // Returned Error Types:
  2450  //   * InternalServerException
  2451  //   The request has failed to process because of an unknown server error, exception,
  2452  //   or failure.
  2453  //
  2454  //   * ResourceNotFoundException
  2455  //   The resource that you've entered was not found in your AWS account.
  2456  //
  2457  //   * AccessDeniedException
  2458  //   The request was denied because of insufficient access or permissions. Check
  2459  //   with an administrator to verify your permissions.
  2460  //
  2461  //   * ValidationException
  2462  //   The input failed to meet the constraints specified by the AWS service.
  2463  //
  2464  //   * ThrottlingException
  2465  //   The request was denied because of request throttling.
  2466  //
  2467  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition
  2468  func (c *LocationService) GetDevicePosition(input *GetDevicePositionInput) (*GetDevicePositionOutput, error) {
  2469  	req, out := c.GetDevicePositionRequest(input)
  2470  	return out, req.Send()
  2471  }
  2472  
  2473  // GetDevicePositionWithContext is the same as GetDevicePosition with the addition of
  2474  // the ability to pass a context and additional request options.
  2475  //
  2476  // See GetDevicePosition for details on how to use this API operation.
  2477  //
  2478  // The context must be non-nil and will be used for request cancellation. If
  2479  // the context is nil a panic will occur. In the future the SDK may create
  2480  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2481  // for more information on using Contexts.
  2482  func (c *LocationService) GetDevicePositionWithContext(ctx aws.Context, input *GetDevicePositionInput, opts ...request.Option) (*GetDevicePositionOutput, error) {
  2483  	req, out := c.GetDevicePositionRequest(input)
  2484  	req.SetContext(ctx)
  2485  	req.ApplyOptions(opts...)
  2486  	return out, req.Send()
  2487  }
  2488  
  2489  const opGetDevicePositionHistory = "GetDevicePositionHistory"
  2490  
  2491  // GetDevicePositionHistoryRequest generates a "aws/request.Request" representing the
  2492  // client's request for the GetDevicePositionHistory operation. The "output" return
  2493  // value will be populated with the request's response once the request completes
  2494  // successfully.
  2495  //
  2496  // Use "Send" method on the returned Request to send the API call to the service.
  2497  // the "output" return value is not valid until after Send returns without error.
  2498  //
  2499  // See GetDevicePositionHistory for more information on using the GetDevicePositionHistory
  2500  // API call, and error handling.
  2501  //
  2502  // This method is useful when you want to inject custom logic or configuration
  2503  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2504  //
  2505  //
  2506  //    // Example sending a request using the GetDevicePositionHistoryRequest method.
  2507  //    req, resp := client.GetDevicePositionHistoryRequest(params)
  2508  //
  2509  //    err := req.Send()
  2510  //    if err == nil { // resp is now filled
  2511  //        fmt.Println(resp)
  2512  //    }
  2513  //
  2514  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory
  2515  func (c *LocationService) GetDevicePositionHistoryRequest(input *GetDevicePositionHistoryInput) (req *request.Request, output *GetDevicePositionHistoryOutput) {
  2516  	op := &request.Operation{
  2517  		Name:       opGetDevicePositionHistory,
  2518  		HTTPMethod: "POST",
  2519  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/list-positions",
  2520  		Paginator: &request.Paginator{
  2521  			InputTokens:     []string{"NextToken"},
  2522  			OutputTokens:    []string{"NextToken"},
  2523  			LimitToken:      "",
  2524  			TruncationToken: "",
  2525  		},
  2526  	}
  2527  
  2528  	if input == nil {
  2529  		input = &GetDevicePositionHistoryInput{}
  2530  	}
  2531  
  2532  	output = &GetDevicePositionHistoryOutput{}
  2533  	req = c.newRequest(op, input, output)
  2534  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  2535  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2536  	return
  2537  }
  2538  
  2539  // GetDevicePositionHistory API operation for Amazon Location Service.
  2540  //
  2541  // Retrieves the device position history from a tracker resource within a specified
  2542  // range of time.
  2543  //
  2544  // Device positions are deleted after 30 days.
  2545  //
  2546  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2547  // with awserr.Error's Code and Message methods to get detailed information about
  2548  // the error.
  2549  //
  2550  // See the AWS API reference guide for Amazon Location Service's
  2551  // API operation GetDevicePositionHistory for usage and error information.
  2552  //
  2553  // Returned Error Types:
  2554  //   * InternalServerException
  2555  //   The request has failed to process because of an unknown server error, exception,
  2556  //   or failure.
  2557  //
  2558  //   * ResourceNotFoundException
  2559  //   The resource that you've entered was not found in your AWS account.
  2560  //
  2561  //   * AccessDeniedException
  2562  //   The request was denied because of insufficient access or permissions. Check
  2563  //   with an administrator to verify your permissions.
  2564  //
  2565  //   * ValidationException
  2566  //   The input failed to meet the constraints specified by the AWS service.
  2567  //
  2568  //   * ThrottlingException
  2569  //   The request was denied because of request throttling.
  2570  //
  2571  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory
  2572  func (c *LocationService) GetDevicePositionHistory(input *GetDevicePositionHistoryInput) (*GetDevicePositionHistoryOutput, error) {
  2573  	req, out := c.GetDevicePositionHistoryRequest(input)
  2574  	return out, req.Send()
  2575  }
  2576  
  2577  // GetDevicePositionHistoryWithContext is the same as GetDevicePositionHistory with the addition of
  2578  // the ability to pass a context and additional request options.
  2579  //
  2580  // See GetDevicePositionHistory for details on how to use this API operation.
  2581  //
  2582  // The context must be non-nil and will be used for request cancellation. If
  2583  // the context is nil a panic will occur. In the future the SDK may create
  2584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2585  // for more information on using Contexts.
  2586  func (c *LocationService) GetDevicePositionHistoryWithContext(ctx aws.Context, input *GetDevicePositionHistoryInput, opts ...request.Option) (*GetDevicePositionHistoryOutput, error) {
  2587  	req, out := c.GetDevicePositionHistoryRequest(input)
  2588  	req.SetContext(ctx)
  2589  	req.ApplyOptions(opts...)
  2590  	return out, req.Send()
  2591  }
  2592  
  2593  // GetDevicePositionHistoryPages iterates over the pages of a GetDevicePositionHistory operation,
  2594  // calling the "fn" function with the response data for each page. To stop
  2595  // iterating, return false from the fn function.
  2596  //
  2597  // See GetDevicePositionHistory method for more information on how to use this operation.
  2598  //
  2599  // Note: This operation can generate multiple requests to a service.
  2600  //
  2601  //    // Example iterating over at most 3 pages of a GetDevicePositionHistory operation.
  2602  //    pageNum := 0
  2603  //    err := client.GetDevicePositionHistoryPages(params,
  2604  //        func(page *locationservice.GetDevicePositionHistoryOutput, lastPage bool) bool {
  2605  //            pageNum++
  2606  //            fmt.Println(page)
  2607  //            return pageNum <= 3
  2608  //        })
  2609  //
  2610  func (c *LocationService) GetDevicePositionHistoryPages(input *GetDevicePositionHistoryInput, fn func(*GetDevicePositionHistoryOutput, bool) bool) error {
  2611  	return c.GetDevicePositionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  2612  }
  2613  
  2614  // GetDevicePositionHistoryPagesWithContext same as GetDevicePositionHistoryPages except
  2615  // it takes a Context and allows setting request options on the pages.
  2616  //
  2617  // The context must be non-nil and will be used for request cancellation. If
  2618  // the context is nil a panic will occur. In the future the SDK may create
  2619  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2620  // for more information on using Contexts.
  2621  func (c *LocationService) GetDevicePositionHistoryPagesWithContext(ctx aws.Context, input *GetDevicePositionHistoryInput, fn func(*GetDevicePositionHistoryOutput, bool) bool, opts ...request.Option) error {
  2622  	p := request.Pagination{
  2623  		NewRequest: func() (*request.Request, error) {
  2624  			var inCpy *GetDevicePositionHistoryInput
  2625  			if input != nil {
  2626  				tmp := *input
  2627  				inCpy = &tmp
  2628  			}
  2629  			req, _ := c.GetDevicePositionHistoryRequest(inCpy)
  2630  			req.SetContext(ctx)
  2631  			req.ApplyOptions(opts...)
  2632  			return req, nil
  2633  		},
  2634  	}
  2635  
  2636  	for p.Next() {
  2637  		if !fn(p.Page().(*GetDevicePositionHistoryOutput), !p.HasNextPage()) {
  2638  			break
  2639  		}
  2640  	}
  2641  
  2642  	return p.Err()
  2643  }
  2644  
  2645  const opGetGeofence = "GetGeofence"
  2646  
  2647  // GetGeofenceRequest generates a "aws/request.Request" representing the
  2648  // client's request for the GetGeofence operation. The "output" return
  2649  // value will be populated with the request's response once the request completes
  2650  // successfully.
  2651  //
  2652  // Use "Send" method on the returned Request to send the API call to the service.
  2653  // the "output" return value is not valid until after Send returns without error.
  2654  //
  2655  // See GetGeofence for more information on using the GetGeofence
  2656  // API call, and error handling.
  2657  //
  2658  // This method is useful when you want to inject custom logic or configuration
  2659  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2660  //
  2661  //
  2662  //    // Example sending a request using the GetGeofenceRequest method.
  2663  //    req, resp := client.GetGeofenceRequest(params)
  2664  //
  2665  //    err := req.Send()
  2666  //    if err == nil { // resp is now filled
  2667  //        fmt.Println(resp)
  2668  //    }
  2669  //
  2670  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence
  2671  func (c *LocationService) GetGeofenceRequest(input *GetGeofenceInput) (req *request.Request, output *GetGeofenceOutput) {
  2672  	op := &request.Operation{
  2673  		Name:       opGetGeofence,
  2674  		HTTPMethod: "GET",
  2675  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}",
  2676  	}
  2677  
  2678  	if input == nil {
  2679  		input = &GetGeofenceInput{}
  2680  	}
  2681  
  2682  	output = &GetGeofenceOutput{}
  2683  	req = c.newRequest(op, input, output)
  2684  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  2685  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2686  	return
  2687  }
  2688  
  2689  // GetGeofence API operation for Amazon Location Service.
  2690  //
  2691  // Retrieves the geofence details from a geofence collection.
  2692  //
  2693  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2694  // with awserr.Error's Code and Message methods to get detailed information about
  2695  // the error.
  2696  //
  2697  // See the AWS API reference guide for Amazon Location Service's
  2698  // API operation GetGeofence for usage and error information.
  2699  //
  2700  // Returned Error Types:
  2701  //   * InternalServerException
  2702  //   The request has failed to process because of an unknown server error, exception,
  2703  //   or failure.
  2704  //
  2705  //   * ResourceNotFoundException
  2706  //   The resource that you've entered was not found in your AWS account.
  2707  //
  2708  //   * AccessDeniedException
  2709  //   The request was denied because of insufficient access or permissions. Check
  2710  //   with an administrator to verify your permissions.
  2711  //
  2712  //   * ValidationException
  2713  //   The input failed to meet the constraints specified by the AWS service.
  2714  //
  2715  //   * ThrottlingException
  2716  //   The request was denied because of request throttling.
  2717  //
  2718  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence
  2719  func (c *LocationService) GetGeofence(input *GetGeofenceInput) (*GetGeofenceOutput, error) {
  2720  	req, out := c.GetGeofenceRequest(input)
  2721  	return out, req.Send()
  2722  }
  2723  
  2724  // GetGeofenceWithContext is the same as GetGeofence with the addition of
  2725  // the ability to pass a context and additional request options.
  2726  //
  2727  // See GetGeofence for details on how to use this API operation.
  2728  //
  2729  // The context must be non-nil and will be used for request cancellation. If
  2730  // the context is nil a panic will occur. In the future the SDK may create
  2731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2732  // for more information on using Contexts.
  2733  func (c *LocationService) GetGeofenceWithContext(ctx aws.Context, input *GetGeofenceInput, opts ...request.Option) (*GetGeofenceOutput, error) {
  2734  	req, out := c.GetGeofenceRequest(input)
  2735  	req.SetContext(ctx)
  2736  	req.ApplyOptions(opts...)
  2737  	return out, req.Send()
  2738  }
  2739  
  2740  const opGetMapGlyphs = "GetMapGlyphs"
  2741  
  2742  // GetMapGlyphsRequest generates a "aws/request.Request" representing the
  2743  // client's request for the GetMapGlyphs operation. The "output" return
  2744  // value will be populated with the request's response once the request completes
  2745  // successfully.
  2746  //
  2747  // Use "Send" method on the returned Request to send the API call to the service.
  2748  // the "output" return value is not valid until after Send returns without error.
  2749  //
  2750  // See GetMapGlyphs for more information on using the GetMapGlyphs
  2751  // API call, and error handling.
  2752  //
  2753  // This method is useful when you want to inject custom logic or configuration
  2754  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2755  //
  2756  //
  2757  //    // Example sending a request using the GetMapGlyphsRequest method.
  2758  //    req, resp := client.GetMapGlyphsRequest(params)
  2759  //
  2760  //    err := req.Send()
  2761  //    if err == nil { // resp is now filled
  2762  //        fmt.Println(resp)
  2763  //    }
  2764  //
  2765  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs
  2766  func (c *LocationService) GetMapGlyphsRequest(input *GetMapGlyphsInput) (req *request.Request, output *GetMapGlyphsOutput) {
  2767  	op := &request.Operation{
  2768  		Name:       opGetMapGlyphs,
  2769  		HTTPMethod: "GET",
  2770  		HTTPPath:   "/maps/v0/maps/{MapName}/glyphs/{FontStack}/{FontUnicodeRange}",
  2771  	}
  2772  
  2773  	if input == nil {
  2774  		input = &GetMapGlyphsInput{}
  2775  	}
  2776  
  2777  	output = &GetMapGlyphsOutput{}
  2778  	req = c.newRequest(op, input, output)
  2779  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  2780  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2781  	return
  2782  }
  2783  
  2784  // GetMapGlyphs API operation for Amazon Location Service.
  2785  //
  2786  // Retrieves glyphs used to display labels on a map.
  2787  //
  2788  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2789  // with awserr.Error's Code and Message methods to get detailed information about
  2790  // the error.
  2791  //
  2792  // See the AWS API reference guide for Amazon Location Service's
  2793  // API operation GetMapGlyphs for usage and error information.
  2794  //
  2795  // Returned Error Types:
  2796  //   * InternalServerException
  2797  //   The request has failed to process because of an unknown server error, exception,
  2798  //   or failure.
  2799  //
  2800  //   * ResourceNotFoundException
  2801  //   The resource that you've entered was not found in your AWS account.
  2802  //
  2803  //   * AccessDeniedException
  2804  //   The request was denied because of insufficient access or permissions. Check
  2805  //   with an administrator to verify your permissions.
  2806  //
  2807  //   * ValidationException
  2808  //   The input failed to meet the constraints specified by the AWS service.
  2809  //
  2810  //   * ThrottlingException
  2811  //   The request was denied because of request throttling.
  2812  //
  2813  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs
  2814  func (c *LocationService) GetMapGlyphs(input *GetMapGlyphsInput) (*GetMapGlyphsOutput, error) {
  2815  	req, out := c.GetMapGlyphsRequest(input)
  2816  	return out, req.Send()
  2817  }
  2818  
  2819  // GetMapGlyphsWithContext is the same as GetMapGlyphs with the addition of
  2820  // the ability to pass a context and additional request options.
  2821  //
  2822  // See GetMapGlyphs for details on how to use this API operation.
  2823  //
  2824  // The context must be non-nil and will be used for request cancellation. If
  2825  // the context is nil a panic will occur. In the future the SDK may create
  2826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2827  // for more information on using Contexts.
  2828  func (c *LocationService) GetMapGlyphsWithContext(ctx aws.Context, input *GetMapGlyphsInput, opts ...request.Option) (*GetMapGlyphsOutput, error) {
  2829  	req, out := c.GetMapGlyphsRequest(input)
  2830  	req.SetContext(ctx)
  2831  	req.ApplyOptions(opts...)
  2832  	return out, req.Send()
  2833  }
  2834  
  2835  const opGetMapSprites = "GetMapSprites"
  2836  
  2837  // GetMapSpritesRequest generates a "aws/request.Request" representing the
  2838  // client's request for the GetMapSprites operation. The "output" return
  2839  // value will be populated with the request's response once the request completes
  2840  // successfully.
  2841  //
  2842  // Use "Send" method on the returned Request to send the API call to the service.
  2843  // the "output" return value is not valid until after Send returns without error.
  2844  //
  2845  // See GetMapSprites for more information on using the GetMapSprites
  2846  // API call, and error handling.
  2847  //
  2848  // This method is useful when you want to inject custom logic or configuration
  2849  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2850  //
  2851  //
  2852  //    // Example sending a request using the GetMapSpritesRequest method.
  2853  //    req, resp := client.GetMapSpritesRequest(params)
  2854  //
  2855  //    err := req.Send()
  2856  //    if err == nil { // resp is now filled
  2857  //        fmt.Println(resp)
  2858  //    }
  2859  //
  2860  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites
  2861  func (c *LocationService) GetMapSpritesRequest(input *GetMapSpritesInput) (req *request.Request, output *GetMapSpritesOutput) {
  2862  	op := &request.Operation{
  2863  		Name:       opGetMapSprites,
  2864  		HTTPMethod: "GET",
  2865  		HTTPPath:   "/maps/v0/maps/{MapName}/sprites/{FileName}",
  2866  	}
  2867  
  2868  	if input == nil {
  2869  		input = &GetMapSpritesInput{}
  2870  	}
  2871  
  2872  	output = &GetMapSpritesOutput{}
  2873  	req = c.newRequest(op, input, output)
  2874  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  2875  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2876  	return
  2877  }
  2878  
  2879  // GetMapSprites API operation for Amazon Location Service.
  2880  //
  2881  // Retrieves the sprite sheet corresponding to a map resource. The sprite sheet
  2882  // is a PNG image paired with a JSON document describing the offsets of individual
  2883  // icons that will be displayed on a rendered map.
  2884  //
  2885  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2886  // with awserr.Error's Code and Message methods to get detailed information about
  2887  // the error.
  2888  //
  2889  // See the AWS API reference guide for Amazon Location Service's
  2890  // API operation GetMapSprites for usage and error information.
  2891  //
  2892  // Returned Error Types:
  2893  //   * InternalServerException
  2894  //   The request has failed to process because of an unknown server error, exception,
  2895  //   or failure.
  2896  //
  2897  //   * ResourceNotFoundException
  2898  //   The resource that you've entered was not found in your AWS account.
  2899  //
  2900  //   * AccessDeniedException
  2901  //   The request was denied because of insufficient access or permissions. Check
  2902  //   with an administrator to verify your permissions.
  2903  //
  2904  //   * ValidationException
  2905  //   The input failed to meet the constraints specified by the AWS service.
  2906  //
  2907  //   * ThrottlingException
  2908  //   The request was denied because of request throttling.
  2909  //
  2910  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites
  2911  func (c *LocationService) GetMapSprites(input *GetMapSpritesInput) (*GetMapSpritesOutput, error) {
  2912  	req, out := c.GetMapSpritesRequest(input)
  2913  	return out, req.Send()
  2914  }
  2915  
  2916  // GetMapSpritesWithContext is the same as GetMapSprites with the addition of
  2917  // the ability to pass a context and additional request options.
  2918  //
  2919  // See GetMapSprites for details on how to use this API operation.
  2920  //
  2921  // The context must be non-nil and will be used for request cancellation. If
  2922  // the context is nil a panic will occur. In the future the SDK may create
  2923  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2924  // for more information on using Contexts.
  2925  func (c *LocationService) GetMapSpritesWithContext(ctx aws.Context, input *GetMapSpritesInput, opts ...request.Option) (*GetMapSpritesOutput, error) {
  2926  	req, out := c.GetMapSpritesRequest(input)
  2927  	req.SetContext(ctx)
  2928  	req.ApplyOptions(opts...)
  2929  	return out, req.Send()
  2930  }
  2931  
  2932  const opGetMapStyleDescriptor = "GetMapStyleDescriptor"
  2933  
  2934  // GetMapStyleDescriptorRequest generates a "aws/request.Request" representing the
  2935  // client's request for the GetMapStyleDescriptor operation. The "output" return
  2936  // value will be populated with the request's response once the request completes
  2937  // successfully.
  2938  //
  2939  // Use "Send" method on the returned Request to send the API call to the service.
  2940  // the "output" return value is not valid until after Send returns without error.
  2941  //
  2942  // See GetMapStyleDescriptor for more information on using the GetMapStyleDescriptor
  2943  // API call, and error handling.
  2944  //
  2945  // This method is useful when you want to inject custom logic or configuration
  2946  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2947  //
  2948  //
  2949  //    // Example sending a request using the GetMapStyleDescriptorRequest method.
  2950  //    req, resp := client.GetMapStyleDescriptorRequest(params)
  2951  //
  2952  //    err := req.Send()
  2953  //    if err == nil { // resp is now filled
  2954  //        fmt.Println(resp)
  2955  //    }
  2956  //
  2957  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor
  2958  func (c *LocationService) GetMapStyleDescriptorRequest(input *GetMapStyleDescriptorInput) (req *request.Request, output *GetMapStyleDescriptorOutput) {
  2959  	op := &request.Operation{
  2960  		Name:       opGetMapStyleDescriptor,
  2961  		HTTPMethod: "GET",
  2962  		HTTPPath:   "/maps/v0/maps/{MapName}/style-descriptor",
  2963  	}
  2964  
  2965  	if input == nil {
  2966  		input = &GetMapStyleDescriptorInput{}
  2967  	}
  2968  
  2969  	output = &GetMapStyleDescriptorOutput{}
  2970  	req = c.newRequest(op, input, output)
  2971  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  2972  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2973  	return
  2974  }
  2975  
  2976  // GetMapStyleDescriptor API operation for Amazon Location Service.
  2977  //
  2978  // Retrieves the map style descriptor from a map resource.
  2979  //
  2980  // The style descriptor contains specifications on how features render on a
  2981  // map. For example, what data to display, what order to display the data in,
  2982  // and the style for the data. Style descriptors follow the Mapbox Style Specification.
  2983  //
  2984  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2985  // with awserr.Error's Code and Message methods to get detailed information about
  2986  // the error.
  2987  //
  2988  // See the AWS API reference guide for Amazon Location Service's
  2989  // API operation GetMapStyleDescriptor for usage and error information.
  2990  //
  2991  // Returned Error Types:
  2992  //   * InternalServerException
  2993  //   The request has failed to process because of an unknown server error, exception,
  2994  //   or failure.
  2995  //
  2996  //   * ResourceNotFoundException
  2997  //   The resource that you've entered was not found in your AWS account.
  2998  //
  2999  //   * AccessDeniedException
  3000  //   The request was denied because of insufficient access or permissions. Check
  3001  //   with an administrator to verify your permissions.
  3002  //
  3003  //   * ValidationException
  3004  //   The input failed to meet the constraints specified by the AWS service.
  3005  //
  3006  //   * ThrottlingException
  3007  //   The request was denied because of request throttling.
  3008  //
  3009  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor
  3010  func (c *LocationService) GetMapStyleDescriptor(input *GetMapStyleDescriptorInput) (*GetMapStyleDescriptorOutput, error) {
  3011  	req, out := c.GetMapStyleDescriptorRequest(input)
  3012  	return out, req.Send()
  3013  }
  3014  
  3015  // GetMapStyleDescriptorWithContext is the same as GetMapStyleDescriptor with the addition of
  3016  // the ability to pass a context and additional request options.
  3017  //
  3018  // See GetMapStyleDescriptor for details on how to use this API operation.
  3019  //
  3020  // The context must be non-nil and will be used for request cancellation. If
  3021  // the context is nil a panic will occur. In the future the SDK may create
  3022  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3023  // for more information on using Contexts.
  3024  func (c *LocationService) GetMapStyleDescriptorWithContext(ctx aws.Context, input *GetMapStyleDescriptorInput, opts ...request.Option) (*GetMapStyleDescriptorOutput, error) {
  3025  	req, out := c.GetMapStyleDescriptorRequest(input)
  3026  	req.SetContext(ctx)
  3027  	req.ApplyOptions(opts...)
  3028  	return out, req.Send()
  3029  }
  3030  
  3031  const opGetMapTile = "GetMapTile"
  3032  
  3033  // GetMapTileRequest generates a "aws/request.Request" representing the
  3034  // client's request for the GetMapTile operation. The "output" return
  3035  // value will be populated with the request's response once the request completes
  3036  // successfully.
  3037  //
  3038  // Use "Send" method on the returned Request to send the API call to the service.
  3039  // the "output" return value is not valid until after Send returns without error.
  3040  //
  3041  // See GetMapTile for more information on using the GetMapTile
  3042  // API call, and error handling.
  3043  //
  3044  // This method is useful when you want to inject custom logic or configuration
  3045  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3046  //
  3047  //
  3048  //    // Example sending a request using the GetMapTileRequest method.
  3049  //    req, resp := client.GetMapTileRequest(params)
  3050  //
  3051  //    err := req.Send()
  3052  //    if err == nil { // resp is now filled
  3053  //        fmt.Println(resp)
  3054  //    }
  3055  //
  3056  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile
  3057  func (c *LocationService) GetMapTileRequest(input *GetMapTileInput) (req *request.Request, output *GetMapTileOutput) {
  3058  	op := &request.Operation{
  3059  		Name:       opGetMapTile,
  3060  		HTTPMethod: "GET",
  3061  		HTTPPath:   "/maps/v0/maps/{MapName}/tiles/{Z}/{X}/{Y}",
  3062  	}
  3063  
  3064  	if input == nil {
  3065  		input = &GetMapTileInput{}
  3066  	}
  3067  
  3068  	output = &GetMapTileOutput{}
  3069  	req = c.newRequest(op, input, output)
  3070  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  3071  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3072  	return
  3073  }
  3074  
  3075  // GetMapTile API operation for Amazon Location Service.
  3076  //
  3077  // Retrieves a vector data tile from the map resource. Map tiles are used by
  3078  // clients to render a map. they're addressed using a grid arrangement with
  3079  // an X coordinate, Y coordinate, and Z (zoom) level.
  3080  //
  3081  // The origin (0, 0) is the top left of the map. Increasing the zoom level by
  3082  // 1 doubles both the X and Y dimensions, so a tile containing data for the
  3083  // entire world at (0/0/0) will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1,
  3084  // 1/1/0, 1/1/1).
  3085  //
  3086  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3087  // with awserr.Error's Code and Message methods to get detailed information about
  3088  // the error.
  3089  //
  3090  // See the AWS API reference guide for Amazon Location Service's
  3091  // API operation GetMapTile for usage and error information.
  3092  //
  3093  // Returned Error Types:
  3094  //   * InternalServerException
  3095  //   The request has failed to process because of an unknown server error, exception,
  3096  //   or failure.
  3097  //
  3098  //   * ResourceNotFoundException
  3099  //   The resource that you've entered was not found in your AWS account.
  3100  //
  3101  //   * AccessDeniedException
  3102  //   The request was denied because of insufficient access or permissions. Check
  3103  //   with an administrator to verify your permissions.
  3104  //
  3105  //   * ValidationException
  3106  //   The input failed to meet the constraints specified by the AWS service.
  3107  //
  3108  //   * ThrottlingException
  3109  //   The request was denied because of request throttling.
  3110  //
  3111  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile
  3112  func (c *LocationService) GetMapTile(input *GetMapTileInput) (*GetMapTileOutput, error) {
  3113  	req, out := c.GetMapTileRequest(input)
  3114  	return out, req.Send()
  3115  }
  3116  
  3117  // GetMapTileWithContext is the same as GetMapTile with the addition of
  3118  // the ability to pass a context and additional request options.
  3119  //
  3120  // See GetMapTile for details on how to use this API operation.
  3121  //
  3122  // The context must be non-nil and will be used for request cancellation. If
  3123  // the context is nil a panic will occur. In the future the SDK may create
  3124  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3125  // for more information on using Contexts.
  3126  func (c *LocationService) GetMapTileWithContext(ctx aws.Context, input *GetMapTileInput, opts ...request.Option) (*GetMapTileOutput, error) {
  3127  	req, out := c.GetMapTileRequest(input)
  3128  	req.SetContext(ctx)
  3129  	req.ApplyOptions(opts...)
  3130  	return out, req.Send()
  3131  }
  3132  
  3133  const opListDevicePositions = "ListDevicePositions"
  3134  
  3135  // ListDevicePositionsRequest generates a "aws/request.Request" representing the
  3136  // client's request for the ListDevicePositions operation. The "output" return
  3137  // value will be populated with the request's response once the request completes
  3138  // successfully.
  3139  //
  3140  // Use "Send" method on the returned Request to send the API call to the service.
  3141  // the "output" return value is not valid until after Send returns without error.
  3142  //
  3143  // See ListDevicePositions for more information on using the ListDevicePositions
  3144  // API call, and error handling.
  3145  //
  3146  // This method is useful when you want to inject custom logic or configuration
  3147  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3148  //
  3149  //
  3150  //    // Example sending a request using the ListDevicePositionsRequest method.
  3151  //    req, resp := client.ListDevicePositionsRequest(params)
  3152  //
  3153  //    err := req.Send()
  3154  //    if err == nil { // resp is now filled
  3155  //        fmt.Println(resp)
  3156  //    }
  3157  //
  3158  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListDevicePositions
  3159  func (c *LocationService) ListDevicePositionsRequest(input *ListDevicePositionsInput) (req *request.Request, output *ListDevicePositionsOutput) {
  3160  	op := &request.Operation{
  3161  		Name:       opListDevicePositions,
  3162  		HTTPMethod: "POST",
  3163  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/list-positions",
  3164  		Paginator: &request.Paginator{
  3165  			InputTokens:     []string{"NextToken"},
  3166  			OutputTokens:    []string{"NextToken"},
  3167  			LimitToken:      "MaxResults",
  3168  			TruncationToken: "",
  3169  		},
  3170  	}
  3171  
  3172  	if input == nil {
  3173  		input = &ListDevicePositionsInput{}
  3174  	}
  3175  
  3176  	output = &ListDevicePositionsOutput{}
  3177  	req = c.newRequest(op, input, output)
  3178  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  3179  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3180  	return
  3181  }
  3182  
  3183  // ListDevicePositions API operation for Amazon Location Service.
  3184  //
  3185  // A batch request to retrieve all device positions.
  3186  //
  3187  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3188  // with awserr.Error's Code and Message methods to get detailed information about
  3189  // the error.
  3190  //
  3191  // See the AWS API reference guide for Amazon Location Service's
  3192  // API operation ListDevicePositions for usage and error information.
  3193  //
  3194  // Returned Error Types:
  3195  //   * InternalServerException
  3196  //   The request has failed to process because of an unknown server error, exception,
  3197  //   or failure.
  3198  //
  3199  //   * AccessDeniedException
  3200  //   The request was denied because of insufficient access or permissions. Check
  3201  //   with an administrator to verify your permissions.
  3202  //
  3203  //   * ValidationException
  3204  //   The input failed to meet the constraints specified by the AWS service.
  3205  //
  3206  //   * ThrottlingException
  3207  //   The request was denied because of request throttling.
  3208  //
  3209  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListDevicePositions
  3210  func (c *LocationService) ListDevicePositions(input *ListDevicePositionsInput) (*ListDevicePositionsOutput, error) {
  3211  	req, out := c.ListDevicePositionsRequest(input)
  3212  	return out, req.Send()
  3213  }
  3214  
  3215  // ListDevicePositionsWithContext is the same as ListDevicePositions with the addition of
  3216  // the ability to pass a context and additional request options.
  3217  //
  3218  // See ListDevicePositions for details on how to use this API operation.
  3219  //
  3220  // The context must be non-nil and will be used for request cancellation. If
  3221  // the context is nil a panic will occur. In the future the SDK may create
  3222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3223  // for more information on using Contexts.
  3224  func (c *LocationService) ListDevicePositionsWithContext(ctx aws.Context, input *ListDevicePositionsInput, opts ...request.Option) (*ListDevicePositionsOutput, error) {
  3225  	req, out := c.ListDevicePositionsRequest(input)
  3226  	req.SetContext(ctx)
  3227  	req.ApplyOptions(opts...)
  3228  	return out, req.Send()
  3229  }
  3230  
  3231  // ListDevicePositionsPages iterates over the pages of a ListDevicePositions operation,
  3232  // calling the "fn" function with the response data for each page. To stop
  3233  // iterating, return false from the fn function.
  3234  //
  3235  // See ListDevicePositions method for more information on how to use this operation.
  3236  //
  3237  // Note: This operation can generate multiple requests to a service.
  3238  //
  3239  //    // Example iterating over at most 3 pages of a ListDevicePositions operation.
  3240  //    pageNum := 0
  3241  //    err := client.ListDevicePositionsPages(params,
  3242  //        func(page *locationservice.ListDevicePositionsOutput, lastPage bool) bool {
  3243  //            pageNum++
  3244  //            fmt.Println(page)
  3245  //            return pageNum <= 3
  3246  //        })
  3247  //
  3248  func (c *LocationService) ListDevicePositionsPages(input *ListDevicePositionsInput, fn func(*ListDevicePositionsOutput, bool) bool) error {
  3249  	return c.ListDevicePositionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3250  }
  3251  
  3252  // ListDevicePositionsPagesWithContext same as ListDevicePositionsPages except
  3253  // it takes a Context and allows setting request options on the pages.
  3254  //
  3255  // The context must be non-nil and will be used for request cancellation. If
  3256  // the context is nil a panic will occur. In the future the SDK may create
  3257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3258  // for more information on using Contexts.
  3259  func (c *LocationService) ListDevicePositionsPagesWithContext(ctx aws.Context, input *ListDevicePositionsInput, fn func(*ListDevicePositionsOutput, bool) bool, opts ...request.Option) error {
  3260  	p := request.Pagination{
  3261  		NewRequest: func() (*request.Request, error) {
  3262  			var inCpy *ListDevicePositionsInput
  3263  			if input != nil {
  3264  				tmp := *input
  3265  				inCpy = &tmp
  3266  			}
  3267  			req, _ := c.ListDevicePositionsRequest(inCpy)
  3268  			req.SetContext(ctx)
  3269  			req.ApplyOptions(opts...)
  3270  			return req, nil
  3271  		},
  3272  	}
  3273  
  3274  	for p.Next() {
  3275  		if !fn(p.Page().(*ListDevicePositionsOutput), !p.HasNextPage()) {
  3276  			break
  3277  		}
  3278  	}
  3279  
  3280  	return p.Err()
  3281  }
  3282  
  3283  const opListGeofenceCollections = "ListGeofenceCollections"
  3284  
  3285  // ListGeofenceCollectionsRequest generates a "aws/request.Request" representing the
  3286  // client's request for the ListGeofenceCollections operation. The "output" return
  3287  // value will be populated with the request's response once the request completes
  3288  // successfully.
  3289  //
  3290  // Use "Send" method on the returned Request to send the API call to the service.
  3291  // the "output" return value is not valid until after Send returns without error.
  3292  //
  3293  // See ListGeofenceCollections for more information on using the ListGeofenceCollections
  3294  // API call, and error handling.
  3295  //
  3296  // This method is useful when you want to inject custom logic or configuration
  3297  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3298  //
  3299  //
  3300  //    // Example sending a request using the ListGeofenceCollectionsRequest method.
  3301  //    req, resp := client.ListGeofenceCollectionsRequest(params)
  3302  //
  3303  //    err := req.Send()
  3304  //    if err == nil { // resp is now filled
  3305  //        fmt.Println(resp)
  3306  //    }
  3307  //
  3308  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections
  3309  func (c *LocationService) ListGeofenceCollectionsRequest(input *ListGeofenceCollectionsInput) (req *request.Request, output *ListGeofenceCollectionsOutput) {
  3310  	op := &request.Operation{
  3311  		Name:       opListGeofenceCollections,
  3312  		HTTPMethod: "POST",
  3313  		HTTPPath:   "/geofencing/v0/list-collections",
  3314  		Paginator: &request.Paginator{
  3315  			InputTokens:     []string{"NextToken"},
  3316  			OutputTokens:    []string{"NextToken"},
  3317  			LimitToken:      "MaxResults",
  3318  			TruncationToken: "",
  3319  		},
  3320  	}
  3321  
  3322  	if input == nil {
  3323  		input = &ListGeofenceCollectionsInput{}
  3324  	}
  3325  
  3326  	output = &ListGeofenceCollectionsOutput{}
  3327  	req = c.newRequest(op, input, output)
  3328  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  3329  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3330  	return
  3331  }
  3332  
  3333  // ListGeofenceCollections API operation for Amazon Location Service.
  3334  //
  3335  // Lists geofence collections in your AWS account.
  3336  //
  3337  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3338  // with awserr.Error's Code and Message methods to get detailed information about
  3339  // the error.
  3340  //
  3341  // See the AWS API reference guide for Amazon Location Service's
  3342  // API operation ListGeofenceCollections for usage and error information.
  3343  //
  3344  // Returned Error Types:
  3345  //   * InternalServerException
  3346  //   The request has failed to process because of an unknown server error, exception,
  3347  //   or failure.
  3348  //
  3349  //   * AccessDeniedException
  3350  //   The request was denied because of insufficient access or permissions. Check
  3351  //   with an administrator to verify your permissions.
  3352  //
  3353  //   * ValidationException
  3354  //   The input failed to meet the constraints specified by the AWS service.
  3355  //
  3356  //   * ThrottlingException
  3357  //   The request was denied because of request throttling.
  3358  //
  3359  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections
  3360  func (c *LocationService) ListGeofenceCollections(input *ListGeofenceCollectionsInput) (*ListGeofenceCollectionsOutput, error) {
  3361  	req, out := c.ListGeofenceCollectionsRequest(input)
  3362  	return out, req.Send()
  3363  }
  3364  
  3365  // ListGeofenceCollectionsWithContext is the same as ListGeofenceCollections with the addition of
  3366  // the ability to pass a context and additional request options.
  3367  //
  3368  // See ListGeofenceCollections for details on how to use this API operation.
  3369  //
  3370  // The context must be non-nil and will be used for request cancellation. If
  3371  // the context is nil a panic will occur. In the future the SDK may create
  3372  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3373  // for more information on using Contexts.
  3374  func (c *LocationService) ListGeofenceCollectionsWithContext(ctx aws.Context, input *ListGeofenceCollectionsInput, opts ...request.Option) (*ListGeofenceCollectionsOutput, error) {
  3375  	req, out := c.ListGeofenceCollectionsRequest(input)
  3376  	req.SetContext(ctx)
  3377  	req.ApplyOptions(opts...)
  3378  	return out, req.Send()
  3379  }
  3380  
  3381  // ListGeofenceCollectionsPages iterates over the pages of a ListGeofenceCollections operation,
  3382  // calling the "fn" function with the response data for each page. To stop
  3383  // iterating, return false from the fn function.
  3384  //
  3385  // See ListGeofenceCollections method for more information on how to use this operation.
  3386  //
  3387  // Note: This operation can generate multiple requests to a service.
  3388  //
  3389  //    // Example iterating over at most 3 pages of a ListGeofenceCollections operation.
  3390  //    pageNum := 0
  3391  //    err := client.ListGeofenceCollectionsPages(params,
  3392  //        func(page *locationservice.ListGeofenceCollectionsOutput, lastPage bool) bool {
  3393  //            pageNum++
  3394  //            fmt.Println(page)
  3395  //            return pageNum <= 3
  3396  //        })
  3397  //
  3398  func (c *LocationService) ListGeofenceCollectionsPages(input *ListGeofenceCollectionsInput, fn func(*ListGeofenceCollectionsOutput, bool) bool) error {
  3399  	return c.ListGeofenceCollectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3400  }
  3401  
  3402  // ListGeofenceCollectionsPagesWithContext same as ListGeofenceCollectionsPages except
  3403  // it takes a Context and allows setting request options on the pages.
  3404  //
  3405  // The context must be non-nil and will be used for request cancellation. If
  3406  // the context is nil a panic will occur. In the future the SDK may create
  3407  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3408  // for more information on using Contexts.
  3409  func (c *LocationService) ListGeofenceCollectionsPagesWithContext(ctx aws.Context, input *ListGeofenceCollectionsInput, fn func(*ListGeofenceCollectionsOutput, bool) bool, opts ...request.Option) error {
  3410  	p := request.Pagination{
  3411  		NewRequest: func() (*request.Request, error) {
  3412  			var inCpy *ListGeofenceCollectionsInput
  3413  			if input != nil {
  3414  				tmp := *input
  3415  				inCpy = &tmp
  3416  			}
  3417  			req, _ := c.ListGeofenceCollectionsRequest(inCpy)
  3418  			req.SetContext(ctx)
  3419  			req.ApplyOptions(opts...)
  3420  			return req, nil
  3421  		},
  3422  	}
  3423  
  3424  	for p.Next() {
  3425  		if !fn(p.Page().(*ListGeofenceCollectionsOutput), !p.HasNextPage()) {
  3426  			break
  3427  		}
  3428  	}
  3429  
  3430  	return p.Err()
  3431  }
  3432  
  3433  const opListGeofences = "ListGeofences"
  3434  
  3435  // ListGeofencesRequest generates a "aws/request.Request" representing the
  3436  // client's request for the ListGeofences operation. The "output" return
  3437  // value will be populated with the request's response once the request completes
  3438  // successfully.
  3439  //
  3440  // Use "Send" method on the returned Request to send the API call to the service.
  3441  // the "output" return value is not valid until after Send returns without error.
  3442  //
  3443  // See ListGeofences for more information on using the ListGeofences
  3444  // API call, and error handling.
  3445  //
  3446  // This method is useful when you want to inject custom logic or configuration
  3447  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3448  //
  3449  //
  3450  //    // Example sending a request using the ListGeofencesRequest method.
  3451  //    req, resp := client.ListGeofencesRequest(params)
  3452  //
  3453  //    err := req.Send()
  3454  //    if err == nil { // resp is now filled
  3455  //        fmt.Println(resp)
  3456  //    }
  3457  //
  3458  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences
  3459  func (c *LocationService) ListGeofencesRequest(input *ListGeofencesInput) (req *request.Request, output *ListGeofencesOutput) {
  3460  	op := &request.Operation{
  3461  		Name:       opListGeofences,
  3462  		HTTPMethod: "POST",
  3463  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/list-geofences",
  3464  		Paginator: &request.Paginator{
  3465  			InputTokens:     []string{"NextToken"},
  3466  			OutputTokens:    []string{"NextToken"},
  3467  			LimitToken:      "",
  3468  			TruncationToken: "",
  3469  		},
  3470  	}
  3471  
  3472  	if input == nil {
  3473  		input = &ListGeofencesInput{}
  3474  	}
  3475  
  3476  	output = &ListGeofencesOutput{}
  3477  	req = c.newRequest(op, input, output)
  3478  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  3479  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3480  	return
  3481  }
  3482  
  3483  // ListGeofences API operation for Amazon Location Service.
  3484  //
  3485  // Lists geofences stored in a given geofence collection.
  3486  //
  3487  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3488  // with awserr.Error's Code and Message methods to get detailed information about
  3489  // the error.
  3490  //
  3491  // See the AWS API reference guide for Amazon Location Service's
  3492  // API operation ListGeofences for usage and error information.
  3493  //
  3494  // Returned Error Types:
  3495  //   * InternalServerException
  3496  //   The request has failed to process because of an unknown server error, exception,
  3497  //   or failure.
  3498  //
  3499  //   * ResourceNotFoundException
  3500  //   The resource that you've entered was not found in your AWS account.
  3501  //
  3502  //   * AccessDeniedException
  3503  //   The request was denied because of insufficient access or permissions. Check
  3504  //   with an administrator to verify your permissions.
  3505  //
  3506  //   * ValidationException
  3507  //   The input failed to meet the constraints specified by the AWS service.
  3508  //
  3509  //   * ThrottlingException
  3510  //   The request was denied because of request throttling.
  3511  //
  3512  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences
  3513  func (c *LocationService) ListGeofences(input *ListGeofencesInput) (*ListGeofencesOutput, error) {
  3514  	req, out := c.ListGeofencesRequest(input)
  3515  	return out, req.Send()
  3516  }
  3517  
  3518  // ListGeofencesWithContext is the same as ListGeofences with the addition of
  3519  // the ability to pass a context and additional request options.
  3520  //
  3521  // See ListGeofences for details on how to use this API operation.
  3522  //
  3523  // The context must be non-nil and will be used for request cancellation. If
  3524  // the context is nil a panic will occur. In the future the SDK may create
  3525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3526  // for more information on using Contexts.
  3527  func (c *LocationService) ListGeofencesWithContext(ctx aws.Context, input *ListGeofencesInput, opts ...request.Option) (*ListGeofencesOutput, error) {
  3528  	req, out := c.ListGeofencesRequest(input)
  3529  	req.SetContext(ctx)
  3530  	req.ApplyOptions(opts...)
  3531  	return out, req.Send()
  3532  }
  3533  
  3534  // ListGeofencesPages iterates over the pages of a ListGeofences operation,
  3535  // calling the "fn" function with the response data for each page. To stop
  3536  // iterating, return false from the fn function.
  3537  //
  3538  // See ListGeofences method for more information on how to use this operation.
  3539  //
  3540  // Note: This operation can generate multiple requests to a service.
  3541  //
  3542  //    // Example iterating over at most 3 pages of a ListGeofences operation.
  3543  //    pageNum := 0
  3544  //    err := client.ListGeofencesPages(params,
  3545  //        func(page *locationservice.ListGeofencesOutput, lastPage bool) bool {
  3546  //            pageNum++
  3547  //            fmt.Println(page)
  3548  //            return pageNum <= 3
  3549  //        })
  3550  //
  3551  func (c *LocationService) ListGeofencesPages(input *ListGeofencesInput, fn func(*ListGeofencesOutput, bool) bool) error {
  3552  	return c.ListGeofencesPagesWithContext(aws.BackgroundContext(), input, fn)
  3553  }
  3554  
  3555  // ListGeofencesPagesWithContext same as ListGeofencesPages except
  3556  // it takes a Context and allows setting request options on the pages.
  3557  //
  3558  // The context must be non-nil and will be used for request cancellation. If
  3559  // the context is nil a panic will occur. In the future the SDK may create
  3560  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3561  // for more information on using Contexts.
  3562  func (c *LocationService) ListGeofencesPagesWithContext(ctx aws.Context, input *ListGeofencesInput, fn func(*ListGeofencesOutput, bool) bool, opts ...request.Option) error {
  3563  	p := request.Pagination{
  3564  		NewRequest: func() (*request.Request, error) {
  3565  			var inCpy *ListGeofencesInput
  3566  			if input != nil {
  3567  				tmp := *input
  3568  				inCpy = &tmp
  3569  			}
  3570  			req, _ := c.ListGeofencesRequest(inCpy)
  3571  			req.SetContext(ctx)
  3572  			req.ApplyOptions(opts...)
  3573  			return req, nil
  3574  		},
  3575  	}
  3576  
  3577  	for p.Next() {
  3578  		if !fn(p.Page().(*ListGeofencesOutput), !p.HasNextPage()) {
  3579  			break
  3580  		}
  3581  	}
  3582  
  3583  	return p.Err()
  3584  }
  3585  
  3586  const opListMaps = "ListMaps"
  3587  
  3588  // ListMapsRequest generates a "aws/request.Request" representing the
  3589  // client's request for the ListMaps operation. The "output" return
  3590  // value will be populated with the request's response once the request completes
  3591  // successfully.
  3592  //
  3593  // Use "Send" method on the returned Request to send the API call to the service.
  3594  // the "output" return value is not valid until after Send returns without error.
  3595  //
  3596  // See ListMaps for more information on using the ListMaps
  3597  // API call, and error handling.
  3598  //
  3599  // This method is useful when you want to inject custom logic or configuration
  3600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3601  //
  3602  //
  3603  //    // Example sending a request using the ListMapsRequest method.
  3604  //    req, resp := client.ListMapsRequest(params)
  3605  //
  3606  //    err := req.Send()
  3607  //    if err == nil { // resp is now filled
  3608  //        fmt.Println(resp)
  3609  //    }
  3610  //
  3611  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps
  3612  func (c *LocationService) ListMapsRequest(input *ListMapsInput) (req *request.Request, output *ListMapsOutput) {
  3613  	op := &request.Operation{
  3614  		Name:       opListMaps,
  3615  		HTTPMethod: "POST",
  3616  		HTTPPath:   "/maps/v0/list-maps",
  3617  		Paginator: &request.Paginator{
  3618  			InputTokens:     []string{"NextToken"},
  3619  			OutputTokens:    []string{"NextToken"},
  3620  			LimitToken:      "MaxResults",
  3621  			TruncationToken: "",
  3622  		},
  3623  	}
  3624  
  3625  	if input == nil {
  3626  		input = &ListMapsInput{}
  3627  	}
  3628  
  3629  	output = &ListMapsOutput{}
  3630  	req = c.newRequest(op, input, output)
  3631  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  3632  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3633  	return
  3634  }
  3635  
  3636  // ListMaps API operation for Amazon Location Service.
  3637  //
  3638  // Lists map resources in your AWS account.
  3639  //
  3640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3641  // with awserr.Error's Code and Message methods to get detailed information about
  3642  // the error.
  3643  //
  3644  // See the AWS API reference guide for Amazon Location Service's
  3645  // API operation ListMaps for usage and error information.
  3646  //
  3647  // Returned Error Types:
  3648  //   * InternalServerException
  3649  //   The request has failed to process because of an unknown server error, exception,
  3650  //   or failure.
  3651  //
  3652  //   * AccessDeniedException
  3653  //   The request was denied because of insufficient access or permissions. Check
  3654  //   with an administrator to verify your permissions.
  3655  //
  3656  //   * ValidationException
  3657  //   The input failed to meet the constraints specified by the AWS service.
  3658  //
  3659  //   * ThrottlingException
  3660  //   The request was denied because of request throttling.
  3661  //
  3662  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps
  3663  func (c *LocationService) ListMaps(input *ListMapsInput) (*ListMapsOutput, error) {
  3664  	req, out := c.ListMapsRequest(input)
  3665  	return out, req.Send()
  3666  }
  3667  
  3668  // ListMapsWithContext is the same as ListMaps with the addition of
  3669  // the ability to pass a context and additional request options.
  3670  //
  3671  // See ListMaps for details on how to use this API operation.
  3672  //
  3673  // The context must be non-nil and will be used for request cancellation. If
  3674  // the context is nil a panic will occur. In the future the SDK may create
  3675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3676  // for more information on using Contexts.
  3677  func (c *LocationService) ListMapsWithContext(ctx aws.Context, input *ListMapsInput, opts ...request.Option) (*ListMapsOutput, error) {
  3678  	req, out := c.ListMapsRequest(input)
  3679  	req.SetContext(ctx)
  3680  	req.ApplyOptions(opts...)
  3681  	return out, req.Send()
  3682  }
  3683  
  3684  // ListMapsPages iterates over the pages of a ListMaps operation,
  3685  // calling the "fn" function with the response data for each page. To stop
  3686  // iterating, return false from the fn function.
  3687  //
  3688  // See ListMaps method for more information on how to use this operation.
  3689  //
  3690  // Note: This operation can generate multiple requests to a service.
  3691  //
  3692  //    // Example iterating over at most 3 pages of a ListMaps operation.
  3693  //    pageNum := 0
  3694  //    err := client.ListMapsPages(params,
  3695  //        func(page *locationservice.ListMapsOutput, lastPage bool) bool {
  3696  //            pageNum++
  3697  //            fmt.Println(page)
  3698  //            return pageNum <= 3
  3699  //        })
  3700  //
  3701  func (c *LocationService) ListMapsPages(input *ListMapsInput, fn func(*ListMapsOutput, bool) bool) error {
  3702  	return c.ListMapsPagesWithContext(aws.BackgroundContext(), input, fn)
  3703  }
  3704  
  3705  // ListMapsPagesWithContext same as ListMapsPages except
  3706  // it takes a Context and allows setting request options on the pages.
  3707  //
  3708  // The context must be non-nil and will be used for request cancellation. If
  3709  // the context is nil a panic will occur. In the future the SDK may create
  3710  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3711  // for more information on using Contexts.
  3712  func (c *LocationService) ListMapsPagesWithContext(ctx aws.Context, input *ListMapsInput, fn func(*ListMapsOutput, bool) bool, opts ...request.Option) error {
  3713  	p := request.Pagination{
  3714  		NewRequest: func() (*request.Request, error) {
  3715  			var inCpy *ListMapsInput
  3716  			if input != nil {
  3717  				tmp := *input
  3718  				inCpy = &tmp
  3719  			}
  3720  			req, _ := c.ListMapsRequest(inCpy)
  3721  			req.SetContext(ctx)
  3722  			req.ApplyOptions(opts...)
  3723  			return req, nil
  3724  		},
  3725  	}
  3726  
  3727  	for p.Next() {
  3728  		if !fn(p.Page().(*ListMapsOutput), !p.HasNextPage()) {
  3729  			break
  3730  		}
  3731  	}
  3732  
  3733  	return p.Err()
  3734  }
  3735  
  3736  const opListPlaceIndexes = "ListPlaceIndexes"
  3737  
  3738  // ListPlaceIndexesRequest generates a "aws/request.Request" representing the
  3739  // client's request for the ListPlaceIndexes operation. The "output" return
  3740  // value will be populated with the request's response once the request completes
  3741  // successfully.
  3742  //
  3743  // Use "Send" method on the returned Request to send the API call to the service.
  3744  // the "output" return value is not valid until after Send returns without error.
  3745  //
  3746  // See ListPlaceIndexes for more information on using the ListPlaceIndexes
  3747  // API call, and error handling.
  3748  //
  3749  // This method is useful when you want to inject custom logic or configuration
  3750  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3751  //
  3752  //
  3753  //    // Example sending a request using the ListPlaceIndexesRequest method.
  3754  //    req, resp := client.ListPlaceIndexesRequest(params)
  3755  //
  3756  //    err := req.Send()
  3757  //    if err == nil { // resp is now filled
  3758  //        fmt.Println(resp)
  3759  //    }
  3760  //
  3761  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes
  3762  func (c *LocationService) ListPlaceIndexesRequest(input *ListPlaceIndexesInput) (req *request.Request, output *ListPlaceIndexesOutput) {
  3763  	op := &request.Operation{
  3764  		Name:       opListPlaceIndexes,
  3765  		HTTPMethod: "POST",
  3766  		HTTPPath:   "/places/v0/list-indexes",
  3767  		Paginator: &request.Paginator{
  3768  			InputTokens:     []string{"NextToken"},
  3769  			OutputTokens:    []string{"NextToken"},
  3770  			LimitToken:      "MaxResults",
  3771  			TruncationToken: "",
  3772  		},
  3773  	}
  3774  
  3775  	if input == nil {
  3776  		input = &ListPlaceIndexesInput{}
  3777  	}
  3778  
  3779  	output = &ListPlaceIndexesOutput{}
  3780  	req = c.newRequest(op, input, output)
  3781  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  3782  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3783  	return
  3784  }
  3785  
  3786  // ListPlaceIndexes API operation for Amazon Location Service.
  3787  //
  3788  // Lists place index resources in your AWS account.
  3789  //
  3790  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3791  // with awserr.Error's Code and Message methods to get detailed information about
  3792  // the error.
  3793  //
  3794  // See the AWS API reference guide for Amazon Location Service's
  3795  // API operation ListPlaceIndexes for usage and error information.
  3796  //
  3797  // Returned Error Types:
  3798  //   * InternalServerException
  3799  //   The request has failed to process because of an unknown server error, exception,
  3800  //   or failure.
  3801  //
  3802  //   * AccessDeniedException
  3803  //   The request was denied because of insufficient access or permissions. Check
  3804  //   with an administrator to verify your permissions.
  3805  //
  3806  //   * ValidationException
  3807  //   The input failed to meet the constraints specified by the AWS service.
  3808  //
  3809  //   * ThrottlingException
  3810  //   The request was denied because of request throttling.
  3811  //
  3812  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes
  3813  func (c *LocationService) ListPlaceIndexes(input *ListPlaceIndexesInput) (*ListPlaceIndexesOutput, error) {
  3814  	req, out := c.ListPlaceIndexesRequest(input)
  3815  	return out, req.Send()
  3816  }
  3817  
  3818  // ListPlaceIndexesWithContext is the same as ListPlaceIndexes with the addition of
  3819  // the ability to pass a context and additional request options.
  3820  //
  3821  // See ListPlaceIndexes for details on how to use this API operation.
  3822  //
  3823  // The context must be non-nil and will be used for request cancellation. If
  3824  // the context is nil a panic will occur. In the future the SDK may create
  3825  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3826  // for more information on using Contexts.
  3827  func (c *LocationService) ListPlaceIndexesWithContext(ctx aws.Context, input *ListPlaceIndexesInput, opts ...request.Option) (*ListPlaceIndexesOutput, error) {
  3828  	req, out := c.ListPlaceIndexesRequest(input)
  3829  	req.SetContext(ctx)
  3830  	req.ApplyOptions(opts...)
  3831  	return out, req.Send()
  3832  }
  3833  
  3834  // ListPlaceIndexesPages iterates over the pages of a ListPlaceIndexes operation,
  3835  // calling the "fn" function with the response data for each page. To stop
  3836  // iterating, return false from the fn function.
  3837  //
  3838  // See ListPlaceIndexes method for more information on how to use this operation.
  3839  //
  3840  // Note: This operation can generate multiple requests to a service.
  3841  //
  3842  //    // Example iterating over at most 3 pages of a ListPlaceIndexes operation.
  3843  //    pageNum := 0
  3844  //    err := client.ListPlaceIndexesPages(params,
  3845  //        func(page *locationservice.ListPlaceIndexesOutput, lastPage bool) bool {
  3846  //            pageNum++
  3847  //            fmt.Println(page)
  3848  //            return pageNum <= 3
  3849  //        })
  3850  //
  3851  func (c *LocationService) ListPlaceIndexesPages(input *ListPlaceIndexesInput, fn func(*ListPlaceIndexesOutput, bool) bool) error {
  3852  	return c.ListPlaceIndexesPagesWithContext(aws.BackgroundContext(), input, fn)
  3853  }
  3854  
  3855  // ListPlaceIndexesPagesWithContext same as ListPlaceIndexesPages except
  3856  // it takes a Context and allows setting request options on the pages.
  3857  //
  3858  // The context must be non-nil and will be used for request cancellation. If
  3859  // the context is nil a panic will occur. In the future the SDK may create
  3860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3861  // for more information on using Contexts.
  3862  func (c *LocationService) ListPlaceIndexesPagesWithContext(ctx aws.Context, input *ListPlaceIndexesInput, fn func(*ListPlaceIndexesOutput, bool) bool, opts ...request.Option) error {
  3863  	p := request.Pagination{
  3864  		NewRequest: func() (*request.Request, error) {
  3865  			var inCpy *ListPlaceIndexesInput
  3866  			if input != nil {
  3867  				tmp := *input
  3868  				inCpy = &tmp
  3869  			}
  3870  			req, _ := c.ListPlaceIndexesRequest(inCpy)
  3871  			req.SetContext(ctx)
  3872  			req.ApplyOptions(opts...)
  3873  			return req, nil
  3874  		},
  3875  	}
  3876  
  3877  	for p.Next() {
  3878  		if !fn(p.Page().(*ListPlaceIndexesOutput), !p.HasNextPage()) {
  3879  			break
  3880  		}
  3881  	}
  3882  
  3883  	return p.Err()
  3884  }
  3885  
  3886  const opListRouteCalculators = "ListRouteCalculators"
  3887  
  3888  // ListRouteCalculatorsRequest generates a "aws/request.Request" representing the
  3889  // client's request for the ListRouteCalculators operation. The "output" return
  3890  // value will be populated with the request's response once the request completes
  3891  // successfully.
  3892  //
  3893  // Use "Send" method on the returned Request to send the API call to the service.
  3894  // the "output" return value is not valid until after Send returns without error.
  3895  //
  3896  // See ListRouteCalculators for more information on using the ListRouteCalculators
  3897  // API call, and error handling.
  3898  //
  3899  // This method is useful when you want to inject custom logic or configuration
  3900  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3901  //
  3902  //
  3903  //    // Example sending a request using the ListRouteCalculatorsRequest method.
  3904  //    req, resp := client.ListRouteCalculatorsRequest(params)
  3905  //
  3906  //    err := req.Send()
  3907  //    if err == nil { // resp is now filled
  3908  //        fmt.Println(resp)
  3909  //    }
  3910  //
  3911  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListRouteCalculators
  3912  func (c *LocationService) ListRouteCalculatorsRequest(input *ListRouteCalculatorsInput) (req *request.Request, output *ListRouteCalculatorsOutput) {
  3913  	op := &request.Operation{
  3914  		Name:       opListRouteCalculators,
  3915  		HTTPMethod: "POST",
  3916  		HTTPPath:   "/routes/v0/list-calculators",
  3917  		Paginator: &request.Paginator{
  3918  			InputTokens:     []string{"NextToken"},
  3919  			OutputTokens:    []string{"NextToken"},
  3920  			LimitToken:      "MaxResults",
  3921  			TruncationToken: "",
  3922  		},
  3923  	}
  3924  
  3925  	if input == nil {
  3926  		input = &ListRouteCalculatorsInput{}
  3927  	}
  3928  
  3929  	output = &ListRouteCalculatorsOutput{}
  3930  	req = c.newRequest(op, input, output)
  3931  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
  3932  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3933  	return
  3934  }
  3935  
  3936  // ListRouteCalculators API operation for Amazon Location Service.
  3937  //
  3938  // Lists route calculator resources in your AWS account.
  3939  //
  3940  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3941  // with awserr.Error's Code and Message methods to get detailed information about
  3942  // the error.
  3943  //
  3944  // See the AWS API reference guide for Amazon Location Service's
  3945  // API operation ListRouteCalculators for usage and error information.
  3946  //
  3947  // Returned Error Types:
  3948  //   * InternalServerException
  3949  //   The request has failed to process because of an unknown server error, exception,
  3950  //   or failure.
  3951  //
  3952  //   * AccessDeniedException
  3953  //   The request was denied because of insufficient access or permissions. Check
  3954  //   with an administrator to verify your permissions.
  3955  //
  3956  //   * ValidationException
  3957  //   The input failed to meet the constraints specified by the AWS service.
  3958  //
  3959  //   * ThrottlingException
  3960  //   The request was denied because of request throttling.
  3961  //
  3962  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListRouteCalculators
  3963  func (c *LocationService) ListRouteCalculators(input *ListRouteCalculatorsInput) (*ListRouteCalculatorsOutput, error) {
  3964  	req, out := c.ListRouteCalculatorsRequest(input)
  3965  	return out, req.Send()
  3966  }
  3967  
  3968  // ListRouteCalculatorsWithContext is the same as ListRouteCalculators with the addition of
  3969  // the ability to pass a context and additional request options.
  3970  //
  3971  // See ListRouteCalculators for details on how to use this API operation.
  3972  //
  3973  // The context must be non-nil and will be used for request cancellation. If
  3974  // the context is nil a panic will occur. In the future the SDK may create
  3975  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3976  // for more information on using Contexts.
  3977  func (c *LocationService) ListRouteCalculatorsWithContext(ctx aws.Context, input *ListRouteCalculatorsInput, opts ...request.Option) (*ListRouteCalculatorsOutput, error) {
  3978  	req, out := c.ListRouteCalculatorsRequest(input)
  3979  	req.SetContext(ctx)
  3980  	req.ApplyOptions(opts...)
  3981  	return out, req.Send()
  3982  }
  3983  
  3984  // ListRouteCalculatorsPages iterates over the pages of a ListRouteCalculators operation,
  3985  // calling the "fn" function with the response data for each page. To stop
  3986  // iterating, return false from the fn function.
  3987  //
  3988  // See ListRouteCalculators method for more information on how to use this operation.
  3989  //
  3990  // Note: This operation can generate multiple requests to a service.
  3991  //
  3992  //    // Example iterating over at most 3 pages of a ListRouteCalculators operation.
  3993  //    pageNum := 0
  3994  //    err := client.ListRouteCalculatorsPages(params,
  3995  //        func(page *locationservice.ListRouteCalculatorsOutput, lastPage bool) bool {
  3996  //            pageNum++
  3997  //            fmt.Println(page)
  3998  //            return pageNum <= 3
  3999  //        })
  4000  //
  4001  func (c *LocationService) ListRouteCalculatorsPages(input *ListRouteCalculatorsInput, fn func(*ListRouteCalculatorsOutput, bool) bool) error {
  4002  	return c.ListRouteCalculatorsPagesWithContext(aws.BackgroundContext(), input, fn)
  4003  }
  4004  
  4005  // ListRouteCalculatorsPagesWithContext same as ListRouteCalculatorsPages except
  4006  // it takes a Context and allows setting request options on the pages.
  4007  //
  4008  // The context must be non-nil and will be used for request cancellation. If
  4009  // the context is nil a panic will occur. In the future the SDK may create
  4010  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4011  // for more information on using Contexts.
  4012  func (c *LocationService) ListRouteCalculatorsPagesWithContext(ctx aws.Context, input *ListRouteCalculatorsInput, fn func(*ListRouteCalculatorsOutput, bool) bool, opts ...request.Option) error {
  4013  	p := request.Pagination{
  4014  		NewRequest: func() (*request.Request, error) {
  4015  			var inCpy *ListRouteCalculatorsInput
  4016  			if input != nil {
  4017  				tmp := *input
  4018  				inCpy = &tmp
  4019  			}
  4020  			req, _ := c.ListRouteCalculatorsRequest(inCpy)
  4021  			req.SetContext(ctx)
  4022  			req.ApplyOptions(opts...)
  4023  			return req, nil
  4024  		},
  4025  	}
  4026  
  4027  	for p.Next() {
  4028  		if !fn(p.Page().(*ListRouteCalculatorsOutput), !p.HasNextPage()) {
  4029  			break
  4030  		}
  4031  	}
  4032  
  4033  	return p.Err()
  4034  }
  4035  
  4036  const opListTagsForResource = "ListTagsForResource"
  4037  
  4038  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4039  // client's request for the ListTagsForResource operation. The "output" return
  4040  // value will be populated with the request's response once the request completes
  4041  // successfully.
  4042  //
  4043  // Use "Send" method on the returned Request to send the API call to the service.
  4044  // the "output" return value is not valid until after Send returns without error.
  4045  //
  4046  // See ListTagsForResource for more information on using the ListTagsForResource
  4047  // API call, and error handling.
  4048  //
  4049  // This method is useful when you want to inject custom logic or configuration
  4050  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4051  //
  4052  //
  4053  //    // Example sending a request using the ListTagsForResourceRequest method.
  4054  //    req, resp := client.ListTagsForResourceRequest(params)
  4055  //
  4056  //    err := req.Send()
  4057  //    if err == nil { // resp is now filled
  4058  //        fmt.Println(resp)
  4059  //    }
  4060  //
  4061  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTagsForResource
  4062  func (c *LocationService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4063  	op := &request.Operation{
  4064  		Name:       opListTagsForResource,
  4065  		HTTPMethod: "GET",
  4066  		HTTPPath:   "/tags/{ResourceArn}",
  4067  	}
  4068  
  4069  	if input == nil {
  4070  		input = &ListTagsForResourceInput{}
  4071  	}
  4072  
  4073  	output = &ListTagsForResourceOutput{}
  4074  	req = c.newRequest(op, input, output)
  4075  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("metadata.", nil))
  4076  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4077  	return
  4078  }
  4079  
  4080  // ListTagsForResource API operation for Amazon Location Service.
  4081  //
  4082  // Returns a list of tags that are applied to the specified Amazon Location
  4083  // resource.
  4084  //
  4085  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4086  // with awserr.Error's Code and Message methods to get detailed information about
  4087  // the error.
  4088  //
  4089  // See the AWS API reference guide for Amazon Location Service's
  4090  // API operation ListTagsForResource for usage and error information.
  4091  //
  4092  // Returned Error Types:
  4093  //   * InternalServerException
  4094  //   The request has failed to process because of an unknown server error, exception,
  4095  //   or failure.
  4096  //
  4097  //   * ResourceNotFoundException
  4098  //   The resource that you've entered was not found in your AWS account.
  4099  //
  4100  //   * AccessDeniedException
  4101  //   The request was denied because of insufficient access or permissions. Check
  4102  //   with an administrator to verify your permissions.
  4103  //
  4104  //   * ValidationException
  4105  //   The input failed to meet the constraints specified by the AWS service.
  4106  //
  4107  //   * ThrottlingException
  4108  //   The request was denied because of request throttling.
  4109  //
  4110  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTagsForResource
  4111  func (c *LocationService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4112  	req, out := c.ListTagsForResourceRequest(input)
  4113  	return out, req.Send()
  4114  }
  4115  
  4116  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4117  // the ability to pass a context and additional request options.
  4118  //
  4119  // See ListTagsForResource for details on how to use this API operation.
  4120  //
  4121  // The context must be non-nil and will be used for request cancellation. If
  4122  // the context is nil a panic will occur. In the future the SDK may create
  4123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4124  // for more information on using Contexts.
  4125  func (c *LocationService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4126  	req, out := c.ListTagsForResourceRequest(input)
  4127  	req.SetContext(ctx)
  4128  	req.ApplyOptions(opts...)
  4129  	return out, req.Send()
  4130  }
  4131  
  4132  const opListTrackerConsumers = "ListTrackerConsumers"
  4133  
  4134  // ListTrackerConsumersRequest generates a "aws/request.Request" representing the
  4135  // client's request for the ListTrackerConsumers operation. The "output" return
  4136  // value will be populated with the request's response once the request completes
  4137  // successfully.
  4138  //
  4139  // Use "Send" method on the returned Request to send the API call to the service.
  4140  // the "output" return value is not valid until after Send returns without error.
  4141  //
  4142  // See ListTrackerConsumers for more information on using the ListTrackerConsumers
  4143  // API call, and error handling.
  4144  //
  4145  // This method is useful when you want to inject custom logic or configuration
  4146  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4147  //
  4148  //
  4149  //    // Example sending a request using the ListTrackerConsumersRequest method.
  4150  //    req, resp := client.ListTrackerConsumersRequest(params)
  4151  //
  4152  //    err := req.Send()
  4153  //    if err == nil { // resp is now filled
  4154  //        fmt.Println(resp)
  4155  //    }
  4156  //
  4157  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers
  4158  func (c *LocationService) ListTrackerConsumersRequest(input *ListTrackerConsumersInput) (req *request.Request, output *ListTrackerConsumersOutput) {
  4159  	op := &request.Operation{
  4160  		Name:       opListTrackerConsumers,
  4161  		HTTPMethod: "POST",
  4162  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/list-consumers",
  4163  		Paginator: &request.Paginator{
  4164  			InputTokens:     []string{"NextToken"},
  4165  			OutputTokens:    []string{"NextToken"},
  4166  			LimitToken:      "MaxResults",
  4167  			TruncationToken: "",
  4168  		},
  4169  	}
  4170  
  4171  	if input == nil {
  4172  		input = &ListTrackerConsumersInput{}
  4173  	}
  4174  
  4175  	output = &ListTrackerConsumersOutput{}
  4176  	req = c.newRequest(op, input, output)
  4177  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  4178  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4179  	return
  4180  }
  4181  
  4182  // ListTrackerConsumers API operation for Amazon Location Service.
  4183  //
  4184  // Lists geofence collections currently associated to the given tracker resource.
  4185  //
  4186  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4187  // with awserr.Error's Code and Message methods to get detailed information about
  4188  // the error.
  4189  //
  4190  // See the AWS API reference guide for Amazon Location Service's
  4191  // API operation ListTrackerConsumers for usage and error information.
  4192  //
  4193  // Returned Error Types:
  4194  //   * InternalServerException
  4195  //   The request has failed to process because of an unknown server error, exception,
  4196  //   or failure.
  4197  //
  4198  //   * ResourceNotFoundException
  4199  //   The resource that you've entered was not found in your AWS account.
  4200  //
  4201  //   * AccessDeniedException
  4202  //   The request was denied because of insufficient access or permissions. Check
  4203  //   with an administrator to verify your permissions.
  4204  //
  4205  //   * ValidationException
  4206  //   The input failed to meet the constraints specified by the AWS service.
  4207  //
  4208  //   * ThrottlingException
  4209  //   The request was denied because of request throttling.
  4210  //
  4211  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers
  4212  func (c *LocationService) ListTrackerConsumers(input *ListTrackerConsumersInput) (*ListTrackerConsumersOutput, error) {
  4213  	req, out := c.ListTrackerConsumersRequest(input)
  4214  	return out, req.Send()
  4215  }
  4216  
  4217  // ListTrackerConsumersWithContext is the same as ListTrackerConsumers with the addition of
  4218  // the ability to pass a context and additional request options.
  4219  //
  4220  // See ListTrackerConsumers for details on how to use this API operation.
  4221  //
  4222  // The context must be non-nil and will be used for request cancellation. If
  4223  // the context is nil a panic will occur. In the future the SDK may create
  4224  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4225  // for more information on using Contexts.
  4226  func (c *LocationService) ListTrackerConsumersWithContext(ctx aws.Context, input *ListTrackerConsumersInput, opts ...request.Option) (*ListTrackerConsumersOutput, error) {
  4227  	req, out := c.ListTrackerConsumersRequest(input)
  4228  	req.SetContext(ctx)
  4229  	req.ApplyOptions(opts...)
  4230  	return out, req.Send()
  4231  }
  4232  
  4233  // ListTrackerConsumersPages iterates over the pages of a ListTrackerConsumers operation,
  4234  // calling the "fn" function with the response data for each page. To stop
  4235  // iterating, return false from the fn function.
  4236  //
  4237  // See ListTrackerConsumers method for more information on how to use this operation.
  4238  //
  4239  // Note: This operation can generate multiple requests to a service.
  4240  //
  4241  //    // Example iterating over at most 3 pages of a ListTrackerConsumers operation.
  4242  //    pageNum := 0
  4243  //    err := client.ListTrackerConsumersPages(params,
  4244  //        func(page *locationservice.ListTrackerConsumersOutput, lastPage bool) bool {
  4245  //            pageNum++
  4246  //            fmt.Println(page)
  4247  //            return pageNum <= 3
  4248  //        })
  4249  //
  4250  func (c *LocationService) ListTrackerConsumersPages(input *ListTrackerConsumersInput, fn func(*ListTrackerConsumersOutput, bool) bool) error {
  4251  	return c.ListTrackerConsumersPagesWithContext(aws.BackgroundContext(), input, fn)
  4252  }
  4253  
  4254  // ListTrackerConsumersPagesWithContext same as ListTrackerConsumersPages except
  4255  // it takes a Context and allows setting request options on the pages.
  4256  //
  4257  // The context must be non-nil and will be used for request cancellation. If
  4258  // the context is nil a panic will occur. In the future the SDK may create
  4259  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4260  // for more information on using Contexts.
  4261  func (c *LocationService) ListTrackerConsumersPagesWithContext(ctx aws.Context, input *ListTrackerConsumersInput, fn func(*ListTrackerConsumersOutput, bool) bool, opts ...request.Option) error {
  4262  	p := request.Pagination{
  4263  		NewRequest: func() (*request.Request, error) {
  4264  			var inCpy *ListTrackerConsumersInput
  4265  			if input != nil {
  4266  				tmp := *input
  4267  				inCpy = &tmp
  4268  			}
  4269  			req, _ := c.ListTrackerConsumersRequest(inCpy)
  4270  			req.SetContext(ctx)
  4271  			req.ApplyOptions(opts...)
  4272  			return req, nil
  4273  		},
  4274  	}
  4275  
  4276  	for p.Next() {
  4277  		if !fn(p.Page().(*ListTrackerConsumersOutput), !p.HasNextPage()) {
  4278  			break
  4279  		}
  4280  	}
  4281  
  4282  	return p.Err()
  4283  }
  4284  
  4285  const opListTrackers = "ListTrackers"
  4286  
  4287  // ListTrackersRequest generates a "aws/request.Request" representing the
  4288  // client's request for the ListTrackers operation. The "output" return
  4289  // value will be populated with the request's response once the request completes
  4290  // successfully.
  4291  //
  4292  // Use "Send" method on the returned Request to send the API call to the service.
  4293  // the "output" return value is not valid until after Send returns without error.
  4294  //
  4295  // See ListTrackers for more information on using the ListTrackers
  4296  // API call, and error handling.
  4297  //
  4298  // This method is useful when you want to inject custom logic or configuration
  4299  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4300  //
  4301  //
  4302  //    // Example sending a request using the ListTrackersRequest method.
  4303  //    req, resp := client.ListTrackersRequest(params)
  4304  //
  4305  //    err := req.Send()
  4306  //    if err == nil { // resp is now filled
  4307  //        fmt.Println(resp)
  4308  //    }
  4309  //
  4310  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers
  4311  func (c *LocationService) ListTrackersRequest(input *ListTrackersInput) (req *request.Request, output *ListTrackersOutput) {
  4312  	op := &request.Operation{
  4313  		Name:       opListTrackers,
  4314  		HTTPMethod: "POST",
  4315  		HTTPPath:   "/tracking/v0/list-trackers",
  4316  		Paginator: &request.Paginator{
  4317  			InputTokens:     []string{"NextToken"},
  4318  			OutputTokens:    []string{"NextToken"},
  4319  			LimitToken:      "MaxResults",
  4320  			TruncationToken: "",
  4321  		},
  4322  	}
  4323  
  4324  	if input == nil {
  4325  		input = &ListTrackersInput{}
  4326  	}
  4327  
  4328  	output = &ListTrackersOutput{}
  4329  	req = c.newRequest(op, input, output)
  4330  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  4331  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4332  	return
  4333  }
  4334  
  4335  // ListTrackers API operation for Amazon Location Service.
  4336  //
  4337  // Lists tracker resources in your AWS account.
  4338  //
  4339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4340  // with awserr.Error's Code and Message methods to get detailed information about
  4341  // the error.
  4342  //
  4343  // See the AWS API reference guide for Amazon Location Service's
  4344  // API operation ListTrackers for usage and error information.
  4345  //
  4346  // Returned Error Types:
  4347  //   * InternalServerException
  4348  //   The request has failed to process because of an unknown server error, exception,
  4349  //   or failure.
  4350  //
  4351  //   * AccessDeniedException
  4352  //   The request was denied because of insufficient access or permissions. Check
  4353  //   with an administrator to verify your permissions.
  4354  //
  4355  //   * ValidationException
  4356  //   The input failed to meet the constraints specified by the AWS service.
  4357  //
  4358  //   * ThrottlingException
  4359  //   The request was denied because of request throttling.
  4360  //
  4361  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers
  4362  func (c *LocationService) ListTrackers(input *ListTrackersInput) (*ListTrackersOutput, error) {
  4363  	req, out := c.ListTrackersRequest(input)
  4364  	return out, req.Send()
  4365  }
  4366  
  4367  // ListTrackersWithContext is the same as ListTrackers with the addition of
  4368  // the ability to pass a context and additional request options.
  4369  //
  4370  // See ListTrackers for details on how to use this API operation.
  4371  //
  4372  // The context must be non-nil and will be used for request cancellation. If
  4373  // the context is nil a panic will occur. In the future the SDK may create
  4374  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4375  // for more information on using Contexts.
  4376  func (c *LocationService) ListTrackersWithContext(ctx aws.Context, input *ListTrackersInput, opts ...request.Option) (*ListTrackersOutput, error) {
  4377  	req, out := c.ListTrackersRequest(input)
  4378  	req.SetContext(ctx)
  4379  	req.ApplyOptions(opts...)
  4380  	return out, req.Send()
  4381  }
  4382  
  4383  // ListTrackersPages iterates over the pages of a ListTrackers operation,
  4384  // calling the "fn" function with the response data for each page. To stop
  4385  // iterating, return false from the fn function.
  4386  //
  4387  // See ListTrackers method for more information on how to use this operation.
  4388  //
  4389  // Note: This operation can generate multiple requests to a service.
  4390  //
  4391  //    // Example iterating over at most 3 pages of a ListTrackers operation.
  4392  //    pageNum := 0
  4393  //    err := client.ListTrackersPages(params,
  4394  //        func(page *locationservice.ListTrackersOutput, lastPage bool) bool {
  4395  //            pageNum++
  4396  //            fmt.Println(page)
  4397  //            return pageNum <= 3
  4398  //        })
  4399  //
  4400  func (c *LocationService) ListTrackersPages(input *ListTrackersInput, fn func(*ListTrackersOutput, bool) bool) error {
  4401  	return c.ListTrackersPagesWithContext(aws.BackgroundContext(), input, fn)
  4402  }
  4403  
  4404  // ListTrackersPagesWithContext same as ListTrackersPages except
  4405  // it takes a Context and allows setting request options on the pages.
  4406  //
  4407  // The context must be non-nil and will be used for request cancellation. If
  4408  // the context is nil a panic will occur. In the future the SDK may create
  4409  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4410  // for more information on using Contexts.
  4411  func (c *LocationService) ListTrackersPagesWithContext(ctx aws.Context, input *ListTrackersInput, fn func(*ListTrackersOutput, bool) bool, opts ...request.Option) error {
  4412  	p := request.Pagination{
  4413  		NewRequest: func() (*request.Request, error) {
  4414  			var inCpy *ListTrackersInput
  4415  			if input != nil {
  4416  				tmp := *input
  4417  				inCpy = &tmp
  4418  			}
  4419  			req, _ := c.ListTrackersRequest(inCpy)
  4420  			req.SetContext(ctx)
  4421  			req.ApplyOptions(opts...)
  4422  			return req, nil
  4423  		},
  4424  	}
  4425  
  4426  	for p.Next() {
  4427  		if !fn(p.Page().(*ListTrackersOutput), !p.HasNextPage()) {
  4428  			break
  4429  		}
  4430  	}
  4431  
  4432  	return p.Err()
  4433  }
  4434  
  4435  const opPutGeofence = "PutGeofence"
  4436  
  4437  // PutGeofenceRequest generates a "aws/request.Request" representing the
  4438  // client's request for the PutGeofence operation. The "output" return
  4439  // value will be populated with the request's response once the request completes
  4440  // successfully.
  4441  //
  4442  // Use "Send" method on the returned Request to send the API call to the service.
  4443  // the "output" return value is not valid until after Send returns without error.
  4444  //
  4445  // See PutGeofence for more information on using the PutGeofence
  4446  // API call, and error handling.
  4447  //
  4448  // This method is useful when you want to inject custom logic or configuration
  4449  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4450  //
  4451  //
  4452  //    // Example sending a request using the PutGeofenceRequest method.
  4453  //    req, resp := client.PutGeofenceRequest(params)
  4454  //
  4455  //    err := req.Send()
  4456  //    if err == nil { // resp is now filled
  4457  //        fmt.Println(resp)
  4458  //    }
  4459  //
  4460  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence
  4461  func (c *LocationService) PutGeofenceRequest(input *PutGeofenceInput) (req *request.Request, output *PutGeofenceOutput) {
  4462  	op := &request.Operation{
  4463  		Name:       opPutGeofence,
  4464  		HTTPMethod: "PUT",
  4465  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}",
  4466  	}
  4467  
  4468  	if input == nil {
  4469  		input = &PutGeofenceInput{}
  4470  	}
  4471  
  4472  	output = &PutGeofenceOutput{}
  4473  	req = c.newRequest(op, input, output)
  4474  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  4475  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4476  	return
  4477  }
  4478  
  4479  // PutGeofence API operation for Amazon Location Service.
  4480  //
  4481  // Stores a geofence geometry in a given geofence collection, or updates the
  4482  // geometry of an existing geofence if a geofence ID is included in the request.
  4483  //
  4484  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4485  // with awserr.Error's Code and Message methods to get detailed information about
  4486  // the error.
  4487  //
  4488  // See the AWS API reference guide for Amazon Location Service's
  4489  // API operation PutGeofence for usage and error information.
  4490  //
  4491  // Returned Error Types:
  4492  //   * InternalServerException
  4493  //   The request has failed to process because of an unknown server error, exception,
  4494  //   or failure.
  4495  //
  4496  //   * ResourceNotFoundException
  4497  //   The resource that you've entered was not found in your AWS account.
  4498  //
  4499  //   * ConflictException
  4500  //   The request was unsuccessful because of a conflict.
  4501  //
  4502  //   * AccessDeniedException
  4503  //   The request was denied because of insufficient access or permissions. Check
  4504  //   with an administrator to verify your permissions.
  4505  //
  4506  //   * ValidationException
  4507  //   The input failed to meet the constraints specified by the AWS service.
  4508  //
  4509  //   * ThrottlingException
  4510  //   The request was denied because of request throttling.
  4511  //
  4512  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence
  4513  func (c *LocationService) PutGeofence(input *PutGeofenceInput) (*PutGeofenceOutput, error) {
  4514  	req, out := c.PutGeofenceRequest(input)
  4515  	return out, req.Send()
  4516  }
  4517  
  4518  // PutGeofenceWithContext is the same as PutGeofence with the addition of
  4519  // the ability to pass a context and additional request options.
  4520  //
  4521  // See PutGeofence for details on how to use this API operation.
  4522  //
  4523  // The context must be non-nil and will be used for request cancellation. If
  4524  // the context is nil a panic will occur. In the future the SDK may create
  4525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4526  // for more information on using Contexts.
  4527  func (c *LocationService) PutGeofenceWithContext(ctx aws.Context, input *PutGeofenceInput, opts ...request.Option) (*PutGeofenceOutput, error) {
  4528  	req, out := c.PutGeofenceRequest(input)
  4529  	req.SetContext(ctx)
  4530  	req.ApplyOptions(opts...)
  4531  	return out, req.Send()
  4532  }
  4533  
  4534  const opSearchPlaceIndexForPosition = "SearchPlaceIndexForPosition"
  4535  
  4536  // SearchPlaceIndexForPositionRequest generates a "aws/request.Request" representing the
  4537  // client's request for the SearchPlaceIndexForPosition operation. The "output" return
  4538  // value will be populated with the request's response once the request completes
  4539  // successfully.
  4540  //
  4541  // Use "Send" method on the returned Request to send the API call to the service.
  4542  // the "output" return value is not valid until after Send returns without error.
  4543  //
  4544  // See SearchPlaceIndexForPosition for more information on using the SearchPlaceIndexForPosition
  4545  // API call, and error handling.
  4546  //
  4547  // This method is useful when you want to inject custom logic or configuration
  4548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4549  //
  4550  //
  4551  //    // Example sending a request using the SearchPlaceIndexForPositionRequest method.
  4552  //    req, resp := client.SearchPlaceIndexForPositionRequest(params)
  4553  //
  4554  //    err := req.Send()
  4555  //    if err == nil { // resp is now filled
  4556  //        fmt.Println(resp)
  4557  //    }
  4558  //
  4559  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition
  4560  func (c *LocationService) SearchPlaceIndexForPositionRequest(input *SearchPlaceIndexForPositionInput) (req *request.Request, output *SearchPlaceIndexForPositionOutput) {
  4561  	op := &request.Operation{
  4562  		Name:       opSearchPlaceIndexForPosition,
  4563  		HTTPMethod: "POST",
  4564  		HTTPPath:   "/places/v0/indexes/{IndexName}/search/position",
  4565  	}
  4566  
  4567  	if input == nil {
  4568  		input = &SearchPlaceIndexForPositionInput{}
  4569  	}
  4570  
  4571  	output = &SearchPlaceIndexForPositionOutput{}
  4572  	req = c.newRequest(op, input, output)
  4573  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  4574  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4575  	return
  4576  }
  4577  
  4578  // SearchPlaceIndexForPosition API operation for Amazon Location Service.
  4579  //
  4580  // Reverse geocodes a given coordinate and returns a legible address. Allows
  4581  // you to search for Places or points of interest near a given position.
  4582  //
  4583  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4584  // with awserr.Error's Code and Message methods to get detailed information about
  4585  // the error.
  4586  //
  4587  // See the AWS API reference guide for Amazon Location Service's
  4588  // API operation SearchPlaceIndexForPosition for usage and error information.
  4589  //
  4590  // Returned Error Types:
  4591  //   * InternalServerException
  4592  //   The request has failed to process because of an unknown server error, exception,
  4593  //   or failure.
  4594  //
  4595  //   * ResourceNotFoundException
  4596  //   The resource that you've entered was not found in your AWS account.
  4597  //
  4598  //   * AccessDeniedException
  4599  //   The request was denied because of insufficient access or permissions. Check
  4600  //   with an administrator to verify your permissions.
  4601  //
  4602  //   * ValidationException
  4603  //   The input failed to meet the constraints specified by the AWS service.
  4604  //
  4605  //   * ThrottlingException
  4606  //   The request was denied because of request throttling.
  4607  //
  4608  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition
  4609  func (c *LocationService) SearchPlaceIndexForPosition(input *SearchPlaceIndexForPositionInput) (*SearchPlaceIndexForPositionOutput, error) {
  4610  	req, out := c.SearchPlaceIndexForPositionRequest(input)
  4611  	return out, req.Send()
  4612  }
  4613  
  4614  // SearchPlaceIndexForPositionWithContext is the same as SearchPlaceIndexForPosition with the addition of
  4615  // the ability to pass a context and additional request options.
  4616  //
  4617  // See SearchPlaceIndexForPosition for details on how to use this API operation.
  4618  //
  4619  // The context must be non-nil and will be used for request cancellation. If
  4620  // the context is nil a panic will occur. In the future the SDK may create
  4621  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4622  // for more information on using Contexts.
  4623  func (c *LocationService) SearchPlaceIndexForPositionWithContext(ctx aws.Context, input *SearchPlaceIndexForPositionInput, opts ...request.Option) (*SearchPlaceIndexForPositionOutput, error) {
  4624  	req, out := c.SearchPlaceIndexForPositionRequest(input)
  4625  	req.SetContext(ctx)
  4626  	req.ApplyOptions(opts...)
  4627  	return out, req.Send()
  4628  }
  4629  
  4630  const opSearchPlaceIndexForText = "SearchPlaceIndexForText"
  4631  
  4632  // SearchPlaceIndexForTextRequest generates a "aws/request.Request" representing the
  4633  // client's request for the SearchPlaceIndexForText operation. The "output" return
  4634  // value will be populated with the request's response once the request completes
  4635  // successfully.
  4636  //
  4637  // Use "Send" method on the returned Request to send the API call to the service.
  4638  // the "output" return value is not valid until after Send returns without error.
  4639  //
  4640  // See SearchPlaceIndexForText for more information on using the SearchPlaceIndexForText
  4641  // API call, and error handling.
  4642  //
  4643  // This method is useful when you want to inject custom logic or configuration
  4644  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4645  //
  4646  //
  4647  //    // Example sending a request using the SearchPlaceIndexForTextRequest method.
  4648  //    req, resp := client.SearchPlaceIndexForTextRequest(params)
  4649  //
  4650  //    err := req.Send()
  4651  //    if err == nil { // resp is now filled
  4652  //        fmt.Println(resp)
  4653  //    }
  4654  //
  4655  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText
  4656  func (c *LocationService) SearchPlaceIndexForTextRequest(input *SearchPlaceIndexForTextInput) (req *request.Request, output *SearchPlaceIndexForTextOutput) {
  4657  	op := &request.Operation{
  4658  		Name:       opSearchPlaceIndexForText,
  4659  		HTTPMethod: "POST",
  4660  		HTTPPath:   "/places/v0/indexes/{IndexName}/search/text",
  4661  	}
  4662  
  4663  	if input == nil {
  4664  		input = &SearchPlaceIndexForTextInput{}
  4665  	}
  4666  
  4667  	output = &SearchPlaceIndexForTextOutput{}
  4668  	req = c.newRequest(op, input, output)
  4669  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  4670  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4671  	return
  4672  }
  4673  
  4674  // SearchPlaceIndexForText API operation for Amazon Location Service.
  4675  //
  4676  // Geocodes free-form text, such as an address, name, city, or region to allow
  4677  // you to search for Places or points of interest.
  4678  //
  4679  // Includes the option to apply additional parameters to narrow your list of
  4680  // results.
  4681  //
  4682  // You can search for places near a given position using BiasPosition, or filter
  4683  // results within a bounding box using FilterBBox. Providing both parameters
  4684  // simultaneously returns an error.
  4685  //
  4686  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4687  // with awserr.Error's Code and Message methods to get detailed information about
  4688  // the error.
  4689  //
  4690  // See the AWS API reference guide for Amazon Location Service's
  4691  // API operation SearchPlaceIndexForText for usage and error information.
  4692  //
  4693  // Returned Error Types:
  4694  //   * InternalServerException
  4695  //   The request has failed to process because of an unknown server error, exception,
  4696  //   or failure.
  4697  //
  4698  //   * ResourceNotFoundException
  4699  //   The resource that you've entered was not found in your AWS account.
  4700  //
  4701  //   * AccessDeniedException
  4702  //   The request was denied because of insufficient access or permissions. Check
  4703  //   with an administrator to verify your permissions.
  4704  //
  4705  //   * ValidationException
  4706  //   The input failed to meet the constraints specified by the AWS service.
  4707  //
  4708  //   * ThrottlingException
  4709  //   The request was denied because of request throttling.
  4710  //
  4711  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText
  4712  func (c *LocationService) SearchPlaceIndexForText(input *SearchPlaceIndexForTextInput) (*SearchPlaceIndexForTextOutput, error) {
  4713  	req, out := c.SearchPlaceIndexForTextRequest(input)
  4714  	return out, req.Send()
  4715  }
  4716  
  4717  // SearchPlaceIndexForTextWithContext is the same as SearchPlaceIndexForText with the addition of
  4718  // the ability to pass a context and additional request options.
  4719  //
  4720  // See SearchPlaceIndexForText for details on how to use this API operation.
  4721  //
  4722  // The context must be non-nil and will be used for request cancellation. If
  4723  // the context is nil a panic will occur. In the future the SDK may create
  4724  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4725  // for more information on using Contexts.
  4726  func (c *LocationService) SearchPlaceIndexForTextWithContext(ctx aws.Context, input *SearchPlaceIndexForTextInput, opts ...request.Option) (*SearchPlaceIndexForTextOutput, error) {
  4727  	req, out := c.SearchPlaceIndexForTextRequest(input)
  4728  	req.SetContext(ctx)
  4729  	req.ApplyOptions(opts...)
  4730  	return out, req.Send()
  4731  }
  4732  
  4733  const opTagResource = "TagResource"
  4734  
  4735  // TagResourceRequest generates a "aws/request.Request" representing the
  4736  // client's request for the TagResource operation. The "output" return
  4737  // value will be populated with the request's response once the request completes
  4738  // successfully.
  4739  //
  4740  // Use "Send" method on the returned Request to send the API call to the service.
  4741  // the "output" return value is not valid until after Send returns without error.
  4742  //
  4743  // See TagResource for more information on using the TagResource
  4744  // API call, and error handling.
  4745  //
  4746  // This method is useful when you want to inject custom logic or configuration
  4747  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4748  //
  4749  //
  4750  //    // Example sending a request using the TagResourceRequest method.
  4751  //    req, resp := client.TagResourceRequest(params)
  4752  //
  4753  //    err := req.Send()
  4754  //    if err == nil { // resp is now filled
  4755  //        fmt.Println(resp)
  4756  //    }
  4757  //
  4758  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/TagResource
  4759  func (c *LocationService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  4760  	op := &request.Operation{
  4761  		Name:       opTagResource,
  4762  		HTTPMethod: "POST",
  4763  		HTTPPath:   "/tags/{ResourceArn}",
  4764  	}
  4765  
  4766  	if input == nil {
  4767  		input = &TagResourceInput{}
  4768  	}
  4769  
  4770  	output = &TagResourceOutput{}
  4771  	req = c.newRequest(op, input, output)
  4772  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4773  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("metadata.", nil))
  4774  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4775  	return
  4776  }
  4777  
  4778  // TagResource API operation for Amazon Location Service.
  4779  //
  4780  // Assigns one or more tags (key-value pairs) to the specified Amazon Location
  4781  // Service resource.
  4782  //
  4783  //    <p>Tags can help you organize and categorize your resources. You can also
  4784  //    use them to scope user permissions, by granting a user permission to access
  4785  //    or change only resources with certain tag values.</p> <p>You can use the
  4786  //    <code>TagResource</code> operation with an Amazon Location Service resource
  4787  //    that already has tags. If you specify a new tag key for the resource,
  4788  //    this tag is appended to the tags already associated with the resource.
  4789  //    If you specify a tag key that's already associated with the resource,
  4790  //    the new tag value that you specify replaces the previous value for that
  4791  //    tag. </p> <p>You can associate up to 50 tags with a resource.</p>
  4792  //
  4793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4794  // with awserr.Error's Code and Message methods to get detailed information about
  4795  // the error.
  4796  //
  4797  // See the AWS API reference guide for Amazon Location Service's
  4798  // API operation TagResource for usage and error information.
  4799  //
  4800  // Returned Error Types:
  4801  //   * InternalServerException
  4802  //   The request has failed to process because of an unknown server error, exception,
  4803  //   or failure.
  4804  //
  4805  //   * ResourceNotFoundException
  4806  //   The resource that you've entered was not found in your AWS account.
  4807  //
  4808  //   * AccessDeniedException
  4809  //   The request was denied because of insufficient access or permissions. Check
  4810  //   with an administrator to verify your permissions.
  4811  //
  4812  //   * ValidationException
  4813  //   The input failed to meet the constraints specified by the AWS service.
  4814  //
  4815  //   * ThrottlingException
  4816  //   The request was denied because of request throttling.
  4817  //
  4818  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/TagResource
  4819  func (c *LocationService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  4820  	req, out := c.TagResourceRequest(input)
  4821  	return out, req.Send()
  4822  }
  4823  
  4824  // TagResourceWithContext is the same as TagResource with the addition of
  4825  // the ability to pass a context and additional request options.
  4826  //
  4827  // See TagResource for details on how to use this API operation.
  4828  //
  4829  // The context must be non-nil and will be used for request cancellation. If
  4830  // the context is nil a panic will occur. In the future the SDK may create
  4831  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4832  // for more information on using Contexts.
  4833  func (c *LocationService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  4834  	req, out := c.TagResourceRequest(input)
  4835  	req.SetContext(ctx)
  4836  	req.ApplyOptions(opts...)
  4837  	return out, req.Send()
  4838  }
  4839  
  4840  const opUntagResource = "UntagResource"
  4841  
  4842  // UntagResourceRequest generates a "aws/request.Request" representing the
  4843  // client's request for the UntagResource operation. The "output" return
  4844  // value will be populated with the request's response once the request completes
  4845  // successfully.
  4846  //
  4847  // Use "Send" method on the returned Request to send the API call to the service.
  4848  // the "output" return value is not valid until after Send returns without error.
  4849  //
  4850  // See UntagResource for more information on using the UntagResource
  4851  // API call, and error handling.
  4852  //
  4853  // This method is useful when you want to inject custom logic or configuration
  4854  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4855  //
  4856  //
  4857  //    // Example sending a request using the UntagResourceRequest method.
  4858  //    req, resp := client.UntagResourceRequest(params)
  4859  //
  4860  //    err := req.Send()
  4861  //    if err == nil { // resp is now filled
  4862  //        fmt.Println(resp)
  4863  //    }
  4864  //
  4865  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UntagResource
  4866  func (c *LocationService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  4867  	op := &request.Operation{
  4868  		Name:       opUntagResource,
  4869  		HTTPMethod: "DELETE",
  4870  		HTTPPath:   "/tags/{ResourceArn}",
  4871  	}
  4872  
  4873  	if input == nil {
  4874  		input = &UntagResourceInput{}
  4875  	}
  4876  
  4877  	output = &UntagResourceOutput{}
  4878  	req = c.newRequest(op, input, output)
  4879  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4880  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("metadata.", nil))
  4881  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4882  	return
  4883  }
  4884  
  4885  // UntagResource API operation for Amazon Location Service.
  4886  //
  4887  // Removes one or more tags from the specified Amazon Location resource.
  4888  //
  4889  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4890  // with awserr.Error's Code and Message methods to get detailed information about
  4891  // the error.
  4892  //
  4893  // See the AWS API reference guide for Amazon Location Service's
  4894  // API operation UntagResource for usage and error information.
  4895  //
  4896  // Returned Error Types:
  4897  //   * InternalServerException
  4898  //   The request has failed to process because of an unknown server error, exception,
  4899  //   or failure.
  4900  //
  4901  //   * ResourceNotFoundException
  4902  //   The resource that you've entered was not found in your AWS account.
  4903  //
  4904  //   * AccessDeniedException
  4905  //   The request was denied because of insufficient access or permissions. Check
  4906  //   with an administrator to verify your permissions.
  4907  //
  4908  //   * ValidationException
  4909  //   The input failed to meet the constraints specified by the AWS service.
  4910  //
  4911  //   * ThrottlingException
  4912  //   The request was denied because of request throttling.
  4913  //
  4914  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UntagResource
  4915  func (c *LocationService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  4916  	req, out := c.UntagResourceRequest(input)
  4917  	return out, req.Send()
  4918  }
  4919  
  4920  // UntagResourceWithContext is the same as UntagResource with the addition of
  4921  // the ability to pass a context and additional request options.
  4922  //
  4923  // See UntagResource for details on how to use this API operation.
  4924  //
  4925  // The context must be non-nil and will be used for request cancellation. If
  4926  // the context is nil a panic will occur. In the future the SDK may create
  4927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4928  // for more information on using Contexts.
  4929  func (c *LocationService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  4930  	req, out := c.UntagResourceRequest(input)
  4931  	req.SetContext(ctx)
  4932  	req.ApplyOptions(opts...)
  4933  	return out, req.Send()
  4934  }
  4935  
  4936  const opUpdateGeofenceCollection = "UpdateGeofenceCollection"
  4937  
  4938  // UpdateGeofenceCollectionRequest generates a "aws/request.Request" representing the
  4939  // client's request for the UpdateGeofenceCollection operation. The "output" return
  4940  // value will be populated with the request's response once the request completes
  4941  // successfully.
  4942  //
  4943  // Use "Send" method on the returned Request to send the API call to the service.
  4944  // the "output" return value is not valid until after Send returns without error.
  4945  //
  4946  // See UpdateGeofenceCollection for more information on using the UpdateGeofenceCollection
  4947  // API call, and error handling.
  4948  //
  4949  // This method is useful when you want to inject custom logic or configuration
  4950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4951  //
  4952  //
  4953  //    // Example sending a request using the UpdateGeofenceCollectionRequest method.
  4954  //    req, resp := client.UpdateGeofenceCollectionRequest(params)
  4955  //
  4956  //    err := req.Send()
  4957  //    if err == nil { // resp is now filled
  4958  //        fmt.Println(resp)
  4959  //    }
  4960  //
  4961  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateGeofenceCollection
  4962  func (c *LocationService) UpdateGeofenceCollectionRequest(input *UpdateGeofenceCollectionInput) (req *request.Request, output *UpdateGeofenceCollectionOutput) {
  4963  	op := &request.Operation{
  4964  		Name:       opUpdateGeofenceCollection,
  4965  		HTTPMethod: "PATCH",
  4966  		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
  4967  	}
  4968  
  4969  	if input == nil {
  4970  		input = &UpdateGeofenceCollectionInput{}
  4971  	}
  4972  
  4973  	output = &UpdateGeofenceCollectionOutput{}
  4974  	req = c.newRequest(op, input, output)
  4975  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
  4976  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4977  	return
  4978  }
  4979  
  4980  // UpdateGeofenceCollection API operation for Amazon Location Service.
  4981  //
  4982  // Updates the specified properties of a given geofence collection.
  4983  //
  4984  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4985  // with awserr.Error's Code and Message methods to get detailed information about
  4986  // the error.
  4987  //
  4988  // See the AWS API reference guide for Amazon Location Service's
  4989  // API operation UpdateGeofenceCollection for usage and error information.
  4990  //
  4991  // Returned Error Types:
  4992  //   * InternalServerException
  4993  //   The request has failed to process because of an unknown server error, exception,
  4994  //   or failure.
  4995  //
  4996  //   * ResourceNotFoundException
  4997  //   The resource that you've entered was not found in your AWS account.
  4998  //
  4999  //   * AccessDeniedException
  5000  //   The request was denied because of insufficient access or permissions. Check
  5001  //   with an administrator to verify your permissions.
  5002  //
  5003  //   * ValidationException
  5004  //   The input failed to meet the constraints specified by the AWS service.
  5005  //
  5006  //   * ThrottlingException
  5007  //   The request was denied because of request throttling.
  5008  //
  5009  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateGeofenceCollection
  5010  func (c *LocationService) UpdateGeofenceCollection(input *UpdateGeofenceCollectionInput) (*UpdateGeofenceCollectionOutput, error) {
  5011  	req, out := c.UpdateGeofenceCollectionRequest(input)
  5012  	return out, req.Send()
  5013  }
  5014  
  5015  // UpdateGeofenceCollectionWithContext is the same as UpdateGeofenceCollection with the addition of
  5016  // the ability to pass a context and additional request options.
  5017  //
  5018  // See UpdateGeofenceCollection for details on how to use this API operation.
  5019  //
  5020  // The context must be non-nil and will be used for request cancellation. If
  5021  // the context is nil a panic will occur. In the future the SDK may create
  5022  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5023  // for more information on using Contexts.
  5024  func (c *LocationService) UpdateGeofenceCollectionWithContext(ctx aws.Context, input *UpdateGeofenceCollectionInput, opts ...request.Option) (*UpdateGeofenceCollectionOutput, error) {
  5025  	req, out := c.UpdateGeofenceCollectionRequest(input)
  5026  	req.SetContext(ctx)
  5027  	req.ApplyOptions(opts...)
  5028  	return out, req.Send()
  5029  }
  5030  
  5031  const opUpdateMap = "UpdateMap"
  5032  
  5033  // UpdateMapRequest generates a "aws/request.Request" representing the
  5034  // client's request for the UpdateMap operation. The "output" return
  5035  // value will be populated with the request's response once the request completes
  5036  // successfully.
  5037  //
  5038  // Use "Send" method on the returned Request to send the API call to the service.
  5039  // the "output" return value is not valid until after Send returns without error.
  5040  //
  5041  // See UpdateMap for more information on using the UpdateMap
  5042  // API call, and error handling.
  5043  //
  5044  // This method is useful when you want to inject custom logic or configuration
  5045  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5046  //
  5047  //
  5048  //    // Example sending a request using the UpdateMapRequest method.
  5049  //    req, resp := client.UpdateMapRequest(params)
  5050  //
  5051  //    err := req.Send()
  5052  //    if err == nil { // resp is now filled
  5053  //        fmt.Println(resp)
  5054  //    }
  5055  //
  5056  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateMap
  5057  func (c *LocationService) UpdateMapRequest(input *UpdateMapInput) (req *request.Request, output *UpdateMapOutput) {
  5058  	op := &request.Operation{
  5059  		Name:       opUpdateMap,
  5060  		HTTPMethod: "PATCH",
  5061  		HTTPPath:   "/maps/v0/maps/{MapName}",
  5062  	}
  5063  
  5064  	if input == nil {
  5065  		input = &UpdateMapInput{}
  5066  	}
  5067  
  5068  	output = &UpdateMapOutput{}
  5069  	req = c.newRequest(op, input, output)
  5070  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
  5071  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5072  	return
  5073  }
  5074  
  5075  // UpdateMap API operation for Amazon Location Service.
  5076  //
  5077  // Updates the specified properties of a given map resource.
  5078  //
  5079  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5080  // with awserr.Error's Code and Message methods to get detailed information about
  5081  // the error.
  5082  //
  5083  // See the AWS API reference guide for Amazon Location Service's
  5084  // API operation UpdateMap for usage and error information.
  5085  //
  5086  // Returned Error Types:
  5087  //   * InternalServerException
  5088  //   The request has failed to process because of an unknown server error, exception,
  5089  //   or failure.
  5090  //
  5091  //   * ResourceNotFoundException
  5092  //   The resource that you've entered was not found in your AWS account.
  5093  //
  5094  //   * AccessDeniedException
  5095  //   The request was denied because of insufficient access or permissions. Check
  5096  //   with an administrator to verify your permissions.
  5097  //
  5098  //   * ValidationException
  5099  //   The input failed to meet the constraints specified by the AWS service.
  5100  //
  5101  //   * ThrottlingException
  5102  //   The request was denied because of request throttling.
  5103  //
  5104  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateMap
  5105  func (c *LocationService) UpdateMap(input *UpdateMapInput) (*UpdateMapOutput, error) {
  5106  	req, out := c.UpdateMapRequest(input)
  5107  	return out, req.Send()
  5108  }
  5109  
  5110  // UpdateMapWithContext is the same as UpdateMap with the addition of
  5111  // the ability to pass a context and additional request options.
  5112  //
  5113  // See UpdateMap for details on how to use this API operation.
  5114  //
  5115  // The context must be non-nil and will be used for request cancellation. If
  5116  // the context is nil a panic will occur. In the future the SDK may create
  5117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5118  // for more information on using Contexts.
  5119  func (c *LocationService) UpdateMapWithContext(ctx aws.Context, input *UpdateMapInput, opts ...request.Option) (*UpdateMapOutput, error) {
  5120  	req, out := c.UpdateMapRequest(input)
  5121  	req.SetContext(ctx)
  5122  	req.ApplyOptions(opts...)
  5123  	return out, req.Send()
  5124  }
  5125  
  5126  const opUpdatePlaceIndex = "UpdatePlaceIndex"
  5127  
  5128  // UpdatePlaceIndexRequest generates a "aws/request.Request" representing the
  5129  // client's request for the UpdatePlaceIndex operation. The "output" return
  5130  // value will be populated with the request's response once the request completes
  5131  // successfully.
  5132  //
  5133  // Use "Send" method on the returned Request to send the API call to the service.
  5134  // the "output" return value is not valid until after Send returns without error.
  5135  //
  5136  // See UpdatePlaceIndex for more information on using the UpdatePlaceIndex
  5137  // API call, and error handling.
  5138  //
  5139  // This method is useful when you want to inject custom logic or configuration
  5140  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5141  //
  5142  //
  5143  //    // Example sending a request using the UpdatePlaceIndexRequest method.
  5144  //    req, resp := client.UpdatePlaceIndexRequest(params)
  5145  //
  5146  //    err := req.Send()
  5147  //    if err == nil { // resp is now filled
  5148  //        fmt.Println(resp)
  5149  //    }
  5150  //
  5151  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdatePlaceIndex
  5152  func (c *LocationService) UpdatePlaceIndexRequest(input *UpdatePlaceIndexInput) (req *request.Request, output *UpdatePlaceIndexOutput) {
  5153  	op := &request.Operation{
  5154  		Name:       opUpdatePlaceIndex,
  5155  		HTTPMethod: "PATCH",
  5156  		HTTPPath:   "/places/v0/indexes/{IndexName}",
  5157  	}
  5158  
  5159  	if input == nil {
  5160  		input = &UpdatePlaceIndexInput{}
  5161  	}
  5162  
  5163  	output = &UpdatePlaceIndexOutput{}
  5164  	req = c.newRequest(op, input, output)
  5165  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
  5166  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5167  	return
  5168  }
  5169  
  5170  // UpdatePlaceIndex API operation for Amazon Location Service.
  5171  //
  5172  // Updates the specified properties of a given place index resource.
  5173  //
  5174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5175  // with awserr.Error's Code and Message methods to get detailed information about
  5176  // the error.
  5177  //
  5178  // See the AWS API reference guide for Amazon Location Service's
  5179  // API operation UpdatePlaceIndex for usage and error information.
  5180  //
  5181  // Returned Error Types:
  5182  //   * InternalServerException
  5183  //   The request has failed to process because of an unknown server error, exception,
  5184  //   or failure.
  5185  //
  5186  //   * ResourceNotFoundException
  5187  //   The resource that you've entered was not found in your AWS account.
  5188  //
  5189  //   * AccessDeniedException
  5190  //   The request was denied because of insufficient access or permissions. Check
  5191  //   with an administrator to verify your permissions.
  5192  //
  5193  //   * ValidationException
  5194  //   The input failed to meet the constraints specified by the AWS service.
  5195  //
  5196  //   * ThrottlingException
  5197  //   The request was denied because of request throttling.
  5198  //
  5199  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdatePlaceIndex
  5200  func (c *LocationService) UpdatePlaceIndex(input *UpdatePlaceIndexInput) (*UpdatePlaceIndexOutput, error) {
  5201  	req, out := c.UpdatePlaceIndexRequest(input)
  5202  	return out, req.Send()
  5203  }
  5204  
  5205  // UpdatePlaceIndexWithContext is the same as UpdatePlaceIndex with the addition of
  5206  // the ability to pass a context and additional request options.
  5207  //
  5208  // See UpdatePlaceIndex for details on how to use this API operation.
  5209  //
  5210  // The context must be non-nil and will be used for request cancellation. If
  5211  // the context is nil a panic will occur. In the future the SDK may create
  5212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5213  // for more information on using Contexts.
  5214  func (c *LocationService) UpdatePlaceIndexWithContext(ctx aws.Context, input *UpdatePlaceIndexInput, opts ...request.Option) (*UpdatePlaceIndexOutput, error) {
  5215  	req, out := c.UpdatePlaceIndexRequest(input)
  5216  	req.SetContext(ctx)
  5217  	req.ApplyOptions(opts...)
  5218  	return out, req.Send()
  5219  }
  5220  
  5221  const opUpdateRouteCalculator = "UpdateRouteCalculator"
  5222  
  5223  // UpdateRouteCalculatorRequest generates a "aws/request.Request" representing the
  5224  // client's request for the UpdateRouteCalculator operation. The "output" return
  5225  // value will be populated with the request's response once the request completes
  5226  // successfully.
  5227  //
  5228  // Use "Send" method on the returned Request to send the API call to the service.
  5229  // the "output" return value is not valid until after Send returns without error.
  5230  //
  5231  // See UpdateRouteCalculator for more information on using the UpdateRouteCalculator
  5232  // API call, and error handling.
  5233  //
  5234  // This method is useful when you want to inject custom logic or configuration
  5235  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5236  //
  5237  //
  5238  //    // Example sending a request using the UpdateRouteCalculatorRequest method.
  5239  //    req, resp := client.UpdateRouteCalculatorRequest(params)
  5240  //
  5241  //    err := req.Send()
  5242  //    if err == nil { // resp is now filled
  5243  //        fmt.Println(resp)
  5244  //    }
  5245  //
  5246  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateRouteCalculator
  5247  func (c *LocationService) UpdateRouteCalculatorRequest(input *UpdateRouteCalculatorInput) (req *request.Request, output *UpdateRouteCalculatorOutput) {
  5248  	op := &request.Operation{
  5249  		Name:       opUpdateRouteCalculator,
  5250  		HTTPMethod: "PATCH",
  5251  		HTTPPath:   "/routes/v0/calculators/{CalculatorName}",
  5252  	}
  5253  
  5254  	if input == nil {
  5255  		input = &UpdateRouteCalculatorInput{}
  5256  	}
  5257  
  5258  	output = &UpdateRouteCalculatorOutput{}
  5259  	req = c.newRequest(op, input, output)
  5260  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
  5261  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5262  	return
  5263  }
  5264  
  5265  // UpdateRouteCalculator API operation for Amazon Location Service.
  5266  //
  5267  // Updates the specified properties for a given route calculator resource.
  5268  //
  5269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5270  // with awserr.Error's Code and Message methods to get detailed information about
  5271  // the error.
  5272  //
  5273  // See the AWS API reference guide for Amazon Location Service's
  5274  // API operation UpdateRouteCalculator for usage and error information.
  5275  //
  5276  // Returned Error Types:
  5277  //   * InternalServerException
  5278  //   The request has failed to process because of an unknown server error, exception,
  5279  //   or failure.
  5280  //
  5281  //   * ResourceNotFoundException
  5282  //   The resource that you've entered was not found in your AWS account.
  5283  //
  5284  //   * AccessDeniedException
  5285  //   The request was denied because of insufficient access or permissions. Check
  5286  //   with an administrator to verify your permissions.
  5287  //
  5288  //   * ValidationException
  5289  //   The input failed to meet the constraints specified by the AWS service.
  5290  //
  5291  //   * ThrottlingException
  5292  //   The request was denied because of request throttling.
  5293  //
  5294  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateRouteCalculator
  5295  func (c *LocationService) UpdateRouteCalculator(input *UpdateRouteCalculatorInput) (*UpdateRouteCalculatorOutput, error) {
  5296  	req, out := c.UpdateRouteCalculatorRequest(input)
  5297  	return out, req.Send()
  5298  }
  5299  
  5300  // UpdateRouteCalculatorWithContext is the same as UpdateRouteCalculator with the addition of
  5301  // the ability to pass a context and additional request options.
  5302  //
  5303  // See UpdateRouteCalculator for details on how to use this API operation.
  5304  //
  5305  // The context must be non-nil and will be used for request cancellation. If
  5306  // the context is nil a panic will occur. In the future the SDK may create
  5307  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5308  // for more information on using Contexts.
  5309  func (c *LocationService) UpdateRouteCalculatorWithContext(ctx aws.Context, input *UpdateRouteCalculatorInput, opts ...request.Option) (*UpdateRouteCalculatorOutput, error) {
  5310  	req, out := c.UpdateRouteCalculatorRequest(input)
  5311  	req.SetContext(ctx)
  5312  	req.ApplyOptions(opts...)
  5313  	return out, req.Send()
  5314  }
  5315  
  5316  const opUpdateTracker = "UpdateTracker"
  5317  
  5318  // UpdateTrackerRequest generates a "aws/request.Request" representing the
  5319  // client's request for the UpdateTracker operation. The "output" return
  5320  // value will be populated with the request's response once the request completes
  5321  // successfully.
  5322  //
  5323  // Use "Send" method on the returned Request to send the API call to the service.
  5324  // the "output" return value is not valid until after Send returns without error.
  5325  //
  5326  // See UpdateTracker for more information on using the UpdateTracker
  5327  // API call, and error handling.
  5328  //
  5329  // This method is useful when you want to inject custom logic or configuration
  5330  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5331  //
  5332  //
  5333  //    // Example sending a request using the UpdateTrackerRequest method.
  5334  //    req, resp := client.UpdateTrackerRequest(params)
  5335  //
  5336  //    err := req.Send()
  5337  //    if err == nil { // resp is now filled
  5338  //        fmt.Println(resp)
  5339  //    }
  5340  //
  5341  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateTracker
  5342  func (c *LocationService) UpdateTrackerRequest(input *UpdateTrackerInput) (req *request.Request, output *UpdateTrackerOutput) {
  5343  	op := &request.Operation{
  5344  		Name:       opUpdateTracker,
  5345  		HTTPMethod: "PATCH",
  5346  		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
  5347  	}
  5348  
  5349  	if input == nil {
  5350  		input = &UpdateTrackerInput{}
  5351  	}
  5352  
  5353  	output = &UpdateTrackerOutput{}
  5354  	req = c.newRequest(op, input, output)
  5355  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
  5356  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5357  	return
  5358  }
  5359  
  5360  // UpdateTracker API operation for Amazon Location Service.
  5361  //
  5362  // Updates the specified properties of a given tracker resource.
  5363  //
  5364  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5365  // with awserr.Error's Code and Message methods to get detailed information about
  5366  // the error.
  5367  //
  5368  // See the AWS API reference guide for Amazon Location Service's
  5369  // API operation UpdateTracker for usage and error information.
  5370  //
  5371  // Returned Error Types:
  5372  //   * InternalServerException
  5373  //   The request has failed to process because of an unknown server error, exception,
  5374  //   or failure.
  5375  //
  5376  //   * ResourceNotFoundException
  5377  //   The resource that you've entered was not found in your AWS account.
  5378  //
  5379  //   * AccessDeniedException
  5380  //   The request was denied because of insufficient access or permissions. Check
  5381  //   with an administrator to verify your permissions.
  5382  //
  5383  //   * ValidationException
  5384  //   The input failed to meet the constraints specified by the AWS service.
  5385  //
  5386  //   * ThrottlingException
  5387  //   The request was denied because of request throttling.
  5388  //
  5389  // See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateTracker
  5390  func (c *LocationService) UpdateTracker(input *UpdateTrackerInput) (*UpdateTrackerOutput, error) {
  5391  	req, out := c.UpdateTrackerRequest(input)
  5392  	return out, req.Send()
  5393  }
  5394  
  5395  // UpdateTrackerWithContext is the same as UpdateTracker with the addition of
  5396  // the ability to pass a context and additional request options.
  5397  //
  5398  // See UpdateTracker for details on how to use this API operation.
  5399  //
  5400  // The context must be non-nil and will be used for request cancellation. If
  5401  // the context is nil a panic will occur. In the future the SDK may create
  5402  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5403  // for more information on using Contexts.
  5404  func (c *LocationService) UpdateTrackerWithContext(ctx aws.Context, input *UpdateTrackerInput, opts ...request.Option) (*UpdateTrackerOutput, error) {
  5405  	req, out := c.UpdateTrackerRequest(input)
  5406  	req.SetContext(ctx)
  5407  	req.ApplyOptions(opts...)
  5408  	return out, req.Send()
  5409  }
  5410  
  5411  // The request was denied because of insufficient access or permissions. Check
  5412  // with an administrator to verify your permissions.
  5413  type AccessDeniedException struct {
  5414  	_            struct{}                  `type:"structure"`
  5415  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5416  
  5417  	Message_ *string `locationName:"message" type:"string"`
  5418  }
  5419  
  5420  // String returns the string representation.
  5421  //
  5422  // API parameter values that are decorated as "sensitive" in the API will not
  5423  // be included in the string output. The member name will be present, but the
  5424  // value will be replaced with "sensitive".
  5425  func (s AccessDeniedException) String() string {
  5426  	return awsutil.Prettify(s)
  5427  }
  5428  
  5429  // GoString returns the string representation.
  5430  //
  5431  // API parameter values that are decorated as "sensitive" in the API will not
  5432  // be included in the string output. The member name will be present, but the
  5433  // value will be replaced with "sensitive".
  5434  func (s AccessDeniedException) GoString() string {
  5435  	return s.String()
  5436  }
  5437  
  5438  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  5439  	return &AccessDeniedException{
  5440  		RespMetadata: v,
  5441  	}
  5442  }
  5443  
  5444  // Code returns the exception type name.
  5445  func (s *AccessDeniedException) Code() string {
  5446  	return "AccessDeniedException"
  5447  }
  5448  
  5449  // Message returns the exception's message.
  5450  func (s *AccessDeniedException) Message() string {
  5451  	if s.Message_ != nil {
  5452  		return *s.Message_
  5453  	}
  5454  	return ""
  5455  }
  5456  
  5457  // OrigErr always returns nil, satisfies awserr.Error interface.
  5458  func (s *AccessDeniedException) OrigErr() error {
  5459  	return nil
  5460  }
  5461  
  5462  func (s *AccessDeniedException) Error() string {
  5463  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5464  }
  5465  
  5466  // Status code returns the HTTP status code for the request's response error.
  5467  func (s *AccessDeniedException) StatusCode() int {
  5468  	return s.RespMetadata.StatusCode
  5469  }
  5470  
  5471  // RequestID returns the service's response RequestID for request.
  5472  func (s *AccessDeniedException) RequestID() string {
  5473  	return s.RespMetadata.RequestID
  5474  }
  5475  
  5476  type AssociateTrackerConsumerInput struct {
  5477  	_ struct{} `type:"structure"`
  5478  
  5479  	// The Amazon Resource Name (ARN) for the geofence collection to be associated
  5480  	// to tracker resource. Used when you need to specify a resource across all
  5481  	// AWS.
  5482  	//
  5483  	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
  5484  	//
  5485  	// ConsumerArn is a required field
  5486  	ConsumerArn *string `type:"string" required:"true"`
  5487  
  5488  	// The name of the tracker resource to be associated with a geofence collection.
  5489  	//
  5490  	// TrackerName is a required field
  5491  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  5492  }
  5493  
  5494  // String returns the string representation.
  5495  //
  5496  // API parameter values that are decorated as "sensitive" in the API will not
  5497  // be included in the string output. The member name will be present, but the
  5498  // value will be replaced with "sensitive".
  5499  func (s AssociateTrackerConsumerInput) String() string {
  5500  	return awsutil.Prettify(s)
  5501  }
  5502  
  5503  // GoString returns the string representation.
  5504  //
  5505  // API parameter values that are decorated as "sensitive" in the API will not
  5506  // be included in the string output. The member name will be present, but the
  5507  // value will be replaced with "sensitive".
  5508  func (s AssociateTrackerConsumerInput) GoString() string {
  5509  	return s.String()
  5510  }
  5511  
  5512  // Validate inspects the fields of the type to determine if they are valid.
  5513  func (s *AssociateTrackerConsumerInput) Validate() error {
  5514  	invalidParams := request.ErrInvalidParams{Context: "AssociateTrackerConsumerInput"}
  5515  	if s.ConsumerArn == nil {
  5516  		invalidParams.Add(request.NewErrParamRequired("ConsumerArn"))
  5517  	}
  5518  	if s.TrackerName == nil {
  5519  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  5520  	}
  5521  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  5522  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  5523  	}
  5524  
  5525  	if invalidParams.Len() > 0 {
  5526  		return invalidParams
  5527  	}
  5528  	return nil
  5529  }
  5530  
  5531  // SetConsumerArn sets the ConsumerArn field's value.
  5532  func (s *AssociateTrackerConsumerInput) SetConsumerArn(v string) *AssociateTrackerConsumerInput {
  5533  	s.ConsumerArn = &v
  5534  	return s
  5535  }
  5536  
  5537  // SetTrackerName sets the TrackerName field's value.
  5538  func (s *AssociateTrackerConsumerInput) SetTrackerName(v string) *AssociateTrackerConsumerInput {
  5539  	s.TrackerName = &v
  5540  	return s
  5541  }
  5542  
  5543  type AssociateTrackerConsumerOutput struct {
  5544  	_ struct{} `type:"structure" nopayload:"true"`
  5545  }
  5546  
  5547  // String returns the string representation.
  5548  //
  5549  // API parameter values that are decorated as "sensitive" in the API will not
  5550  // be included in the string output. The member name will be present, but the
  5551  // value will be replaced with "sensitive".
  5552  func (s AssociateTrackerConsumerOutput) String() string {
  5553  	return awsutil.Prettify(s)
  5554  }
  5555  
  5556  // GoString returns the string representation.
  5557  //
  5558  // API parameter values that are decorated as "sensitive" in the API will not
  5559  // be included in the string output. The member name will be present, but the
  5560  // value will be replaced with "sensitive".
  5561  func (s AssociateTrackerConsumerOutput) GoString() string {
  5562  	return s.String()
  5563  }
  5564  
  5565  // Contains the tracker resource details.
  5566  type BatchDeleteDevicePositionHistoryError struct {
  5567  	_ struct{} `type:"structure"`
  5568  
  5569  	// The ID of the device for this position.
  5570  	//
  5571  	// DeviceId is a required field
  5572  	DeviceId *string `min:"1" type:"string" required:"true"`
  5573  
  5574  	// Contains the batch request error details associated with the request.
  5575  	//
  5576  	// Error is a required field
  5577  	Error *BatchItemError `type:"structure" required:"true"`
  5578  }
  5579  
  5580  // String returns the string representation.
  5581  //
  5582  // API parameter values that are decorated as "sensitive" in the API will not
  5583  // be included in the string output. The member name will be present, but the
  5584  // value will be replaced with "sensitive".
  5585  func (s BatchDeleteDevicePositionHistoryError) String() string {
  5586  	return awsutil.Prettify(s)
  5587  }
  5588  
  5589  // GoString returns the string representation.
  5590  //
  5591  // API parameter values that are decorated as "sensitive" in the API will not
  5592  // be included in the string output. The member name will be present, but the
  5593  // value will be replaced with "sensitive".
  5594  func (s BatchDeleteDevicePositionHistoryError) GoString() string {
  5595  	return s.String()
  5596  }
  5597  
  5598  // SetDeviceId sets the DeviceId field's value.
  5599  func (s *BatchDeleteDevicePositionHistoryError) SetDeviceId(v string) *BatchDeleteDevicePositionHistoryError {
  5600  	s.DeviceId = &v
  5601  	return s
  5602  }
  5603  
  5604  // SetError sets the Error field's value.
  5605  func (s *BatchDeleteDevicePositionHistoryError) SetError(v *BatchItemError) *BatchDeleteDevicePositionHistoryError {
  5606  	s.Error = v
  5607  	return s
  5608  }
  5609  
  5610  type BatchDeleteDevicePositionHistoryInput struct {
  5611  	_ struct{} `type:"structure"`
  5612  
  5613  	// Devices whose position history you want to delete.
  5614  	//
  5615  	//    * For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2]
  5616  	//
  5617  	// DeviceIds is a required field
  5618  	DeviceIds []*string `min:"1" type:"list" required:"true"`
  5619  
  5620  	// The name of the tracker resource to delete the device position history from.
  5621  	//
  5622  	// TrackerName is a required field
  5623  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  5624  }
  5625  
  5626  // String returns the string representation.
  5627  //
  5628  // API parameter values that are decorated as "sensitive" in the API will not
  5629  // be included in the string output. The member name will be present, but the
  5630  // value will be replaced with "sensitive".
  5631  func (s BatchDeleteDevicePositionHistoryInput) String() string {
  5632  	return awsutil.Prettify(s)
  5633  }
  5634  
  5635  // GoString returns the string representation.
  5636  //
  5637  // API parameter values that are decorated as "sensitive" in the API will not
  5638  // be included in the string output. The member name will be present, but the
  5639  // value will be replaced with "sensitive".
  5640  func (s BatchDeleteDevicePositionHistoryInput) GoString() string {
  5641  	return s.String()
  5642  }
  5643  
  5644  // Validate inspects the fields of the type to determine if they are valid.
  5645  func (s *BatchDeleteDevicePositionHistoryInput) Validate() error {
  5646  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteDevicePositionHistoryInput"}
  5647  	if s.DeviceIds == nil {
  5648  		invalidParams.Add(request.NewErrParamRequired("DeviceIds"))
  5649  	}
  5650  	if s.DeviceIds != nil && len(s.DeviceIds) < 1 {
  5651  		invalidParams.Add(request.NewErrParamMinLen("DeviceIds", 1))
  5652  	}
  5653  	if s.TrackerName == nil {
  5654  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  5655  	}
  5656  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  5657  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  5658  	}
  5659  
  5660  	if invalidParams.Len() > 0 {
  5661  		return invalidParams
  5662  	}
  5663  	return nil
  5664  }
  5665  
  5666  // SetDeviceIds sets the DeviceIds field's value.
  5667  func (s *BatchDeleteDevicePositionHistoryInput) SetDeviceIds(v []*string) *BatchDeleteDevicePositionHistoryInput {
  5668  	s.DeviceIds = v
  5669  	return s
  5670  }
  5671  
  5672  // SetTrackerName sets the TrackerName field's value.
  5673  func (s *BatchDeleteDevicePositionHistoryInput) SetTrackerName(v string) *BatchDeleteDevicePositionHistoryInput {
  5674  	s.TrackerName = &v
  5675  	return s
  5676  }
  5677  
  5678  type BatchDeleteDevicePositionHistoryOutput struct {
  5679  	_ struct{} `type:"structure"`
  5680  
  5681  	// Contains error details for each device history that failed to delete.
  5682  	//
  5683  	// Errors is a required field
  5684  	Errors []*BatchDeleteDevicePositionHistoryError `type:"list" required:"true"`
  5685  }
  5686  
  5687  // String returns the string representation.
  5688  //
  5689  // API parameter values that are decorated as "sensitive" in the API will not
  5690  // be included in the string output. The member name will be present, but the
  5691  // value will be replaced with "sensitive".
  5692  func (s BatchDeleteDevicePositionHistoryOutput) String() string {
  5693  	return awsutil.Prettify(s)
  5694  }
  5695  
  5696  // GoString returns the string representation.
  5697  //
  5698  // API parameter values that are decorated as "sensitive" in the API will not
  5699  // be included in the string output. The member name will be present, but the
  5700  // value will be replaced with "sensitive".
  5701  func (s BatchDeleteDevicePositionHistoryOutput) GoString() string {
  5702  	return s.String()
  5703  }
  5704  
  5705  // SetErrors sets the Errors field's value.
  5706  func (s *BatchDeleteDevicePositionHistoryOutput) SetErrors(v []*BatchDeleteDevicePositionHistoryError) *BatchDeleteDevicePositionHistoryOutput {
  5707  	s.Errors = v
  5708  	return s
  5709  }
  5710  
  5711  // Contains error details for each geofence that failed to delete from the geofence
  5712  // collection.
  5713  type BatchDeleteGeofenceError struct {
  5714  	_ struct{} `type:"structure"`
  5715  
  5716  	// Contains details associated to the batch error.
  5717  	//
  5718  	// Error is a required field
  5719  	Error *BatchItemError `type:"structure" required:"true"`
  5720  
  5721  	// The geofence associated with the error message.
  5722  	//
  5723  	// GeofenceId is a required field
  5724  	GeofenceId *string `min:"1" type:"string" required:"true"`
  5725  }
  5726  
  5727  // String returns the string representation.
  5728  //
  5729  // API parameter values that are decorated as "sensitive" in the API will not
  5730  // be included in the string output. The member name will be present, but the
  5731  // value will be replaced with "sensitive".
  5732  func (s BatchDeleteGeofenceError) String() string {
  5733  	return awsutil.Prettify(s)
  5734  }
  5735  
  5736  // GoString returns the string representation.
  5737  //
  5738  // API parameter values that are decorated as "sensitive" in the API will not
  5739  // be included in the string output. The member name will be present, but the
  5740  // value will be replaced with "sensitive".
  5741  func (s BatchDeleteGeofenceError) GoString() string {
  5742  	return s.String()
  5743  }
  5744  
  5745  // SetError sets the Error field's value.
  5746  func (s *BatchDeleteGeofenceError) SetError(v *BatchItemError) *BatchDeleteGeofenceError {
  5747  	s.Error = v
  5748  	return s
  5749  }
  5750  
  5751  // SetGeofenceId sets the GeofenceId field's value.
  5752  func (s *BatchDeleteGeofenceError) SetGeofenceId(v string) *BatchDeleteGeofenceError {
  5753  	s.GeofenceId = &v
  5754  	return s
  5755  }
  5756  
  5757  type BatchDeleteGeofenceInput struct {
  5758  	_ struct{} `type:"structure"`
  5759  
  5760  	// The geofence collection storing the geofences to be deleted.
  5761  	//
  5762  	// CollectionName is a required field
  5763  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
  5764  
  5765  	// The batch of geofences to be deleted.
  5766  	//
  5767  	// GeofenceIds is a required field
  5768  	GeofenceIds []*string `min:"1" type:"list" required:"true"`
  5769  }
  5770  
  5771  // String returns the string representation.
  5772  //
  5773  // API parameter values that are decorated as "sensitive" in the API will not
  5774  // be included in the string output. The member name will be present, but the
  5775  // value will be replaced with "sensitive".
  5776  func (s BatchDeleteGeofenceInput) String() string {
  5777  	return awsutil.Prettify(s)
  5778  }
  5779  
  5780  // GoString returns the string representation.
  5781  //
  5782  // API parameter values that are decorated as "sensitive" in the API will not
  5783  // be included in the string output. The member name will be present, but the
  5784  // value will be replaced with "sensitive".
  5785  func (s BatchDeleteGeofenceInput) GoString() string {
  5786  	return s.String()
  5787  }
  5788  
  5789  // Validate inspects the fields of the type to determine if they are valid.
  5790  func (s *BatchDeleteGeofenceInput) Validate() error {
  5791  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteGeofenceInput"}
  5792  	if s.CollectionName == nil {
  5793  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
  5794  	}
  5795  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
  5796  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
  5797  	}
  5798  	if s.GeofenceIds == nil {
  5799  		invalidParams.Add(request.NewErrParamRequired("GeofenceIds"))
  5800  	}
  5801  	if s.GeofenceIds != nil && len(s.GeofenceIds) < 1 {
  5802  		invalidParams.Add(request.NewErrParamMinLen("GeofenceIds", 1))
  5803  	}
  5804  
  5805  	if invalidParams.Len() > 0 {
  5806  		return invalidParams
  5807  	}
  5808  	return nil
  5809  }
  5810  
  5811  // SetCollectionName sets the CollectionName field's value.
  5812  func (s *BatchDeleteGeofenceInput) SetCollectionName(v string) *BatchDeleteGeofenceInput {
  5813  	s.CollectionName = &v
  5814  	return s
  5815  }
  5816  
  5817  // SetGeofenceIds sets the GeofenceIds field's value.
  5818  func (s *BatchDeleteGeofenceInput) SetGeofenceIds(v []*string) *BatchDeleteGeofenceInput {
  5819  	s.GeofenceIds = v
  5820  	return s
  5821  }
  5822  
  5823  type BatchDeleteGeofenceOutput struct {
  5824  	_ struct{} `type:"structure"`
  5825  
  5826  	// Contains error details for each geofence that failed to delete.
  5827  	//
  5828  	// Errors is a required field
  5829  	Errors []*BatchDeleteGeofenceError `type:"list" required:"true"`
  5830  }
  5831  
  5832  // String returns the string representation.
  5833  //
  5834  // API parameter values that are decorated as "sensitive" in the API will not
  5835  // be included in the string output. The member name will be present, but the
  5836  // value will be replaced with "sensitive".
  5837  func (s BatchDeleteGeofenceOutput) String() string {
  5838  	return awsutil.Prettify(s)
  5839  }
  5840  
  5841  // GoString returns the string representation.
  5842  //
  5843  // API parameter values that are decorated as "sensitive" in the API will not
  5844  // be included in the string output. The member name will be present, but the
  5845  // value will be replaced with "sensitive".
  5846  func (s BatchDeleteGeofenceOutput) GoString() string {
  5847  	return s.String()
  5848  }
  5849  
  5850  // SetErrors sets the Errors field's value.
  5851  func (s *BatchDeleteGeofenceOutput) SetErrors(v []*BatchDeleteGeofenceError) *BatchDeleteGeofenceOutput {
  5852  	s.Errors = v
  5853  	return s
  5854  }
  5855  
  5856  // Contains error details for each device that failed to evaluate its position
  5857  // against the geofences in a given geofence collection.
  5858  type BatchEvaluateGeofencesError struct {
  5859  	_ struct{} `type:"structure"`
  5860  
  5861  	// The device associated with the position evaluation error.
  5862  	//
  5863  	// DeviceId is a required field
  5864  	DeviceId *string `min:"1" type:"string" required:"true"`
  5865  
  5866  	// Contains details associated to the batch error.
  5867  	//
  5868  	// Error is a required field
  5869  	Error *BatchItemError `type:"structure" required:"true"`
  5870  
  5871  	// Specifies a timestamp for when the error occurred in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  5872  	// format: YYYY-MM-DDThh:mm:ss.sssZ
  5873  	//
  5874  	// SampleTime is a required field
  5875  	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  5876  }
  5877  
  5878  // String returns the string representation.
  5879  //
  5880  // API parameter values that are decorated as "sensitive" in the API will not
  5881  // be included in the string output. The member name will be present, but the
  5882  // value will be replaced with "sensitive".
  5883  func (s BatchEvaluateGeofencesError) String() string {
  5884  	return awsutil.Prettify(s)
  5885  }
  5886  
  5887  // GoString returns the string representation.
  5888  //
  5889  // API parameter values that are decorated as "sensitive" in the API will not
  5890  // be included in the string output. The member name will be present, but the
  5891  // value will be replaced with "sensitive".
  5892  func (s BatchEvaluateGeofencesError) GoString() string {
  5893  	return s.String()
  5894  }
  5895  
  5896  // SetDeviceId sets the DeviceId field's value.
  5897  func (s *BatchEvaluateGeofencesError) SetDeviceId(v string) *BatchEvaluateGeofencesError {
  5898  	s.DeviceId = &v
  5899  	return s
  5900  }
  5901  
  5902  // SetError sets the Error field's value.
  5903  func (s *BatchEvaluateGeofencesError) SetError(v *BatchItemError) *BatchEvaluateGeofencesError {
  5904  	s.Error = v
  5905  	return s
  5906  }
  5907  
  5908  // SetSampleTime sets the SampleTime field's value.
  5909  func (s *BatchEvaluateGeofencesError) SetSampleTime(v time.Time) *BatchEvaluateGeofencesError {
  5910  	s.SampleTime = &v
  5911  	return s
  5912  }
  5913  
  5914  type BatchEvaluateGeofencesInput struct {
  5915  	_ struct{} `type:"structure"`
  5916  
  5917  	// The geofence collection used in evaluating the position of devices against
  5918  	// its geofences.
  5919  	//
  5920  	// CollectionName is a required field
  5921  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
  5922  
  5923  	// Contains device details for each device to be evaluated against the given
  5924  	// geofence collection.
  5925  	//
  5926  	// DevicePositionUpdates is a required field
  5927  	DevicePositionUpdates []*DevicePositionUpdate `min:"1" type:"list" required:"true"`
  5928  }
  5929  
  5930  // String returns the string representation.
  5931  //
  5932  // API parameter values that are decorated as "sensitive" in the API will not
  5933  // be included in the string output. The member name will be present, but the
  5934  // value will be replaced with "sensitive".
  5935  func (s BatchEvaluateGeofencesInput) String() string {
  5936  	return awsutil.Prettify(s)
  5937  }
  5938  
  5939  // GoString returns the string representation.
  5940  //
  5941  // API parameter values that are decorated as "sensitive" in the API will not
  5942  // be included in the string output. The member name will be present, but the
  5943  // value will be replaced with "sensitive".
  5944  func (s BatchEvaluateGeofencesInput) GoString() string {
  5945  	return s.String()
  5946  }
  5947  
  5948  // Validate inspects the fields of the type to determine if they are valid.
  5949  func (s *BatchEvaluateGeofencesInput) Validate() error {
  5950  	invalidParams := request.ErrInvalidParams{Context: "BatchEvaluateGeofencesInput"}
  5951  	if s.CollectionName == nil {
  5952  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
  5953  	}
  5954  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
  5955  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
  5956  	}
  5957  	if s.DevicePositionUpdates == nil {
  5958  		invalidParams.Add(request.NewErrParamRequired("DevicePositionUpdates"))
  5959  	}
  5960  	if s.DevicePositionUpdates != nil && len(s.DevicePositionUpdates) < 1 {
  5961  		invalidParams.Add(request.NewErrParamMinLen("DevicePositionUpdates", 1))
  5962  	}
  5963  	if s.DevicePositionUpdates != nil {
  5964  		for i, v := range s.DevicePositionUpdates {
  5965  			if v == nil {
  5966  				continue
  5967  			}
  5968  			if err := v.Validate(); err != nil {
  5969  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DevicePositionUpdates", i), err.(request.ErrInvalidParams))
  5970  			}
  5971  		}
  5972  	}
  5973  
  5974  	if invalidParams.Len() > 0 {
  5975  		return invalidParams
  5976  	}
  5977  	return nil
  5978  }
  5979  
  5980  // SetCollectionName sets the CollectionName field's value.
  5981  func (s *BatchEvaluateGeofencesInput) SetCollectionName(v string) *BatchEvaluateGeofencesInput {
  5982  	s.CollectionName = &v
  5983  	return s
  5984  }
  5985  
  5986  // SetDevicePositionUpdates sets the DevicePositionUpdates field's value.
  5987  func (s *BatchEvaluateGeofencesInput) SetDevicePositionUpdates(v []*DevicePositionUpdate) *BatchEvaluateGeofencesInput {
  5988  	s.DevicePositionUpdates = v
  5989  	return s
  5990  }
  5991  
  5992  type BatchEvaluateGeofencesOutput struct {
  5993  	_ struct{} `type:"structure"`
  5994  
  5995  	// Contains error details for each device that failed to evaluate its position
  5996  	// against the given geofence collection.
  5997  	//
  5998  	// Errors is a required field
  5999  	Errors []*BatchEvaluateGeofencesError `type:"list" required:"true"`
  6000  }
  6001  
  6002  // String returns the string representation.
  6003  //
  6004  // API parameter values that are decorated as "sensitive" in the API will not
  6005  // be included in the string output. The member name will be present, but the
  6006  // value will be replaced with "sensitive".
  6007  func (s BatchEvaluateGeofencesOutput) String() string {
  6008  	return awsutil.Prettify(s)
  6009  }
  6010  
  6011  // GoString returns the string representation.
  6012  //
  6013  // API parameter values that are decorated as "sensitive" in the API will not
  6014  // be included in the string output. The member name will be present, but the
  6015  // value will be replaced with "sensitive".
  6016  func (s BatchEvaluateGeofencesOutput) GoString() string {
  6017  	return s.String()
  6018  }
  6019  
  6020  // SetErrors sets the Errors field's value.
  6021  func (s *BatchEvaluateGeofencesOutput) SetErrors(v []*BatchEvaluateGeofencesError) *BatchEvaluateGeofencesOutput {
  6022  	s.Errors = v
  6023  	return s
  6024  }
  6025  
  6026  // Contains error details for each device that didn't return a position.
  6027  type BatchGetDevicePositionError struct {
  6028  	_ struct{} `type:"structure"`
  6029  
  6030  	// The ID of the device that didn't return a position.
  6031  	//
  6032  	// DeviceId is a required field
  6033  	DeviceId *string `min:"1" type:"string" required:"true"`
  6034  
  6035  	// Contains details related to the error code.
  6036  	//
  6037  	// Error is a required field
  6038  	Error *BatchItemError `type:"structure" required:"true"`
  6039  }
  6040  
  6041  // String returns the string representation.
  6042  //
  6043  // API parameter values that are decorated as "sensitive" in the API will not
  6044  // be included in the string output. The member name will be present, but the
  6045  // value will be replaced with "sensitive".
  6046  func (s BatchGetDevicePositionError) String() string {
  6047  	return awsutil.Prettify(s)
  6048  }
  6049  
  6050  // GoString returns the string representation.
  6051  //
  6052  // API parameter values that are decorated as "sensitive" in the API will not
  6053  // be included in the string output. The member name will be present, but the
  6054  // value will be replaced with "sensitive".
  6055  func (s BatchGetDevicePositionError) GoString() string {
  6056  	return s.String()
  6057  }
  6058  
  6059  // SetDeviceId sets the DeviceId field's value.
  6060  func (s *BatchGetDevicePositionError) SetDeviceId(v string) *BatchGetDevicePositionError {
  6061  	s.DeviceId = &v
  6062  	return s
  6063  }
  6064  
  6065  // SetError sets the Error field's value.
  6066  func (s *BatchGetDevicePositionError) SetError(v *BatchItemError) *BatchGetDevicePositionError {
  6067  	s.Error = v
  6068  	return s
  6069  }
  6070  
  6071  type BatchGetDevicePositionInput struct {
  6072  	_ struct{} `type:"structure"`
  6073  
  6074  	// Devices whose position you want to retrieve.
  6075  	//
  6076  	//    * For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2
  6077  	//
  6078  	// DeviceIds is a required field
  6079  	DeviceIds []*string `min:"1" type:"list" required:"true"`
  6080  
  6081  	// The tracker resource retrieving the device position.
  6082  	//
  6083  	// TrackerName is a required field
  6084  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  6085  }
  6086  
  6087  // String returns the string representation.
  6088  //
  6089  // API parameter values that are decorated as "sensitive" in the API will not
  6090  // be included in the string output. The member name will be present, but the
  6091  // value will be replaced with "sensitive".
  6092  func (s BatchGetDevicePositionInput) String() string {
  6093  	return awsutil.Prettify(s)
  6094  }
  6095  
  6096  // GoString returns the string representation.
  6097  //
  6098  // API parameter values that are decorated as "sensitive" in the API will not
  6099  // be included in the string output. The member name will be present, but the
  6100  // value will be replaced with "sensitive".
  6101  func (s BatchGetDevicePositionInput) GoString() string {
  6102  	return s.String()
  6103  }
  6104  
  6105  // Validate inspects the fields of the type to determine if they are valid.
  6106  func (s *BatchGetDevicePositionInput) Validate() error {
  6107  	invalidParams := request.ErrInvalidParams{Context: "BatchGetDevicePositionInput"}
  6108  	if s.DeviceIds == nil {
  6109  		invalidParams.Add(request.NewErrParamRequired("DeviceIds"))
  6110  	}
  6111  	if s.DeviceIds != nil && len(s.DeviceIds) < 1 {
  6112  		invalidParams.Add(request.NewErrParamMinLen("DeviceIds", 1))
  6113  	}
  6114  	if s.TrackerName == nil {
  6115  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  6116  	}
  6117  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  6118  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  6119  	}
  6120  
  6121  	if invalidParams.Len() > 0 {
  6122  		return invalidParams
  6123  	}
  6124  	return nil
  6125  }
  6126  
  6127  // SetDeviceIds sets the DeviceIds field's value.
  6128  func (s *BatchGetDevicePositionInput) SetDeviceIds(v []*string) *BatchGetDevicePositionInput {
  6129  	s.DeviceIds = v
  6130  	return s
  6131  }
  6132  
  6133  // SetTrackerName sets the TrackerName field's value.
  6134  func (s *BatchGetDevicePositionInput) SetTrackerName(v string) *BatchGetDevicePositionInput {
  6135  	s.TrackerName = &v
  6136  	return s
  6137  }
  6138  
  6139  type BatchGetDevicePositionOutput struct {
  6140  	_ struct{} `type:"structure"`
  6141  
  6142  	// Contains device position details such as the device ID, position, and timestamps
  6143  	// for when the position was received and sampled.
  6144  	//
  6145  	// DevicePositions is a required field
  6146  	DevicePositions []*DevicePosition `type:"list" required:"true"`
  6147  
  6148  	// Contains error details for each device that failed to send its position to
  6149  	// the tracker resource.
  6150  	//
  6151  	// Errors is a required field
  6152  	Errors []*BatchGetDevicePositionError `type:"list" required:"true"`
  6153  }
  6154  
  6155  // String returns the string representation.
  6156  //
  6157  // API parameter values that are decorated as "sensitive" in the API will not
  6158  // be included in the string output. The member name will be present, but the
  6159  // value will be replaced with "sensitive".
  6160  func (s BatchGetDevicePositionOutput) String() string {
  6161  	return awsutil.Prettify(s)
  6162  }
  6163  
  6164  // GoString returns the string representation.
  6165  //
  6166  // API parameter values that are decorated as "sensitive" in the API will not
  6167  // be included in the string output. The member name will be present, but the
  6168  // value will be replaced with "sensitive".
  6169  func (s BatchGetDevicePositionOutput) GoString() string {
  6170  	return s.String()
  6171  }
  6172  
  6173  // SetDevicePositions sets the DevicePositions field's value.
  6174  func (s *BatchGetDevicePositionOutput) SetDevicePositions(v []*DevicePosition) *BatchGetDevicePositionOutput {
  6175  	s.DevicePositions = v
  6176  	return s
  6177  }
  6178  
  6179  // SetErrors sets the Errors field's value.
  6180  func (s *BatchGetDevicePositionOutput) SetErrors(v []*BatchGetDevicePositionError) *BatchGetDevicePositionOutput {
  6181  	s.Errors = v
  6182  	return s
  6183  }
  6184  
  6185  // Contains the batch request error details associated with the request.
  6186  type BatchItemError struct {
  6187  	_ struct{} `type:"structure"`
  6188  
  6189  	// The error code associated with the batch request error.
  6190  	Code *string `type:"string" enum:"BatchItemErrorCode"`
  6191  
  6192  	// A message with the reason for the batch request error.
  6193  	Message *string `type:"string"`
  6194  }
  6195  
  6196  // String returns the string representation.
  6197  //
  6198  // API parameter values that are decorated as "sensitive" in the API will not
  6199  // be included in the string output. The member name will be present, but the
  6200  // value will be replaced with "sensitive".
  6201  func (s BatchItemError) String() string {
  6202  	return awsutil.Prettify(s)
  6203  }
  6204  
  6205  // GoString returns the string representation.
  6206  //
  6207  // API parameter values that are decorated as "sensitive" in the API will not
  6208  // be included in the string output. The member name will be present, but the
  6209  // value will be replaced with "sensitive".
  6210  func (s BatchItemError) GoString() string {
  6211  	return s.String()
  6212  }
  6213  
  6214  // SetCode sets the Code field's value.
  6215  func (s *BatchItemError) SetCode(v string) *BatchItemError {
  6216  	s.Code = &v
  6217  	return s
  6218  }
  6219  
  6220  // SetMessage sets the Message field's value.
  6221  func (s *BatchItemError) SetMessage(v string) *BatchItemError {
  6222  	s.Message = &v
  6223  	return s
  6224  }
  6225  
  6226  // Contains error details for each geofence that failed to be stored in a given
  6227  // geofence collection.
  6228  type BatchPutGeofenceError struct {
  6229  	_ struct{} `type:"structure"`
  6230  
  6231  	// Contains details associated to the batch error.
  6232  	//
  6233  	// Error is a required field
  6234  	Error *BatchItemError `type:"structure" required:"true"`
  6235  
  6236  	// The geofence associated with the error message.
  6237  	//
  6238  	// GeofenceId is a required field
  6239  	GeofenceId *string `min:"1" type:"string" required:"true"`
  6240  }
  6241  
  6242  // String returns the string representation.
  6243  //
  6244  // API parameter values that are decorated as "sensitive" in the API will not
  6245  // be included in the string output. The member name will be present, but the
  6246  // value will be replaced with "sensitive".
  6247  func (s BatchPutGeofenceError) String() string {
  6248  	return awsutil.Prettify(s)
  6249  }
  6250  
  6251  // GoString returns the string representation.
  6252  //
  6253  // API parameter values that are decorated as "sensitive" in the API will not
  6254  // be included in the string output. The member name will be present, but the
  6255  // value will be replaced with "sensitive".
  6256  func (s BatchPutGeofenceError) GoString() string {
  6257  	return s.String()
  6258  }
  6259  
  6260  // SetError sets the Error field's value.
  6261  func (s *BatchPutGeofenceError) SetError(v *BatchItemError) *BatchPutGeofenceError {
  6262  	s.Error = v
  6263  	return s
  6264  }
  6265  
  6266  // SetGeofenceId sets the GeofenceId field's value.
  6267  func (s *BatchPutGeofenceError) SetGeofenceId(v string) *BatchPutGeofenceError {
  6268  	s.GeofenceId = &v
  6269  	return s
  6270  }
  6271  
  6272  type BatchPutGeofenceInput struct {
  6273  	_ struct{} `type:"structure"`
  6274  
  6275  	// The geofence collection storing the geofences.
  6276  	//
  6277  	// CollectionName is a required field
  6278  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
  6279  
  6280  	// The batch of geofences to be stored in a geofence collection.
  6281  	//
  6282  	// Entries is a required field
  6283  	Entries []*BatchPutGeofenceRequestEntry `min:"1" type:"list" required:"true"`
  6284  }
  6285  
  6286  // String returns the string representation.
  6287  //
  6288  // API parameter values that are decorated as "sensitive" in the API will not
  6289  // be included in the string output. The member name will be present, but the
  6290  // value will be replaced with "sensitive".
  6291  func (s BatchPutGeofenceInput) String() string {
  6292  	return awsutil.Prettify(s)
  6293  }
  6294  
  6295  // GoString returns the string representation.
  6296  //
  6297  // API parameter values that are decorated as "sensitive" in the API will not
  6298  // be included in the string output. The member name will be present, but the
  6299  // value will be replaced with "sensitive".
  6300  func (s BatchPutGeofenceInput) GoString() string {
  6301  	return s.String()
  6302  }
  6303  
  6304  // Validate inspects the fields of the type to determine if they are valid.
  6305  func (s *BatchPutGeofenceInput) Validate() error {
  6306  	invalidParams := request.ErrInvalidParams{Context: "BatchPutGeofenceInput"}
  6307  	if s.CollectionName == nil {
  6308  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
  6309  	}
  6310  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
  6311  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
  6312  	}
  6313  	if s.Entries == nil {
  6314  		invalidParams.Add(request.NewErrParamRequired("Entries"))
  6315  	}
  6316  	if s.Entries != nil && len(s.Entries) < 1 {
  6317  		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
  6318  	}
  6319  	if s.Entries != nil {
  6320  		for i, v := range s.Entries {
  6321  			if v == nil {
  6322  				continue
  6323  			}
  6324  			if err := v.Validate(); err != nil {
  6325  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
  6326  			}
  6327  		}
  6328  	}
  6329  
  6330  	if invalidParams.Len() > 0 {
  6331  		return invalidParams
  6332  	}
  6333  	return nil
  6334  }
  6335  
  6336  // SetCollectionName sets the CollectionName field's value.
  6337  func (s *BatchPutGeofenceInput) SetCollectionName(v string) *BatchPutGeofenceInput {
  6338  	s.CollectionName = &v
  6339  	return s
  6340  }
  6341  
  6342  // SetEntries sets the Entries field's value.
  6343  func (s *BatchPutGeofenceInput) SetEntries(v []*BatchPutGeofenceRequestEntry) *BatchPutGeofenceInput {
  6344  	s.Entries = v
  6345  	return s
  6346  }
  6347  
  6348  type BatchPutGeofenceOutput struct {
  6349  	_ struct{} `type:"structure"`
  6350  
  6351  	// Contains additional error details for each geofence that failed to be stored
  6352  	// in a geofence collection.
  6353  	//
  6354  	// Errors is a required field
  6355  	Errors []*BatchPutGeofenceError `type:"list" required:"true"`
  6356  
  6357  	// Contains each geofence that was successfully stored in a geofence collection.
  6358  	//
  6359  	// Successes is a required field
  6360  	Successes []*BatchPutGeofenceSuccess `type:"list" required:"true"`
  6361  }
  6362  
  6363  // String returns the string representation.
  6364  //
  6365  // API parameter values that are decorated as "sensitive" in the API will not
  6366  // be included in the string output. The member name will be present, but the
  6367  // value will be replaced with "sensitive".
  6368  func (s BatchPutGeofenceOutput) String() string {
  6369  	return awsutil.Prettify(s)
  6370  }
  6371  
  6372  // GoString returns the string representation.
  6373  //
  6374  // API parameter values that are decorated as "sensitive" in the API will not
  6375  // be included in the string output. The member name will be present, but the
  6376  // value will be replaced with "sensitive".
  6377  func (s BatchPutGeofenceOutput) GoString() string {
  6378  	return s.String()
  6379  }
  6380  
  6381  // SetErrors sets the Errors field's value.
  6382  func (s *BatchPutGeofenceOutput) SetErrors(v []*BatchPutGeofenceError) *BatchPutGeofenceOutput {
  6383  	s.Errors = v
  6384  	return s
  6385  }
  6386  
  6387  // SetSuccesses sets the Successes field's value.
  6388  func (s *BatchPutGeofenceOutput) SetSuccesses(v []*BatchPutGeofenceSuccess) *BatchPutGeofenceOutput {
  6389  	s.Successes = v
  6390  	return s
  6391  }
  6392  
  6393  // Contains geofence geometry details.
  6394  type BatchPutGeofenceRequestEntry struct {
  6395  	_ struct{} `type:"structure"`
  6396  
  6397  	// The identifier for the geofence to be stored in a given geofence collection.
  6398  	//
  6399  	// GeofenceId is a required field
  6400  	GeofenceId *string `min:"1" type:"string" required:"true"`
  6401  
  6402  	// Contains the polygon details to specify the position of the geofence.
  6403  	//
  6404  	// Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html)
  6405  	// can have a maximum of 1,000 vertices.
  6406  	//
  6407  	// Geometry is a required field
  6408  	Geometry *GeofenceGeometry `type:"structure" required:"true"`
  6409  }
  6410  
  6411  // String returns the string representation.
  6412  //
  6413  // API parameter values that are decorated as "sensitive" in the API will not
  6414  // be included in the string output. The member name will be present, but the
  6415  // value will be replaced with "sensitive".
  6416  func (s BatchPutGeofenceRequestEntry) String() string {
  6417  	return awsutil.Prettify(s)
  6418  }
  6419  
  6420  // GoString returns the string representation.
  6421  //
  6422  // API parameter values that are decorated as "sensitive" in the API will not
  6423  // be included in the string output. The member name will be present, but the
  6424  // value will be replaced with "sensitive".
  6425  func (s BatchPutGeofenceRequestEntry) GoString() string {
  6426  	return s.String()
  6427  }
  6428  
  6429  // Validate inspects the fields of the type to determine if they are valid.
  6430  func (s *BatchPutGeofenceRequestEntry) Validate() error {
  6431  	invalidParams := request.ErrInvalidParams{Context: "BatchPutGeofenceRequestEntry"}
  6432  	if s.GeofenceId == nil {
  6433  		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
  6434  	}
  6435  	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
  6436  		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
  6437  	}
  6438  	if s.Geometry == nil {
  6439  		invalidParams.Add(request.NewErrParamRequired("Geometry"))
  6440  	}
  6441  	if s.Geometry != nil {
  6442  		if err := s.Geometry.Validate(); err != nil {
  6443  			invalidParams.AddNested("Geometry", err.(request.ErrInvalidParams))
  6444  		}
  6445  	}
  6446  
  6447  	if invalidParams.Len() > 0 {
  6448  		return invalidParams
  6449  	}
  6450  	return nil
  6451  }
  6452  
  6453  // SetGeofenceId sets the GeofenceId field's value.
  6454  func (s *BatchPutGeofenceRequestEntry) SetGeofenceId(v string) *BatchPutGeofenceRequestEntry {
  6455  	s.GeofenceId = &v
  6456  	return s
  6457  }
  6458  
  6459  // SetGeometry sets the Geometry field's value.
  6460  func (s *BatchPutGeofenceRequestEntry) SetGeometry(v *GeofenceGeometry) *BatchPutGeofenceRequestEntry {
  6461  	s.Geometry = v
  6462  	return s
  6463  }
  6464  
  6465  // Contains a summary of each geofence that was successfully stored in a given
  6466  // geofence collection.
  6467  type BatchPutGeofenceSuccess struct {
  6468  	_ struct{} `type:"structure"`
  6469  
  6470  	// The timestamp for when the geofence was stored in a geofence collection in
  6471  	// ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
  6472  	// YYYY-MM-DDThh:mm:ss.sssZ
  6473  	//
  6474  	// CreateTime is a required field
  6475  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  6476  
  6477  	// The geofence successfully stored in a geofence collection.
  6478  	//
  6479  	// GeofenceId is a required field
  6480  	GeofenceId *string `min:"1" type:"string" required:"true"`
  6481  
  6482  	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  6483  	// format: YYYY-MM-DDThh:mm:ss.sssZ
  6484  	//
  6485  	// UpdateTime is a required field
  6486  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  6487  }
  6488  
  6489  // String returns the string representation.
  6490  //
  6491  // API parameter values that are decorated as "sensitive" in the API will not
  6492  // be included in the string output. The member name will be present, but the
  6493  // value will be replaced with "sensitive".
  6494  func (s BatchPutGeofenceSuccess) String() string {
  6495  	return awsutil.Prettify(s)
  6496  }
  6497  
  6498  // GoString returns the string representation.
  6499  //
  6500  // API parameter values that are decorated as "sensitive" in the API will not
  6501  // be included in the string output. The member name will be present, but the
  6502  // value will be replaced with "sensitive".
  6503  func (s BatchPutGeofenceSuccess) GoString() string {
  6504  	return s.String()
  6505  }
  6506  
  6507  // SetCreateTime sets the CreateTime field's value.
  6508  func (s *BatchPutGeofenceSuccess) SetCreateTime(v time.Time) *BatchPutGeofenceSuccess {
  6509  	s.CreateTime = &v
  6510  	return s
  6511  }
  6512  
  6513  // SetGeofenceId sets the GeofenceId field's value.
  6514  func (s *BatchPutGeofenceSuccess) SetGeofenceId(v string) *BatchPutGeofenceSuccess {
  6515  	s.GeofenceId = &v
  6516  	return s
  6517  }
  6518  
  6519  // SetUpdateTime sets the UpdateTime field's value.
  6520  func (s *BatchPutGeofenceSuccess) SetUpdateTime(v time.Time) *BatchPutGeofenceSuccess {
  6521  	s.UpdateTime = &v
  6522  	return s
  6523  }
  6524  
  6525  // Contains error details for each device that failed to update its position.
  6526  type BatchUpdateDevicePositionError struct {
  6527  	_ struct{} `type:"structure"`
  6528  
  6529  	// The device associated with the failed location update.
  6530  	//
  6531  	// DeviceId is a required field
  6532  	DeviceId *string `min:"1" type:"string" required:"true"`
  6533  
  6534  	// Contains details related to the error code such as the error code and error
  6535  	// message.
  6536  	//
  6537  	// Error is a required field
  6538  	Error *BatchItemError `type:"structure" required:"true"`
  6539  
  6540  	// The timestamp at which the device position was determined. Uses ISO 8601
  6541  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  6542  	//
  6543  	// SampleTime is a required field
  6544  	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  6545  }
  6546  
  6547  // String returns the string representation.
  6548  //
  6549  // API parameter values that are decorated as "sensitive" in the API will not
  6550  // be included in the string output. The member name will be present, but the
  6551  // value will be replaced with "sensitive".
  6552  func (s BatchUpdateDevicePositionError) String() string {
  6553  	return awsutil.Prettify(s)
  6554  }
  6555  
  6556  // GoString returns the string representation.
  6557  //
  6558  // API parameter values that are decorated as "sensitive" in the API will not
  6559  // be included in the string output. The member name will be present, but the
  6560  // value will be replaced with "sensitive".
  6561  func (s BatchUpdateDevicePositionError) GoString() string {
  6562  	return s.String()
  6563  }
  6564  
  6565  // SetDeviceId sets the DeviceId field's value.
  6566  func (s *BatchUpdateDevicePositionError) SetDeviceId(v string) *BatchUpdateDevicePositionError {
  6567  	s.DeviceId = &v
  6568  	return s
  6569  }
  6570  
  6571  // SetError sets the Error field's value.
  6572  func (s *BatchUpdateDevicePositionError) SetError(v *BatchItemError) *BatchUpdateDevicePositionError {
  6573  	s.Error = v
  6574  	return s
  6575  }
  6576  
  6577  // SetSampleTime sets the SampleTime field's value.
  6578  func (s *BatchUpdateDevicePositionError) SetSampleTime(v time.Time) *BatchUpdateDevicePositionError {
  6579  	s.SampleTime = &v
  6580  	return s
  6581  }
  6582  
  6583  type BatchUpdateDevicePositionInput struct {
  6584  	_ struct{} `type:"structure"`
  6585  
  6586  	// The name of the tracker resource to update.
  6587  	//
  6588  	// TrackerName is a required field
  6589  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  6590  
  6591  	// Contains the position update details for each device.
  6592  	//
  6593  	// Updates is a required field
  6594  	Updates []*DevicePositionUpdate `min:"1" type:"list" required:"true"`
  6595  }
  6596  
  6597  // String returns the string representation.
  6598  //
  6599  // API parameter values that are decorated as "sensitive" in the API will not
  6600  // be included in the string output. The member name will be present, but the
  6601  // value will be replaced with "sensitive".
  6602  func (s BatchUpdateDevicePositionInput) String() string {
  6603  	return awsutil.Prettify(s)
  6604  }
  6605  
  6606  // GoString returns the string representation.
  6607  //
  6608  // API parameter values that are decorated as "sensitive" in the API will not
  6609  // be included in the string output. The member name will be present, but the
  6610  // value will be replaced with "sensitive".
  6611  func (s BatchUpdateDevicePositionInput) GoString() string {
  6612  	return s.String()
  6613  }
  6614  
  6615  // Validate inspects the fields of the type to determine if they are valid.
  6616  func (s *BatchUpdateDevicePositionInput) Validate() error {
  6617  	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateDevicePositionInput"}
  6618  	if s.TrackerName == nil {
  6619  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  6620  	}
  6621  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  6622  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  6623  	}
  6624  	if s.Updates == nil {
  6625  		invalidParams.Add(request.NewErrParamRequired("Updates"))
  6626  	}
  6627  	if s.Updates != nil && len(s.Updates) < 1 {
  6628  		invalidParams.Add(request.NewErrParamMinLen("Updates", 1))
  6629  	}
  6630  	if s.Updates != nil {
  6631  		for i, v := range s.Updates {
  6632  			if v == nil {
  6633  				continue
  6634  			}
  6635  			if err := v.Validate(); err != nil {
  6636  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams))
  6637  			}
  6638  		}
  6639  	}
  6640  
  6641  	if invalidParams.Len() > 0 {
  6642  		return invalidParams
  6643  	}
  6644  	return nil
  6645  }
  6646  
  6647  // SetTrackerName sets the TrackerName field's value.
  6648  func (s *BatchUpdateDevicePositionInput) SetTrackerName(v string) *BatchUpdateDevicePositionInput {
  6649  	s.TrackerName = &v
  6650  	return s
  6651  }
  6652  
  6653  // SetUpdates sets the Updates field's value.
  6654  func (s *BatchUpdateDevicePositionInput) SetUpdates(v []*DevicePositionUpdate) *BatchUpdateDevicePositionInput {
  6655  	s.Updates = v
  6656  	return s
  6657  }
  6658  
  6659  type BatchUpdateDevicePositionOutput struct {
  6660  	_ struct{} `type:"structure"`
  6661  
  6662  	// Contains error details for each device that failed to update its position.
  6663  	//
  6664  	// Errors is a required field
  6665  	Errors []*BatchUpdateDevicePositionError `type:"list" required:"true"`
  6666  }
  6667  
  6668  // String returns the string representation.
  6669  //
  6670  // API parameter values that are decorated as "sensitive" in the API will not
  6671  // be included in the string output. The member name will be present, but the
  6672  // value will be replaced with "sensitive".
  6673  func (s BatchUpdateDevicePositionOutput) String() string {
  6674  	return awsutil.Prettify(s)
  6675  }
  6676  
  6677  // GoString returns the string representation.
  6678  //
  6679  // API parameter values that are decorated as "sensitive" in the API will not
  6680  // be included in the string output. The member name will be present, but the
  6681  // value will be replaced with "sensitive".
  6682  func (s BatchUpdateDevicePositionOutput) GoString() string {
  6683  	return s.String()
  6684  }
  6685  
  6686  // SetErrors sets the Errors field's value.
  6687  func (s *BatchUpdateDevicePositionOutput) SetErrors(v []*BatchUpdateDevicePositionError) *BatchUpdateDevicePositionOutput {
  6688  	s.Errors = v
  6689  	return s
  6690  }
  6691  
  6692  // Contains details about additional route preferences for requests that specify
  6693  // TravelMode as Car.
  6694  type CalculateRouteCarModeOptions struct {
  6695  	_ struct{} `type:"structure"`
  6696  
  6697  	// Avoids ferries when calculating routes.
  6698  	//
  6699  	// Default Value: false
  6700  	//
  6701  	// Valid Values: false | true
  6702  	AvoidFerries *bool `type:"boolean"`
  6703  
  6704  	// Avoids tolls when calculating routes.
  6705  	//
  6706  	// Default Value: false
  6707  	//
  6708  	// Valid Values: false | true
  6709  	AvoidTolls *bool `type:"boolean"`
  6710  }
  6711  
  6712  // String returns the string representation.
  6713  //
  6714  // API parameter values that are decorated as "sensitive" in the API will not
  6715  // be included in the string output. The member name will be present, but the
  6716  // value will be replaced with "sensitive".
  6717  func (s CalculateRouteCarModeOptions) String() string {
  6718  	return awsutil.Prettify(s)
  6719  }
  6720  
  6721  // GoString returns the string representation.
  6722  //
  6723  // API parameter values that are decorated as "sensitive" in the API will not
  6724  // be included in the string output. The member name will be present, but the
  6725  // value will be replaced with "sensitive".
  6726  func (s CalculateRouteCarModeOptions) GoString() string {
  6727  	return s.String()
  6728  }
  6729  
  6730  // SetAvoidFerries sets the AvoidFerries field's value.
  6731  func (s *CalculateRouteCarModeOptions) SetAvoidFerries(v bool) *CalculateRouteCarModeOptions {
  6732  	s.AvoidFerries = &v
  6733  	return s
  6734  }
  6735  
  6736  // SetAvoidTolls sets the AvoidTolls field's value.
  6737  func (s *CalculateRouteCarModeOptions) SetAvoidTolls(v bool) *CalculateRouteCarModeOptions {
  6738  	s.AvoidTolls = &v
  6739  	return s
  6740  }
  6741  
  6742  type CalculateRouteInput struct {
  6743  	_ struct{} `type:"structure"`
  6744  
  6745  	// The name of the route calculator resource that you want to use to calculate
  6746  	// a route.
  6747  	//
  6748  	// CalculatorName is a required field
  6749  	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
  6750  
  6751  	// Specifies route preferences when traveling by Car, such as avoiding routes
  6752  	// that use ferries or tolls.
  6753  	//
  6754  	// Requirements: TravelMode must be specified as Car.
  6755  	CarModeOptions *CalculateRouteCarModeOptions `type:"structure"`
  6756  
  6757  	// Sets the time of departure as the current time. Uses the current time to
  6758  	// calculate a route. Otherwise, the best time of day to travel with the best
  6759  	// traffic conditions is used to calculate the route.
  6760  	//
  6761  	// Default Value: false
  6762  	//
  6763  	// Valid Values: false | true
  6764  	DepartNow *bool `type:"boolean"`
  6765  
  6766  	// The start position for the route. Defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
  6767  	// format: [longitude, latitude].
  6768  	//
  6769  	//    * For example, [-123.115, 49.285]
  6770  	//
  6771  	// If you specify a departure that's not located on a road, Amazon Location
  6772  	// moves the position to the nearest road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
  6773  	// If Esri is the provider for your route calculator, specifying a route that
  6774  	// is longer than 400 km returns a 400 RoutesValidationException error.
  6775  	//
  6776  	// Valid Values: [-180 to 180,-90 to 90]
  6777  	//
  6778  	// DeparturePosition is a sensitive parameter and its value will be
  6779  	// replaced with "sensitive" in string returned by CalculateRouteInput's
  6780  	// String and GoString methods.
  6781  	//
  6782  	// DeparturePosition is a required field
  6783  	DeparturePosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
  6784  
  6785  	// Specifies the desired time of departure. Uses the given time to calculate
  6786  	// a route. Otherwise, the best time of day to travel with the best traffic
  6787  	// conditions is used to calculate the route.
  6788  	//
  6789  	// Setting a departure time in the past returns a 400 ValidationException error.
  6790  	//
  6791  	//    * In ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  6792  	//    format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00
  6793  	DepartureTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6794  
  6795  	// The finish position for the route. Defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
  6796  	// format: [longitude, latitude].
  6797  	//
  6798  	//    * For example, [-122.339, 47.615]
  6799  	//
  6800  	// If you specify a destination that's not located on a road, Amazon Location
  6801  	// moves the position to the nearest road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
  6802  	//
  6803  	// Valid Values: [-180 to 180,-90 to 90]
  6804  	//
  6805  	// DestinationPosition is a sensitive parameter and its value will be
  6806  	// replaced with "sensitive" in string returned by CalculateRouteInput's
  6807  	// String and GoString methods.
  6808  	//
  6809  	// DestinationPosition is a required field
  6810  	DestinationPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
  6811  
  6812  	// Set the unit system to specify the distance.
  6813  	//
  6814  	// Default Value: Kilometers
  6815  	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
  6816  
  6817  	// Set to include the geometry details in the result for each path between a
  6818  	// pair of positions.
  6819  	//
  6820  	// Default Value: false
  6821  	//
  6822  	// Valid Values: false | true
  6823  	IncludeLegGeometry *bool `type:"boolean"`
  6824  
  6825  	// Specifies the mode of transport when calculating a route. Used in estimating
  6826  	// the speed of travel and road compatibility.
  6827  	//
  6828  	// The TravelMode you specify determines how you specify route preferences:
  6829  	//
  6830  	//    * If traveling by Car use the CarModeOptions parameter.
  6831  	//
  6832  	//    * If traveling by Truck use the TruckModeOptions parameter.
  6833  	//
  6834  	// Default Value: Car
  6835  	TravelMode *string `type:"string" enum:"TravelMode"`
  6836  
  6837  	// Specifies route preferences when traveling by Truck, such as avoiding routes
  6838  	// that use ferries or tolls, and truck specifications to consider when choosing
  6839  	// an optimal road.
  6840  	//
  6841  	// Requirements: TravelMode must be specified as Truck.
  6842  	TruckModeOptions *CalculateRouteTruckModeOptions `type:"structure"`
  6843  
  6844  	// Specifies an ordered list of up to 23 intermediate positions to include along
  6845  	// a route between the departure position and destination position.
  6846  	//
  6847  	//    * For example, from the DeparturePosition [-123.115, 49.285], the route
  6848  	//    follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349,
  6849  	//    47.620]]
  6850  	//
  6851  	// If you specify a waypoint position that's not located on a road, Amazon Location
  6852  	// moves the position to the nearest road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
  6853  	//
  6854  	// Specifying more than 23 waypoints returns a 400 ValidationException error.
  6855  	//
  6856  	// If Esri is the provider for your route calculator, specifying a route that
  6857  	// is longer than 400 km returns a 400 RoutesValidationException error.
  6858  	//
  6859  	// Valid Values: [-180 to 180,-90 to 90]
  6860  	WaypointPositions [][]*float64 `type:"list"`
  6861  }
  6862  
  6863  // String returns the string representation.
  6864  //
  6865  // API parameter values that are decorated as "sensitive" in the API will not
  6866  // be included in the string output. The member name will be present, but the
  6867  // value will be replaced with "sensitive".
  6868  func (s CalculateRouteInput) String() string {
  6869  	return awsutil.Prettify(s)
  6870  }
  6871  
  6872  // GoString returns the string representation.
  6873  //
  6874  // API parameter values that are decorated as "sensitive" in the API will not
  6875  // be included in the string output. The member name will be present, but the
  6876  // value will be replaced with "sensitive".
  6877  func (s CalculateRouteInput) GoString() string {
  6878  	return s.String()
  6879  }
  6880  
  6881  // Validate inspects the fields of the type to determine if they are valid.
  6882  func (s *CalculateRouteInput) Validate() error {
  6883  	invalidParams := request.ErrInvalidParams{Context: "CalculateRouteInput"}
  6884  	if s.CalculatorName == nil {
  6885  		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
  6886  	}
  6887  	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
  6888  		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
  6889  	}
  6890  	if s.DeparturePosition == nil {
  6891  		invalidParams.Add(request.NewErrParamRequired("DeparturePosition"))
  6892  	}
  6893  	if s.DeparturePosition != nil && len(s.DeparturePosition) < 2 {
  6894  		invalidParams.Add(request.NewErrParamMinLen("DeparturePosition", 2))
  6895  	}
  6896  	if s.DestinationPosition == nil {
  6897  		invalidParams.Add(request.NewErrParamRequired("DestinationPosition"))
  6898  	}
  6899  	if s.DestinationPosition != nil && len(s.DestinationPosition) < 2 {
  6900  		invalidParams.Add(request.NewErrParamMinLen("DestinationPosition", 2))
  6901  	}
  6902  
  6903  	if invalidParams.Len() > 0 {
  6904  		return invalidParams
  6905  	}
  6906  	return nil
  6907  }
  6908  
  6909  // SetCalculatorName sets the CalculatorName field's value.
  6910  func (s *CalculateRouteInput) SetCalculatorName(v string) *CalculateRouteInput {
  6911  	s.CalculatorName = &v
  6912  	return s
  6913  }
  6914  
  6915  // SetCarModeOptions sets the CarModeOptions field's value.
  6916  func (s *CalculateRouteInput) SetCarModeOptions(v *CalculateRouteCarModeOptions) *CalculateRouteInput {
  6917  	s.CarModeOptions = v
  6918  	return s
  6919  }
  6920  
  6921  // SetDepartNow sets the DepartNow field's value.
  6922  func (s *CalculateRouteInput) SetDepartNow(v bool) *CalculateRouteInput {
  6923  	s.DepartNow = &v
  6924  	return s
  6925  }
  6926  
  6927  // SetDeparturePosition sets the DeparturePosition field's value.
  6928  func (s *CalculateRouteInput) SetDeparturePosition(v []*float64) *CalculateRouteInput {
  6929  	s.DeparturePosition = v
  6930  	return s
  6931  }
  6932  
  6933  // SetDepartureTime sets the DepartureTime field's value.
  6934  func (s *CalculateRouteInput) SetDepartureTime(v time.Time) *CalculateRouteInput {
  6935  	s.DepartureTime = &v
  6936  	return s
  6937  }
  6938  
  6939  // SetDestinationPosition sets the DestinationPosition field's value.
  6940  func (s *CalculateRouteInput) SetDestinationPosition(v []*float64) *CalculateRouteInput {
  6941  	s.DestinationPosition = v
  6942  	return s
  6943  }
  6944  
  6945  // SetDistanceUnit sets the DistanceUnit field's value.
  6946  func (s *CalculateRouteInput) SetDistanceUnit(v string) *CalculateRouteInput {
  6947  	s.DistanceUnit = &v
  6948  	return s
  6949  }
  6950  
  6951  // SetIncludeLegGeometry sets the IncludeLegGeometry field's value.
  6952  func (s *CalculateRouteInput) SetIncludeLegGeometry(v bool) *CalculateRouteInput {
  6953  	s.IncludeLegGeometry = &v
  6954  	return s
  6955  }
  6956  
  6957  // SetTravelMode sets the TravelMode field's value.
  6958  func (s *CalculateRouteInput) SetTravelMode(v string) *CalculateRouteInput {
  6959  	s.TravelMode = &v
  6960  	return s
  6961  }
  6962  
  6963  // SetTruckModeOptions sets the TruckModeOptions field's value.
  6964  func (s *CalculateRouteInput) SetTruckModeOptions(v *CalculateRouteTruckModeOptions) *CalculateRouteInput {
  6965  	s.TruckModeOptions = v
  6966  	return s
  6967  }
  6968  
  6969  // SetWaypointPositions sets the WaypointPositions field's value.
  6970  func (s *CalculateRouteInput) SetWaypointPositions(v [][]*float64) *CalculateRouteInput {
  6971  	s.WaypointPositions = v
  6972  	return s
  6973  }
  6974  
  6975  // Returns the result of the route calculation. Metadata includes legs and route
  6976  // summary.
  6977  type CalculateRouteOutput struct {
  6978  	_ struct{} `type:"structure"`
  6979  
  6980  	// Contains details about each path between a pair of positions included along
  6981  	// a route such as: StartPosition, EndPosition, Distance, DurationSeconds, Geometry,
  6982  	// and Steps. The number of legs returned corresponds to one fewer than the
  6983  	// total number of positions in the request.
  6984  	//
  6985  	// For example, a route with a departure position and destination position returns
  6986  	// one leg with the positions snapped to a nearby road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road):
  6987  	//
  6988  	//    * The StartPosition is the departure position.
  6989  	//
  6990  	//    * The EndPosition is the destination position.
  6991  	//
  6992  	// A route with a waypoint between the departure and destination position returns
  6993  	// two legs with the positions snapped to a nearby road:
  6994  	//
  6995  	//    * Leg 1: The StartPosition is the departure position . The EndPosition
  6996  	//    is the waypoint positon.
  6997  	//
  6998  	//    * Leg 2: The StartPosition is the waypoint position. The EndPosition is
  6999  	//    the destination position.
  7000  	//
  7001  	// Legs is a required field
  7002  	Legs []*Leg `type:"list" required:"true"`
  7003  
  7004  	// Contains information about the whole route, such as: RouteBBox, DataSource,
  7005  	// Distance, DistanceUnit, and DurationSeconds.
  7006  	//
  7007  	// Summary is a required field
  7008  	Summary *CalculateRouteSummary `type:"structure" required:"true"`
  7009  }
  7010  
  7011  // String returns the string representation.
  7012  //
  7013  // API parameter values that are decorated as "sensitive" in the API will not
  7014  // be included in the string output. The member name will be present, but the
  7015  // value will be replaced with "sensitive".
  7016  func (s CalculateRouteOutput) String() string {
  7017  	return awsutil.Prettify(s)
  7018  }
  7019  
  7020  // GoString returns the string representation.
  7021  //
  7022  // API parameter values that are decorated as "sensitive" in the API will not
  7023  // be included in the string output. The member name will be present, but the
  7024  // value will be replaced with "sensitive".
  7025  func (s CalculateRouteOutput) GoString() string {
  7026  	return s.String()
  7027  }
  7028  
  7029  // SetLegs sets the Legs field's value.
  7030  func (s *CalculateRouteOutput) SetLegs(v []*Leg) *CalculateRouteOutput {
  7031  	s.Legs = v
  7032  	return s
  7033  }
  7034  
  7035  // SetSummary sets the Summary field's value.
  7036  func (s *CalculateRouteOutput) SetSummary(v *CalculateRouteSummary) *CalculateRouteOutput {
  7037  	s.Summary = v
  7038  	return s
  7039  }
  7040  
  7041  // A summary of the calculated route.
  7042  type CalculateRouteSummary struct {
  7043  	_ struct{} `type:"structure"`
  7044  
  7045  	// The data provider of traffic and road network data used to calculate the
  7046  	// route. Indicates one of the available providers:
  7047  	//
  7048  	//    * Esri
  7049  	//
  7050  	//    * Here
  7051  	//
  7052  	// For more information about data providers, see Amazon Location Service data
  7053  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
  7054  	//
  7055  	// DataSource is a required field
  7056  	DataSource *string `type:"string" required:"true"`
  7057  
  7058  	// The total distance covered by the route. The sum of the distance travelled
  7059  	// between every stop on the route.
  7060  	//
  7061  	// If Esri is the data source for the route calculator, the route distance can’t
  7062  	// be greater than 400 km. If the route exceeds 400 km, the response is a 400
  7063  	// RoutesValidationException error.
  7064  	//
  7065  	// Distance is a required field
  7066  	Distance *float64 `type:"double" required:"true"`
  7067  
  7068  	// The unit of measurement for the distance.
  7069  	//
  7070  	// DistanceUnit is a required field
  7071  	DistanceUnit *string `type:"string" required:"true" enum:"DistanceUnit"`
  7072  
  7073  	// The total travel time for the route measured in seconds. The sum of the travel
  7074  	// time between every stop on the route.
  7075  	//
  7076  	// DurationSeconds is a required field
  7077  	DurationSeconds *float64 `type:"double" required:"true"`
  7078  
  7079  	// Specifies a geographical box surrounding a route. Used to zoom into a route
  7080  	// when displaying it in a map. For example, [min x, min y, max x, max y].
  7081  	//
  7082  	// The first 2 bbox parameters describe the lower southwest corner:
  7083  	//
  7084  	//    * The first bbox position is the X coordinate or longitude of the lower
  7085  	//    southwest corner.
  7086  	//
  7087  	//    * The second bbox position is the Y coordinate or latitude of the lower
  7088  	//    southwest corner.
  7089  	//
  7090  	// The next 2 bbox parameters describe the upper northeast corner:
  7091  	//
  7092  	//    * The third bbox position is the X coordinate, or longitude of the upper
  7093  	//    northeast corner.
  7094  	//
  7095  	//    * The fourth bbox position is the Y coordinate, or latitude of the upper
  7096  	//    northeast corner.
  7097  	//
  7098  	// RouteBBox is a sensitive parameter and its value will be
  7099  	// replaced with "sensitive" in string returned by CalculateRouteSummary's
  7100  	// String and GoString methods.
  7101  	//
  7102  	// RouteBBox is a required field
  7103  	RouteBBox []*float64 `min:"4" type:"list" required:"true" sensitive:"true"`
  7104  }
  7105  
  7106  // String returns the string representation.
  7107  //
  7108  // API parameter values that are decorated as "sensitive" in the API will not
  7109  // be included in the string output. The member name will be present, but the
  7110  // value will be replaced with "sensitive".
  7111  func (s CalculateRouteSummary) String() string {
  7112  	return awsutil.Prettify(s)
  7113  }
  7114  
  7115  // GoString returns the string representation.
  7116  //
  7117  // API parameter values that are decorated as "sensitive" in the API will not
  7118  // be included in the string output. The member name will be present, but the
  7119  // value will be replaced with "sensitive".
  7120  func (s CalculateRouteSummary) GoString() string {
  7121  	return s.String()
  7122  }
  7123  
  7124  // SetDataSource sets the DataSource field's value.
  7125  func (s *CalculateRouteSummary) SetDataSource(v string) *CalculateRouteSummary {
  7126  	s.DataSource = &v
  7127  	return s
  7128  }
  7129  
  7130  // SetDistance sets the Distance field's value.
  7131  func (s *CalculateRouteSummary) SetDistance(v float64) *CalculateRouteSummary {
  7132  	s.Distance = &v
  7133  	return s
  7134  }
  7135  
  7136  // SetDistanceUnit sets the DistanceUnit field's value.
  7137  func (s *CalculateRouteSummary) SetDistanceUnit(v string) *CalculateRouteSummary {
  7138  	s.DistanceUnit = &v
  7139  	return s
  7140  }
  7141  
  7142  // SetDurationSeconds sets the DurationSeconds field's value.
  7143  func (s *CalculateRouteSummary) SetDurationSeconds(v float64) *CalculateRouteSummary {
  7144  	s.DurationSeconds = &v
  7145  	return s
  7146  }
  7147  
  7148  // SetRouteBBox sets the RouteBBox field's value.
  7149  func (s *CalculateRouteSummary) SetRouteBBox(v []*float64) *CalculateRouteSummary {
  7150  	s.RouteBBox = v
  7151  	return s
  7152  }
  7153  
  7154  // Contains details about additional route preferences for requests that specify
  7155  // TravelMode as Truck.
  7156  type CalculateRouteTruckModeOptions struct {
  7157  	_ struct{} `type:"structure"`
  7158  
  7159  	// Avoids ferries when calculating routes.
  7160  	//
  7161  	// Default Value: false
  7162  	//
  7163  	// Valid Values: false | true
  7164  	AvoidFerries *bool `type:"boolean"`
  7165  
  7166  	// Avoids ferries when calculating routes.
  7167  	//
  7168  	// Default Value: false
  7169  	//
  7170  	// Valid Values: false | true
  7171  	AvoidTolls *bool `type:"boolean"`
  7172  
  7173  	// Specifies the truck's dimension specifications including length, height,
  7174  	// width, and unit of measurement. Used to avoid roads that can't support the
  7175  	// truck's dimensions.
  7176  	Dimensions *TruckDimensions `type:"structure"`
  7177  
  7178  	// Specifies the truck's weight specifications including total weight and unit
  7179  	// of measurement. Used to avoid roads that can't support the truck's weight.
  7180  	Weight *TruckWeight `type:"structure"`
  7181  }
  7182  
  7183  // String returns the string representation.
  7184  //
  7185  // API parameter values that are decorated as "sensitive" in the API will not
  7186  // be included in the string output. The member name will be present, but the
  7187  // value will be replaced with "sensitive".
  7188  func (s CalculateRouteTruckModeOptions) String() string {
  7189  	return awsutil.Prettify(s)
  7190  }
  7191  
  7192  // GoString returns the string representation.
  7193  //
  7194  // API parameter values that are decorated as "sensitive" in the API will not
  7195  // be included in the string output. The member name will be present, but the
  7196  // value will be replaced with "sensitive".
  7197  func (s CalculateRouteTruckModeOptions) GoString() string {
  7198  	return s.String()
  7199  }
  7200  
  7201  // SetAvoidFerries sets the AvoidFerries field's value.
  7202  func (s *CalculateRouteTruckModeOptions) SetAvoidFerries(v bool) *CalculateRouteTruckModeOptions {
  7203  	s.AvoidFerries = &v
  7204  	return s
  7205  }
  7206  
  7207  // SetAvoidTolls sets the AvoidTolls field's value.
  7208  func (s *CalculateRouteTruckModeOptions) SetAvoidTolls(v bool) *CalculateRouteTruckModeOptions {
  7209  	s.AvoidTolls = &v
  7210  	return s
  7211  }
  7212  
  7213  // SetDimensions sets the Dimensions field's value.
  7214  func (s *CalculateRouteTruckModeOptions) SetDimensions(v *TruckDimensions) *CalculateRouteTruckModeOptions {
  7215  	s.Dimensions = v
  7216  	return s
  7217  }
  7218  
  7219  // SetWeight sets the Weight field's value.
  7220  func (s *CalculateRouteTruckModeOptions) SetWeight(v *TruckWeight) *CalculateRouteTruckModeOptions {
  7221  	s.Weight = v
  7222  	return s
  7223  }
  7224  
  7225  // The request was unsuccessful because of a conflict.
  7226  type ConflictException struct {
  7227  	_            struct{}                  `type:"structure"`
  7228  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7229  
  7230  	Message_ *string `locationName:"message" type:"string"`
  7231  }
  7232  
  7233  // String returns the string representation.
  7234  //
  7235  // API parameter values that are decorated as "sensitive" in the API will not
  7236  // be included in the string output. The member name will be present, but the
  7237  // value will be replaced with "sensitive".
  7238  func (s ConflictException) String() string {
  7239  	return awsutil.Prettify(s)
  7240  }
  7241  
  7242  // GoString returns the string representation.
  7243  //
  7244  // API parameter values that are decorated as "sensitive" in the API will not
  7245  // be included in the string output. The member name will be present, but the
  7246  // value will be replaced with "sensitive".
  7247  func (s ConflictException) GoString() string {
  7248  	return s.String()
  7249  }
  7250  
  7251  func newErrorConflictException(v protocol.ResponseMetadata) error {
  7252  	return &ConflictException{
  7253  		RespMetadata: v,
  7254  	}
  7255  }
  7256  
  7257  // Code returns the exception type name.
  7258  func (s *ConflictException) Code() string {
  7259  	return "ConflictException"
  7260  }
  7261  
  7262  // Message returns the exception's message.
  7263  func (s *ConflictException) Message() string {
  7264  	if s.Message_ != nil {
  7265  		return *s.Message_
  7266  	}
  7267  	return ""
  7268  }
  7269  
  7270  // OrigErr always returns nil, satisfies awserr.Error interface.
  7271  func (s *ConflictException) OrigErr() error {
  7272  	return nil
  7273  }
  7274  
  7275  func (s *ConflictException) Error() string {
  7276  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7277  }
  7278  
  7279  // Status code returns the HTTP status code for the request's response error.
  7280  func (s *ConflictException) StatusCode() int {
  7281  	return s.RespMetadata.StatusCode
  7282  }
  7283  
  7284  // RequestID returns the service's response RequestID for request.
  7285  func (s *ConflictException) RequestID() string {
  7286  	return s.RespMetadata.RequestID
  7287  }
  7288  
  7289  type CreateGeofenceCollectionInput struct {
  7290  	_ struct{} `type:"structure"`
  7291  
  7292  	// A custom name for the geofence collection.
  7293  	//
  7294  	// Requirements:
  7295  	//
  7296  	//    * Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
  7297  	//    (-), periods (.), and underscores (_).
  7298  	//
  7299  	//    * Must be a unique geofence collection name.
  7300  	//
  7301  	//    * No spaces allowed. For example, ExampleGeofenceCollection.
  7302  	//
  7303  	// CollectionName is a required field
  7304  	CollectionName *string `min:"1" type:"string" required:"true"`
  7305  
  7306  	// An optional description for the geofence collection.
  7307  	Description *string `type:"string"`
  7308  
  7309  	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
  7310  	// Enter a key ID, key ARN, alias name, or alias ARN.
  7311  	KmsKeyId *string `min:"1" type:"string"`
  7312  
  7313  	// Specifies the pricing plan for the geofence collection.
  7314  	//
  7315  	// For additional details and restrictions on each pricing plan option, see
  7316  	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
  7317  	//
  7318  	// PricingPlan is a required field
  7319  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  7320  
  7321  	// Specifies the data provider for the geofence collection.
  7322  	//
  7323  	//    * Required value for the following pricing plans: MobileAssetTracking
  7324  	//    | MobileAssetManagement
  7325  	//
  7326  	// For more information about Data Providers (https://aws.amazon.com/location/data-providers/),
  7327  	// and Pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
  7328  	// Location Service product page.
  7329  	//
  7330  	// Amazon Location Service only uses PricingPlanDataSource to calculate billing
  7331  	// for your geofence collection. Your data won't be shared with the data provider,
  7332  	// and will remain in your AWS account or Region unless you move it.
  7333  	//
  7334  	// Valid Values: Esri | Here
  7335  	PricingPlanDataSource *string `type:"string"`
  7336  
  7337  	// Applies one or more tags to the geofence collection. A tag is a key-value
  7338  	// pair helps manage, identify, search, and filter your resources by labelling
  7339  	// them.
  7340  	//
  7341  	// Format: "key" : "value"
  7342  	//
  7343  	// Restrictions:
  7344  	//
  7345  	//    * Maximum 50 tags per resource
  7346  	//
  7347  	//    * Each resource tag must be unique with a maximum of one value.
  7348  	//
  7349  	//    * Maximum key length: 128 Unicode characters in UTF-8
  7350  	//
  7351  	//    * Maximum value length: 256 Unicode characters in UTF-8
  7352  	//
  7353  	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
  7354  	//    characters: + - = . _ : / @.
  7355  	Tags map[string]*string `type:"map"`
  7356  }
  7357  
  7358  // String returns the string representation.
  7359  //
  7360  // API parameter values that are decorated as "sensitive" in the API will not
  7361  // be included in the string output. The member name will be present, but the
  7362  // value will be replaced with "sensitive".
  7363  func (s CreateGeofenceCollectionInput) String() string {
  7364  	return awsutil.Prettify(s)
  7365  }
  7366  
  7367  // GoString returns the string representation.
  7368  //
  7369  // API parameter values that are decorated as "sensitive" in the API will not
  7370  // be included in the string output. The member name will be present, but the
  7371  // value will be replaced with "sensitive".
  7372  func (s CreateGeofenceCollectionInput) GoString() string {
  7373  	return s.String()
  7374  }
  7375  
  7376  // Validate inspects the fields of the type to determine if they are valid.
  7377  func (s *CreateGeofenceCollectionInput) Validate() error {
  7378  	invalidParams := request.ErrInvalidParams{Context: "CreateGeofenceCollectionInput"}
  7379  	if s.CollectionName == nil {
  7380  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
  7381  	}
  7382  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
  7383  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
  7384  	}
  7385  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  7386  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  7387  	}
  7388  	if s.PricingPlan == nil {
  7389  		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
  7390  	}
  7391  
  7392  	if invalidParams.Len() > 0 {
  7393  		return invalidParams
  7394  	}
  7395  	return nil
  7396  }
  7397  
  7398  // SetCollectionName sets the CollectionName field's value.
  7399  func (s *CreateGeofenceCollectionInput) SetCollectionName(v string) *CreateGeofenceCollectionInput {
  7400  	s.CollectionName = &v
  7401  	return s
  7402  }
  7403  
  7404  // SetDescription sets the Description field's value.
  7405  func (s *CreateGeofenceCollectionInput) SetDescription(v string) *CreateGeofenceCollectionInput {
  7406  	s.Description = &v
  7407  	return s
  7408  }
  7409  
  7410  // SetKmsKeyId sets the KmsKeyId field's value.
  7411  func (s *CreateGeofenceCollectionInput) SetKmsKeyId(v string) *CreateGeofenceCollectionInput {
  7412  	s.KmsKeyId = &v
  7413  	return s
  7414  }
  7415  
  7416  // SetPricingPlan sets the PricingPlan field's value.
  7417  func (s *CreateGeofenceCollectionInput) SetPricingPlan(v string) *CreateGeofenceCollectionInput {
  7418  	s.PricingPlan = &v
  7419  	return s
  7420  }
  7421  
  7422  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
  7423  func (s *CreateGeofenceCollectionInput) SetPricingPlanDataSource(v string) *CreateGeofenceCollectionInput {
  7424  	s.PricingPlanDataSource = &v
  7425  	return s
  7426  }
  7427  
  7428  // SetTags sets the Tags field's value.
  7429  func (s *CreateGeofenceCollectionInput) SetTags(v map[string]*string) *CreateGeofenceCollectionInput {
  7430  	s.Tags = v
  7431  	return s
  7432  }
  7433  
  7434  type CreateGeofenceCollectionOutput struct {
  7435  	_ struct{} `type:"structure"`
  7436  
  7437  	// The Amazon Resource Name (ARN) for the geofence collection resource. Used
  7438  	// when you need to specify a resource across all AWS.
  7439  	//
  7440  	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection
  7441  	//
  7442  	// CollectionArn is a required field
  7443  	CollectionArn *string `type:"string" required:"true"`
  7444  
  7445  	// The name for the geofence collection.
  7446  	//
  7447  	// CollectionName is a required field
  7448  	CollectionName *string `min:"1" type:"string" required:"true"`
  7449  
  7450  	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  7451  	// format: YYYY-MM-DDThh:mm:ss.sssZ
  7452  	//
  7453  	// CreateTime is a required field
  7454  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  7455  }
  7456  
  7457  // String returns the string representation.
  7458  //
  7459  // API parameter values that are decorated as "sensitive" in the API will not
  7460  // be included in the string output. The member name will be present, but the
  7461  // value will be replaced with "sensitive".
  7462  func (s CreateGeofenceCollectionOutput) String() string {
  7463  	return awsutil.Prettify(s)
  7464  }
  7465  
  7466  // GoString returns the string representation.
  7467  //
  7468  // API parameter values that are decorated as "sensitive" in the API will not
  7469  // be included in the string output. The member name will be present, but the
  7470  // value will be replaced with "sensitive".
  7471  func (s CreateGeofenceCollectionOutput) GoString() string {
  7472  	return s.String()
  7473  }
  7474  
  7475  // SetCollectionArn sets the CollectionArn field's value.
  7476  func (s *CreateGeofenceCollectionOutput) SetCollectionArn(v string) *CreateGeofenceCollectionOutput {
  7477  	s.CollectionArn = &v
  7478  	return s
  7479  }
  7480  
  7481  // SetCollectionName sets the CollectionName field's value.
  7482  func (s *CreateGeofenceCollectionOutput) SetCollectionName(v string) *CreateGeofenceCollectionOutput {
  7483  	s.CollectionName = &v
  7484  	return s
  7485  }
  7486  
  7487  // SetCreateTime sets the CreateTime field's value.
  7488  func (s *CreateGeofenceCollectionOutput) SetCreateTime(v time.Time) *CreateGeofenceCollectionOutput {
  7489  	s.CreateTime = &v
  7490  	return s
  7491  }
  7492  
  7493  type CreateMapInput struct {
  7494  	_ struct{} `type:"structure"`
  7495  
  7496  	// Specifies the map style selected from an available data provider.
  7497  	//
  7498  	// Configuration is a required field
  7499  	Configuration *MapConfiguration `type:"structure" required:"true"`
  7500  
  7501  	// An optional description for the map resource.
  7502  	Description *string `type:"string"`
  7503  
  7504  	// The name for the map resource.
  7505  	//
  7506  	// Requirements:
  7507  	//
  7508  	//    * Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
  7509  	//    (-), periods (.), and underscores (_).
  7510  	//
  7511  	//    * Must be a unique map resource name.
  7512  	//
  7513  	//    * No spaces allowed. For example, ExampleMap.
  7514  	//
  7515  	// MapName is a required field
  7516  	MapName *string `min:"1" type:"string" required:"true"`
  7517  
  7518  	// Specifies the pricing plan for your map resource.
  7519  	//
  7520  	// For additional details and restrictions on each pricing plan option, see
  7521  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  7522  	//
  7523  	// PricingPlan is a required field
  7524  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  7525  
  7526  	// Applies one or more tags to the map resource. A tag is a key-value pair helps
  7527  	// manage, identify, search, and filter your resources by labelling them.
  7528  	//
  7529  	// Format: "key" : "value"
  7530  	//
  7531  	// Restrictions:
  7532  	//
  7533  	//    * Maximum 50 tags per resource
  7534  	//
  7535  	//    * Each resource tag must be unique with a maximum of one value.
  7536  	//
  7537  	//    * Maximum key length: 128 Unicode characters in UTF-8
  7538  	//
  7539  	//    * Maximum value length: 256 Unicode characters in UTF-8
  7540  	//
  7541  	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
  7542  	//    characters: + - = . _ : / @.
  7543  	Tags map[string]*string `type:"map"`
  7544  }
  7545  
  7546  // String returns the string representation.
  7547  //
  7548  // API parameter values that are decorated as "sensitive" in the API will not
  7549  // be included in the string output. The member name will be present, but the
  7550  // value will be replaced with "sensitive".
  7551  func (s CreateMapInput) String() string {
  7552  	return awsutil.Prettify(s)
  7553  }
  7554  
  7555  // GoString returns the string representation.
  7556  //
  7557  // API parameter values that are decorated as "sensitive" in the API will not
  7558  // be included in the string output. The member name will be present, but the
  7559  // value will be replaced with "sensitive".
  7560  func (s CreateMapInput) GoString() string {
  7561  	return s.String()
  7562  }
  7563  
  7564  // Validate inspects the fields of the type to determine if they are valid.
  7565  func (s *CreateMapInput) Validate() error {
  7566  	invalidParams := request.ErrInvalidParams{Context: "CreateMapInput"}
  7567  	if s.Configuration == nil {
  7568  		invalidParams.Add(request.NewErrParamRequired("Configuration"))
  7569  	}
  7570  	if s.MapName == nil {
  7571  		invalidParams.Add(request.NewErrParamRequired("MapName"))
  7572  	}
  7573  	if s.MapName != nil && len(*s.MapName) < 1 {
  7574  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
  7575  	}
  7576  	if s.PricingPlan == nil {
  7577  		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
  7578  	}
  7579  	if s.Configuration != nil {
  7580  		if err := s.Configuration.Validate(); err != nil {
  7581  			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
  7582  		}
  7583  	}
  7584  
  7585  	if invalidParams.Len() > 0 {
  7586  		return invalidParams
  7587  	}
  7588  	return nil
  7589  }
  7590  
  7591  // SetConfiguration sets the Configuration field's value.
  7592  func (s *CreateMapInput) SetConfiguration(v *MapConfiguration) *CreateMapInput {
  7593  	s.Configuration = v
  7594  	return s
  7595  }
  7596  
  7597  // SetDescription sets the Description field's value.
  7598  func (s *CreateMapInput) SetDescription(v string) *CreateMapInput {
  7599  	s.Description = &v
  7600  	return s
  7601  }
  7602  
  7603  // SetMapName sets the MapName field's value.
  7604  func (s *CreateMapInput) SetMapName(v string) *CreateMapInput {
  7605  	s.MapName = &v
  7606  	return s
  7607  }
  7608  
  7609  // SetPricingPlan sets the PricingPlan field's value.
  7610  func (s *CreateMapInput) SetPricingPlan(v string) *CreateMapInput {
  7611  	s.PricingPlan = &v
  7612  	return s
  7613  }
  7614  
  7615  // SetTags sets the Tags field's value.
  7616  func (s *CreateMapInput) SetTags(v map[string]*string) *CreateMapInput {
  7617  	s.Tags = v
  7618  	return s
  7619  }
  7620  
  7621  type CreateMapOutput struct {
  7622  	_ struct{} `type:"structure"`
  7623  
  7624  	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  7625  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  7626  	//
  7627  	// CreateTime is a required field
  7628  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  7629  
  7630  	// The Amazon Resource Name (ARN) for the map resource. Used to specify a resource
  7631  	// across all AWS.
  7632  	//
  7633  	//    * Format example: arn:aws:geo:region:account-id:maps/ExampleMap
  7634  	//
  7635  	// MapArn is a required field
  7636  	MapArn *string `type:"string" required:"true"`
  7637  
  7638  	// The name of the map resource.
  7639  	//
  7640  	// MapName is a required field
  7641  	MapName *string `min:"1" type:"string" required:"true"`
  7642  }
  7643  
  7644  // String returns the string representation.
  7645  //
  7646  // API parameter values that are decorated as "sensitive" in the API will not
  7647  // be included in the string output. The member name will be present, but the
  7648  // value will be replaced with "sensitive".
  7649  func (s CreateMapOutput) String() string {
  7650  	return awsutil.Prettify(s)
  7651  }
  7652  
  7653  // GoString returns the string representation.
  7654  //
  7655  // API parameter values that are decorated as "sensitive" in the API will not
  7656  // be included in the string output. The member name will be present, but the
  7657  // value will be replaced with "sensitive".
  7658  func (s CreateMapOutput) GoString() string {
  7659  	return s.String()
  7660  }
  7661  
  7662  // SetCreateTime sets the CreateTime field's value.
  7663  func (s *CreateMapOutput) SetCreateTime(v time.Time) *CreateMapOutput {
  7664  	s.CreateTime = &v
  7665  	return s
  7666  }
  7667  
  7668  // SetMapArn sets the MapArn field's value.
  7669  func (s *CreateMapOutput) SetMapArn(v string) *CreateMapOutput {
  7670  	s.MapArn = &v
  7671  	return s
  7672  }
  7673  
  7674  // SetMapName sets the MapName field's value.
  7675  func (s *CreateMapOutput) SetMapName(v string) *CreateMapOutput {
  7676  	s.MapName = &v
  7677  	return s
  7678  }
  7679  
  7680  type CreatePlaceIndexInput struct {
  7681  	_ struct{} `type:"structure"`
  7682  
  7683  	// Specifies the data provider of geospatial data.
  7684  	//
  7685  	// This field is case-sensitive. Enter the valid values as shown. For example,
  7686  	// entering HERE returns an error.
  7687  	//
  7688  	// Valid values include:
  7689  	//
  7690  	//    * Esri – For additional information about Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)'s
  7691  	//    coverage in your region of interest, see Esri details on geocoding coverage
  7692  	//    (https://developers.arcgis.com/rest/geocode/api-reference/geocode-coverage.htm).
  7693  	//
  7694  	//    * Here – For additional information about HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)'
  7695  	//    coverage in your region of interest, see HERE details on goecoding coverage
  7696  	//    (https://developer.here.com/documentation/geocoder/dev_guide/topics/coverage-geocoder.html).
  7697  	//    Place index resources using HERE Technologies as a data provider can't
  7698  	//    store results (https://docs.aws.amazon.com/location-places/latest/APIReference/API_DataSourceConfiguration.html)
  7699  	//    for locations in Japan. For more information, see the AWS Service Terms
  7700  	//    (https://aws.amazon.com/service-terms/) for Amazon Location Service.
  7701  	//
  7702  	// For additional information , see Data providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html)
  7703  	// on the Amazon Location Service Developer Guide.
  7704  	//
  7705  	// DataSource is a required field
  7706  	DataSource *string `type:"string" required:"true"`
  7707  
  7708  	// Specifies the data storage option requesting Places.
  7709  	DataSourceConfiguration *DataSourceConfiguration `type:"structure"`
  7710  
  7711  	// The optional description for the place index resource.
  7712  	Description *string `type:"string"`
  7713  
  7714  	// The name of the place index resource.
  7715  	//
  7716  	// Requirements:
  7717  	//
  7718  	//    * Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
  7719  	//    (-), periods (.), and underscores (_).
  7720  	//
  7721  	//    * Must be a unique place index resource name.
  7722  	//
  7723  	//    * No spaces allowed. For example, ExamplePlaceIndex.
  7724  	//
  7725  	// IndexName is a required field
  7726  	IndexName *string `min:"1" type:"string" required:"true"`
  7727  
  7728  	// Specifies the pricing plan for your place index resource.
  7729  	//
  7730  	// For additional details and restrictions on each pricing plan option, see
  7731  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  7732  	//
  7733  	// PricingPlan is a required field
  7734  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  7735  
  7736  	// Applies one or more tags to the place index resource. A tag is a key-value
  7737  	// pair helps manage, identify, search, and filter your resources by labelling
  7738  	// them.
  7739  	//
  7740  	// Format: "key" : "value"
  7741  	//
  7742  	// Restrictions:
  7743  	//
  7744  	//    * Maximum 50 tags per resource
  7745  	//
  7746  	//    * Each resource tag must be unique with a maximum of one value.
  7747  	//
  7748  	//    * Maximum key length: 128 Unicode characters in UTF-8
  7749  	//
  7750  	//    * Maximum value length: 256 Unicode characters in UTF-8
  7751  	//
  7752  	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
  7753  	//    characters: + - = . _ : / @.
  7754  	Tags map[string]*string `type:"map"`
  7755  }
  7756  
  7757  // String returns the string representation.
  7758  //
  7759  // API parameter values that are decorated as "sensitive" in the API will not
  7760  // be included in the string output. The member name will be present, but the
  7761  // value will be replaced with "sensitive".
  7762  func (s CreatePlaceIndexInput) String() string {
  7763  	return awsutil.Prettify(s)
  7764  }
  7765  
  7766  // GoString returns the string representation.
  7767  //
  7768  // API parameter values that are decorated as "sensitive" in the API will not
  7769  // be included in the string output. The member name will be present, but the
  7770  // value will be replaced with "sensitive".
  7771  func (s CreatePlaceIndexInput) GoString() string {
  7772  	return s.String()
  7773  }
  7774  
  7775  // Validate inspects the fields of the type to determine if they are valid.
  7776  func (s *CreatePlaceIndexInput) Validate() error {
  7777  	invalidParams := request.ErrInvalidParams{Context: "CreatePlaceIndexInput"}
  7778  	if s.DataSource == nil {
  7779  		invalidParams.Add(request.NewErrParamRequired("DataSource"))
  7780  	}
  7781  	if s.IndexName == nil {
  7782  		invalidParams.Add(request.NewErrParamRequired("IndexName"))
  7783  	}
  7784  	if s.IndexName != nil && len(*s.IndexName) < 1 {
  7785  		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
  7786  	}
  7787  	if s.PricingPlan == nil {
  7788  		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
  7789  	}
  7790  
  7791  	if invalidParams.Len() > 0 {
  7792  		return invalidParams
  7793  	}
  7794  	return nil
  7795  }
  7796  
  7797  // SetDataSource sets the DataSource field's value.
  7798  func (s *CreatePlaceIndexInput) SetDataSource(v string) *CreatePlaceIndexInput {
  7799  	s.DataSource = &v
  7800  	return s
  7801  }
  7802  
  7803  // SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
  7804  func (s *CreatePlaceIndexInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *CreatePlaceIndexInput {
  7805  	s.DataSourceConfiguration = v
  7806  	return s
  7807  }
  7808  
  7809  // SetDescription sets the Description field's value.
  7810  func (s *CreatePlaceIndexInput) SetDescription(v string) *CreatePlaceIndexInput {
  7811  	s.Description = &v
  7812  	return s
  7813  }
  7814  
  7815  // SetIndexName sets the IndexName field's value.
  7816  func (s *CreatePlaceIndexInput) SetIndexName(v string) *CreatePlaceIndexInput {
  7817  	s.IndexName = &v
  7818  	return s
  7819  }
  7820  
  7821  // SetPricingPlan sets the PricingPlan field's value.
  7822  func (s *CreatePlaceIndexInput) SetPricingPlan(v string) *CreatePlaceIndexInput {
  7823  	s.PricingPlan = &v
  7824  	return s
  7825  }
  7826  
  7827  // SetTags sets the Tags field's value.
  7828  func (s *CreatePlaceIndexInput) SetTags(v map[string]*string) *CreatePlaceIndexInput {
  7829  	s.Tags = v
  7830  	return s
  7831  }
  7832  
  7833  type CreatePlaceIndexOutput struct {
  7834  	_ struct{} `type:"structure"`
  7835  
  7836  	// The timestamp for when the place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  7837  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  7838  	//
  7839  	// CreateTime is a required field
  7840  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  7841  
  7842  	// The Amazon Resource Name (ARN) for the place index resource. Used to specify
  7843  	// a resource across AWS.
  7844  	//
  7845  	//    * Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex
  7846  	//
  7847  	// IndexArn is a required field
  7848  	IndexArn *string `type:"string" required:"true"`
  7849  
  7850  	// The name for the place index resource.
  7851  	//
  7852  	// IndexName is a required field
  7853  	IndexName *string `min:"1" type:"string" required:"true"`
  7854  }
  7855  
  7856  // String returns the string representation.
  7857  //
  7858  // API parameter values that are decorated as "sensitive" in the API will not
  7859  // be included in the string output. The member name will be present, but the
  7860  // value will be replaced with "sensitive".
  7861  func (s CreatePlaceIndexOutput) String() string {
  7862  	return awsutil.Prettify(s)
  7863  }
  7864  
  7865  // GoString returns the string representation.
  7866  //
  7867  // API parameter values that are decorated as "sensitive" in the API will not
  7868  // be included in the string output. The member name will be present, but the
  7869  // value will be replaced with "sensitive".
  7870  func (s CreatePlaceIndexOutput) GoString() string {
  7871  	return s.String()
  7872  }
  7873  
  7874  // SetCreateTime sets the CreateTime field's value.
  7875  func (s *CreatePlaceIndexOutput) SetCreateTime(v time.Time) *CreatePlaceIndexOutput {
  7876  	s.CreateTime = &v
  7877  	return s
  7878  }
  7879  
  7880  // SetIndexArn sets the IndexArn field's value.
  7881  func (s *CreatePlaceIndexOutput) SetIndexArn(v string) *CreatePlaceIndexOutput {
  7882  	s.IndexArn = &v
  7883  	return s
  7884  }
  7885  
  7886  // SetIndexName sets the IndexName field's value.
  7887  func (s *CreatePlaceIndexOutput) SetIndexName(v string) *CreatePlaceIndexOutput {
  7888  	s.IndexName = &v
  7889  	return s
  7890  }
  7891  
  7892  type CreateRouteCalculatorInput struct {
  7893  	_ struct{} `type:"structure"`
  7894  
  7895  	// The name of the route calculator resource.
  7896  	//
  7897  	// Requirements:
  7898  	//
  7899  	//    * Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-),
  7900  	//    periods (.), and underscores (_).
  7901  	//
  7902  	//    * Must be a unique Route calculator resource name.
  7903  	//
  7904  	//    * No spaces allowed. For example, ExampleRouteCalculator.
  7905  	//
  7906  	// CalculatorName is a required field
  7907  	CalculatorName *string `min:"1" type:"string" required:"true"`
  7908  
  7909  	// Specifies the data provider of traffic and road network data.
  7910  	//
  7911  	// This field is case-sensitive. Enter the valid values as shown. For example,
  7912  	// entering HERE returns an error. Route calculators that use Esri as a data
  7913  	// source only calculate routes that are shorter than 400 km.
  7914  	//
  7915  	// Valid values include:
  7916  	//
  7917  	//    * Esri – For additional information about Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)'s
  7918  	//    coverage in your region of interest, see Esri details on street networks
  7919  	//    and traffic coverage (https://doc.arcgis.com/en/arcgis-online/reference/network-coverage.htm).
  7920  	//
  7921  	//    * Here – For additional information about HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)'
  7922  	//    coverage in your region of interest, see HERE car routing coverage (https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/car-routing.html)
  7923  	//    and HERE truck routing coverage (https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/truck-routing.html).
  7924  	//
  7925  	// For additional information , see Data providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html)
  7926  	// on the Amazon Location Service Developer Guide.
  7927  	//
  7928  	// DataSource is a required field
  7929  	DataSource *string `type:"string" required:"true"`
  7930  
  7931  	// The optional description for the route calculator resource.
  7932  	Description *string `type:"string"`
  7933  
  7934  	// Specifies the pricing plan for your route calculator resource.
  7935  	//
  7936  	// For additional details and restrictions on each pricing plan option, see
  7937  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  7938  	//
  7939  	// PricingPlan is a required field
  7940  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  7941  
  7942  	// Applies one or more tags to the route calculator resource. A tag is a key-value
  7943  	// pair helps manage, identify, search, and filter your resources by labelling
  7944  	// them.
  7945  	//
  7946  	//    * For example: { "tag1" : "value1", "tag2" : "value2"}
  7947  	//
  7948  	// Format: "key" : "value"
  7949  	//
  7950  	// Restrictions:
  7951  	//
  7952  	//    * Maximum 50 tags per resource
  7953  	//
  7954  	//    * Each resource tag must be unique with a maximum of one value.
  7955  	//
  7956  	//    * Maximum key length: 128 Unicode characters in UTF-8
  7957  	//
  7958  	//    * Maximum value length: 256 Unicode characters in UTF-8
  7959  	//
  7960  	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
  7961  	//    characters: + - = . _ : / @.
  7962  	Tags map[string]*string `type:"map"`
  7963  }
  7964  
  7965  // String returns the string representation.
  7966  //
  7967  // API parameter values that are decorated as "sensitive" in the API will not
  7968  // be included in the string output. The member name will be present, but the
  7969  // value will be replaced with "sensitive".
  7970  func (s CreateRouteCalculatorInput) String() string {
  7971  	return awsutil.Prettify(s)
  7972  }
  7973  
  7974  // GoString returns the string representation.
  7975  //
  7976  // API parameter values that are decorated as "sensitive" in the API will not
  7977  // be included in the string output. The member name will be present, but the
  7978  // value will be replaced with "sensitive".
  7979  func (s CreateRouteCalculatorInput) GoString() string {
  7980  	return s.String()
  7981  }
  7982  
  7983  // Validate inspects the fields of the type to determine if they are valid.
  7984  func (s *CreateRouteCalculatorInput) Validate() error {
  7985  	invalidParams := request.ErrInvalidParams{Context: "CreateRouteCalculatorInput"}
  7986  	if s.CalculatorName == nil {
  7987  		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
  7988  	}
  7989  	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
  7990  		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
  7991  	}
  7992  	if s.DataSource == nil {
  7993  		invalidParams.Add(request.NewErrParamRequired("DataSource"))
  7994  	}
  7995  	if s.PricingPlan == nil {
  7996  		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
  7997  	}
  7998  
  7999  	if invalidParams.Len() > 0 {
  8000  		return invalidParams
  8001  	}
  8002  	return nil
  8003  }
  8004  
  8005  // SetCalculatorName sets the CalculatorName field's value.
  8006  func (s *CreateRouteCalculatorInput) SetCalculatorName(v string) *CreateRouteCalculatorInput {
  8007  	s.CalculatorName = &v
  8008  	return s
  8009  }
  8010  
  8011  // SetDataSource sets the DataSource field's value.
  8012  func (s *CreateRouteCalculatorInput) SetDataSource(v string) *CreateRouteCalculatorInput {
  8013  	s.DataSource = &v
  8014  	return s
  8015  }
  8016  
  8017  // SetDescription sets the Description field's value.
  8018  func (s *CreateRouteCalculatorInput) SetDescription(v string) *CreateRouteCalculatorInput {
  8019  	s.Description = &v
  8020  	return s
  8021  }
  8022  
  8023  // SetPricingPlan sets the PricingPlan field's value.
  8024  func (s *CreateRouteCalculatorInput) SetPricingPlan(v string) *CreateRouteCalculatorInput {
  8025  	s.PricingPlan = &v
  8026  	return s
  8027  }
  8028  
  8029  // SetTags sets the Tags field's value.
  8030  func (s *CreateRouteCalculatorInput) SetTags(v map[string]*string) *CreateRouteCalculatorInput {
  8031  	s.Tags = v
  8032  	return s
  8033  }
  8034  
  8035  type CreateRouteCalculatorOutput struct {
  8036  	_ struct{} `type:"structure"`
  8037  
  8038  	// The Amazon Resource Name (ARN) for the route calculator resource. Use the
  8039  	// ARN when you specify a resource across all AWS.
  8040  	//
  8041  	//    * Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator
  8042  	//
  8043  	// CalculatorArn is a required field
  8044  	CalculatorArn *string `type:"string" required:"true"`
  8045  
  8046  	// The name of the route calculator resource.
  8047  	//
  8048  	//    * For example, ExampleRouteCalculator.
  8049  	//
  8050  	// CalculatorName is a required field
  8051  	CalculatorName *string `min:"1" type:"string" required:"true"`
  8052  
  8053  	// The timestamp when the route calculator resource was created in ISO 8601
  8054  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  8055  	//
  8056  	//    * For example, 2020–07-2T12:15:20.000Z+01:00
  8057  	//
  8058  	// CreateTime is a required field
  8059  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8060  }
  8061  
  8062  // String returns the string representation.
  8063  //
  8064  // API parameter values that are decorated as "sensitive" in the API will not
  8065  // be included in the string output. The member name will be present, but the
  8066  // value will be replaced with "sensitive".
  8067  func (s CreateRouteCalculatorOutput) String() string {
  8068  	return awsutil.Prettify(s)
  8069  }
  8070  
  8071  // GoString returns the string representation.
  8072  //
  8073  // API parameter values that are decorated as "sensitive" in the API will not
  8074  // be included in the string output. The member name will be present, but the
  8075  // value will be replaced with "sensitive".
  8076  func (s CreateRouteCalculatorOutput) GoString() string {
  8077  	return s.String()
  8078  }
  8079  
  8080  // SetCalculatorArn sets the CalculatorArn field's value.
  8081  func (s *CreateRouteCalculatorOutput) SetCalculatorArn(v string) *CreateRouteCalculatorOutput {
  8082  	s.CalculatorArn = &v
  8083  	return s
  8084  }
  8085  
  8086  // SetCalculatorName sets the CalculatorName field's value.
  8087  func (s *CreateRouteCalculatorOutput) SetCalculatorName(v string) *CreateRouteCalculatorOutput {
  8088  	s.CalculatorName = &v
  8089  	return s
  8090  }
  8091  
  8092  // SetCreateTime sets the CreateTime field's value.
  8093  func (s *CreateRouteCalculatorOutput) SetCreateTime(v time.Time) *CreateRouteCalculatorOutput {
  8094  	s.CreateTime = &v
  8095  	return s
  8096  }
  8097  
  8098  type CreateTrackerInput struct {
  8099  	_ struct{} `type:"structure"`
  8100  
  8101  	// An optional description for the tracker resource.
  8102  	Description *string `type:"string"`
  8103  
  8104  	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
  8105  	// Enter a key ID, key ARN, alias name, or alias ARN.
  8106  	KmsKeyId *string `min:"1" type:"string"`
  8107  
  8108  	// Specifies the position filtering for the tracker resource.
  8109  	//
  8110  	// Valid values:
  8111  	//
  8112  	//    * TimeBased - Location updates are evaluated against linked geofence collections,
  8113  	//    but not every location update is stored. If your update frequency is more
  8114  	//    often than 30 seconds, only one update per 30 seconds is stored for each
  8115  	//    unique device ID.
  8116  	//
  8117  	//    * DistanceBased - If the device has moved less than 30 m (98.4 ft), location
  8118  	//    updates are ignored. Location updates within this distance are neither
  8119  	//    evaluated against linked geofence collections, nor stored. This helps
  8120  	//    control costs by reducing the number of geofence evaluations and device
  8121  	//    positions to retrieve. Distance-based filtering can also reduce the jitter
  8122  	//    effect when displaying device trajectory on a map.
  8123  	//
  8124  	// This field is optional. If not specified, the default value is TimeBased.
  8125  	PositionFiltering *string `type:"string" enum:"PositionFiltering"`
  8126  
  8127  	// Specifies the pricing plan for the tracker resource.
  8128  	//
  8129  	// For additional details and restrictions on each pricing plan option, see
  8130  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  8131  	//
  8132  	// PricingPlan is a required field
  8133  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  8134  
  8135  	// Specifies the data provider for the tracker resource.
  8136  	//
  8137  	//    * Required value for the following pricing plans: MobileAssetTracking
  8138  	//    | MobileAssetManagement
  8139  	//
  8140  	// For more information about Data Providers (https://aws.amazon.com/location/data-providers/),
  8141  	// and Pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
  8142  	// Location Service product page.
  8143  	//
  8144  	// Amazon Location Service only uses PricingPlanDataSource to calculate billing
  8145  	// for your tracker resource. Your data will not be shared with the data provider,
  8146  	// and will remain in your AWS account or Region unless you move it.
  8147  	//
  8148  	// Valid values: Esri | Here
  8149  	PricingPlanDataSource *string `type:"string"`
  8150  
  8151  	// Applies one or more tags to the tracker resource. A tag is a key-value pair
  8152  	// helps manage, identify, search, and filter your resources by labelling them.
  8153  	//
  8154  	// Format: "key" : "value"
  8155  	//
  8156  	// Restrictions:
  8157  	//
  8158  	//    * Maximum 50 tags per resource
  8159  	//
  8160  	//    * Each resource tag must be unique with a maximum of one value.
  8161  	//
  8162  	//    * Maximum key length: 128 Unicode characters in UTF-8
  8163  	//
  8164  	//    * Maximum value length: 256 Unicode characters in UTF-8
  8165  	//
  8166  	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
  8167  	//    characters: + - = . _ : / @.
  8168  	Tags map[string]*string `type:"map"`
  8169  
  8170  	// The name for the tracker resource.
  8171  	//
  8172  	// Requirements:
  8173  	//
  8174  	//    * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),
  8175  	//    periods (.), and underscores (_).
  8176  	//
  8177  	//    * Must be a unique tracker resource name.
  8178  	//
  8179  	//    * No spaces allowed. For example, ExampleTracker.
  8180  	//
  8181  	// TrackerName is a required field
  8182  	TrackerName *string `min:"1" type:"string" required:"true"`
  8183  }
  8184  
  8185  // String returns the string representation.
  8186  //
  8187  // API parameter values that are decorated as "sensitive" in the API will not
  8188  // be included in the string output. The member name will be present, but the
  8189  // value will be replaced with "sensitive".
  8190  func (s CreateTrackerInput) String() string {
  8191  	return awsutil.Prettify(s)
  8192  }
  8193  
  8194  // GoString returns the string representation.
  8195  //
  8196  // API parameter values that are decorated as "sensitive" in the API will not
  8197  // be included in the string output. The member name will be present, but the
  8198  // value will be replaced with "sensitive".
  8199  func (s CreateTrackerInput) GoString() string {
  8200  	return s.String()
  8201  }
  8202  
  8203  // Validate inspects the fields of the type to determine if they are valid.
  8204  func (s *CreateTrackerInput) Validate() error {
  8205  	invalidParams := request.ErrInvalidParams{Context: "CreateTrackerInput"}
  8206  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  8207  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  8208  	}
  8209  	if s.PricingPlan == nil {
  8210  		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
  8211  	}
  8212  	if s.TrackerName == nil {
  8213  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  8214  	}
  8215  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  8216  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  8217  	}
  8218  
  8219  	if invalidParams.Len() > 0 {
  8220  		return invalidParams
  8221  	}
  8222  	return nil
  8223  }
  8224  
  8225  // SetDescription sets the Description field's value.
  8226  func (s *CreateTrackerInput) SetDescription(v string) *CreateTrackerInput {
  8227  	s.Description = &v
  8228  	return s
  8229  }
  8230  
  8231  // SetKmsKeyId sets the KmsKeyId field's value.
  8232  func (s *CreateTrackerInput) SetKmsKeyId(v string) *CreateTrackerInput {
  8233  	s.KmsKeyId = &v
  8234  	return s
  8235  }
  8236  
  8237  // SetPositionFiltering sets the PositionFiltering field's value.
  8238  func (s *CreateTrackerInput) SetPositionFiltering(v string) *CreateTrackerInput {
  8239  	s.PositionFiltering = &v
  8240  	return s
  8241  }
  8242  
  8243  // SetPricingPlan sets the PricingPlan field's value.
  8244  func (s *CreateTrackerInput) SetPricingPlan(v string) *CreateTrackerInput {
  8245  	s.PricingPlan = &v
  8246  	return s
  8247  }
  8248  
  8249  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
  8250  func (s *CreateTrackerInput) SetPricingPlanDataSource(v string) *CreateTrackerInput {
  8251  	s.PricingPlanDataSource = &v
  8252  	return s
  8253  }
  8254  
  8255  // SetTags sets the Tags field's value.
  8256  func (s *CreateTrackerInput) SetTags(v map[string]*string) *CreateTrackerInput {
  8257  	s.Tags = v
  8258  	return s
  8259  }
  8260  
  8261  // SetTrackerName sets the TrackerName field's value.
  8262  func (s *CreateTrackerInput) SetTrackerName(v string) *CreateTrackerInput {
  8263  	s.TrackerName = &v
  8264  	return s
  8265  }
  8266  
  8267  type CreateTrackerOutput struct {
  8268  	_ struct{} `type:"structure"`
  8269  
  8270  	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  8271  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  8272  	//
  8273  	// CreateTime is a required field
  8274  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8275  
  8276  	// The Amazon Resource Name (ARN) for the tracker resource. Used when you need
  8277  	// to specify a resource across all AWS.
  8278  	//
  8279  	//    * Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker
  8280  	//
  8281  	// TrackerArn is a required field
  8282  	TrackerArn *string `type:"string" required:"true"`
  8283  
  8284  	// The name of the tracker resource.
  8285  	//
  8286  	// TrackerName is a required field
  8287  	TrackerName *string `min:"1" type:"string" required:"true"`
  8288  }
  8289  
  8290  // String returns the string representation.
  8291  //
  8292  // API parameter values that are decorated as "sensitive" in the API will not
  8293  // be included in the string output. The member name will be present, but the
  8294  // value will be replaced with "sensitive".
  8295  func (s CreateTrackerOutput) String() string {
  8296  	return awsutil.Prettify(s)
  8297  }
  8298  
  8299  // GoString returns the string representation.
  8300  //
  8301  // API parameter values that are decorated as "sensitive" in the API will not
  8302  // be included in the string output. The member name will be present, but the
  8303  // value will be replaced with "sensitive".
  8304  func (s CreateTrackerOutput) GoString() string {
  8305  	return s.String()
  8306  }
  8307  
  8308  // SetCreateTime sets the CreateTime field's value.
  8309  func (s *CreateTrackerOutput) SetCreateTime(v time.Time) *CreateTrackerOutput {
  8310  	s.CreateTime = &v
  8311  	return s
  8312  }
  8313  
  8314  // SetTrackerArn sets the TrackerArn field's value.
  8315  func (s *CreateTrackerOutput) SetTrackerArn(v string) *CreateTrackerOutput {
  8316  	s.TrackerArn = &v
  8317  	return s
  8318  }
  8319  
  8320  // SetTrackerName sets the TrackerName field's value.
  8321  func (s *CreateTrackerOutput) SetTrackerName(v string) *CreateTrackerOutput {
  8322  	s.TrackerName = &v
  8323  	return s
  8324  }
  8325  
  8326  // Specifies the data storage option chosen for requesting Places.
  8327  //
  8328  // When using Amazon Location Places:
  8329  //
  8330  //    * If using HERE Technologies as a data provider, you can't store results
  8331  //    for locations in Japan by setting IntendedUse to Storage. parameter.
  8332  //
  8333  //    * Under the MobileAssetTracking or MobilAssetManagement pricing plan,
  8334  //    you can't store results from your place index resources by setting IntendedUse
  8335  //    to Storage. This returns a validation exception error.
  8336  //
  8337  // For more information, see the AWS Service Terms (https://aws.amazon.com/service-terms/)
  8338  // for Amazon Location Service.
  8339  type DataSourceConfiguration struct {
  8340  	_ struct{} `type:"structure"`
  8341  
  8342  	// Specifies how the results of an operation will be stored by the caller.
  8343  	//
  8344  	// Valid values include:
  8345  	//
  8346  	//    * SingleUse specifies that the results won't be stored.
  8347  	//
  8348  	//    * Storage specifies that the result can be cached or stored in a database.
  8349  	//
  8350  	// Default value: SingleUse
  8351  	IntendedUse *string `type:"string" enum:"IntendedUse"`
  8352  }
  8353  
  8354  // String returns the string representation.
  8355  //
  8356  // API parameter values that are decorated as "sensitive" in the API will not
  8357  // be included in the string output. The member name will be present, but the
  8358  // value will be replaced with "sensitive".
  8359  func (s DataSourceConfiguration) String() string {
  8360  	return awsutil.Prettify(s)
  8361  }
  8362  
  8363  // GoString returns the string representation.
  8364  //
  8365  // API parameter values that are decorated as "sensitive" in the API will not
  8366  // be included in the string output. The member name will be present, but the
  8367  // value will be replaced with "sensitive".
  8368  func (s DataSourceConfiguration) GoString() string {
  8369  	return s.String()
  8370  }
  8371  
  8372  // SetIntendedUse sets the IntendedUse field's value.
  8373  func (s *DataSourceConfiguration) SetIntendedUse(v string) *DataSourceConfiguration {
  8374  	s.IntendedUse = &v
  8375  	return s
  8376  }
  8377  
  8378  type DeleteGeofenceCollectionInput struct {
  8379  	_ struct{} `type:"structure" nopayload:"true"`
  8380  
  8381  	// The name of the geofence collection to be deleted.
  8382  	//
  8383  	// CollectionName is a required field
  8384  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
  8385  }
  8386  
  8387  // String returns the string representation.
  8388  //
  8389  // API parameter values that are decorated as "sensitive" in the API will not
  8390  // be included in the string output. The member name will be present, but the
  8391  // value will be replaced with "sensitive".
  8392  func (s DeleteGeofenceCollectionInput) String() string {
  8393  	return awsutil.Prettify(s)
  8394  }
  8395  
  8396  // GoString returns the string representation.
  8397  //
  8398  // API parameter values that are decorated as "sensitive" in the API will not
  8399  // be included in the string output. The member name will be present, but the
  8400  // value will be replaced with "sensitive".
  8401  func (s DeleteGeofenceCollectionInput) GoString() string {
  8402  	return s.String()
  8403  }
  8404  
  8405  // Validate inspects the fields of the type to determine if they are valid.
  8406  func (s *DeleteGeofenceCollectionInput) Validate() error {
  8407  	invalidParams := request.ErrInvalidParams{Context: "DeleteGeofenceCollectionInput"}
  8408  	if s.CollectionName == nil {
  8409  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
  8410  	}
  8411  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
  8412  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
  8413  	}
  8414  
  8415  	if invalidParams.Len() > 0 {
  8416  		return invalidParams
  8417  	}
  8418  	return nil
  8419  }
  8420  
  8421  // SetCollectionName sets the CollectionName field's value.
  8422  func (s *DeleteGeofenceCollectionInput) SetCollectionName(v string) *DeleteGeofenceCollectionInput {
  8423  	s.CollectionName = &v
  8424  	return s
  8425  }
  8426  
  8427  type DeleteGeofenceCollectionOutput struct {
  8428  	_ struct{} `type:"structure" nopayload:"true"`
  8429  }
  8430  
  8431  // String returns the string representation.
  8432  //
  8433  // API parameter values that are decorated as "sensitive" in the API will not
  8434  // be included in the string output. The member name will be present, but the
  8435  // value will be replaced with "sensitive".
  8436  func (s DeleteGeofenceCollectionOutput) String() string {
  8437  	return awsutil.Prettify(s)
  8438  }
  8439  
  8440  // GoString returns the string representation.
  8441  //
  8442  // API parameter values that are decorated as "sensitive" in the API will not
  8443  // be included in the string output. The member name will be present, but the
  8444  // value will be replaced with "sensitive".
  8445  func (s DeleteGeofenceCollectionOutput) GoString() string {
  8446  	return s.String()
  8447  }
  8448  
  8449  type DeleteMapInput struct {
  8450  	_ struct{} `type:"structure" nopayload:"true"`
  8451  
  8452  	// The name of the map resource to be deleted.
  8453  	//
  8454  	// MapName is a required field
  8455  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
  8456  }
  8457  
  8458  // String returns the string representation.
  8459  //
  8460  // API parameter values that are decorated as "sensitive" in the API will not
  8461  // be included in the string output. The member name will be present, but the
  8462  // value will be replaced with "sensitive".
  8463  func (s DeleteMapInput) String() string {
  8464  	return awsutil.Prettify(s)
  8465  }
  8466  
  8467  // GoString returns the string representation.
  8468  //
  8469  // API parameter values that are decorated as "sensitive" in the API will not
  8470  // be included in the string output. The member name will be present, but the
  8471  // value will be replaced with "sensitive".
  8472  func (s DeleteMapInput) GoString() string {
  8473  	return s.String()
  8474  }
  8475  
  8476  // Validate inspects the fields of the type to determine if they are valid.
  8477  func (s *DeleteMapInput) Validate() error {
  8478  	invalidParams := request.ErrInvalidParams{Context: "DeleteMapInput"}
  8479  	if s.MapName == nil {
  8480  		invalidParams.Add(request.NewErrParamRequired("MapName"))
  8481  	}
  8482  	if s.MapName != nil && len(*s.MapName) < 1 {
  8483  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
  8484  	}
  8485  
  8486  	if invalidParams.Len() > 0 {
  8487  		return invalidParams
  8488  	}
  8489  	return nil
  8490  }
  8491  
  8492  // SetMapName sets the MapName field's value.
  8493  func (s *DeleteMapInput) SetMapName(v string) *DeleteMapInput {
  8494  	s.MapName = &v
  8495  	return s
  8496  }
  8497  
  8498  type DeleteMapOutput struct {
  8499  	_ struct{} `type:"structure" nopayload:"true"`
  8500  }
  8501  
  8502  // String returns the string representation.
  8503  //
  8504  // API parameter values that are decorated as "sensitive" in the API will not
  8505  // be included in the string output. The member name will be present, but the
  8506  // value will be replaced with "sensitive".
  8507  func (s DeleteMapOutput) String() string {
  8508  	return awsutil.Prettify(s)
  8509  }
  8510  
  8511  // GoString returns the string representation.
  8512  //
  8513  // API parameter values that are decorated as "sensitive" in the API will not
  8514  // be included in the string output. The member name will be present, but the
  8515  // value will be replaced with "sensitive".
  8516  func (s DeleteMapOutput) GoString() string {
  8517  	return s.String()
  8518  }
  8519  
  8520  type DeletePlaceIndexInput struct {
  8521  	_ struct{} `type:"structure" nopayload:"true"`
  8522  
  8523  	// The name of the place index resource to be deleted.
  8524  	//
  8525  	// IndexName is a required field
  8526  	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
  8527  }
  8528  
  8529  // String returns the string representation.
  8530  //
  8531  // API parameter values that are decorated as "sensitive" in the API will not
  8532  // be included in the string output. The member name will be present, but the
  8533  // value will be replaced with "sensitive".
  8534  func (s DeletePlaceIndexInput) String() string {
  8535  	return awsutil.Prettify(s)
  8536  }
  8537  
  8538  // GoString returns the string representation.
  8539  //
  8540  // API parameter values that are decorated as "sensitive" in the API will not
  8541  // be included in the string output. The member name will be present, but the
  8542  // value will be replaced with "sensitive".
  8543  func (s DeletePlaceIndexInput) GoString() string {
  8544  	return s.String()
  8545  }
  8546  
  8547  // Validate inspects the fields of the type to determine if they are valid.
  8548  func (s *DeletePlaceIndexInput) Validate() error {
  8549  	invalidParams := request.ErrInvalidParams{Context: "DeletePlaceIndexInput"}
  8550  	if s.IndexName == nil {
  8551  		invalidParams.Add(request.NewErrParamRequired("IndexName"))
  8552  	}
  8553  	if s.IndexName != nil && len(*s.IndexName) < 1 {
  8554  		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
  8555  	}
  8556  
  8557  	if invalidParams.Len() > 0 {
  8558  		return invalidParams
  8559  	}
  8560  	return nil
  8561  }
  8562  
  8563  // SetIndexName sets the IndexName field's value.
  8564  func (s *DeletePlaceIndexInput) SetIndexName(v string) *DeletePlaceIndexInput {
  8565  	s.IndexName = &v
  8566  	return s
  8567  }
  8568  
  8569  type DeletePlaceIndexOutput struct {
  8570  	_ struct{} `type:"structure" nopayload:"true"`
  8571  }
  8572  
  8573  // String returns the string representation.
  8574  //
  8575  // API parameter values that are decorated as "sensitive" in the API will not
  8576  // be included in the string output. The member name will be present, but the
  8577  // value will be replaced with "sensitive".
  8578  func (s DeletePlaceIndexOutput) String() string {
  8579  	return awsutil.Prettify(s)
  8580  }
  8581  
  8582  // GoString returns the string representation.
  8583  //
  8584  // API parameter values that are decorated as "sensitive" in the API will not
  8585  // be included in the string output. The member name will be present, but the
  8586  // value will be replaced with "sensitive".
  8587  func (s DeletePlaceIndexOutput) GoString() string {
  8588  	return s.String()
  8589  }
  8590  
  8591  type DeleteRouteCalculatorInput struct {
  8592  	_ struct{} `type:"structure" nopayload:"true"`
  8593  
  8594  	// The name of the route calculator resource to be deleted.
  8595  	//
  8596  	// CalculatorName is a required field
  8597  	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
  8598  }
  8599  
  8600  // String returns the string representation.
  8601  //
  8602  // API parameter values that are decorated as "sensitive" in the API will not
  8603  // be included in the string output. The member name will be present, but the
  8604  // value will be replaced with "sensitive".
  8605  func (s DeleteRouteCalculatorInput) String() string {
  8606  	return awsutil.Prettify(s)
  8607  }
  8608  
  8609  // GoString returns the string representation.
  8610  //
  8611  // API parameter values that are decorated as "sensitive" in the API will not
  8612  // be included in the string output. The member name will be present, but the
  8613  // value will be replaced with "sensitive".
  8614  func (s DeleteRouteCalculatorInput) GoString() string {
  8615  	return s.String()
  8616  }
  8617  
  8618  // Validate inspects the fields of the type to determine if they are valid.
  8619  func (s *DeleteRouteCalculatorInput) Validate() error {
  8620  	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteCalculatorInput"}
  8621  	if s.CalculatorName == nil {
  8622  		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
  8623  	}
  8624  	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
  8625  		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
  8626  	}
  8627  
  8628  	if invalidParams.Len() > 0 {
  8629  		return invalidParams
  8630  	}
  8631  	return nil
  8632  }
  8633  
  8634  // SetCalculatorName sets the CalculatorName field's value.
  8635  func (s *DeleteRouteCalculatorInput) SetCalculatorName(v string) *DeleteRouteCalculatorInput {
  8636  	s.CalculatorName = &v
  8637  	return s
  8638  }
  8639  
  8640  type DeleteRouteCalculatorOutput struct {
  8641  	_ struct{} `type:"structure" nopayload:"true"`
  8642  }
  8643  
  8644  // String returns the string representation.
  8645  //
  8646  // API parameter values that are decorated as "sensitive" in the API will not
  8647  // be included in the string output. The member name will be present, but the
  8648  // value will be replaced with "sensitive".
  8649  func (s DeleteRouteCalculatorOutput) String() string {
  8650  	return awsutil.Prettify(s)
  8651  }
  8652  
  8653  // GoString returns the string representation.
  8654  //
  8655  // API parameter values that are decorated as "sensitive" in the API will not
  8656  // be included in the string output. The member name will be present, but the
  8657  // value will be replaced with "sensitive".
  8658  func (s DeleteRouteCalculatorOutput) GoString() string {
  8659  	return s.String()
  8660  }
  8661  
  8662  type DeleteTrackerInput struct {
  8663  	_ struct{} `type:"structure" nopayload:"true"`
  8664  
  8665  	// The name of the tracker resource to be deleted.
  8666  	//
  8667  	// TrackerName is a required field
  8668  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  8669  }
  8670  
  8671  // String returns the string representation.
  8672  //
  8673  // API parameter values that are decorated as "sensitive" in the API will not
  8674  // be included in the string output. The member name will be present, but the
  8675  // value will be replaced with "sensitive".
  8676  func (s DeleteTrackerInput) String() string {
  8677  	return awsutil.Prettify(s)
  8678  }
  8679  
  8680  // GoString returns the string representation.
  8681  //
  8682  // API parameter values that are decorated as "sensitive" in the API will not
  8683  // be included in the string output. The member name will be present, but the
  8684  // value will be replaced with "sensitive".
  8685  func (s DeleteTrackerInput) GoString() string {
  8686  	return s.String()
  8687  }
  8688  
  8689  // Validate inspects the fields of the type to determine if they are valid.
  8690  func (s *DeleteTrackerInput) Validate() error {
  8691  	invalidParams := request.ErrInvalidParams{Context: "DeleteTrackerInput"}
  8692  	if s.TrackerName == nil {
  8693  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  8694  	}
  8695  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  8696  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  8697  	}
  8698  
  8699  	if invalidParams.Len() > 0 {
  8700  		return invalidParams
  8701  	}
  8702  	return nil
  8703  }
  8704  
  8705  // SetTrackerName sets the TrackerName field's value.
  8706  func (s *DeleteTrackerInput) SetTrackerName(v string) *DeleteTrackerInput {
  8707  	s.TrackerName = &v
  8708  	return s
  8709  }
  8710  
  8711  type DeleteTrackerOutput struct {
  8712  	_ struct{} `type:"structure" nopayload:"true"`
  8713  }
  8714  
  8715  // String returns the string representation.
  8716  //
  8717  // API parameter values that are decorated as "sensitive" in the API will not
  8718  // be included in the string output. The member name will be present, but the
  8719  // value will be replaced with "sensitive".
  8720  func (s DeleteTrackerOutput) String() string {
  8721  	return awsutil.Prettify(s)
  8722  }
  8723  
  8724  // GoString returns the string representation.
  8725  //
  8726  // API parameter values that are decorated as "sensitive" in the API will not
  8727  // be included in the string output. The member name will be present, but the
  8728  // value will be replaced with "sensitive".
  8729  func (s DeleteTrackerOutput) GoString() string {
  8730  	return s.String()
  8731  }
  8732  
  8733  type DescribeGeofenceCollectionInput struct {
  8734  	_ struct{} `type:"structure" nopayload:"true"`
  8735  
  8736  	// The name of the geofence collection.
  8737  	//
  8738  	// CollectionName is a required field
  8739  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
  8740  }
  8741  
  8742  // String returns the string representation.
  8743  //
  8744  // API parameter values that are decorated as "sensitive" in the API will not
  8745  // be included in the string output. The member name will be present, but the
  8746  // value will be replaced with "sensitive".
  8747  func (s DescribeGeofenceCollectionInput) String() string {
  8748  	return awsutil.Prettify(s)
  8749  }
  8750  
  8751  // GoString returns the string representation.
  8752  //
  8753  // API parameter values that are decorated as "sensitive" in the API will not
  8754  // be included in the string output. The member name will be present, but the
  8755  // value will be replaced with "sensitive".
  8756  func (s DescribeGeofenceCollectionInput) GoString() string {
  8757  	return s.String()
  8758  }
  8759  
  8760  // Validate inspects the fields of the type to determine if they are valid.
  8761  func (s *DescribeGeofenceCollectionInput) Validate() error {
  8762  	invalidParams := request.ErrInvalidParams{Context: "DescribeGeofenceCollectionInput"}
  8763  	if s.CollectionName == nil {
  8764  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
  8765  	}
  8766  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
  8767  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
  8768  	}
  8769  
  8770  	if invalidParams.Len() > 0 {
  8771  		return invalidParams
  8772  	}
  8773  	return nil
  8774  }
  8775  
  8776  // SetCollectionName sets the CollectionName field's value.
  8777  func (s *DescribeGeofenceCollectionInput) SetCollectionName(v string) *DescribeGeofenceCollectionInput {
  8778  	s.CollectionName = &v
  8779  	return s
  8780  }
  8781  
  8782  type DescribeGeofenceCollectionOutput struct {
  8783  	_ struct{} `type:"structure"`
  8784  
  8785  	// The Amazon Resource Name (ARN) for the geofence collection resource. Used
  8786  	// when you need to specify a resource across all AWS.
  8787  	//
  8788  	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection
  8789  	//
  8790  	// CollectionArn is a required field
  8791  	CollectionArn *string `type:"string" required:"true"`
  8792  
  8793  	// The name of the geofence collection.
  8794  	//
  8795  	// CollectionName is a required field
  8796  	CollectionName *string `min:"1" type:"string" required:"true"`
  8797  
  8798  	// The timestamp for when the geofence resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  8799  	// format: YYYY-MM-DDThh:mm:ss.sssZ
  8800  	//
  8801  	// CreateTime is a required field
  8802  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8803  
  8804  	// The optional description for the geofence collection.
  8805  	//
  8806  	// Description is a required field
  8807  	Description *string `type:"string" required:"true"`
  8808  
  8809  	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
  8810  	// assigned to the Amazon Location resource
  8811  	KmsKeyId *string `min:"1" type:"string"`
  8812  
  8813  	// The pricing plan selected for the specified geofence collection.
  8814  	//
  8815  	// For additional details and restrictions on each pricing plan option, see
  8816  	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
  8817  	//
  8818  	// PricingPlan is a required field
  8819  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  8820  
  8821  	// The specified data provider for the geofence collection.
  8822  	PricingPlanDataSource *string `type:"string"`
  8823  
  8824  	// Displays the key, value pairs of tags associated with this resource.
  8825  	Tags map[string]*string `type:"map"`
  8826  
  8827  	// The timestamp for when the geofence collection was last updated in ISO 8601
  8828  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
  8829  	//
  8830  	// UpdateTime is a required field
  8831  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8832  }
  8833  
  8834  // String returns the string representation.
  8835  //
  8836  // API parameter values that are decorated as "sensitive" in the API will not
  8837  // be included in the string output. The member name will be present, but the
  8838  // value will be replaced with "sensitive".
  8839  func (s DescribeGeofenceCollectionOutput) String() string {
  8840  	return awsutil.Prettify(s)
  8841  }
  8842  
  8843  // GoString returns the string representation.
  8844  //
  8845  // API parameter values that are decorated as "sensitive" in the API will not
  8846  // be included in the string output. The member name will be present, but the
  8847  // value will be replaced with "sensitive".
  8848  func (s DescribeGeofenceCollectionOutput) GoString() string {
  8849  	return s.String()
  8850  }
  8851  
  8852  // SetCollectionArn sets the CollectionArn field's value.
  8853  func (s *DescribeGeofenceCollectionOutput) SetCollectionArn(v string) *DescribeGeofenceCollectionOutput {
  8854  	s.CollectionArn = &v
  8855  	return s
  8856  }
  8857  
  8858  // SetCollectionName sets the CollectionName field's value.
  8859  func (s *DescribeGeofenceCollectionOutput) SetCollectionName(v string) *DescribeGeofenceCollectionOutput {
  8860  	s.CollectionName = &v
  8861  	return s
  8862  }
  8863  
  8864  // SetCreateTime sets the CreateTime field's value.
  8865  func (s *DescribeGeofenceCollectionOutput) SetCreateTime(v time.Time) *DescribeGeofenceCollectionOutput {
  8866  	s.CreateTime = &v
  8867  	return s
  8868  }
  8869  
  8870  // SetDescription sets the Description field's value.
  8871  func (s *DescribeGeofenceCollectionOutput) SetDescription(v string) *DescribeGeofenceCollectionOutput {
  8872  	s.Description = &v
  8873  	return s
  8874  }
  8875  
  8876  // SetKmsKeyId sets the KmsKeyId field's value.
  8877  func (s *DescribeGeofenceCollectionOutput) SetKmsKeyId(v string) *DescribeGeofenceCollectionOutput {
  8878  	s.KmsKeyId = &v
  8879  	return s
  8880  }
  8881  
  8882  // SetPricingPlan sets the PricingPlan field's value.
  8883  func (s *DescribeGeofenceCollectionOutput) SetPricingPlan(v string) *DescribeGeofenceCollectionOutput {
  8884  	s.PricingPlan = &v
  8885  	return s
  8886  }
  8887  
  8888  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
  8889  func (s *DescribeGeofenceCollectionOutput) SetPricingPlanDataSource(v string) *DescribeGeofenceCollectionOutput {
  8890  	s.PricingPlanDataSource = &v
  8891  	return s
  8892  }
  8893  
  8894  // SetTags sets the Tags field's value.
  8895  func (s *DescribeGeofenceCollectionOutput) SetTags(v map[string]*string) *DescribeGeofenceCollectionOutput {
  8896  	s.Tags = v
  8897  	return s
  8898  }
  8899  
  8900  // SetUpdateTime sets the UpdateTime field's value.
  8901  func (s *DescribeGeofenceCollectionOutput) SetUpdateTime(v time.Time) *DescribeGeofenceCollectionOutput {
  8902  	s.UpdateTime = &v
  8903  	return s
  8904  }
  8905  
  8906  type DescribeMapInput struct {
  8907  	_ struct{} `type:"structure" nopayload:"true"`
  8908  
  8909  	// The name of the map resource.
  8910  	//
  8911  	// MapName is a required field
  8912  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
  8913  }
  8914  
  8915  // String returns the string representation.
  8916  //
  8917  // API parameter values that are decorated as "sensitive" in the API will not
  8918  // be included in the string output. The member name will be present, but the
  8919  // value will be replaced with "sensitive".
  8920  func (s DescribeMapInput) String() string {
  8921  	return awsutil.Prettify(s)
  8922  }
  8923  
  8924  // GoString returns the string representation.
  8925  //
  8926  // API parameter values that are decorated as "sensitive" in the API will not
  8927  // be included in the string output. The member name will be present, but the
  8928  // value will be replaced with "sensitive".
  8929  func (s DescribeMapInput) GoString() string {
  8930  	return s.String()
  8931  }
  8932  
  8933  // Validate inspects the fields of the type to determine if they are valid.
  8934  func (s *DescribeMapInput) Validate() error {
  8935  	invalidParams := request.ErrInvalidParams{Context: "DescribeMapInput"}
  8936  	if s.MapName == nil {
  8937  		invalidParams.Add(request.NewErrParamRequired("MapName"))
  8938  	}
  8939  	if s.MapName != nil && len(*s.MapName) < 1 {
  8940  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
  8941  	}
  8942  
  8943  	if invalidParams.Len() > 0 {
  8944  		return invalidParams
  8945  	}
  8946  	return nil
  8947  }
  8948  
  8949  // SetMapName sets the MapName field's value.
  8950  func (s *DescribeMapInput) SetMapName(v string) *DescribeMapInput {
  8951  	s.MapName = &v
  8952  	return s
  8953  }
  8954  
  8955  type DescribeMapOutput struct {
  8956  	_ struct{} `type:"structure"`
  8957  
  8958  	// Specifies the map tile style selected from a partner data provider.
  8959  	//
  8960  	// Configuration is a required field
  8961  	Configuration *MapConfiguration `type:"structure" required:"true"`
  8962  
  8963  	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  8964  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  8965  	//
  8966  	// CreateTime is a required field
  8967  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8968  
  8969  	// Specifies the data provider for the associated map tiles.
  8970  	//
  8971  	// DataSource is a required field
  8972  	DataSource *string `type:"string" required:"true"`
  8973  
  8974  	// The optional description for the map resource.
  8975  	//
  8976  	// Description is a required field
  8977  	Description *string `type:"string" required:"true"`
  8978  
  8979  	// The Amazon Resource Name (ARN) for the map resource. Used to specify a resource
  8980  	// across all AWS.
  8981  	//
  8982  	//    * Format example: arn:aws:geo:region:account-id:maps/ExampleMap
  8983  	//
  8984  	// MapArn is a required field
  8985  	MapArn *string `type:"string" required:"true"`
  8986  
  8987  	// The map style selected from an available provider.
  8988  	//
  8989  	// MapName is a required field
  8990  	MapName *string `min:"1" type:"string" required:"true"`
  8991  
  8992  	// The pricing plan selected for the specified map resource.
  8993  	//
  8994  	//    <p>For additional details and restrictions on each pricing plan option,
  8995  	//    see <a href="https://aws.amazon.com/location/pricing/">Amazon Location
  8996  	//    Service pricing</a>.</p>
  8997  	//
  8998  	// PricingPlan is a required field
  8999  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  9000  
  9001  	// Tags associated with the map resource.
  9002  	Tags map[string]*string `type:"map"`
  9003  
  9004  	// The timestamp for when the map resource was last update in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  9005  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  9006  	//
  9007  	// UpdateTime is a required field
  9008  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9009  }
  9010  
  9011  // String returns the string representation.
  9012  //
  9013  // API parameter values that are decorated as "sensitive" in the API will not
  9014  // be included in the string output. The member name will be present, but the
  9015  // value will be replaced with "sensitive".
  9016  func (s DescribeMapOutput) String() string {
  9017  	return awsutil.Prettify(s)
  9018  }
  9019  
  9020  // GoString returns the string representation.
  9021  //
  9022  // API parameter values that are decorated as "sensitive" in the API will not
  9023  // be included in the string output. The member name will be present, but the
  9024  // value will be replaced with "sensitive".
  9025  func (s DescribeMapOutput) GoString() string {
  9026  	return s.String()
  9027  }
  9028  
  9029  // SetConfiguration sets the Configuration field's value.
  9030  func (s *DescribeMapOutput) SetConfiguration(v *MapConfiguration) *DescribeMapOutput {
  9031  	s.Configuration = v
  9032  	return s
  9033  }
  9034  
  9035  // SetCreateTime sets the CreateTime field's value.
  9036  func (s *DescribeMapOutput) SetCreateTime(v time.Time) *DescribeMapOutput {
  9037  	s.CreateTime = &v
  9038  	return s
  9039  }
  9040  
  9041  // SetDataSource sets the DataSource field's value.
  9042  func (s *DescribeMapOutput) SetDataSource(v string) *DescribeMapOutput {
  9043  	s.DataSource = &v
  9044  	return s
  9045  }
  9046  
  9047  // SetDescription sets the Description field's value.
  9048  func (s *DescribeMapOutput) SetDescription(v string) *DescribeMapOutput {
  9049  	s.Description = &v
  9050  	return s
  9051  }
  9052  
  9053  // SetMapArn sets the MapArn field's value.
  9054  func (s *DescribeMapOutput) SetMapArn(v string) *DescribeMapOutput {
  9055  	s.MapArn = &v
  9056  	return s
  9057  }
  9058  
  9059  // SetMapName sets the MapName field's value.
  9060  func (s *DescribeMapOutput) SetMapName(v string) *DescribeMapOutput {
  9061  	s.MapName = &v
  9062  	return s
  9063  }
  9064  
  9065  // SetPricingPlan sets the PricingPlan field's value.
  9066  func (s *DescribeMapOutput) SetPricingPlan(v string) *DescribeMapOutput {
  9067  	s.PricingPlan = &v
  9068  	return s
  9069  }
  9070  
  9071  // SetTags sets the Tags field's value.
  9072  func (s *DescribeMapOutput) SetTags(v map[string]*string) *DescribeMapOutput {
  9073  	s.Tags = v
  9074  	return s
  9075  }
  9076  
  9077  // SetUpdateTime sets the UpdateTime field's value.
  9078  func (s *DescribeMapOutput) SetUpdateTime(v time.Time) *DescribeMapOutput {
  9079  	s.UpdateTime = &v
  9080  	return s
  9081  }
  9082  
  9083  type DescribePlaceIndexInput struct {
  9084  	_ struct{} `type:"structure" nopayload:"true"`
  9085  
  9086  	// The name of the place index resource.
  9087  	//
  9088  	// IndexName is a required field
  9089  	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
  9090  }
  9091  
  9092  // String returns the string representation.
  9093  //
  9094  // API parameter values that are decorated as "sensitive" in the API will not
  9095  // be included in the string output. The member name will be present, but the
  9096  // value will be replaced with "sensitive".
  9097  func (s DescribePlaceIndexInput) String() string {
  9098  	return awsutil.Prettify(s)
  9099  }
  9100  
  9101  // GoString returns the string representation.
  9102  //
  9103  // API parameter values that are decorated as "sensitive" in the API will not
  9104  // be included in the string output. The member name will be present, but the
  9105  // value will be replaced with "sensitive".
  9106  func (s DescribePlaceIndexInput) GoString() string {
  9107  	return s.String()
  9108  }
  9109  
  9110  // Validate inspects the fields of the type to determine if they are valid.
  9111  func (s *DescribePlaceIndexInput) Validate() error {
  9112  	invalidParams := request.ErrInvalidParams{Context: "DescribePlaceIndexInput"}
  9113  	if s.IndexName == nil {
  9114  		invalidParams.Add(request.NewErrParamRequired("IndexName"))
  9115  	}
  9116  	if s.IndexName != nil && len(*s.IndexName) < 1 {
  9117  		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
  9118  	}
  9119  
  9120  	if invalidParams.Len() > 0 {
  9121  		return invalidParams
  9122  	}
  9123  	return nil
  9124  }
  9125  
  9126  // SetIndexName sets the IndexName field's value.
  9127  func (s *DescribePlaceIndexInput) SetIndexName(v string) *DescribePlaceIndexInput {
  9128  	s.IndexName = &v
  9129  	return s
  9130  }
  9131  
  9132  type DescribePlaceIndexOutput struct {
  9133  	_ struct{} `type:"structure"`
  9134  
  9135  	// The timestamp for when the place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  9136  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  9137  	//
  9138  	// CreateTime is a required field
  9139  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9140  
  9141  	// The data provider of geospatial data. Indicates one of the available providers:
  9142  	//
  9143  	//    * Esri
  9144  	//
  9145  	//    * Here
  9146  	//
  9147  	// For additional details on data providers, see Amazon Location Service data
  9148  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
  9149  	//
  9150  	// DataSource is a required field
  9151  	DataSource *string `type:"string" required:"true"`
  9152  
  9153  	// The specified data storage option for requesting Places.
  9154  	//
  9155  	// DataSourceConfiguration is a required field
  9156  	DataSourceConfiguration *DataSourceConfiguration `type:"structure" required:"true"`
  9157  
  9158  	// The optional description for the place index resource.
  9159  	//
  9160  	// Description is a required field
  9161  	Description *string `type:"string" required:"true"`
  9162  
  9163  	// The Amazon Resource Name (ARN) for the place index resource. Used to specify
  9164  	// a resource across AWS.
  9165  	//
  9166  	//    * Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex
  9167  	//
  9168  	// IndexArn is a required field
  9169  	IndexArn *string `type:"string" required:"true"`
  9170  
  9171  	// The name of the place index resource being described.
  9172  	//
  9173  	// IndexName is a required field
  9174  	IndexName *string `min:"1" type:"string" required:"true"`
  9175  
  9176  	// The pricing plan selected for the specified place index resource.
  9177  	//
  9178  	// For additional details and restrictions on each pricing plan option, see
  9179  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  9180  	//
  9181  	// PricingPlan is a required field
  9182  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  9183  
  9184  	// Tags associated with place index resource.
  9185  	Tags map[string]*string `type:"map"`
  9186  
  9187  	// The timestamp for when the place index resource was last updated in ISO 8601
  9188  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  9189  	//
  9190  	// UpdateTime is a required field
  9191  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9192  }
  9193  
  9194  // String returns the string representation.
  9195  //
  9196  // API parameter values that are decorated as "sensitive" in the API will not
  9197  // be included in the string output. The member name will be present, but the
  9198  // value will be replaced with "sensitive".
  9199  func (s DescribePlaceIndexOutput) String() string {
  9200  	return awsutil.Prettify(s)
  9201  }
  9202  
  9203  // GoString returns the string representation.
  9204  //
  9205  // API parameter values that are decorated as "sensitive" in the API will not
  9206  // be included in the string output. The member name will be present, but the
  9207  // value will be replaced with "sensitive".
  9208  func (s DescribePlaceIndexOutput) GoString() string {
  9209  	return s.String()
  9210  }
  9211  
  9212  // SetCreateTime sets the CreateTime field's value.
  9213  func (s *DescribePlaceIndexOutput) SetCreateTime(v time.Time) *DescribePlaceIndexOutput {
  9214  	s.CreateTime = &v
  9215  	return s
  9216  }
  9217  
  9218  // SetDataSource sets the DataSource field's value.
  9219  func (s *DescribePlaceIndexOutput) SetDataSource(v string) *DescribePlaceIndexOutput {
  9220  	s.DataSource = &v
  9221  	return s
  9222  }
  9223  
  9224  // SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
  9225  func (s *DescribePlaceIndexOutput) SetDataSourceConfiguration(v *DataSourceConfiguration) *DescribePlaceIndexOutput {
  9226  	s.DataSourceConfiguration = v
  9227  	return s
  9228  }
  9229  
  9230  // SetDescription sets the Description field's value.
  9231  func (s *DescribePlaceIndexOutput) SetDescription(v string) *DescribePlaceIndexOutput {
  9232  	s.Description = &v
  9233  	return s
  9234  }
  9235  
  9236  // SetIndexArn sets the IndexArn field's value.
  9237  func (s *DescribePlaceIndexOutput) SetIndexArn(v string) *DescribePlaceIndexOutput {
  9238  	s.IndexArn = &v
  9239  	return s
  9240  }
  9241  
  9242  // SetIndexName sets the IndexName field's value.
  9243  func (s *DescribePlaceIndexOutput) SetIndexName(v string) *DescribePlaceIndexOutput {
  9244  	s.IndexName = &v
  9245  	return s
  9246  }
  9247  
  9248  // SetPricingPlan sets the PricingPlan field's value.
  9249  func (s *DescribePlaceIndexOutput) SetPricingPlan(v string) *DescribePlaceIndexOutput {
  9250  	s.PricingPlan = &v
  9251  	return s
  9252  }
  9253  
  9254  // SetTags sets the Tags field's value.
  9255  func (s *DescribePlaceIndexOutput) SetTags(v map[string]*string) *DescribePlaceIndexOutput {
  9256  	s.Tags = v
  9257  	return s
  9258  }
  9259  
  9260  // SetUpdateTime sets the UpdateTime field's value.
  9261  func (s *DescribePlaceIndexOutput) SetUpdateTime(v time.Time) *DescribePlaceIndexOutput {
  9262  	s.UpdateTime = &v
  9263  	return s
  9264  }
  9265  
  9266  type DescribeRouteCalculatorInput struct {
  9267  	_ struct{} `type:"structure" nopayload:"true"`
  9268  
  9269  	// The name of the route calculator resource.
  9270  	//
  9271  	// CalculatorName is a required field
  9272  	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
  9273  }
  9274  
  9275  // String returns the string representation.
  9276  //
  9277  // API parameter values that are decorated as "sensitive" in the API will not
  9278  // be included in the string output. The member name will be present, but the
  9279  // value will be replaced with "sensitive".
  9280  func (s DescribeRouteCalculatorInput) String() string {
  9281  	return awsutil.Prettify(s)
  9282  }
  9283  
  9284  // GoString returns the string representation.
  9285  //
  9286  // API parameter values that are decorated as "sensitive" in the API will not
  9287  // be included in the string output. The member name will be present, but the
  9288  // value will be replaced with "sensitive".
  9289  func (s DescribeRouteCalculatorInput) GoString() string {
  9290  	return s.String()
  9291  }
  9292  
  9293  // Validate inspects the fields of the type to determine if they are valid.
  9294  func (s *DescribeRouteCalculatorInput) Validate() error {
  9295  	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteCalculatorInput"}
  9296  	if s.CalculatorName == nil {
  9297  		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
  9298  	}
  9299  	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
  9300  		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
  9301  	}
  9302  
  9303  	if invalidParams.Len() > 0 {
  9304  		return invalidParams
  9305  	}
  9306  	return nil
  9307  }
  9308  
  9309  // SetCalculatorName sets the CalculatorName field's value.
  9310  func (s *DescribeRouteCalculatorInput) SetCalculatorName(v string) *DescribeRouteCalculatorInput {
  9311  	s.CalculatorName = &v
  9312  	return s
  9313  }
  9314  
  9315  type DescribeRouteCalculatorOutput struct {
  9316  	_ struct{} `type:"structure"`
  9317  
  9318  	// The Amazon Resource Name (ARN) for the Route calculator resource. Use the
  9319  	// ARN when you specify a resource across AWS.
  9320  	//
  9321  	//    * Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator
  9322  	//
  9323  	// CalculatorArn is a required field
  9324  	CalculatorArn *string `type:"string" required:"true"`
  9325  
  9326  	// The name of the route calculator resource being described.
  9327  	//
  9328  	// CalculatorName is a required field
  9329  	CalculatorName *string `min:"1" type:"string" required:"true"`
  9330  
  9331  	// The timestamp when the route calculator resource was created in ISO 8601
  9332  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  9333  	//
  9334  	//    * For example, 2020–07-2T12:15:20.000Z+01:00
  9335  	//
  9336  	// CreateTime is a required field
  9337  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9338  
  9339  	// The data provider of traffic and road network data. Indicates one of the
  9340  	// available providers:
  9341  	//
  9342  	//    * Esri
  9343  	//
  9344  	//    * Here
  9345  	//
  9346  	// For more information about data providers, see Amazon Location Service data
  9347  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
  9348  	//
  9349  	// DataSource is a required field
  9350  	DataSource *string `type:"string" required:"true"`
  9351  
  9352  	// The optional description of the route calculator resource.
  9353  	//
  9354  	// Description is a required field
  9355  	Description *string `type:"string" required:"true"`
  9356  
  9357  	// The pricing plan selected for the specified route calculator resource.
  9358  	//
  9359  	// For additional details and restrictions on each pricing plan option, see
  9360  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  9361  	//
  9362  	// PricingPlan is a required field
  9363  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  9364  
  9365  	// Tags associated with route calculator resource.
  9366  	Tags map[string]*string `type:"map"`
  9367  
  9368  	// The timestamp when the route calculator resource was last updated in ISO
  9369  	// 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  9370  	//
  9371  	//    * For example, 2020–07-2T12:15:20.000Z+01:00
  9372  	//
  9373  	// UpdateTime is a required field
  9374  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9375  }
  9376  
  9377  // String returns the string representation.
  9378  //
  9379  // API parameter values that are decorated as "sensitive" in the API will not
  9380  // be included in the string output. The member name will be present, but the
  9381  // value will be replaced with "sensitive".
  9382  func (s DescribeRouteCalculatorOutput) String() string {
  9383  	return awsutil.Prettify(s)
  9384  }
  9385  
  9386  // GoString returns the string representation.
  9387  //
  9388  // API parameter values that are decorated as "sensitive" in the API will not
  9389  // be included in the string output. The member name will be present, but the
  9390  // value will be replaced with "sensitive".
  9391  func (s DescribeRouteCalculatorOutput) GoString() string {
  9392  	return s.String()
  9393  }
  9394  
  9395  // SetCalculatorArn sets the CalculatorArn field's value.
  9396  func (s *DescribeRouteCalculatorOutput) SetCalculatorArn(v string) *DescribeRouteCalculatorOutput {
  9397  	s.CalculatorArn = &v
  9398  	return s
  9399  }
  9400  
  9401  // SetCalculatorName sets the CalculatorName field's value.
  9402  func (s *DescribeRouteCalculatorOutput) SetCalculatorName(v string) *DescribeRouteCalculatorOutput {
  9403  	s.CalculatorName = &v
  9404  	return s
  9405  }
  9406  
  9407  // SetCreateTime sets the CreateTime field's value.
  9408  func (s *DescribeRouteCalculatorOutput) SetCreateTime(v time.Time) *DescribeRouteCalculatorOutput {
  9409  	s.CreateTime = &v
  9410  	return s
  9411  }
  9412  
  9413  // SetDataSource sets the DataSource field's value.
  9414  func (s *DescribeRouteCalculatorOutput) SetDataSource(v string) *DescribeRouteCalculatorOutput {
  9415  	s.DataSource = &v
  9416  	return s
  9417  }
  9418  
  9419  // SetDescription sets the Description field's value.
  9420  func (s *DescribeRouteCalculatorOutput) SetDescription(v string) *DescribeRouteCalculatorOutput {
  9421  	s.Description = &v
  9422  	return s
  9423  }
  9424  
  9425  // SetPricingPlan sets the PricingPlan field's value.
  9426  func (s *DescribeRouteCalculatorOutput) SetPricingPlan(v string) *DescribeRouteCalculatorOutput {
  9427  	s.PricingPlan = &v
  9428  	return s
  9429  }
  9430  
  9431  // SetTags sets the Tags field's value.
  9432  func (s *DescribeRouteCalculatorOutput) SetTags(v map[string]*string) *DescribeRouteCalculatorOutput {
  9433  	s.Tags = v
  9434  	return s
  9435  }
  9436  
  9437  // SetUpdateTime sets the UpdateTime field's value.
  9438  func (s *DescribeRouteCalculatorOutput) SetUpdateTime(v time.Time) *DescribeRouteCalculatorOutput {
  9439  	s.UpdateTime = &v
  9440  	return s
  9441  }
  9442  
  9443  type DescribeTrackerInput struct {
  9444  	_ struct{} `type:"structure" nopayload:"true"`
  9445  
  9446  	// The name of the tracker resource.
  9447  	//
  9448  	// TrackerName is a required field
  9449  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  9450  }
  9451  
  9452  // String returns the string representation.
  9453  //
  9454  // API parameter values that are decorated as "sensitive" in the API will not
  9455  // be included in the string output. The member name will be present, but the
  9456  // value will be replaced with "sensitive".
  9457  func (s DescribeTrackerInput) String() string {
  9458  	return awsutil.Prettify(s)
  9459  }
  9460  
  9461  // GoString returns the string representation.
  9462  //
  9463  // API parameter values that are decorated as "sensitive" in the API will not
  9464  // be included in the string output. The member name will be present, but the
  9465  // value will be replaced with "sensitive".
  9466  func (s DescribeTrackerInput) GoString() string {
  9467  	return s.String()
  9468  }
  9469  
  9470  // Validate inspects the fields of the type to determine if they are valid.
  9471  func (s *DescribeTrackerInput) Validate() error {
  9472  	invalidParams := request.ErrInvalidParams{Context: "DescribeTrackerInput"}
  9473  	if s.TrackerName == nil {
  9474  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  9475  	}
  9476  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  9477  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  9478  	}
  9479  
  9480  	if invalidParams.Len() > 0 {
  9481  		return invalidParams
  9482  	}
  9483  	return nil
  9484  }
  9485  
  9486  // SetTrackerName sets the TrackerName field's value.
  9487  func (s *DescribeTrackerInput) SetTrackerName(v string) *DescribeTrackerInput {
  9488  	s.TrackerName = &v
  9489  	return s
  9490  }
  9491  
  9492  type DescribeTrackerOutput struct {
  9493  	_ struct{} `type:"structure"`
  9494  
  9495  	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  9496  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
  9497  	//
  9498  	// CreateTime is a required field
  9499  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9500  
  9501  	// The optional description for the tracker resource.
  9502  	//
  9503  	// Description is a required field
  9504  	Description *string `type:"string" required:"true"`
  9505  
  9506  	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
  9507  	// assigned to the Amazon Location resource.
  9508  	KmsKeyId *string `min:"1" type:"string"`
  9509  
  9510  	// The position filtering method of the tracker resource.
  9511  	PositionFiltering *string `type:"string" enum:"PositionFiltering"`
  9512  
  9513  	// The pricing plan selected for the specified tracker resource.
  9514  	//
  9515  	// For additional details and restrictions on each pricing plan option, see
  9516  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
  9517  	//
  9518  	// PricingPlan is a required field
  9519  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
  9520  
  9521  	// The specified data provider for the tracker resource.
  9522  	PricingPlanDataSource *string `type:"string"`
  9523  
  9524  	// The tags associated with the tracker resource.
  9525  	Tags map[string]*string `type:"map"`
  9526  
  9527  	// The Amazon Resource Name (ARN) for the tracker resource. Used when you need
  9528  	// to specify a resource across all AWS.
  9529  	//
  9530  	//    * Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker
  9531  	//
  9532  	// TrackerArn is a required field
  9533  	TrackerArn *string `type:"string" required:"true"`
  9534  
  9535  	// The name of the tracker resource.
  9536  	//
  9537  	// TrackerName is a required field
  9538  	TrackerName *string `min:"1" type:"string" required:"true"`
  9539  
  9540  	// The timestamp for when the tracker resource was last updated in ISO 8601
  9541  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  9542  	//
  9543  	// UpdateTime is a required field
  9544  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9545  }
  9546  
  9547  // String returns the string representation.
  9548  //
  9549  // API parameter values that are decorated as "sensitive" in the API will not
  9550  // be included in the string output. The member name will be present, but the
  9551  // value will be replaced with "sensitive".
  9552  func (s DescribeTrackerOutput) String() string {
  9553  	return awsutil.Prettify(s)
  9554  }
  9555  
  9556  // GoString returns the string representation.
  9557  //
  9558  // API parameter values that are decorated as "sensitive" in the API will not
  9559  // be included in the string output. The member name will be present, but the
  9560  // value will be replaced with "sensitive".
  9561  func (s DescribeTrackerOutput) GoString() string {
  9562  	return s.String()
  9563  }
  9564  
  9565  // SetCreateTime sets the CreateTime field's value.
  9566  func (s *DescribeTrackerOutput) SetCreateTime(v time.Time) *DescribeTrackerOutput {
  9567  	s.CreateTime = &v
  9568  	return s
  9569  }
  9570  
  9571  // SetDescription sets the Description field's value.
  9572  func (s *DescribeTrackerOutput) SetDescription(v string) *DescribeTrackerOutput {
  9573  	s.Description = &v
  9574  	return s
  9575  }
  9576  
  9577  // SetKmsKeyId sets the KmsKeyId field's value.
  9578  func (s *DescribeTrackerOutput) SetKmsKeyId(v string) *DescribeTrackerOutput {
  9579  	s.KmsKeyId = &v
  9580  	return s
  9581  }
  9582  
  9583  // SetPositionFiltering sets the PositionFiltering field's value.
  9584  func (s *DescribeTrackerOutput) SetPositionFiltering(v string) *DescribeTrackerOutput {
  9585  	s.PositionFiltering = &v
  9586  	return s
  9587  }
  9588  
  9589  // SetPricingPlan sets the PricingPlan field's value.
  9590  func (s *DescribeTrackerOutput) SetPricingPlan(v string) *DescribeTrackerOutput {
  9591  	s.PricingPlan = &v
  9592  	return s
  9593  }
  9594  
  9595  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
  9596  func (s *DescribeTrackerOutput) SetPricingPlanDataSource(v string) *DescribeTrackerOutput {
  9597  	s.PricingPlanDataSource = &v
  9598  	return s
  9599  }
  9600  
  9601  // SetTags sets the Tags field's value.
  9602  func (s *DescribeTrackerOutput) SetTags(v map[string]*string) *DescribeTrackerOutput {
  9603  	s.Tags = v
  9604  	return s
  9605  }
  9606  
  9607  // SetTrackerArn sets the TrackerArn field's value.
  9608  func (s *DescribeTrackerOutput) SetTrackerArn(v string) *DescribeTrackerOutput {
  9609  	s.TrackerArn = &v
  9610  	return s
  9611  }
  9612  
  9613  // SetTrackerName sets the TrackerName field's value.
  9614  func (s *DescribeTrackerOutput) SetTrackerName(v string) *DescribeTrackerOutput {
  9615  	s.TrackerName = &v
  9616  	return s
  9617  }
  9618  
  9619  // SetUpdateTime sets the UpdateTime field's value.
  9620  func (s *DescribeTrackerOutput) SetUpdateTime(v time.Time) *DescribeTrackerOutput {
  9621  	s.UpdateTime = &v
  9622  	return s
  9623  }
  9624  
  9625  // Contains the device position details.
  9626  type DevicePosition struct {
  9627  	_ struct{} `type:"structure"`
  9628  
  9629  	// The device whose position you retrieved.
  9630  	DeviceId *string `min:"1" type:"string"`
  9631  
  9632  	// The last known device position.
  9633  	//
  9634  	// Position is a sensitive parameter and its value will be
  9635  	// replaced with "sensitive" in string returned by DevicePosition's
  9636  	// String and GoString methods.
  9637  	//
  9638  	// Position is a required field
  9639  	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
  9640  
  9641  	// The timestamp for when the tracker resource received the device position
  9642  	// in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
  9643  	// YYYY-MM-DDThh:mm:ss.sssZ.
  9644  	//
  9645  	// ReceivedTime is a required field
  9646  	ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9647  
  9648  	// The timestamp at which the device's position was determined. Uses ISO 8601
  9649  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
  9650  	//
  9651  	// SampleTime is a required field
  9652  	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9653  }
  9654  
  9655  // String returns the string representation.
  9656  //
  9657  // API parameter values that are decorated as "sensitive" in the API will not
  9658  // be included in the string output. The member name will be present, but the
  9659  // value will be replaced with "sensitive".
  9660  func (s DevicePosition) String() string {
  9661  	return awsutil.Prettify(s)
  9662  }
  9663  
  9664  // GoString returns the string representation.
  9665  //
  9666  // API parameter values that are decorated as "sensitive" in the API will not
  9667  // be included in the string output. The member name will be present, but the
  9668  // value will be replaced with "sensitive".
  9669  func (s DevicePosition) GoString() string {
  9670  	return s.String()
  9671  }
  9672  
  9673  // SetDeviceId sets the DeviceId field's value.
  9674  func (s *DevicePosition) SetDeviceId(v string) *DevicePosition {
  9675  	s.DeviceId = &v
  9676  	return s
  9677  }
  9678  
  9679  // SetPosition sets the Position field's value.
  9680  func (s *DevicePosition) SetPosition(v []*float64) *DevicePosition {
  9681  	s.Position = v
  9682  	return s
  9683  }
  9684  
  9685  // SetReceivedTime sets the ReceivedTime field's value.
  9686  func (s *DevicePosition) SetReceivedTime(v time.Time) *DevicePosition {
  9687  	s.ReceivedTime = &v
  9688  	return s
  9689  }
  9690  
  9691  // SetSampleTime sets the SampleTime field's value.
  9692  func (s *DevicePosition) SetSampleTime(v time.Time) *DevicePosition {
  9693  	s.SampleTime = &v
  9694  	return s
  9695  }
  9696  
  9697  // Contains the position update details for a device.
  9698  type DevicePositionUpdate struct {
  9699  	_ struct{} `type:"structure"`
  9700  
  9701  	// The device associated to the position update.
  9702  	//
  9703  	// DeviceId is a required field
  9704  	DeviceId *string `min:"1" type:"string" required:"true"`
  9705  
  9706  	// The latest device position defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
  9707  	// format: [X or longitude, Y or latitude].
  9708  	//
  9709  	// Position is a sensitive parameter and its value will be
  9710  	// replaced with "sensitive" in string returned by DevicePositionUpdate's
  9711  	// String and GoString methods.
  9712  	//
  9713  	// Position is a required field
  9714  	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
  9715  
  9716  	// The timestamp at which the device's position was determined. Uses ISO 8601
  9717  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
  9718  	//
  9719  	// SampleTime is a required field
  9720  	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9721  }
  9722  
  9723  // String returns the string representation.
  9724  //
  9725  // API parameter values that are decorated as "sensitive" in the API will not
  9726  // be included in the string output. The member name will be present, but the
  9727  // value will be replaced with "sensitive".
  9728  func (s DevicePositionUpdate) String() string {
  9729  	return awsutil.Prettify(s)
  9730  }
  9731  
  9732  // GoString returns the string representation.
  9733  //
  9734  // API parameter values that are decorated as "sensitive" in the API will not
  9735  // be included in the string output. The member name will be present, but the
  9736  // value will be replaced with "sensitive".
  9737  func (s DevicePositionUpdate) GoString() string {
  9738  	return s.String()
  9739  }
  9740  
  9741  // Validate inspects the fields of the type to determine if they are valid.
  9742  func (s *DevicePositionUpdate) Validate() error {
  9743  	invalidParams := request.ErrInvalidParams{Context: "DevicePositionUpdate"}
  9744  	if s.DeviceId == nil {
  9745  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  9746  	}
  9747  	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
  9748  		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
  9749  	}
  9750  	if s.Position == nil {
  9751  		invalidParams.Add(request.NewErrParamRequired("Position"))
  9752  	}
  9753  	if s.Position != nil && len(s.Position) < 2 {
  9754  		invalidParams.Add(request.NewErrParamMinLen("Position", 2))
  9755  	}
  9756  	if s.SampleTime == nil {
  9757  		invalidParams.Add(request.NewErrParamRequired("SampleTime"))
  9758  	}
  9759  
  9760  	if invalidParams.Len() > 0 {
  9761  		return invalidParams
  9762  	}
  9763  	return nil
  9764  }
  9765  
  9766  // SetDeviceId sets the DeviceId field's value.
  9767  func (s *DevicePositionUpdate) SetDeviceId(v string) *DevicePositionUpdate {
  9768  	s.DeviceId = &v
  9769  	return s
  9770  }
  9771  
  9772  // SetPosition sets the Position field's value.
  9773  func (s *DevicePositionUpdate) SetPosition(v []*float64) *DevicePositionUpdate {
  9774  	s.Position = v
  9775  	return s
  9776  }
  9777  
  9778  // SetSampleTime sets the SampleTime field's value.
  9779  func (s *DevicePositionUpdate) SetSampleTime(v time.Time) *DevicePositionUpdate {
  9780  	s.SampleTime = &v
  9781  	return s
  9782  }
  9783  
  9784  type DisassociateTrackerConsumerInput struct {
  9785  	_ struct{} `type:"structure" nopayload:"true"`
  9786  
  9787  	// The Amazon Resource Name (ARN) for the geofence collection to be disassociated
  9788  	// from the tracker resource. Used when you need to specify a resource across
  9789  	// all AWS.
  9790  	//
  9791  	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
  9792  	//
  9793  	// ConsumerArn is a required field
  9794  	ConsumerArn *string `location:"uri" locationName:"ConsumerArn" type:"string" required:"true"`
  9795  
  9796  	// The name of the tracker resource to be dissociated from the consumer.
  9797  	//
  9798  	// TrackerName is a required field
  9799  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  9800  }
  9801  
  9802  // String returns the string representation.
  9803  //
  9804  // API parameter values that are decorated as "sensitive" in the API will not
  9805  // be included in the string output. The member name will be present, but the
  9806  // value will be replaced with "sensitive".
  9807  func (s DisassociateTrackerConsumerInput) String() string {
  9808  	return awsutil.Prettify(s)
  9809  }
  9810  
  9811  // GoString returns the string representation.
  9812  //
  9813  // API parameter values that are decorated as "sensitive" in the API will not
  9814  // be included in the string output. The member name will be present, but the
  9815  // value will be replaced with "sensitive".
  9816  func (s DisassociateTrackerConsumerInput) GoString() string {
  9817  	return s.String()
  9818  }
  9819  
  9820  // Validate inspects the fields of the type to determine if they are valid.
  9821  func (s *DisassociateTrackerConsumerInput) Validate() error {
  9822  	invalidParams := request.ErrInvalidParams{Context: "DisassociateTrackerConsumerInput"}
  9823  	if s.ConsumerArn == nil {
  9824  		invalidParams.Add(request.NewErrParamRequired("ConsumerArn"))
  9825  	}
  9826  	if s.ConsumerArn != nil && len(*s.ConsumerArn) < 1 {
  9827  		invalidParams.Add(request.NewErrParamMinLen("ConsumerArn", 1))
  9828  	}
  9829  	if s.TrackerName == nil {
  9830  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
  9831  	}
  9832  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
  9833  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
  9834  	}
  9835  
  9836  	if invalidParams.Len() > 0 {
  9837  		return invalidParams
  9838  	}
  9839  	return nil
  9840  }
  9841  
  9842  // SetConsumerArn sets the ConsumerArn field's value.
  9843  func (s *DisassociateTrackerConsumerInput) SetConsumerArn(v string) *DisassociateTrackerConsumerInput {
  9844  	s.ConsumerArn = &v
  9845  	return s
  9846  }
  9847  
  9848  // SetTrackerName sets the TrackerName field's value.
  9849  func (s *DisassociateTrackerConsumerInput) SetTrackerName(v string) *DisassociateTrackerConsumerInput {
  9850  	s.TrackerName = &v
  9851  	return s
  9852  }
  9853  
  9854  type DisassociateTrackerConsumerOutput struct {
  9855  	_ struct{} `type:"structure" nopayload:"true"`
  9856  }
  9857  
  9858  // String returns the string representation.
  9859  //
  9860  // API parameter values that are decorated as "sensitive" in the API will not
  9861  // be included in the string output. The member name will be present, but the
  9862  // value will be replaced with "sensitive".
  9863  func (s DisassociateTrackerConsumerOutput) String() string {
  9864  	return awsutil.Prettify(s)
  9865  }
  9866  
  9867  // GoString returns the string representation.
  9868  //
  9869  // API parameter values that are decorated as "sensitive" in the API will not
  9870  // be included in the string output. The member name will be present, but the
  9871  // value will be replaced with "sensitive".
  9872  func (s DisassociateTrackerConsumerOutput) GoString() string {
  9873  	return s.String()
  9874  }
  9875  
  9876  // Contains the geofence geometry details.
  9877  //
  9878  // Amazon Location doesn't currently support polygons with holes, multipolygons,
  9879  // polygons that are wound clockwise, or that cross the antimeridian.
  9880  type GeofenceGeometry struct {
  9881  	_ struct{} `type:"structure"`
  9882  
  9883  	// An array of 1 or more linear rings. A linear ring is an array of 4 or more
  9884  	// vertices, where the first and last vertex are the same to form a closed boundary.
  9885  	// Each vertex is a 2-dimensional point of the form: [longitude, latitude].
  9886  	//
  9887  	// The first linear ring is an outer ring, describing the polygon's boundary.
  9888  	// Subsequent linear rings may be inner or outer rings to describe holes and
  9889  	// islands. Outer rings must list their vertices in counter-clockwise order
  9890  	// around the ring's center, where the left side is the polygon's exterior.
  9891  	// Inner rings must list their vertices in clockwise order, where the left side
  9892  	// is the polygon's interior.
  9893  	Polygon [][][]*float64 `min:"1" type:"list"`
  9894  }
  9895  
  9896  // String returns the string representation.
  9897  //
  9898  // API parameter values that are decorated as "sensitive" in the API will not
  9899  // be included in the string output. The member name will be present, but the
  9900  // value will be replaced with "sensitive".
  9901  func (s GeofenceGeometry) String() string {
  9902  	return awsutil.Prettify(s)
  9903  }
  9904  
  9905  // GoString returns the string representation.
  9906  //
  9907  // API parameter values that are decorated as "sensitive" in the API will not
  9908  // be included in the string output. The member name will be present, but the
  9909  // value will be replaced with "sensitive".
  9910  func (s GeofenceGeometry) GoString() string {
  9911  	return s.String()
  9912  }
  9913  
  9914  // Validate inspects the fields of the type to determine if they are valid.
  9915  func (s *GeofenceGeometry) Validate() error {
  9916  	invalidParams := request.ErrInvalidParams{Context: "GeofenceGeometry"}
  9917  	if s.Polygon != nil && len(s.Polygon) < 1 {
  9918  		invalidParams.Add(request.NewErrParamMinLen("Polygon", 1))
  9919  	}
  9920  
  9921  	if invalidParams.Len() > 0 {
  9922  		return invalidParams
  9923  	}
  9924  	return nil
  9925  }
  9926  
  9927  // SetPolygon sets the Polygon field's value.
  9928  func (s *GeofenceGeometry) SetPolygon(v [][][]*float64) *GeofenceGeometry {
  9929  	s.Polygon = v
  9930  	return s
  9931  }
  9932  
  9933  type GetDevicePositionHistoryInput struct {
  9934  	_ struct{} `type:"structure"`
  9935  
  9936  	// The device whose position history you want to retrieve.
  9937  	//
  9938  	// DeviceId is a required field
  9939  	DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"`
  9940  
  9941  	// Specify the end time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  9942  	// format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time
  9943  	// that the request is made.
  9944  	//
  9945  	// Requirement:
  9946  	//
  9947  	//    * The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.
  9948  	EndTimeExclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  9949  
  9950  	// The pagination token specifying which page of results to return in the response.
  9951  	// If no token is provided, the default page is the first page.
  9952  	//
  9953  	// Default value: null
  9954  	NextToken *string `min:"1" type:"string"`
  9955  
  9956  	// Specify the start time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
  9957  	// format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours
  9958  	// prior to the time that the request is made.
  9959  	//
  9960  	// Requirement:
  9961  	//
  9962  	//    * The time specified for StartTimeInclusive must be before EndTimeExclusive.
  9963  	StartTimeInclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  9964  
  9965  	// The tracker resource receiving the request for the device position history.
  9966  	//
  9967  	// TrackerName is a required field
  9968  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
  9969  }
  9970  
  9971  // String returns the string representation.
  9972  //
  9973  // API parameter values that are decorated as "sensitive" in the API will not
  9974  // be included in the string output. The member name will be present, but the
  9975  // value will be replaced with "sensitive".
  9976  func (s GetDevicePositionHistoryInput) String() string {
  9977  	return awsutil.Prettify(s)
  9978  }
  9979  
  9980  // GoString returns the string representation.
  9981  //
  9982  // API parameter values that are decorated as "sensitive" in the API will not
  9983  // be included in the string output. The member name will be present, but the
  9984  // value will be replaced with "sensitive".
  9985  func (s GetDevicePositionHistoryInput) GoString() string {
  9986  	return s.String()
  9987  }
  9988  
  9989  // Validate inspects the fields of the type to determine if they are valid.
  9990  func (s *GetDevicePositionHistoryInput) Validate() error {
  9991  	invalidParams := request.ErrInvalidParams{Context: "GetDevicePositionHistoryInput"}
  9992  	if s.DeviceId == nil {
  9993  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  9994  	}
  9995  	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
  9996  		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
  9997  	}
  9998  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9999  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10000  	}
 10001  	if s.TrackerName == nil {
 10002  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
 10003  	}
 10004  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
 10005  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
 10006  	}
 10007  
 10008  	if invalidParams.Len() > 0 {
 10009  		return invalidParams
 10010  	}
 10011  	return nil
 10012  }
 10013  
 10014  // SetDeviceId sets the DeviceId field's value.
 10015  func (s *GetDevicePositionHistoryInput) SetDeviceId(v string) *GetDevicePositionHistoryInput {
 10016  	s.DeviceId = &v
 10017  	return s
 10018  }
 10019  
 10020  // SetEndTimeExclusive sets the EndTimeExclusive field's value.
 10021  func (s *GetDevicePositionHistoryInput) SetEndTimeExclusive(v time.Time) *GetDevicePositionHistoryInput {
 10022  	s.EndTimeExclusive = &v
 10023  	return s
 10024  }
 10025  
 10026  // SetNextToken sets the NextToken field's value.
 10027  func (s *GetDevicePositionHistoryInput) SetNextToken(v string) *GetDevicePositionHistoryInput {
 10028  	s.NextToken = &v
 10029  	return s
 10030  }
 10031  
 10032  // SetStartTimeInclusive sets the StartTimeInclusive field's value.
 10033  func (s *GetDevicePositionHistoryInput) SetStartTimeInclusive(v time.Time) *GetDevicePositionHistoryInput {
 10034  	s.StartTimeInclusive = &v
 10035  	return s
 10036  }
 10037  
 10038  // SetTrackerName sets the TrackerName field's value.
 10039  func (s *GetDevicePositionHistoryInput) SetTrackerName(v string) *GetDevicePositionHistoryInput {
 10040  	s.TrackerName = &v
 10041  	return s
 10042  }
 10043  
 10044  type GetDevicePositionHistoryOutput struct {
 10045  	_ struct{} `type:"structure"`
 10046  
 10047  	// Contains the position history details for the requested device.
 10048  	//
 10049  	// DevicePositions is a required field
 10050  	DevicePositions []*DevicePosition `type:"list" required:"true"`
 10051  
 10052  	// A pagination token indicating there are additional pages available. You can
 10053  	// use the token in a following request to fetch the next set of results.
 10054  	NextToken *string `min:"1" type:"string"`
 10055  }
 10056  
 10057  // String returns the string representation.
 10058  //
 10059  // API parameter values that are decorated as "sensitive" in the API will not
 10060  // be included in the string output. The member name will be present, but the
 10061  // value will be replaced with "sensitive".
 10062  func (s GetDevicePositionHistoryOutput) String() string {
 10063  	return awsutil.Prettify(s)
 10064  }
 10065  
 10066  // GoString returns the string representation.
 10067  //
 10068  // API parameter values that are decorated as "sensitive" in the API will not
 10069  // be included in the string output. The member name will be present, but the
 10070  // value will be replaced with "sensitive".
 10071  func (s GetDevicePositionHistoryOutput) GoString() string {
 10072  	return s.String()
 10073  }
 10074  
 10075  // SetDevicePositions sets the DevicePositions field's value.
 10076  func (s *GetDevicePositionHistoryOutput) SetDevicePositions(v []*DevicePosition) *GetDevicePositionHistoryOutput {
 10077  	s.DevicePositions = v
 10078  	return s
 10079  }
 10080  
 10081  // SetNextToken sets the NextToken field's value.
 10082  func (s *GetDevicePositionHistoryOutput) SetNextToken(v string) *GetDevicePositionHistoryOutput {
 10083  	s.NextToken = &v
 10084  	return s
 10085  }
 10086  
 10087  type GetDevicePositionInput struct {
 10088  	_ struct{} `type:"structure" nopayload:"true"`
 10089  
 10090  	// The device whose position you want to retrieve.
 10091  	//
 10092  	// DeviceId is a required field
 10093  	DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"`
 10094  
 10095  	// The tracker resource receiving the position update.
 10096  	//
 10097  	// TrackerName is a required field
 10098  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
 10099  }
 10100  
 10101  // String returns the string representation.
 10102  //
 10103  // API parameter values that are decorated as "sensitive" in the API will not
 10104  // be included in the string output. The member name will be present, but the
 10105  // value will be replaced with "sensitive".
 10106  func (s GetDevicePositionInput) String() string {
 10107  	return awsutil.Prettify(s)
 10108  }
 10109  
 10110  // GoString returns the string representation.
 10111  //
 10112  // API parameter values that are decorated as "sensitive" in the API will not
 10113  // be included in the string output. The member name will be present, but the
 10114  // value will be replaced with "sensitive".
 10115  func (s GetDevicePositionInput) GoString() string {
 10116  	return s.String()
 10117  }
 10118  
 10119  // Validate inspects the fields of the type to determine if they are valid.
 10120  func (s *GetDevicePositionInput) Validate() error {
 10121  	invalidParams := request.ErrInvalidParams{Context: "GetDevicePositionInput"}
 10122  	if s.DeviceId == nil {
 10123  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
 10124  	}
 10125  	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
 10126  		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
 10127  	}
 10128  	if s.TrackerName == nil {
 10129  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
 10130  	}
 10131  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
 10132  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
 10133  	}
 10134  
 10135  	if invalidParams.Len() > 0 {
 10136  		return invalidParams
 10137  	}
 10138  	return nil
 10139  }
 10140  
 10141  // SetDeviceId sets the DeviceId field's value.
 10142  func (s *GetDevicePositionInput) SetDeviceId(v string) *GetDevicePositionInput {
 10143  	s.DeviceId = &v
 10144  	return s
 10145  }
 10146  
 10147  // SetTrackerName sets the TrackerName field's value.
 10148  func (s *GetDevicePositionInput) SetTrackerName(v string) *GetDevicePositionInput {
 10149  	s.TrackerName = &v
 10150  	return s
 10151  }
 10152  
 10153  type GetDevicePositionOutput struct {
 10154  	_ struct{} `type:"structure"`
 10155  
 10156  	// The device whose position you retrieved.
 10157  	DeviceId *string `min:"1" type:"string"`
 10158  
 10159  	// The last known device position.
 10160  	//
 10161  	// Position is a sensitive parameter and its value will be
 10162  	// replaced with "sensitive" in string returned by GetDevicePositionOutput's
 10163  	// String and GoString methods.
 10164  	//
 10165  	// Position is a required field
 10166  	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 10167  
 10168  	// The timestamp for when the tracker resource received the device position
 10169  	// in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
 10170  	// YYYY-MM-DDThh:mm:ss.sssZ.
 10171  	//
 10172  	// ReceivedTime is a required field
 10173  	ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 10174  
 10175  	// The timestamp at which the device's position was determined. Uses ISO 8601
 10176  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 10177  	//
 10178  	// SampleTime is a required field
 10179  	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 10180  }
 10181  
 10182  // String returns the string representation.
 10183  //
 10184  // API parameter values that are decorated as "sensitive" in the API will not
 10185  // be included in the string output. The member name will be present, but the
 10186  // value will be replaced with "sensitive".
 10187  func (s GetDevicePositionOutput) String() string {
 10188  	return awsutil.Prettify(s)
 10189  }
 10190  
 10191  // GoString returns the string representation.
 10192  //
 10193  // API parameter values that are decorated as "sensitive" in the API will not
 10194  // be included in the string output. The member name will be present, but the
 10195  // value will be replaced with "sensitive".
 10196  func (s GetDevicePositionOutput) GoString() string {
 10197  	return s.String()
 10198  }
 10199  
 10200  // SetDeviceId sets the DeviceId field's value.
 10201  func (s *GetDevicePositionOutput) SetDeviceId(v string) *GetDevicePositionOutput {
 10202  	s.DeviceId = &v
 10203  	return s
 10204  }
 10205  
 10206  // SetPosition sets the Position field's value.
 10207  func (s *GetDevicePositionOutput) SetPosition(v []*float64) *GetDevicePositionOutput {
 10208  	s.Position = v
 10209  	return s
 10210  }
 10211  
 10212  // SetReceivedTime sets the ReceivedTime field's value.
 10213  func (s *GetDevicePositionOutput) SetReceivedTime(v time.Time) *GetDevicePositionOutput {
 10214  	s.ReceivedTime = &v
 10215  	return s
 10216  }
 10217  
 10218  // SetSampleTime sets the SampleTime field's value.
 10219  func (s *GetDevicePositionOutput) SetSampleTime(v time.Time) *GetDevicePositionOutput {
 10220  	s.SampleTime = &v
 10221  	return s
 10222  }
 10223  
 10224  type GetGeofenceInput struct {
 10225  	_ struct{} `type:"structure" nopayload:"true"`
 10226  
 10227  	// The geofence collection storing the target geofence.
 10228  	//
 10229  	// CollectionName is a required field
 10230  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
 10231  
 10232  	// The geofence you're retrieving details for.
 10233  	//
 10234  	// GeofenceId is a required field
 10235  	GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"`
 10236  }
 10237  
 10238  // String returns the string representation.
 10239  //
 10240  // API parameter values that are decorated as "sensitive" in the API will not
 10241  // be included in the string output. The member name will be present, but the
 10242  // value will be replaced with "sensitive".
 10243  func (s GetGeofenceInput) String() string {
 10244  	return awsutil.Prettify(s)
 10245  }
 10246  
 10247  // GoString returns the string representation.
 10248  //
 10249  // API parameter values that are decorated as "sensitive" in the API will not
 10250  // be included in the string output. The member name will be present, but the
 10251  // value will be replaced with "sensitive".
 10252  func (s GetGeofenceInput) GoString() string {
 10253  	return s.String()
 10254  }
 10255  
 10256  // Validate inspects the fields of the type to determine if they are valid.
 10257  func (s *GetGeofenceInput) Validate() error {
 10258  	invalidParams := request.ErrInvalidParams{Context: "GetGeofenceInput"}
 10259  	if s.CollectionName == nil {
 10260  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
 10261  	}
 10262  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
 10263  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
 10264  	}
 10265  	if s.GeofenceId == nil {
 10266  		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
 10267  	}
 10268  	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
 10269  		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
 10270  	}
 10271  
 10272  	if invalidParams.Len() > 0 {
 10273  		return invalidParams
 10274  	}
 10275  	return nil
 10276  }
 10277  
 10278  // SetCollectionName sets the CollectionName field's value.
 10279  func (s *GetGeofenceInput) SetCollectionName(v string) *GetGeofenceInput {
 10280  	s.CollectionName = &v
 10281  	return s
 10282  }
 10283  
 10284  // SetGeofenceId sets the GeofenceId field's value.
 10285  func (s *GetGeofenceInput) SetGeofenceId(v string) *GetGeofenceInput {
 10286  	s.GeofenceId = &v
 10287  	return s
 10288  }
 10289  
 10290  type GetGeofenceOutput struct {
 10291  	_ struct{} `type:"structure"`
 10292  
 10293  	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 10294  	// format: YYYY-MM-DDThh:mm:ss.sssZ
 10295  	//
 10296  	// CreateTime is a required field
 10297  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 10298  
 10299  	// The geofence identifier.
 10300  	//
 10301  	// GeofenceId is a required field
 10302  	GeofenceId *string `min:"1" type:"string" required:"true"`
 10303  
 10304  	// Contains the geofence geometry details describing a polygon.
 10305  	//
 10306  	// Geometry is a required field
 10307  	Geometry *GeofenceGeometry `type:"structure" required:"true"`
 10308  
 10309  	// Identifies the state of the geofence. A geofence will hold one of the following
 10310  	// states:
 10311  	//
 10312  	//    * ACTIVE — The geofence has been indexed by the system.
 10313  	//
 10314  	//    * PENDING — The geofence is being processed by the system.
 10315  	//
 10316  	//    * FAILED — The geofence failed to be indexed by the system.
 10317  	//
 10318  	//    * DELETED — The geofence has been deleted from the system index.
 10319  	//
 10320  	//    * DELETING — The geofence is being deleted from the system index.
 10321  	//
 10322  	// Status is a required field
 10323  	Status *string `type:"string" required:"true"`
 10324  
 10325  	// The timestamp for when the geofence collection was last updated in ISO 8601
 10326  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
 10327  	//
 10328  	// UpdateTime is a required field
 10329  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 10330  }
 10331  
 10332  // String returns the string representation.
 10333  //
 10334  // API parameter values that are decorated as "sensitive" in the API will not
 10335  // be included in the string output. The member name will be present, but the
 10336  // value will be replaced with "sensitive".
 10337  func (s GetGeofenceOutput) String() string {
 10338  	return awsutil.Prettify(s)
 10339  }
 10340  
 10341  // GoString returns the string representation.
 10342  //
 10343  // API parameter values that are decorated as "sensitive" in the API will not
 10344  // be included in the string output. The member name will be present, but the
 10345  // value will be replaced with "sensitive".
 10346  func (s GetGeofenceOutput) GoString() string {
 10347  	return s.String()
 10348  }
 10349  
 10350  // SetCreateTime sets the CreateTime field's value.
 10351  func (s *GetGeofenceOutput) SetCreateTime(v time.Time) *GetGeofenceOutput {
 10352  	s.CreateTime = &v
 10353  	return s
 10354  }
 10355  
 10356  // SetGeofenceId sets the GeofenceId field's value.
 10357  func (s *GetGeofenceOutput) SetGeofenceId(v string) *GetGeofenceOutput {
 10358  	s.GeofenceId = &v
 10359  	return s
 10360  }
 10361  
 10362  // SetGeometry sets the Geometry field's value.
 10363  func (s *GetGeofenceOutput) SetGeometry(v *GeofenceGeometry) *GetGeofenceOutput {
 10364  	s.Geometry = v
 10365  	return s
 10366  }
 10367  
 10368  // SetStatus sets the Status field's value.
 10369  func (s *GetGeofenceOutput) SetStatus(v string) *GetGeofenceOutput {
 10370  	s.Status = &v
 10371  	return s
 10372  }
 10373  
 10374  // SetUpdateTime sets the UpdateTime field's value.
 10375  func (s *GetGeofenceOutput) SetUpdateTime(v time.Time) *GetGeofenceOutput {
 10376  	s.UpdateTime = &v
 10377  	return s
 10378  }
 10379  
 10380  type GetMapGlyphsInput struct {
 10381  	_ struct{} `type:"structure" nopayload:"true"`
 10382  
 10383  	// A comma-separated list of fonts to load glyphs from in order of preference.
 10384  	// For example, Noto Sans Regular, Arial Unicode.
 10385  	//
 10386  	// Valid fonts stacks for Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)
 10387  	// styles:
 10388  	//
 10389  	//    * VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium |
 10390  	//    Ubuntu Italic | Ubuntu Regular | Ubuntu Bold
 10391  	//
 10392  	//    * VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu
 10393  	//    Light | Ubuntu Bold
 10394  	//
 10395  	//    * VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto
 10396  	//    Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic
 10397  	//
 10398  	//    * VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold
 10399  	//
 10400  	//    * VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold
 10401  	//
 10402  	// Valid font stacks for HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)
 10403  	// styles:
 10404  	//
 10405  	//    * VectorHereBerlin – Fira GO Regular | Fira GO Bold
 10406  	//
 10407  	// FontStack is a required field
 10408  	FontStack *string `location:"uri" locationName:"FontStack" type:"string" required:"true"`
 10409  
 10410  	// A Unicode range of characters to download glyphs for. Each response will
 10411  	// contain 256 characters. For example, 0–255 includes all characters from
 10412  	// range U+0000 to 00FF. Must be aligned to multiples of 256.
 10413  	//
 10414  	// FontUnicodeRange is a required field
 10415  	FontUnicodeRange *string `location:"uri" locationName:"FontUnicodeRange" type:"string" required:"true"`
 10416  
 10417  	// The map resource associated with the glyph file.
 10418  	//
 10419  	// MapName is a required field
 10420  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
 10421  }
 10422  
 10423  // String returns the string representation.
 10424  //
 10425  // API parameter values that are decorated as "sensitive" in the API will not
 10426  // be included in the string output. The member name will be present, but the
 10427  // value will be replaced with "sensitive".
 10428  func (s GetMapGlyphsInput) String() string {
 10429  	return awsutil.Prettify(s)
 10430  }
 10431  
 10432  // GoString returns the string representation.
 10433  //
 10434  // API parameter values that are decorated as "sensitive" in the API will not
 10435  // be included in the string output. The member name will be present, but the
 10436  // value will be replaced with "sensitive".
 10437  func (s GetMapGlyphsInput) GoString() string {
 10438  	return s.String()
 10439  }
 10440  
 10441  // Validate inspects the fields of the type to determine if they are valid.
 10442  func (s *GetMapGlyphsInput) Validate() error {
 10443  	invalidParams := request.ErrInvalidParams{Context: "GetMapGlyphsInput"}
 10444  	if s.FontStack == nil {
 10445  		invalidParams.Add(request.NewErrParamRequired("FontStack"))
 10446  	}
 10447  	if s.FontStack != nil && len(*s.FontStack) < 1 {
 10448  		invalidParams.Add(request.NewErrParamMinLen("FontStack", 1))
 10449  	}
 10450  	if s.FontUnicodeRange == nil {
 10451  		invalidParams.Add(request.NewErrParamRequired("FontUnicodeRange"))
 10452  	}
 10453  	if s.FontUnicodeRange != nil && len(*s.FontUnicodeRange) < 1 {
 10454  		invalidParams.Add(request.NewErrParamMinLen("FontUnicodeRange", 1))
 10455  	}
 10456  	if s.MapName == nil {
 10457  		invalidParams.Add(request.NewErrParamRequired("MapName"))
 10458  	}
 10459  	if s.MapName != nil && len(*s.MapName) < 1 {
 10460  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
 10461  	}
 10462  
 10463  	if invalidParams.Len() > 0 {
 10464  		return invalidParams
 10465  	}
 10466  	return nil
 10467  }
 10468  
 10469  // SetFontStack sets the FontStack field's value.
 10470  func (s *GetMapGlyphsInput) SetFontStack(v string) *GetMapGlyphsInput {
 10471  	s.FontStack = &v
 10472  	return s
 10473  }
 10474  
 10475  // SetFontUnicodeRange sets the FontUnicodeRange field's value.
 10476  func (s *GetMapGlyphsInput) SetFontUnicodeRange(v string) *GetMapGlyphsInput {
 10477  	s.FontUnicodeRange = &v
 10478  	return s
 10479  }
 10480  
 10481  // SetMapName sets the MapName field's value.
 10482  func (s *GetMapGlyphsInput) SetMapName(v string) *GetMapGlyphsInput {
 10483  	s.MapName = &v
 10484  	return s
 10485  }
 10486  
 10487  type GetMapGlyphsOutput struct {
 10488  	_ struct{} `type:"structure" payload:"Blob"`
 10489  
 10490  	// The blob's content type.
 10491  	Blob []byte `type:"blob"`
 10492  
 10493  	// The map glyph content type. For example, application/octet-stream.
 10494  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
 10495  }
 10496  
 10497  // String returns the string representation.
 10498  //
 10499  // API parameter values that are decorated as "sensitive" in the API will not
 10500  // be included in the string output. The member name will be present, but the
 10501  // value will be replaced with "sensitive".
 10502  func (s GetMapGlyphsOutput) String() string {
 10503  	return awsutil.Prettify(s)
 10504  }
 10505  
 10506  // GoString returns the string representation.
 10507  //
 10508  // API parameter values that are decorated as "sensitive" in the API will not
 10509  // be included in the string output. The member name will be present, but the
 10510  // value will be replaced with "sensitive".
 10511  func (s GetMapGlyphsOutput) GoString() string {
 10512  	return s.String()
 10513  }
 10514  
 10515  // SetBlob sets the Blob field's value.
 10516  func (s *GetMapGlyphsOutput) SetBlob(v []byte) *GetMapGlyphsOutput {
 10517  	s.Blob = v
 10518  	return s
 10519  }
 10520  
 10521  // SetContentType sets the ContentType field's value.
 10522  func (s *GetMapGlyphsOutput) SetContentType(v string) *GetMapGlyphsOutput {
 10523  	s.ContentType = &v
 10524  	return s
 10525  }
 10526  
 10527  type GetMapSpritesInput struct {
 10528  	_ struct{} `type:"structure" nopayload:"true"`
 10529  
 10530  	// The name of the sprite file. Use the following file names for the sprite
 10531  	// sheet:
 10532  	//
 10533  	//    * sprites.png
 10534  	//
 10535  	//    * sprites@2x.png for high pixel density displays
 10536  	//
 10537  	// For the JSON document contain image offsets. Use the following file names:
 10538  	//
 10539  	//    * sprites.json
 10540  	//
 10541  	//    * sprites@2x.json for high pixel density displays
 10542  	//
 10543  	// FileName is a required field
 10544  	FileName *string `location:"uri" locationName:"FileName" type:"string" required:"true"`
 10545  
 10546  	// The map resource associated with the sprite file.
 10547  	//
 10548  	// MapName is a required field
 10549  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
 10550  }
 10551  
 10552  // String returns the string representation.
 10553  //
 10554  // API parameter values that are decorated as "sensitive" in the API will not
 10555  // be included in the string output. The member name will be present, but the
 10556  // value will be replaced with "sensitive".
 10557  func (s GetMapSpritesInput) String() string {
 10558  	return awsutil.Prettify(s)
 10559  }
 10560  
 10561  // GoString returns the string representation.
 10562  //
 10563  // API parameter values that are decorated as "sensitive" in the API will not
 10564  // be included in the string output. The member name will be present, but the
 10565  // value will be replaced with "sensitive".
 10566  func (s GetMapSpritesInput) GoString() string {
 10567  	return s.String()
 10568  }
 10569  
 10570  // Validate inspects the fields of the type to determine if they are valid.
 10571  func (s *GetMapSpritesInput) Validate() error {
 10572  	invalidParams := request.ErrInvalidParams{Context: "GetMapSpritesInput"}
 10573  	if s.FileName == nil {
 10574  		invalidParams.Add(request.NewErrParamRequired("FileName"))
 10575  	}
 10576  	if s.FileName != nil && len(*s.FileName) < 1 {
 10577  		invalidParams.Add(request.NewErrParamMinLen("FileName", 1))
 10578  	}
 10579  	if s.MapName == nil {
 10580  		invalidParams.Add(request.NewErrParamRequired("MapName"))
 10581  	}
 10582  	if s.MapName != nil && len(*s.MapName) < 1 {
 10583  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
 10584  	}
 10585  
 10586  	if invalidParams.Len() > 0 {
 10587  		return invalidParams
 10588  	}
 10589  	return nil
 10590  }
 10591  
 10592  // SetFileName sets the FileName field's value.
 10593  func (s *GetMapSpritesInput) SetFileName(v string) *GetMapSpritesInput {
 10594  	s.FileName = &v
 10595  	return s
 10596  }
 10597  
 10598  // SetMapName sets the MapName field's value.
 10599  func (s *GetMapSpritesInput) SetMapName(v string) *GetMapSpritesInput {
 10600  	s.MapName = &v
 10601  	return s
 10602  }
 10603  
 10604  type GetMapSpritesOutput struct {
 10605  	_ struct{} `type:"structure" payload:"Blob"`
 10606  
 10607  	// Contains the body of the sprite sheet or JSON offset file.
 10608  	Blob []byte `type:"blob"`
 10609  
 10610  	// The content type of the sprite sheet and offsets. For example, the sprite
 10611  	// sheet content type is image/png, and the sprite offset JSON document is application/json.
 10612  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
 10613  }
 10614  
 10615  // String returns the string representation.
 10616  //
 10617  // API parameter values that are decorated as "sensitive" in the API will not
 10618  // be included in the string output. The member name will be present, but the
 10619  // value will be replaced with "sensitive".
 10620  func (s GetMapSpritesOutput) String() string {
 10621  	return awsutil.Prettify(s)
 10622  }
 10623  
 10624  // GoString returns the string representation.
 10625  //
 10626  // API parameter values that are decorated as "sensitive" in the API will not
 10627  // be included in the string output. The member name will be present, but the
 10628  // value will be replaced with "sensitive".
 10629  func (s GetMapSpritesOutput) GoString() string {
 10630  	return s.String()
 10631  }
 10632  
 10633  // SetBlob sets the Blob field's value.
 10634  func (s *GetMapSpritesOutput) SetBlob(v []byte) *GetMapSpritesOutput {
 10635  	s.Blob = v
 10636  	return s
 10637  }
 10638  
 10639  // SetContentType sets the ContentType field's value.
 10640  func (s *GetMapSpritesOutput) SetContentType(v string) *GetMapSpritesOutput {
 10641  	s.ContentType = &v
 10642  	return s
 10643  }
 10644  
 10645  type GetMapStyleDescriptorInput struct {
 10646  	_ struct{} `type:"structure" nopayload:"true"`
 10647  
 10648  	// The map resource to retrieve the style descriptor from.
 10649  	//
 10650  	// MapName is a required field
 10651  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
 10652  }
 10653  
 10654  // String returns the string representation.
 10655  //
 10656  // API parameter values that are decorated as "sensitive" in the API will not
 10657  // be included in the string output. The member name will be present, but the
 10658  // value will be replaced with "sensitive".
 10659  func (s GetMapStyleDescriptorInput) String() string {
 10660  	return awsutil.Prettify(s)
 10661  }
 10662  
 10663  // GoString returns the string representation.
 10664  //
 10665  // API parameter values that are decorated as "sensitive" in the API will not
 10666  // be included in the string output. The member name will be present, but the
 10667  // value will be replaced with "sensitive".
 10668  func (s GetMapStyleDescriptorInput) GoString() string {
 10669  	return s.String()
 10670  }
 10671  
 10672  // Validate inspects the fields of the type to determine if they are valid.
 10673  func (s *GetMapStyleDescriptorInput) Validate() error {
 10674  	invalidParams := request.ErrInvalidParams{Context: "GetMapStyleDescriptorInput"}
 10675  	if s.MapName == nil {
 10676  		invalidParams.Add(request.NewErrParamRequired("MapName"))
 10677  	}
 10678  	if s.MapName != nil && len(*s.MapName) < 1 {
 10679  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
 10680  	}
 10681  
 10682  	if invalidParams.Len() > 0 {
 10683  		return invalidParams
 10684  	}
 10685  	return nil
 10686  }
 10687  
 10688  // SetMapName sets the MapName field's value.
 10689  func (s *GetMapStyleDescriptorInput) SetMapName(v string) *GetMapStyleDescriptorInput {
 10690  	s.MapName = &v
 10691  	return s
 10692  }
 10693  
 10694  type GetMapStyleDescriptorOutput struct {
 10695  	_ struct{} `type:"structure" payload:"Blob"`
 10696  
 10697  	// Contains the body of the style descriptor.
 10698  	Blob []byte `type:"blob"`
 10699  
 10700  	// The style descriptor's content type. For example, application/json.
 10701  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
 10702  }
 10703  
 10704  // String returns the string representation.
 10705  //
 10706  // API parameter values that are decorated as "sensitive" in the API will not
 10707  // be included in the string output. The member name will be present, but the
 10708  // value will be replaced with "sensitive".
 10709  func (s GetMapStyleDescriptorOutput) String() string {
 10710  	return awsutil.Prettify(s)
 10711  }
 10712  
 10713  // GoString returns the string representation.
 10714  //
 10715  // API parameter values that are decorated as "sensitive" in the API will not
 10716  // be included in the string output. The member name will be present, but the
 10717  // value will be replaced with "sensitive".
 10718  func (s GetMapStyleDescriptorOutput) GoString() string {
 10719  	return s.String()
 10720  }
 10721  
 10722  // SetBlob sets the Blob field's value.
 10723  func (s *GetMapStyleDescriptorOutput) SetBlob(v []byte) *GetMapStyleDescriptorOutput {
 10724  	s.Blob = v
 10725  	return s
 10726  }
 10727  
 10728  // SetContentType sets the ContentType field's value.
 10729  func (s *GetMapStyleDescriptorOutput) SetContentType(v string) *GetMapStyleDescriptorOutput {
 10730  	s.ContentType = &v
 10731  	return s
 10732  }
 10733  
 10734  type GetMapTileInput struct {
 10735  	_ struct{} `type:"structure" nopayload:"true"`
 10736  
 10737  	// The map resource to retrieve the map tiles from.
 10738  	//
 10739  	// MapName is a required field
 10740  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
 10741  
 10742  	// The X axis value for the map tile.
 10743  	//
 10744  	// X is a required field
 10745  	X *string `location:"uri" locationName:"X" type:"string" required:"true"`
 10746  
 10747  	// The Y axis value for the map tile.
 10748  	//
 10749  	// Y is a required field
 10750  	Y *string `location:"uri" locationName:"Y" type:"string" required:"true"`
 10751  
 10752  	// The zoom value for the map tile.
 10753  	//
 10754  	// Z is a required field
 10755  	Z *string `location:"uri" locationName:"Z" type:"string" required:"true"`
 10756  }
 10757  
 10758  // String returns the string representation.
 10759  //
 10760  // API parameter values that are decorated as "sensitive" in the API will not
 10761  // be included in the string output. The member name will be present, but the
 10762  // value will be replaced with "sensitive".
 10763  func (s GetMapTileInput) String() string {
 10764  	return awsutil.Prettify(s)
 10765  }
 10766  
 10767  // GoString returns the string representation.
 10768  //
 10769  // API parameter values that are decorated as "sensitive" in the API will not
 10770  // be included in the string output. The member name will be present, but the
 10771  // value will be replaced with "sensitive".
 10772  func (s GetMapTileInput) GoString() string {
 10773  	return s.String()
 10774  }
 10775  
 10776  // Validate inspects the fields of the type to determine if they are valid.
 10777  func (s *GetMapTileInput) Validate() error {
 10778  	invalidParams := request.ErrInvalidParams{Context: "GetMapTileInput"}
 10779  	if s.MapName == nil {
 10780  		invalidParams.Add(request.NewErrParamRequired("MapName"))
 10781  	}
 10782  	if s.MapName != nil && len(*s.MapName) < 1 {
 10783  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
 10784  	}
 10785  	if s.X == nil {
 10786  		invalidParams.Add(request.NewErrParamRequired("X"))
 10787  	}
 10788  	if s.X != nil && len(*s.X) < 1 {
 10789  		invalidParams.Add(request.NewErrParamMinLen("X", 1))
 10790  	}
 10791  	if s.Y == nil {
 10792  		invalidParams.Add(request.NewErrParamRequired("Y"))
 10793  	}
 10794  	if s.Y != nil && len(*s.Y) < 1 {
 10795  		invalidParams.Add(request.NewErrParamMinLen("Y", 1))
 10796  	}
 10797  	if s.Z == nil {
 10798  		invalidParams.Add(request.NewErrParamRequired("Z"))
 10799  	}
 10800  	if s.Z != nil && len(*s.Z) < 1 {
 10801  		invalidParams.Add(request.NewErrParamMinLen("Z", 1))
 10802  	}
 10803  
 10804  	if invalidParams.Len() > 0 {
 10805  		return invalidParams
 10806  	}
 10807  	return nil
 10808  }
 10809  
 10810  // SetMapName sets the MapName field's value.
 10811  func (s *GetMapTileInput) SetMapName(v string) *GetMapTileInput {
 10812  	s.MapName = &v
 10813  	return s
 10814  }
 10815  
 10816  // SetX sets the X field's value.
 10817  func (s *GetMapTileInput) SetX(v string) *GetMapTileInput {
 10818  	s.X = &v
 10819  	return s
 10820  }
 10821  
 10822  // SetY sets the Y field's value.
 10823  func (s *GetMapTileInput) SetY(v string) *GetMapTileInput {
 10824  	s.Y = &v
 10825  	return s
 10826  }
 10827  
 10828  // SetZ sets the Z field's value.
 10829  func (s *GetMapTileInput) SetZ(v string) *GetMapTileInput {
 10830  	s.Z = &v
 10831  	return s
 10832  }
 10833  
 10834  type GetMapTileOutput struct {
 10835  	_ struct{} `type:"structure" payload:"Blob"`
 10836  
 10837  	// Contains Mapbox Vector Tile (MVT) data.
 10838  	Blob []byte `type:"blob"`
 10839  
 10840  	// The map tile's content type. For example, application/vnd.mapbox-vector-tile.
 10841  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
 10842  }
 10843  
 10844  // String returns the string representation.
 10845  //
 10846  // API parameter values that are decorated as "sensitive" in the API will not
 10847  // be included in the string output. The member name will be present, but the
 10848  // value will be replaced with "sensitive".
 10849  func (s GetMapTileOutput) String() string {
 10850  	return awsutil.Prettify(s)
 10851  }
 10852  
 10853  // GoString returns the string representation.
 10854  //
 10855  // API parameter values that are decorated as "sensitive" in the API will not
 10856  // be included in the string output. The member name will be present, but the
 10857  // value will be replaced with "sensitive".
 10858  func (s GetMapTileOutput) GoString() string {
 10859  	return s.String()
 10860  }
 10861  
 10862  // SetBlob sets the Blob field's value.
 10863  func (s *GetMapTileOutput) SetBlob(v []byte) *GetMapTileOutput {
 10864  	s.Blob = v
 10865  	return s
 10866  }
 10867  
 10868  // SetContentType sets the ContentType field's value.
 10869  func (s *GetMapTileOutput) SetContentType(v string) *GetMapTileOutput {
 10870  	s.ContentType = &v
 10871  	return s
 10872  }
 10873  
 10874  // The request has failed to process because of an unknown server error, exception,
 10875  // or failure.
 10876  type InternalServerException struct {
 10877  	_            struct{}                  `type:"structure"`
 10878  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10879  
 10880  	Message_ *string `locationName:"message" type:"string"`
 10881  }
 10882  
 10883  // String returns the string representation.
 10884  //
 10885  // API parameter values that are decorated as "sensitive" in the API will not
 10886  // be included in the string output. The member name will be present, but the
 10887  // value will be replaced with "sensitive".
 10888  func (s InternalServerException) String() string {
 10889  	return awsutil.Prettify(s)
 10890  }
 10891  
 10892  // GoString returns the string representation.
 10893  //
 10894  // API parameter values that are decorated as "sensitive" in the API will not
 10895  // be included in the string output. The member name will be present, but the
 10896  // value will be replaced with "sensitive".
 10897  func (s InternalServerException) GoString() string {
 10898  	return s.String()
 10899  }
 10900  
 10901  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
 10902  	return &InternalServerException{
 10903  		RespMetadata: v,
 10904  	}
 10905  }
 10906  
 10907  // Code returns the exception type name.
 10908  func (s *InternalServerException) Code() string {
 10909  	return "InternalServerException"
 10910  }
 10911  
 10912  // Message returns the exception's message.
 10913  func (s *InternalServerException) Message() string {
 10914  	if s.Message_ != nil {
 10915  		return *s.Message_
 10916  	}
 10917  	return ""
 10918  }
 10919  
 10920  // OrigErr always returns nil, satisfies awserr.Error interface.
 10921  func (s *InternalServerException) OrigErr() error {
 10922  	return nil
 10923  }
 10924  
 10925  func (s *InternalServerException) Error() string {
 10926  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10927  }
 10928  
 10929  // Status code returns the HTTP status code for the request's response error.
 10930  func (s *InternalServerException) StatusCode() int {
 10931  	return s.RespMetadata.StatusCode
 10932  }
 10933  
 10934  // RequestID returns the service's response RequestID for request.
 10935  func (s *InternalServerException) RequestID() string {
 10936  	return s.RespMetadata.RequestID
 10937  }
 10938  
 10939  // Contains the calculated route's details for each path between a pair of positions.
 10940  // The number of legs returned corresponds to one fewer than the total number
 10941  // of positions in the request.
 10942  //
 10943  // For example, a route with a departure position and destination position returns
 10944  // one leg with the positions snapped to a nearby road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road):
 10945  //
 10946  //    * The StartPosition is the departure position.
 10947  //
 10948  //    * The EndPosition is the destination position.
 10949  //
 10950  // A route with a waypoint between the departure and destination position returns
 10951  // two legs with the positions snapped to a nearby road:
 10952  //
 10953  //    * Leg 1: The StartPosition is the departure position . The EndPosition
 10954  //    is the waypoint positon.
 10955  //
 10956  //    * Leg 2: The StartPosition is the waypoint position. The EndPosition is
 10957  //    the destination position.
 10958  type Leg struct {
 10959  	_ struct{} `type:"structure"`
 10960  
 10961  	// The distance between the leg's StartPosition and EndPosition along a calculated
 10962  	// route.
 10963  	//
 10964  	//    * The default measurement is Kilometers unless the request specifies a
 10965  	//    DistanceUnit of Miles.
 10966  	//
 10967  	// Distance is a required field
 10968  	Distance *float64 `type:"double" required:"true"`
 10969  
 10970  	// The estimated travel time between the leg's StartPosition and EndPosition.
 10971  	// The travel mode and departure time that you specify in the request determines
 10972  	// the calculated time.
 10973  	//
 10974  	// DurationSeconds is a required field
 10975  	DurationSeconds *float64 `type:"double" required:"true"`
 10976  
 10977  	// The terminating position of the leg. Follows the format [longitude,latitude].
 10978  	//
 10979  	// If the EndPosition isn't located on a road, it's snapped to a nearby road
 10980  	// (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
 10981  	//
 10982  	// EndPosition is a sensitive parameter and its value will be
 10983  	// replaced with "sensitive" in string returned by Leg's
 10984  	// String and GoString methods.
 10985  	//
 10986  	// EndPosition is a required field
 10987  	EndPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 10988  
 10989  	// Contains the calculated route's path as a linestring geometry.
 10990  	Geometry *LegGeometry `type:"structure"`
 10991  
 10992  	// The starting position of the leg. Follows the format [longitude,latitude].
 10993  	//
 10994  	// If the StartPosition isn't located on a road, it's snapped to a nearby road
 10995  	// (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
 10996  	//
 10997  	// StartPosition is a sensitive parameter and its value will be
 10998  	// replaced with "sensitive" in string returned by Leg's
 10999  	// String and GoString methods.
 11000  	//
 11001  	// StartPosition is a required field
 11002  	StartPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 11003  
 11004  	// Contains a list of steps, which represent subsections of a leg. Each step
 11005  	// provides instructions for how to move to the next step in the leg such as
 11006  	// the step's start position, end position, travel distance, travel duration,
 11007  	// and geometry offset.
 11008  	//
 11009  	// Steps is a required field
 11010  	Steps []*Step `type:"list" required:"true"`
 11011  }
 11012  
 11013  // String returns the string representation.
 11014  //
 11015  // API parameter values that are decorated as "sensitive" in the API will not
 11016  // be included in the string output. The member name will be present, but the
 11017  // value will be replaced with "sensitive".
 11018  func (s Leg) String() string {
 11019  	return awsutil.Prettify(s)
 11020  }
 11021  
 11022  // GoString returns the string representation.
 11023  //
 11024  // API parameter values that are decorated as "sensitive" in the API will not
 11025  // be included in the string output. The member name will be present, but the
 11026  // value will be replaced with "sensitive".
 11027  func (s Leg) GoString() string {
 11028  	return s.String()
 11029  }
 11030  
 11031  // SetDistance sets the Distance field's value.
 11032  func (s *Leg) SetDistance(v float64) *Leg {
 11033  	s.Distance = &v
 11034  	return s
 11035  }
 11036  
 11037  // SetDurationSeconds sets the DurationSeconds field's value.
 11038  func (s *Leg) SetDurationSeconds(v float64) *Leg {
 11039  	s.DurationSeconds = &v
 11040  	return s
 11041  }
 11042  
 11043  // SetEndPosition sets the EndPosition field's value.
 11044  func (s *Leg) SetEndPosition(v []*float64) *Leg {
 11045  	s.EndPosition = v
 11046  	return s
 11047  }
 11048  
 11049  // SetGeometry sets the Geometry field's value.
 11050  func (s *Leg) SetGeometry(v *LegGeometry) *Leg {
 11051  	s.Geometry = v
 11052  	return s
 11053  }
 11054  
 11055  // SetStartPosition sets the StartPosition field's value.
 11056  func (s *Leg) SetStartPosition(v []*float64) *Leg {
 11057  	s.StartPosition = v
 11058  	return s
 11059  }
 11060  
 11061  // SetSteps sets the Steps field's value.
 11062  func (s *Leg) SetSteps(v []*Step) *Leg {
 11063  	s.Steps = v
 11064  	return s
 11065  }
 11066  
 11067  // Contains the geometry details for each path between a pair of positions.
 11068  // Used in plotting a route leg on a map.
 11069  type LegGeometry struct {
 11070  	_ struct{} `type:"structure"`
 11071  
 11072  	// An ordered list of positions used to plot a route on a map.
 11073  	//
 11074  	// The first position is closest to the start position for the leg, and the
 11075  	// last position is the closest to the end position for the leg.
 11076  	//
 11077  	//    * For example, [[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]
 11078  	LineString [][]*float64 `min:"2" type:"list"`
 11079  }
 11080  
 11081  // String returns the string representation.
 11082  //
 11083  // API parameter values that are decorated as "sensitive" in the API will not
 11084  // be included in the string output. The member name will be present, but the
 11085  // value will be replaced with "sensitive".
 11086  func (s LegGeometry) String() string {
 11087  	return awsutil.Prettify(s)
 11088  }
 11089  
 11090  // GoString returns the string representation.
 11091  //
 11092  // API parameter values that are decorated as "sensitive" in the API will not
 11093  // be included in the string output. The member name will be present, but the
 11094  // value will be replaced with "sensitive".
 11095  func (s LegGeometry) GoString() string {
 11096  	return s.String()
 11097  }
 11098  
 11099  // SetLineString sets the LineString field's value.
 11100  func (s *LegGeometry) SetLineString(v [][]*float64) *LegGeometry {
 11101  	s.LineString = v
 11102  	return s
 11103  }
 11104  
 11105  type ListDevicePositionsInput struct {
 11106  	_ struct{} `type:"structure"`
 11107  
 11108  	// An optional limit for the number of entries returned in a single call.
 11109  	//
 11110  	// Default value: 100
 11111  	MaxResults *int64 `min:"1" type:"integer"`
 11112  
 11113  	// The pagination token specifying which page of results to return in the response.
 11114  	// If no token is provided, the default page is the first page.
 11115  	//
 11116  	// Default value: null
 11117  	NextToken *string `min:"1" type:"string"`
 11118  
 11119  	// The tracker resource containing the requested devices.
 11120  	//
 11121  	// TrackerName is a required field
 11122  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
 11123  }
 11124  
 11125  // String returns the string representation.
 11126  //
 11127  // API parameter values that are decorated as "sensitive" in the API will not
 11128  // be included in the string output. The member name will be present, but the
 11129  // value will be replaced with "sensitive".
 11130  func (s ListDevicePositionsInput) String() string {
 11131  	return awsutil.Prettify(s)
 11132  }
 11133  
 11134  // GoString returns the string representation.
 11135  //
 11136  // API parameter values that are decorated as "sensitive" in the API will not
 11137  // be included in the string output. The member name will be present, but the
 11138  // value will be replaced with "sensitive".
 11139  func (s ListDevicePositionsInput) GoString() string {
 11140  	return s.String()
 11141  }
 11142  
 11143  // Validate inspects the fields of the type to determine if they are valid.
 11144  func (s *ListDevicePositionsInput) Validate() error {
 11145  	invalidParams := request.ErrInvalidParams{Context: "ListDevicePositionsInput"}
 11146  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11147  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11148  	}
 11149  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 11150  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 11151  	}
 11152  	if s.TrackerName == nil {
 11153  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
 11154  	}
 11155  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
 11156  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
 11157  	}
 11158  
 11159  	if invalidParams.Len() > 0 {
 11160  		return invalidParams
 11161  	}
 11162  	return nil
 11163  }
 11164  
 11165  // SetMaxResults sets the MaxResults field's value.
 11166  func (s *ListDevicePositionsInput) SetMaxResults(v int64) *ListDevicePositionsInput {
 11167  	s.MaxResults = &v
 11168  	return s
 11169  }
 11170  
 11171  // SetNextToken sets the NextToken field's value.
 11172  func (s *ListDevicePositionsInput) SetNextToken(v string) *ListDevicePositionsInput {
 11173  	s.NextToken = &v
 11174  	return s
 11175  }
 11176  
 11177  // SetTrackerName sets the TrackerName field's value.
 11178  func (s *ListDevicePositionsInput) SetTrackerName(v string) *ListDevicePositionsInput {
 11179  	s.TrackerName = &v
 11180  	return s
 11181  }
 11182  
 11183  type ListDevicePositionsOutput struct {
 11184  	_ struct{} `type:"structure"`
 11185  
 11186  	// Contains details about each device's last known position. These details includes
 11187  	// the device ID, the time when the position was sampled on the device, the
 11188  	// time that the service received the update, and the most recent coordinates.
 11189  	//
 11190  	// Entries is a required field
 11191  	Entries []*ListDevicePositionsResponseEntry `type:"list" required:"true"`
 11192  
 11193  	// A pagination token indicating there are additional pages available. You can
 11194  	// use the token in a following request to fetch the next set of results.
 11195  	NextToken *string `min:"1" type:"string"`
 11196  }
 11197  
 11198  // String returns the string representation.
 11199  //
 11200  // API parameter values that are decorated as "sensitive" in the API will not
 11201  // be included in the string output. The member name will be present, but the
 11202  // value will be replaced with "sensitive".
 11203  func (s ListDevicePositionsOutput) String() string {
 11204  	return awsutil.Prettify(s)
 11205  }
 11206  
 11207  // GoString returns the string representation.
 11208  //
 11209  // API parameter values that are decorated as "sensitive" in the API will not
 11210  // be included in the string output. The member name will be present, but the
 11211  // value will be replaced with "sensitive".
 11212  func (s ListDevicePositionsOutput) GoString() string {
 11213  	return s.String()
 11214  }
 11215  
 11216  // SetEntries sets the Entries field's value.
 11217  func (s *ListDevicePositionsOutput) SetEntries(v []*ListDevicePositionsResponseEntry) *ListDevicePositionsOutput {
 11218  	s.Entries = v
 11219  	return s
 11220  }
 11221  
 11222  // SetNextToken sets the NextToken field's value.
 11223  func (s *ListDevicePositionsOutput) SetNextToken(v string) *ListDevicePositionsOutput {
 11224  	s.NextToken = &v
 11225  	return s
 11226  }
 11227  
 11228  // Contains the tracker resource details.
 11229  type ListDevicePositionsResponseEntry struct {
 11230  	_ struct{} `type:"structure"`
 11231  
 11232  	// The ID of the device for this position.
 11233  	//
 11234  	// DeviceId is a required field
 11235  	DeviceId *string `min:"1" type:"string" required:"true"`
 11236  
 11237  	// The last known device position. Empty if no positions currently stored.
 11238  	//
 11239  	// Position is a sensitive parameter and its value will be
 11240  	// replaced with "sensitive" in string returned by ListDevicePositionsResponseEntry's
 11241  	// String and GoString methods.
 11242  	//
 11243  	// Position is a required field
 11244  	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 11245  
 11246  	// The timestamp at which the device position was determined. Uses ISO 8601
 11247  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 11248  	//
 11249  	// SampleTime is a required field
 11250  	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11251  }
 11252  
 11253  // String returns the string representation.
 11254  //
 11255  // API parameter values that are decorated as "sensitive" in the API will not
 11256  // be included in the string output. The member name will be present, but the
 11257  // value will be replaced with "sensitive".
 11258  func (s ListDevicePositionsResponseEntry) String() string {
 11259  	return awsutil.Prettify(s)
 11260  }
 11261  
 11262  // GoString returns the string representation.
 11263  //
 11264  // API parameter values that are decorated as "sensitive" in the API will not
 11265  // be included in the string output. The member name will be present, but the
 11266  // value will be replaced with "sensitive".
 11267  func (s ListDevicePositionsResponseEntry) GoString() string {
 11268  	return s.String()
 11269  }
 11270  
 11271  // SetDeviceId sets the DeviceId field's value.
 11272  func (s *ListDevicePositionsResponseEntry) SetDeviceId(v string) *ListDevicePositionsResponseEntry {
 11273  	s.DeviceId = &v
 11274  	return s
 11275  }
 11276  
 11277  // SetPosition sets the Position field's value.
 11278  func (s *ListDevicePositionsResponseEntry) SetPosition(v []*float64) *ListDevicePositionsResponseEntry {
 11279  	s.Position = v
 11280  	return s
 11281  }
 11282  
 11283  // SetSampleTime sets the SampleTime field's value.
 11284  func (s *ListDevicePositionsResponseEntry) SetSampleTime(v time.Time) *ListDevicePositionsResponseEntry {
 11285  	s.SampleTime = &v
 11286  	return s
 11287  }
 11288  
 11289  type ListGeofenceCollectionsInput struct {
 11290  	_ struct{} `type:"structure"`
 11291  
 11292  	// An optional limit for the number of resources returned in a single call.
 11293  	//
 11294  	// Default value: 100
 11295  	MaxResults *int64 `min:"1" type:"integer"`
 11296  
 11297  	// The pagination token specifying which page of results to return in the response.
 11298  	// If no token is provided, the default page is the first page.
 11299  	//
 11300  	// Default value: null
 11301  	NextToken *string `min:"1" type:"string"`
 11302  }
 11303  
 11304  // String returns the string representation.
 11305  //
 11306  // API parameter values that are decorated as "sensitive" in the API will not
 11307  // be included in the string output. The member name will be present, but the
 11308  // value will be replaced with "sensitive".
 11309  func (s ListGeofenceCollectionsInput) String() string {
 11310  	return awsutil.Prettify(s)
 11311  }
 11312  
 11313  // GoString returns the string representation.
 11314  //
 11315  // API parameter values that are decorated as "sensitive" in the API will not
 11316  // be included in the string output. The member name will be present, but the
 11317  // value will be replaced with "sensitive".
 11318  func (s ListGeofenceCollectionsInput) GoString() string {
 11319  	return s.String()
 11320  }
 11321  
 11322  // Validate inspects the fields of the type to determine if they are valid.
 11323  func (s *ListGeofenceCollectionsInput) Validate() error {
 11324  	invalidParams := request.ErrInvalidParams{Context: "ListGeofenceCollectionsInput"}
 11325  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11326  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11327  	}
 11328  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 11329  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 11330  	}
 11331  
 11332  	if invalidParams.Len() > 0 {
 11333  		return invalidParams
 11334  	}
 11335  	return nil
 11336  }
 11337  
 11338  // SetMaxResults sets the MaxResults field's value.
 11339  func (s *ListGeofenceCollectionsInput) SetMaxResults(v int64) *ListGeofenceCollectionsInput {
 11340  	s.MaxResults = &v
 11341  	return s
 11342  }
 11343  
 11344  // SetNextToken sets the NextToken field's value.
 11345  func (s *ListGeofenceCollectionsInput) SetNextToken(v string) *ListGeofenceCollectionsInput {
 11346  	s.NextToken = &v
 11347  	return s
 11348  }
 11349  
 11350  type ListGeofenceCollectionsOutput struct {
 11351  	_ struct{} `type:"structure"`
 11352  
 11353  	// Lists the geofence collections that exist in your AWS account.
 11354  	//
 11355  	// Entries is a required field
 11356  	Entries []*ListGeofenceCollectionsResponseEntry `type:"list" required:"true"`
 11357  
 11358  	// A pagination token indicating there are additional pages available. You can
 11359  	// use the token in a following request to fetch the next set of results.
 11360  	NextToken *string `min:"1" type:"string"`
 11361  }
 11362  
 11363  // String returns the string representation.
 11364  //
 11365  // API parameter values that are decorated as "sensitive" in the API will not
 11366  // be included in the string output. The member name will be present, but the
 11367  // value will be replaced with "sensitive".
 11368  func (s ListGeofenceCollectionsOutput) String() string {
 11369  	return awsutil.Prettify(s)
 11370  }
 11371  
 11372  // GoString returns the string representation.
 11373  //
 11374  // API parameter values that are decorated as "sensitive" in the API will not
 11375  // be included in the string output. The member name will be present, but the
 11376  // value will be replaced with "sensitive".
 11377  func (s ListGeofenceCollectionsOutput) GoString() string {
 11378  	return s.String()
 11379  }
 11380  
 11381  // SetEntries sets the Entries field's value.
 11382  func (s *ListGeofenceCollectionsOutput) SetEntries(v []*ListGeofenceCollectionsResponseEntry) *ListGeofenceCollectionsOutput {
 11383  	s.Entries = v
 11384  	return s
 11385  }
 11386  
 11387  // SetNextToken sets the NextToken field's value.
 11388  func (s *ListGeofenceCollectionsOutput) SetNextToken(v string) *ListGeofenceCollectionsOutput {
 11389  	s.NextToken = &v
 11390  	return s
 11391  }
 11392  
 11393  // Contains the geofence collection details.
 11394  type ListGeofenceCollectionsResponseEntry struct {
 11395  	_ struct{} `type:"structure"`
 11396  
 11397  	// The name of the geofence collection.
 11398  	//
 11399  	// CollectionName is a required field
 11400  	CollectionName *string `min:"1" type:"string" required:"true"`
 11401  
 11402  	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 11403  	// format: YYYY-MM-DDThh:mm:ss.sssZ
 11404  	//
 11405  	// CreateTime is a required field
 11406  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11407  
 11408  	// The description for the geofence collection
 11409  	//
 11410  	// Description is a required field
 11411  	Description *string `type:"string" required:"true"`
 11412  
 11413  	// The pricing plan for the specified geofence collection.
 11414  	//
 11415  	// For additional details and restrictions on each pricing plan option, see
 11416  	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
 11417  	//
 11418  	// PricingPlan is a required field
 11419  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
 11420  
 11421  	// The specified data provider for the geofence collection.
 11422  	PricingPlanDataSource *string `type:"string"`
 11423  
 11424  	// Specifies a timestamp for when the resource was last updated in ISO 8601
 11425  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
 11426  	//
 11427  	// UpdateTime is a required field
 11428  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11429  }
 11430  
 11431  // String returns the string representation.
 11432  //
 11433  // API parameter values that are decorated as "sensitive" in the API will not
 11434  // be included in the string output. The member name will be present, but the
 11435  // value will be replaced with "sensitive".
 11436  func (s ListGeofenceCollectionsResponseEntry) String() string {
 11437  	return awsutil.Prettify(s)
 11438  }
 11439  
 11440  // GoString returns the string representation.
 11441  //
 11442  // API parameter values that are decorated as "sensitive" in the API will not
 11443  // be included in the string output. The member name will be present, but the
 11444  // value will be replaced with "sensitive".
 11445  func (s ListGeofenceCollectionsResponseEntry) GoString() string {
 11446  	return s.String()
 11447  }
 11448  
 11449  // SetCollectionName sets the CollectionName field's value.
 11450  func (s *ListGeofenceCollectionsResponseEntry) SetCollectionName(v string) *ListGeofenceCollectionsResponseEntry {
 11451  	s.CollectionName = &v
 11452  	return s
 11453  }
 11454  
 11455  // SetCreateTime sets the CreateTime field's value.
 11456  func (s *ListGeofenceCollectionsResponseEntry) SetCreateTime(v time.Time) *ListGeofenceCollectionsResponseEntry {
 11457  	s.CreateTime = &v
 11458  	return s
 11459  }
 11460  
 11461  // SetDescription sets the Description field's value.
 11462  func (s *ListGeofenceCollectionsResponseEntry) SetDescription(v string) *ListGeofenceCollectionsResponseEntry {
 11463  	s.Description = &v
 11464  	return s
 11465  }
 11466  
 11467  // SetPricingPlan sets the PricingPlan field's value.
 11468  func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlan(v string) *ListGeofenceCollectionsResponseEntry {
 11469  	s.PricingPlan = &v
 11470  	return s
 11471  }
 11472  
 11473  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
 11474  func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlanDataSource(v string) *ListGeofenceCollectionsResponseEntry {
 11475  	s.PricingPlanDataSource = &v
 11476  	return s
 11477  }
 11478  
 11479  // SetUpdateTime sets the UpdateTime field's value.
 11480  func (s *ListGeofenceCollectionsResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceCollectionsResponseEntry {
 11481  	s.UpdateTime = &v
 11482  	return s
 11483  }
 11484  
 11485  // Contains a list of geofences stored in a given geofence collection.
 11486  type ListGeofenceResponseEntry struct {
 11487  	_ struct{} `type:"structure"`
 11488  
 11489  	// The timestamp for when the geofence was stored in a geofence collection in
 11490  	// ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
 11491  	// YYYY-MM-DDThh:mm:ss.sssZ
 11492  	//
 11493  	// CreateTime is a required field
 11494  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11495  
 11496  	// The geofence identifier.
 11497  	//
 11498  	// GeofenceId is a required field
 11499  	GeofenceId *string `min:"1" type:"string" required:"true"`
 11500  
 11501  	// Contains the geofence geometry details describing a polygon.
 11502  	//
 11503  	// Geometry is a required field
 11504  	Geometry *GeofenceGeometry `type:"structure" required:"true"`
 11505  
 11506  	// Identifies the state of the geofence. A geofence will hold one of the following
 11507  	// states:
 11508  	//
 11509  	//    * ACTIVE — The geofence has been indexed by the system.
 11510  	//
 11511  	//    * PENDING — The geofence is being processed by the system.
 11512  	//
 11513  	//    * FAILED — The geofence failed to be indexed by the system.
 11514  	//
 11515  	//    * DELETED — The geofence has been deleted from the system index.
 11516  	//
 11517  	//    * DELETING — The geofence is being deleted from the system index.
 11518  	//
 11519  	// Status is a required field
 11520  	Status *string `type:"string" required:"true"`
 11521  
 11522  	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 11523  	// format: YYYY-MM-DDThh:mm:ss.sssZ
 11524  	//
 11525  	// UpdateTime is a required field
 11526  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11527  }
 11528  
 11529  // String returns the string representation.
 11530  //
 11531  // API parameter values that are decorated as "sensitive" in the API will not
 11532  // be included in the string output. The member name will be present, but the
 11533  // value will be replaced with "sensitive".
 11534  func (s ListGeofenceResponseEntry) String() string {
 11535  	return awsutil.Prettify(s)
 11536  }
 11537  
 11538  // GoString returns the string representation.
 11539  //
 11540  // API parameter values that are decorated as "sensitive" in the API will not
 11541  // be included in the string output. The member name will be present, but the
 11542  // value will be replaced with "sensitive".
 11543  func (s ListGeofenceResponseEntry) GoString() string {
 11544  	return s.String()
 11545  }
 11546  
 11547  // SetCreateTime sets the CreateTime field's value.
 11548  func (s *ListGeofenceResponseEntry) SetCreateTime(v time.Time) *ListGeofenceResponseEntry {
 11549  	s.CreateTime = &v
 11550  	return s
 11551  }
 11552  
 11553  // SetGeofenceId sets the GeofenceId field's value.
 11554  func (s *ListGeofenceResponseEntry) SetGeofenceId(v string) *ListGeofenceResponseEntry {
 11555  	s.GeofenceId = &v
 11556  	return s
 11557  }
 11558  
 11559  // SetGeometry sets the Geometry field's value.
 11560  func (s *ListGeofenceResponseEntry) SetGeometry(v *GeofenceGeometry) *ListGeofenceResponseEntry {
 11561  	s.Geometry = v
 11562  	return s
 11563  }
 11564  
 11565  // SetStatus sets the Status field's value.
 11566  func (s *ListGeofenceResponseEntry) SetStatus(v string) *ListGeofenceResponseEntry {
 11567  	s.Status = &v
 11568  	return s
 11569  }
 11570  
 11571  // SetUpdateTime sets the UpdateTime field's value.
 11572  func (s *ListGeofenceResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceResponseEntry {
 11573  	s.UpdateTime = &v
 11574  	return s
 11575  }
 11576  
 11577  type ListGeofencesInput struct {
 11578  	_ struct{} `type:"structure"`
 11579  
 11580  	// The name of the geofence collection storing the list of geofences.
 11581  	//
 11582  	// CollectionName is a required field
 11583  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
 11584  
 11585  	// The pagination token specifying which page of results to return in the response.
 11586  	// If no token is provided, the default page is the first page.
 11587  	//
 11588  	// Default value: null
 11589  	NextToken *string `min:"1" type:"string"`
 11590  }
 11591  
 11592  // String returns the string representation.
 11593  //
 11594  // API parameter values that are decorated as "sensitive" in the API will not
 11595  // be included in the string output. The member name will be present, but the
 11596  // value will be replaced with "sensitive".
 11597  func (s ListGeofencesInput) String() string {
 11598  	return awsutil.Prettify(s)
 11599  }
 11600  
 11601  // GoString returns the string representation.
 11602  //
 11603  // API parameter values that are decorated as "sensitive" in the API will not
 11604  // be included in the string output. The member name will be present, but the
 11605  // value will be replaced with "sensitive".
 11606  func (s ListGeofencesInput) GoString() string {
 11607  	return s.String()
 11608  }
 11609  
 11610  // Validate inspects the fields of the type to determine if they are valid.
 11611  func (s *ListGeofencesInput) Validate() error {
 11612  	invalidParams := request.ErrInvalidParams{Context: "ListGeofencesInput"}
 11613  	if s.CollectionName == nil {
 11614  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
 11615  	}
 11616  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
 11617  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
 11618  	}
 11619  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 11620  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 11621  	}
 11622  
 11623  	if invalidParams.Len() > 0 {
 11624  		return invalidParams
 11625  	}
 11626  	return nil
 11627  }
 11628  
 11629  // SetCollectionName sets the CollectionName field's value.
 11630  func (s *ListGeofencesInput) SetCollectionName(v string) *ListGeofencesInput {
 11631  	s.CollectionName = &v
 11632  	return s
 11633  }
 11634  
 11635  // SetNextToken sets the NextToken field's value.
 11636  func (s *ListGeofencesInput) SetNextToken(v string) *ListGeofencesInput {
 11637  	s.NextToken = &v
 11638  	return s
 11639  }
 11640  
 11641  type ListGeofencesOutput struct {
 11642  	_ struct{} `type:"structure"`
 11643  
 11644  	// Contains a list of geofences stored in the geofence collection.
 11645  	//
 11646  	// Entries is a required field
 11647  	Entries []*ListGeofenceResponseEntry `type:"list" required:"true"`
 11648  
 11649  	// A pagination token indicating there are additional pages available. You can
 11650  	// use the token in a following request to fetch the next set of results.
 11651  	NextToken *string `min:"1" type:"string"`
 11652  }
 11653  
 11654  // String returns the string representation.
 11655  //
 11656  // API parameter values that are decorated as "sensitive" in the API will not
 11657  // be included in the string output. The member name will be present, but the
 11658  // value will be replaced with "sensitive".
 11659  func (s ListGeofencesOutput) String() string {
 11660  	return awsutil.Prettify(s)
 11661  }
 11662  
 11663  // GoString returns the string representation.
 11664  //
 11665  // API parameter values that are decorated as "sensitive" in the API will not
 11666  // be included in the string output. The member name will be present, but the
 11667  // value will be replaced with "sensitive".
 11668  func (s ListGeofencesOutput) GoString() string {
 11669  	return s.String()
 11670  }
 11671  
 11672  // SetEntries sets the Entries field's value.
 11673  func (s *ListGeofencesOutput) SetEntries(v []*ListGeofenceResponseEntry) *ListGeofencesOutput {
 11674  	s.Entries = v
 11675  	return s
 11676  }
 11677  
 11678  // SetNextToken sets the NextToken field's value.
 11679  func (s *ListGeofencesOutput) SetNextToken(v string) *ListGeofencesOutput {
 11680  	s.NextToken = &v
 11681  	return s
 11682  }
 11683  
 11684  type ListMapsInput struct {
 11685  	_ struct{} `type:"structure"`
 11686  
 11687  	// An optional limit for the number of resources returned in a single call.
 11688  	//
 11689  	// Default value: 100
 11690  	MaxResults *int64 `min:"1" type:"integer"`
 11691  
 11692  	// The pagination token specifying which page of results to return in the response.
 11693  	// If no token is provided, the default page is the first page.
 11694  	//
 11695  	// Default value: null
 11696  	NextToken *string `min:"1" type:"string"`
 11697  }
 11698  
 11699  // String returns the string representation.
 11700  //
 11701  // API parameter values that are decorated as "sensitive" in the API will not
 11702  // be included in the string output. The member name will be present, but the
 11703  // value will be replaced with "sensitive".
 11704  func (s ListMapsInput) String() string {
 11705  	return awsutil.Prettify(s)
 11706  }
 11707  
 11708  // GoString returns the string representation.
 11709  //
 11710  // API parameter values that are decorated as "sensitive" in the API will not
 11711  // be included in the string output. The member name will be present, but the
 11712  // value will be replaced with "sensitive".
 11713  func (s ListMapsInput) GoString() string {
 11714  	return s.String()
 11715  }
 11716  
 11717  // Validate inspects the fields of the type to determine if they are valid.
 11718  func (s *ListMapsInput) Validate() error {
 11719  	invalidParams := request.ErrInvalidParams{Context: "ListMapsInput"}
 11720  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11721  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11722  	}
 11723  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 11724  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 11725  	}
 11726  
 11727  	if invalidParams.Len() > 0 {
 11728  		return invalidParams
 11729  	}
 11730  	return nil
 11731  }
 11732  
 11733  // SetMaxResults sets the MaxResults field's value.
 11734  func (s *ListMapsInput) SetMaxResults(v int64) *ListMapsInput {
 11735  	s.MaxResults = &v
 11736  	return s
 11737  }
 11738  
 11739  // SetNextToken sets the NextToken field's value.
 11740  func (s *ListMapsInput) SetNextToken(v string) *ListMapsInput {
 11741  	s.NextToken = &v
 11742  	return s
 11743  }
 11744  
 11745  type ListMapsOutput struct {
 11746  	_ struct{} `type:"structure"`
 11747  
 11748  	// Contains a list of maps in your AWS account
 11749  	//
 11750  	// Entries is a required field
 11751  	Entries []*ListMapsResponseEntry `type:"list" required:"true"`
 11752  
 11753  	// A pagination token indicating there are additional pages available. You can
 11754  	// use the token in a following request to fetch the next set of results.
 11755  	NextToken *string `min:"1" type:"string"`
 11756  }
 11757  
 11758  // String returns the string representation.
 11759  //
 11760  // API parameter values that are decorated as "sensitive" in the API will not
 11761  // be included in the string output. The member name will be present, but the
 11762  // value will be replaced with "sensitive".
 11763  func (s ListMapsOutput) String() string {
 11764  	return awsutil.Prettify(s)
 11765  }
 11766  
 11767  // GoString returns the string representation.
 11768  //
 11769  // API parameter values that are decorated as "sensitive" in the API will not
 11770  // be included in the string output. The member name will be present, but the
 11771  // value will be replaced with "sensitive".
 11772  func (s ListMapsOutput) GoString() string {
 11773  	return s.String()
 11774  }
 11775  
 11776  // SetEntries sets the Entries field's value.
 11777  func (s *ListMapsOutput) SetEntries(v []*ListMapsResponseEntry) *ListMapsOutput {
 11778  	s.Entries = v
 11779  	return s
 11780  }
 11781  
 11782  // SetNextToken sets the NextToken field's value.
 11783  func (s *ListMapsOutput) SetNextToken(v string) *ListMapsOutput {
 11784  	s.NextToken = &v
 11785  	return s
 11786  }
 11787  
 11788  // Contains details of an existing map resource in your AWS account.
 11789  type ListMapsResponseEntry struct {
 11790  	_ struct{} `type:"structure"`
 11791  
 11792  	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 11793  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
 11794  	//
 11795  	// CreateTime is a required field
 11796  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11797  
 11798  	// Specifies the data provider for the associated map tiles.
 11799  	//
 11800  	// DataSource is a required field
 11801  	DataSource *string `type:"string" required:"true"`
 11802  
 11803  	// The description for the map resource.
 11804  	//
 11805  	// Description is a required field
 11806  	Description *string `type:"string" required:"true"`
 11807  
 11808  	// The name of the associated map resource.
 11809  	//
 11810  	// MapName is a required field
 11811  	MapName *string `min:"1" type:"string" required:"true"`
 11812  
 11813  	// The pricing plan for the specified map resource.
 11814  	//
 11815  	// For additional details and restrictions on each pricing plan option, see
 11816  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
 11817  	//
 11818  	// PricingPlan is a required field
 11819  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
 11820  
 11821  	// The timestamp for when the map resource was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 11822  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
 11823  	//
 11824  	// UpdateTime is a required field
 11825  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11826  }
 11827  
 11828  // String returns the string representation.
 11829  //
 11830  // API parameter values that are decorated as "sensitive" in the API will not
 11831  // be included in the string output. The member name will be present, but the
 11832  // value will be replaced with "sensitive".
 11833  func (s ListMapsResponseEntry) String() string {
 11834  	return awsutil.Prettify(s)
 11835  }
 11836  
 11837  // GoString returns the string representation.
 11838  //
 11839  // API parameter values that are decorated as "sensitive" in the API will not
 11840  // be included in the string output. The member name will be present, but the
 11841  // value will be replaced with "sensitive".
 11842  func (s ListMapsResponseEntry) GoString() string {
 11843  	return s.String()
 11844  }
 11845  
 11846  // SetCreateTime sets the CreateTime field's value.
 11847  func (s *ListMapsResponseEntry) SetCreateTime(v time.Time) *ListMapsResponseEntry {
 11848  	s.CreateTime = &v
 11849  	return s
 11850  }
 11851  
 11852  // SetDataSource sets the DataSource field's value.
 11853  func (s *ListMapsResponseEntry) SetDataSource(v string) *ListMapsResponseEntry {
 11854  	s.DataSource = &v
 11855  	return s
 11856  }
 11857  
 11858  // SetDescription sets the Description field's value.
 11859  func (s *ListMapsResponseEntry) SetDescription(v string) *ListMapsResponseEntry {
 11860  	s.Description = &v
 11861  	return s
 11862  }
 11863  
 11864  // SetMapName sets the MapName field's value.
 11865  func (s *ListMapsResponseEntry) SetMapName(v string) *ListMapsResponseEntry {
 11866  	s.MapName = &v
 11867  	return s
 11868  }
 11869  
 11870  // SetPricingPlan sets the PricingPlan field's value.
 11871  func (s *ListMapsResponseEntry) SetPricingPlan(v string) *ListMapsResponseEntry {
 11872  	s.PricingPlan = &v
 11873  	return s
 11874  }
 11875  
 11876  // SetUpdateTime sets the UpdateTime field's value.
 11877  func (s *ListMapsResponseEntry) SetUpdateTime(v time.Time) *ListMapsResponseEntry {
 11878  	s.UpdateTime = &v
 11879  	return s
 11880  }
 11881  
 11882  type ListPlaceIndexesInput struct {
 11883  	_ struct{} `type:"structure"`
 11884  
 11885  	// An optional limit for the maximum number of results returned in a single
 11886  	// call.
 11887  	//
 11888  	// Default value: 100
 11889  	MaxResults *int64 `min:"1" type:"integer"`
 11890  
 11891  	// The pagination token specifying which page of results to return in the response.
 11892  	// If no token is provided, the default page is the first page.
 11893  	//
 11894  	// Default value: null
 11895  	NextToken *string `min:"1" type:"string"`
 11896  }
 11897  
 11898  // String returns the string representation.
 11899  //
 11900  // API parameter values that are decorated as "sensitive" in the API will not
 11901  // be included in the string output. The member name will be present, but the
 11902  // value will be replaced with "sensitive".
 11903  func (s ListPlaceIndexesInput) String() string {
 11904  	return awsutil.Prettify(s)
 11905  }
 11906  
 11907  // GoString returns the string representation.
 11908  //
 11909  // API parameter values that are decorated as "sensitive" in the API will not
 11910  // be included in the string output. The member name will be present, but the
 11911  // value will be replaced with "sensitive".
 11912  func (s ListPlaceIndexesInput) GoString() string {
 11913  	return s.String()
 11914  }
 11915  
 11916  // Validate inspects the fields of the type to determine if they are valid.
 11917  func (s *ListPlaceIndexesInput) Validate() error {
 11918  	invalidParams := request.ErrInvalidParams{Context: "ListPlaceIndexesInput"}
 11919  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11920  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11921  	}
 11922  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 11923  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 11924  	}
 11925  
 11926  	if invalidParams.Len() > 0 {
 11927  		return invalidParams
 11928  	}
 11929  	return nil
 11930  }
 11931  
 11932  // SetMaxResults sets the MaxResults field's value.
 11933  func (s *ListPlaceIndexesInput) SetMaxResults(v int64) *ListPlaceIndexesInput {
 11934  	s.MaxResults = &v
 11935  	return s
 11936  }
 11937  
 11938  // SetNextToken sets the NextToken field's value.
 11939  func (s *ListPlaceIndexesInput) SetNextToken(v string) *ListPlaceIndexesInput {
 11940  	s.NextToken = &v
 11941  	return s
 11942  }
 11943  
 11944  type ListPlaceIndexesOutput struct {
 11945  	_ struct{} `type:"structure"`
 11946  
 11947  	// Lists the place index resources that exist in your AWS account
 11948  	//
 11949  	// Entries is a required field
 11950  	Entries []*ListPlaceIndexesResponseEntry `type:"list" required:"true"`
 11951  
 11952  	// A pagination token indicating there are additional pages available. You can
 11953  	// use the token in a following request to fetch the next set of results.
 11954  	NextToken *string `min:"1" type:"string"`
 11955  }
 11956  
 11957  // String returns the string representation.
 11958  //
 11959  // API parameter values that are decorated as "sensitive" in the API will not
 11960  // be included in the string output. The member name will be present, but the
 11961  // value will be replaced with "sensitive".
 11962  func (s ListPlaceIndexesOutput) String() string {
 11963  	return awsutil.Prettify(s)
 11964  }
 11965  
 11966  // GoString returns the string representation.
 11967  //
 11968  // API parameter values that are decorated as "sensitive" in the API will not
 11969  // be included in the string output. The member name will be present, but the
 11970  // value will be replaced with "sensitive".
 11971  func (s ListPlaceIndexesOutput) GoString() string {
 11972  	return s.String()
 11973  }
 11974  
 11975  // SetEntries sets the Entries field's value.
 11976  func (s *ListPlaceIndexesOutput) SetEntries(v []*ListPlaceIndexesResponseEntry) *ListPlaceIndexesOutput {
 11977  	s.Entries = v
 11978  	return s
 11979  }
 11980  
 11981  // SetNextToken sets the NextToken field's value.
 11982  func (s *ListPlaceIndexesOutput) SetNextToken(v string) *ListPlaceIndexesOutput {
 11983  	s.NextToken = &v
 11984  	return s
 11985  }
 11986  
 11987  // A place index resource listed in your AWS account.
 11988  type ListPlaceIndexesResponseEntry struct {
 11989  	_ struct{} `type:"structure"`
 11990  
 11991  	// The timestamp for when the place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 11992  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
 11993  	//
 11994  	// CreateTime is a required field
 11995  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 11996  
 11997  	// The data provider of geospatial data. Indicates one of the available providers:
 11998  	//
 11999  	//    * Esri
 12000  	//
 12001  	//    * Here
 12002  	//
 12003  	// For additional details on data providers, see Amazon Location Service data
 12004  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
 12005  	//
 12006  	// DataSource is a required field
 12007  	DataSource *string `type:"string" required:"true"`
 12008  
 12009  	// The optional description for the place index resource.
 12010  	//
 12011  	// Description is a required field
 12012  	Description *string `type:"string" required:"true"`
 12013  
 12014  	// The name of the place index resource.
 12015  	//
 12016  	// IndexName is a required field
 12017  	IndexName *string `min:"1" type:"string" required:"true"`
 12018  
 12019  	// The pricing plan for the specified place index resource.
 12020  	//
 12021  	// For additional details and restrictions on each pricing plan option, see
 12022  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
 12023  	//
 12024  	// PricingPlan is a required field
 12025  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
 12026  
 12027  	// The timestamp for when the place index resource was last updated in ISO 8601
 12028  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 12029  	//
 12030  	// UpdateTime is a required field
 12031  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 12032  }
 12033  
 12034  // String returns the string representation.
 12035  //
 12036  // API parameter values that are decorated as "sensitive" in the API will not
 12037  // be included in the string output. The member name will be present, but the
 12038  // value will be replaced with "sensitive".
 12039  func (s ListPlaceIndexesResponseEntry) String() string {
 12040  	return awsutil.Prettify(s)
 12041  }
 12042  
 12043  // GoString returns the string representation.
 12044  //
 12045  // API parameter values that are decorated as "sensitive" in the API will not
 12046  // be included in the string output. The member name will be present, but the
 12047  // value will be replaced with "sensitive".
 12048  func (s ListPlaceIndexesResponseEntry) GoString() string {
 12049  	return s.String()
 12050  }
 12051  
 12052  // SetCreateTime sets the CreateTime field's value.
 12053  func (s *ListPlaceIndexesResponseEntry) SetCreateTime(v time.Time) *ListPlaceIndexesResponseEntry {
 12054  	s.CreateTime = &v
 12055  	return s
 12056  }
 12057  
 12058  // SetDataSource sets the DataSource field's value.
 12059  func (s *ListPlaceIndexesResponseEntry) SetDataSource(v string) *ListPlaceIndexesResponseEntry {
 12060  	s.DataSource = &v
 12061  	return s
 12062  }
 12063  
 12064  // SetDescription sets the Description field's value.
 12065  func (s *ListPlaceIndexesResponseEntry) SetDescription(v string) *ListPlaceIndexesResponseEntry {
 12066  	s.Description = &v
 12067  	return s
 12068  }
 12069  
 12070  // SetIndexName sets the IndexName field's value.
 12071  func (s *ListPlaceIndexesResponseEntry) SetIndexName(v string) *ListPlaceIndexesResponseEntry {
 12072  	s.IndexName = &v
 12073  	return s
 12074  }
 12075  
 12076  // SetPricingPlan sets the PricingPlan field's value.
 12077  func (s *ListPlaceIndexesResponseEntry) SetPricingPlan(v string) *ListPlaceIndexesResponseEntry {
 12078  	s.PricingPlan = &v
 12079  	return s
 12080  }
 12081  
 12082  // SetUpdateTime sets the UpdateTime field's value.
 12083  func (s *ListPlaceIndexesResponseEntry) SetUpdateTime(v time.Time) *ListPlaceIndexesResponseEntry {
 12084  	s.UpdateTime = &v
 12085  	return s
 12086  }
 12087  
 12088  type ListRouteCalculatorsInput struct {
 12089  	_ struct{} `type:"structure"`
 12090  
 12091  	// An optional maximum number of results returned in a single call.
 12092  	//
 12093  	// Default Value: 100
 12094  	MaxResults *int64 `min:"1" type:"integer"`
 12095  
 12096  	// The pagination token specifying which page of results to return in the response.
 12097  	// If no token is provided, the default page is the first page.
 12098  	//
 12099  	// Default Value: null
 12100  	NextToken *string `min:"1" type:"string"`
 12101  }
 12102  
 12103  // String returns the string representation.
 12104  //
 12105  // API parameter values that are decorated as "sensitive" in the API will not
 12106  // be included in the string output. The member name will be present, but the
 12107  // value will be replaced with "sensitive".
 12108  func (s ListRouteCalculatorsInput) String() string {
 12109  	return awsutil.Prettify(s)
 12110  }
 12111  
 12112  // GoString returns the string representation.
 12113  //
 12114  // API parameter values that are decorated as "sensitive" in the API will not
 12115  // be included in the string output. The member name will be present, but the
 12116  // value will be replaced with "sensitive".
 12117  func (s ListRouteCalculatorsInput) GoString() string {
 12118  	return s.String()
 12119  }
 12120  
 12121  // Validate inspects the fields of the type to determine if they are valid.
 12122  func (s *ListRouteCalculatorsInput) Validate() error {
 12123  	invalidParams := request.ErrInvalidParams{Context: "ListRouteCalculatorsInput"}
 12124  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12125  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12126  	}
 12127  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 12128  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 12129  	}
 12130  
 12131  	if invalidParams.Len() > 0 {
 12132  		return invalidParams
 12133  	}
 12134  	return nil
 12135  }
 12136  
 12137  // SetMaxResults sets the MaxResults field's value.
 12138  func (s *ListRouteCalculatorsInput) SetMaxResults(v int64) *ListRouteCalculatorsInput {
 12139  	s.MaxResults = &v
 12140  	return s
 12141  }
 12142  
 12143  // SetNextToken sets the NextToken field's value.
 12144  func (s *ListRouteCalculatorsInput) SetNextToken(v string) *ListRouteCalculatorsInput {
 12145  	s.NextToken = &v
 12146  	return s
 12147  }
 12148  
 12149  type ListRouteCalculatorsOutput struct {
 12150  	_ struct{} `type:"structure"`
 12151  
 12152  	// Lists the route calculator resources that exist in your AWS account
 12153  	//
 12154  	// Entries is a required field
 12155  	Entries []*ListRouteCalculatorsResponseEntry `type:"list" required:"true"`
 12156  
 12157  	// A pagination token indicating there are additional pages available. You can
 12158  	// use the token in a subsequent request to fetch the next set of results.
 12159  	NextToken *string `min:"1" type:"string"`
 12160  }
 12161  
 12162  // String returns the string representation.
 12163  //
 12164  // API parameter values that are decorated as "sensitive" in the API will not
 12165  // be included in the string output. The member name will be present, but the
 12166  // value will be replaced with "sensitive".
 12167  func (s ListRouteCalculatorsOutput) String() string {
 12168  	return awsutil.Prettify(s)
 12169  }
 12170  
 12171  // GoString returns the string representation.
 12172  //
 12173  // API parameter values that are decorated as "sensitive" in the API will not
 12174  // be included in the string output. The member name will be present, but the
 12175  // value will be replaced with "sensitive".
 12176  func (s ListRouteCalculatorsOutput) GoString() string {
 12177  	return s.String()
 12178  }
 12179  
 12180  // SetEntries sets the Entries field's value.
 12181  func (s *ListRouteCalculatorsOutput) SetEntries(v []*ListRouteCalculatorsResponseEntry) *ListRouteCalculatorsOutput {
 12182  	s.Entries = v
 12183  	return s
 12184  }
 12185  
 12186  // SetNextToken sets the NextToken field's value.
 12187  func (s *ListRouteCalculatorsOutput) SetNextToken(v string) *ListRouteCalculatorsOutput {
 12188  	s.NextToken = &v
 12189  	return s
 12190  }
 12191  
 12192  // A route calculator resource listed in your AWS account.
 12193  type ListRouteCalculatorsResponseEntry struct {
 12194  	_ struct{} `type:"structure"`
 12195  
 12196  	// The name of the route calculator resource.
 12197  	//
 12198  	// CalculatorName is a required field
 12199  	CalculatorName *string `min:"1" type:"string" required:"true"`
 12200  
 12201  	// The timestamp when the route calculator resource was created in ISO 8601
 12202  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 12203  	//
 12204  	//    * For example, 2020–07-2T12:15:20.000Z+01:00
 12205  	//
 12206  	// CreateTime is a required field
 12207  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 12208  
 12209  	// The data provider of traffic and road network data. Indicates one of the
 12210  	// available providers:
 12211  	//
 12212  	//    * Esri
 12213  	//
 12214  	//    * Here
 12215  	//
 12216  	// For more information about data providers, see Amazon Location Service data
 12217  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
 12218  	//
 12219  	// DataSource is a required field
 12220  	DataSource *string `type:"string" required:"true"`
 12221  
 12222  	// The optional description of the route calculator resource.
 12223  	//
 12224  	// Description is a required field
 12225  	Description *string `type:"string" required:"true"`
 12226  
 12227  	// The pricing plan for the specified route calculator resource.
 12228  	//
 12229  	// For additional details and restrictions on each pricing plan option, see
 12230  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
 12231  	//
 12232  	// PricingPlan is a required field
 12233  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
 12234  
 12235  	// The timestamp when the route calculator resource was last updated in ISO
 12236  	// 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 12237  	//
 12238  	//    * For example, 2020–07-2T12:15:20.000Z+01:00
 12239  	//
 12240  	// UpdateTime is a required field
 12241  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 12242  }
 12243  
 12244  // String returns the string representation.
 12245  //
 12246  // API parameter values that are decorated as "sensitive" in the API will not
 12247  // be included in the string output. The member name will be present, but the
 12248  // value will be replaced with "sensitive".
 12249  func (s ListRouteCalculatorsResponseEntry) String() string {
 12250  	return awsutil.Prettify(s)
 12251  }
 12252  
 12253  // GoString returns the string representation.
 12254  //
 12255  // API parameter values that are decorated as "sensitive" in the API will not
 12256  // be included in the string output. The member name will be present, but the
 12257  // value will be replaced with "sensitive".
 12258  func (s ListRouteCalculatorsResponseEntry) GoString() string {
 12259  	return s.String()
 12260  }
 12261  
 12262  // SetCalculatorName sets the CalculatorName field's value.
 12263  func (s *ListRouteCalculatorsResponseEntry) SetCalculatorName(v string) *ListRouteCalculatorsResponseEntry {
 12264  	s.CalculatorName = &v
 12265  	return s
 12266  }
 12267  
 12268  // SetCreateTime sets the CreateTime field's value.
 12269  func (s *ListRouteCalculatorsResponseEntry) SetCreateTime(v time.Time) *ListRouteCalculatorsResponseEntry {
 12270  	s.CreateTime = &v
 12271  	return s
 12272  }
 12273  
 12274  // SetDataSource sets the DataSource field's value.
 12275  func (s *ListRouteCalculatorsResponseEntry) SetDataSource(v string) *ListRouteCalculatorsResponseEntry {
 12276  	s.DataSource = &v
 12277  	return s
 12278  }
 12279  
 12280  // SetDescription sets the Description field's value.
 12281  func (s *ListRouteCalculatorsResponseEntry) SetDescription(v string) *ListRouteCalculatorsResponseEntry {
 12282  	s.Description = &v
 12283  	return s
 12284  }
 12285  
 12286  // SetPricingPlan sets the PricingPlan field's value.
 12287  func (s *ListRouteCalculatorsResponseEntry) SetPricingPlan(v string) *ListRouteCalculatorsResponseEntry {
 12288  	s.PricingPlan = &v
 12289  	return s
 12290  }
 12291  
 12292  // SetUpdateTime sets the UpdateTime field's value.
 12293  func (s *ListRouteCalculatorsResponseEntry) SetUpdateTime(v time.Time) *ListRouteCalculatorsResponseEntry {
 12294  	s.UpdateTime = &v
 12295  	return s
 12296  }
 12297  
 12298  type ListTagsForResourceInput struct {
 12299  	_ struct{} `type:"structure" nopayload:"true"`
 12300  
 12301  	// The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.
 12302  	//
 12303  	//    * Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource
 12304  	//
 12305  	// ResourceArn is a required field
 12306  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
 12307  }
 12308  
 12309  // String returns the string representation.
 12310  //
 12311  // API parameter values that are decorated as "sensitive" in the API will not
 12312  // be included in the string output. The member name will be present, but the
 12313  // value will be replaced with "sensitive".
 12314  func (s ListTagsForResourceInput) String() string {
 12315  	return awsutil.Prettify(s)
 12316  }
 12317  
 12318  // GoString returns the string representation.
 12319  //
 12320  // API parameter values that are decorated as "sensitive" in the API will not
 12321  // be included in the string output. The member name will be present, but the
 12322  // value will be replaced with "sensitive".
 12323  func (s ListTagsForResourceInput) GoString() string {
 12324  	return s.String()
 12325  }
 12326  
 12327  // Validate inspects the fields of the type to determine if they are valid.
 12328  func (s *ListTagsForResourceInput) Validate() error {
 12329  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 12330  	if s.ResourceArn == nil {
 12331  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12332  	}
 12333  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12334  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12335  	}
 12336  
 12337  	if invalidParams.Len() > 0 {
 12338  		return invalidParams
 12339  	}
 12340  	return nil
 12341  }
 12342  
 12343  // SetResourceArn sets the ResourceArn field's value.
 12344  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 12345  	s.ResourceArn = &v
 12346  	return s
 12347  }
 12348  
 12349  type ListTagsForResourceOutput struct {
 12350  	_ struct{} `type:"structure"`
 12351  
 12352  	// Tags that have been applied to the specified resource. Tags are mapped from
 12353  	// the tag key to the tag value: "TagKey" : "TagValue".
 12354  	//
 12355  	//    * Format example: {"tag1" : "value1", "tag2" : "value2"}
 12356  	Tags map[string]*string `type:"map"`
 12357  }
 12358  
 12359  // String returns the string representation.
 12360  //
 12361  // API parameter values that are decorated as "sensitive" in the API will not
 12362  // be included in the string output. The member name will be present, but the
 12363  // value will be replaced with "sensitive".
 12364  func (s ListTagsForResourceOutput) String() string {
 12365  	return awsutil.Prettify(s)
 12366  }
 12367  
 12368  // GoString returns the string representation.
 12369  //
 12370  // API parameter values that are decorated as "sensitive" in the API will not
 12371  // be included in the string output. The member name will be present, but the
 12372  // value will be replaced with "sensitive".
 12373  func (s ListTagsForResourceOutput) GoString() string {
 12374  	return s.String()
 12375  }
 12376  
 12377  // SetTags sets the Tags field's value.
 12378  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 12379  	s.Tags = v
 12380  	return s
 12381  }
 12382  
 12383  type ListTrackerConsumersInput struct {
 12384  	_ struct{} `type:"structure"`
 12385  
 12386  	// An optional limit for the number of resources returned in a single call.
 12387  	//
 12388  	// Default value: 100
 12389  	MaxResults *int64 `min:"1" type:"integer"`
 12390  
 12391  	// The pagination token specifying which page of results to return in the response.
 12392  	// If no token is provided, the default page is the first page.
 12393  	//
 12394  	// Default value: null
 12395  	NextToken *string `min:"1" type:"string"`
 12396  
 12397  	// The tracker resource whose associated geofence collections you want to list.
 12398  	//
 12399  	// TrackerName is a required field
 12400  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
 12401  }
 12402  
 12403  // String returns the string representation.
 12404  //
 12405  // API parameter values that are decorated as "sensitive" in the API will not
 12406  // be included in the string output. The member name will be present, but the
 12407  // value will be replaced with "sensitive".
 12408  func (s ListTrackerConsumersInput) String() string {
 12409  	return awsutil.Prettify(s)
 12410  }
 12411  
 12412  // GoString returns the string representation.
 12413  //
 12414  // API parameter values that are decorated as "sensitive" in the API will not
 12415  // be included in the string output. The member name will be present, but the
 12416  // value will be replaced with "sensitive".
 12417  func (s ListTrackerConsumersInput) GoString() string {
 12418  	return s.String()
 12419  }
 12420  
 12421  // Validate inspects the fields of the type to determine if they are valid.
 12422  func (s *ListTrackerConsumersInput) Validate() error {
 12423  	invalidParams := request.ErrInvalidParams{Context: "ListTrackerConsumersInput"}
 12424  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12425  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12426  	}
 12427  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 12428  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 12429  	}
 12430  	if s.TrackerName == nil {
 12431  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
 12432  	}
 12433  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
 12434  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
 12435  	}
 12436  
 12437  	if invalidParams.Len() > 0 {
 12438  		return invalidParams
 12439  	}
 12440  	return nil
 12441  }
 12442  
 12443  // SetMaxResults sets the MaxResults field's value.
 12444  func (s *ListTrackerConsumersInput) SetMaxResults(v int64) *ListTrackerConsumersInput {
 12445  	s.MaxResults = &v
 12446  	return s
 12447  }
 12448  
 12449  // SetNextToken sets the NextToken field's value.
 12450  func (s *ListTrackerConsumersInput) SetNextToken(v string) *ListTrackerConsumersInput {
 12451  	s.NextToken = &v
 12452  	return s
 12453  }
 12454  
 12455  // SetTrackerName sets the TrackerName field's value.
 12456  func (s *ListTrackerConsumersInput) SetTrackerName(v string) *ListTrackerConsumersInput {
 12457  	s.TrackerName = &v
 12458  	return s
 12459  }
 12460  
 12461  type ListTrackerConsumersOutput struct {
 12462  	_ struct{} `type:"structure"`
 12463  
 12464  	// Contains the list of geofence collection ARNs associated to the tracker resource.
 12465  	//
 12466  	// ConsumerArns is a required field
 12467  	ConsumerArns []*string `type:"list" required:"true"`
 12468  
 12469  	// A pagination token indicating there are additional pages available. You can
 12470  	// use the token in a following request to fetch the next set of results.
 12471  	NextToken *string `min:"1" type:"string"`
 12472  }
 12473  
 12474  // String returns the string representation.
 12475  //
 12476  // API parameter values that are decorated as "sensitive" in the API will not
 12477  // be included in the string output. The member name will be present, but the
 12478  // value will be replaced with "sensitive".
 12479  func (s ListTrackerConsumersOutput) String() string {
 12480  	return awsutil.Prettify(s)
 12481  }
 12482  
 12483  // GoString returns the string representation.
 12484  //
 12485  // API parameter values that are decorated as "sensitive" in the API will not
 12486  // be included in the string output. The member name will be present, but the
 12487  // value will be replaced with "sensitive".
 12488  func (s ListTrackerConsumersOutput) GoString() string {
 12489  	return s.String()
 12490  }
 12491  
 12492  // SetConsumerArns sets the ConsumerArns field's value.
 12493  func (s *ListTrackerConsumersOutput) SetConsumerArns(v []*string) *ListTrackerConsumersOutput {
 12494  	s.ConsumerArns = v
 12495  	return s
 12496  }
 12497  
 12498  // SetNextToken sets the NextToken field's value.
 12499  func (s *ListTrackerConsumersOutput) SetNextToken(v string) *ListTrackerConsumersOutput {
 12500  	s.NextToken = &v
 12501  	return s
 12502  }
 12503  
 12504  type ListTrackersInput struct {
 12505  	_ struct{} `type:"structure"`
 12506  
 12507  	// An optional limit for the number of resources returned in a single call.
 12508  	//
 12509  	// Default value: 100
 12510  	MaxResults *int64 `min:"1" type:"integer"`
 12511  
 12512  	// The pagination token specifying which page of results to return in the response.
 12513  	// If no token is provided, the default page is the first page.
 12514  	//
 12515  	// Default value: null
 12516  	NextToken *string `min:"1" type:"string"`
 12517  }
 12518  
 12519  // String returns the string representation.
 12520  //
 12521  // API parameter values that are decorated as "sensitive" in the API will not
 12522  // be included in the string output. The member name will be present, but the
 12523  // value will be replaced with "sensitive".
 12524  func (s ListTrackersInput) String() string {
 12525  	return awsutil.Prettify(s)
 12526  }
 12527  
 12528  // GoString returns the string representation.
 12529  //
 12530  // API parameter values that are decorated as "sensitive" in the API will not
 12531  // be included in the string output. The member name will be present, but the
 12532  // value will be replaced with "sensitive".
 12533  func (s ListTrackersInput) GoString() string {
 12534  	return s.String()
 12535  }
 12536  
 12537  // Validate inspects the fields of the type to determine if they are valid.
 12538  func (s *ListTrackersInput) Validate() error {
 12539  	invalidParams := request.ErrInvalidParams{Context: "ListTrackersInput"}
 12540  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12541  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12542  	}
 12543  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 12544  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 12545  	}
 12546  
 12547  	if invalidParams.Len() > 0 {
 12548  		return invalidParams
 12549  	}
 12550  	return nil
 12551  }
 12552  
 12553  // SetMaxResults sets the MaxResults field's value.
 12554  func (s *ListTrackersInput) SetMaxResults(v int64) *ListTrackersInput {
 12555  	s.MaxResults = &v
 12556  	return s
 12557  }
 12558  
 12559  // SetNextToken sets the NextToken field's value.
 12560  func (s *ListTrackersInput) SetNextToken(v string) *ListTrackersInput {
 12561  	s.NextToken = &v
 12562  	return s
 12563  }
 12564  
 12565  type ListTrackersOutput struct {
 12566  	_ struct{} `type:"structure"`
 12567  
 12568  	// Contains tracker resources in your AWS account. Details include tracker name,
 12569  	// description and timestamps for when the tracker was created and last updated.
 12570  	//
 12571  	// Entries is a required field
 12572  	Entries []*ListTrackersResponseEntry `type:"list" required:"true"`
 12573  
 12574  	// A pagination token indicating there are additional pages available. You can
 12575  	// use the token in a following request to fetch the next set of results.
 12576  	NextToken *string `min:"1" type:"string"`
 12577  }
 12578  
 12579  // String returns the string representation.
 12580  //
 12581  // API parameter values that are decorated as "sensitive" in the API will not
 12582  // be included in the string output. The member name will be present, but the
 12583  // value will be replaced with "sensitive".
 12584  func (s ListTrackersOutput) String() string {
 12585  	return awsutil.Prettify(s)
 12586  }
 12587  
 12588  // GoString returns the string representation.
 12589  //
 12590  // API parameter values that are decorated as "sensitive" in the API will not
 12591  // be included in the string output. The member name will be present, but the
 12592  // value will be replaced with "sensitive".
 12593  func (s ListTrackersOutput) GoString() string {
 12594  	return s.String()
 12595  }
 12596  
 12597  // SetEntries sets the Entries field's value.
 12598  func (s *ListTrackersOutput) SetEntries(v []*ListTrackersResponseEntry) *ListTrackersOutput {
 12599  	s.Entries = v
 12600  	return s
 12601  }
 12602  
 12603  // SetNextToken sets the NextToken field's value.
 12604  func (s *ListTrackersOutput) SetNextToken(v string) *ListTrackersOutput {
 12605  	s.NextToken = &v
 12606  	return s
 12607  }
 12608  
 12609  // Contains the tracker resource details.
 12610  type ListTrackersResponseEntry struct {
 12611  	_ struct{} `type:"structure"`
 12612  
 12613  	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 12614  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
 12615  	//
 12616  	// CreateTime is a required field
 12617  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 12618  
 12619  	// The description for the tracker resource.
 12620  	//
 12621  	// Description is a required field
 12622  	Description *string `type:"string" required:"true"`
 12623  
 12624  	// The pricing plan for the specified tracker resource.
 12625  	//
 12626  	// For additional details and restrictions on each pricing plan option, see
 12627  	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
 12628  	//
 12629  	// PricingPlan is a required field
 12630  	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
 12631  
 12632  	// The specified data provider for the tracker resource.
 12633  	PricingPlanDataSource *string `type:"string"`
 12634  
 12635  	// The name of the tracker resource.
 12636  	//
 12637  	// TrackerName is a required field
 12638  	TrackerName *string `min:"1" type:"string" required:"true"`
 12639  
 12640  	// The timestamp at which the device's position was determined. Uses ISO 8601
 12641  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 12642  	//
 12643  	// UpdateTime is a required field
 12644  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 12645  }
 12646  
 12647  // String returns the string representation.
 12648  //
 12649  // API parameter values that are decorated as "sensitive" in the API will not
 12650  // be included in the string output. The member name will be present, but the
 12651  // value will be replaced with "sensitive".
 12652  func (s ListTrackersResponseEntry) String() string {
 12653  	return awsutil.Prettify(s)
 12654  }
 12655  
 12656  // GoString returns the string representation.
 12657  //
 12658  // API parameter values that are decorated as "sensitive" in the API will not
 12659  // be included in the string output. The member name will be present, but the
 12660  // value will be replaced with "sensitive".
 12661  func (s ListTrackersResponseEntry) GoString() string {
 12662  	return s.String()
 12663  }
 12664  
 12665  // SetCreateTime sets the CreateTime field's value.
 12666  func (s *ListTrackersResponseEntry) SetCreateTime(v time.Time) *ListTrackersResponseEntry {
 12667  	s.CreateTime = &v
 12668  	return s
 12669  }
 12670  
 12671  // SetDescription sets the Description field's value.
 12672  func (s *ListTrackersResponseEntry) SetDescription(v string) *ListTrackersResponseEntry {
 12673  	s.Description = &v
 12674  	return s
 12675  }
 12676  
 12677  // SetPricingPlan sets the PricingPlan field's value.
 12678  func (s *ListTrackersResponseEntry) SetPricingPlan(v string) *ListTrackersResponseEntry {
 12679  	s.PricingPlan = &v
 12680  	return s
 12681  }
 12682  
 12683  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
 12684  func (s *ListTrackersResponseEntry) SetPricingPlanDataSource(v string) *ListTrackersResponseEntry {
 12685  	s.PricingPlanDataSource = &v
 12686  	return s
 12687  }
 12688  
 12689  // SetTrackerName sets the TrackerName field's value.
 12690  func (s *ListTrackersResponseEntry) SetTrackerName(v string) *ListTrackersResponseEntry {
 12691  	s.TrackerName = &v
 12692  	return s
 12693  }
 12694  
 12695  // SetUpdateTime sets the UpdateTime field's value.
 12696  func (s *ListTrackersResponseEntry) SetUpdateTime(v time.Time) *ListTrackersResponseEntry {
 12697  	s.UpdateTime = &v
 12698  	return s
 12699  }
 12700  
 12701  // Specifies the map tile style selected from an available provider.
 12702  type MapConfiguration struct {
 12703  	_ struct{} `type:"structure"`
 12704  
 12705  	// Specifies the map style selected from an available data provider.
 12706  	//
 12707  	// Valid Esri map styles (https://docs.aws.amazon.com/location/latest/developerguide/esri.html):
 12708  	//
 12709  	//    * VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A
 12710  	//    vector basemap with a dark gray, neutral background with minimal colors,
 12711  	//    labels, and features that's designed to draw attention to your thematic
 12712  	//    content.
 12713  	//
 12714  	//    * RasterEsriImagery – The Esri Imagery map style. A raster basemap that
 12715  	//    provides one meter or better satellite and aerial imagery in many parts
 12716  	//    of the world and lower resolution satellite imagery worldwide.
 12717  	//
 12718  	//    * VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style,
 12719  	//    which provides a detailed vector basemap with a light gray, neutral background
 12720  	//    style with minimal colors, labels, and features that's designed to draw
 12721  	//    attention to your thematic content.
 12722  	//
 12723  	//    * VectorEsriTopographic – The Esri Light map style, which provides a
 12724  	//    detailed vector basemap with a classic Esri map style.
 12725  	//
 12726  	//    * VectorEsriStreets – The Esri World Streets map style, which provides
 12727  	//    a detailed vector basemap for the world symbolized with a classic Esri
 12728  	//    street map style. The vector tile layer is similar in content and style
 12729  	//    to the World Street Map raster map.
 12730  	//
 12731  	//    * VectorEsriNavigation – The Esri World Navigation map style, which
 12732  	//    provides a detailed basemap for the world symbolized with a custom navigation
 12733  	//    map style that's designed for use during the day in mobile devices.
 12734  	//
 12735  	// Valid HERE Technologies map styles (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html):
 12736  	//
 12737  	//    * VectorHereBerlin – The HERE Berlin map style is a high contrast detailed
 12738  	//    base map of the world that blends 3D and 2D rendering. When using HERE
 12739  	//    as your data provider, and selecting the Style VectorHereBerlin, you may
 12740  	//    not use HERE Technologies maps for Asset Management. See the AWS Service
 12741  	//    Terms (https://aws.amazon.com/service-terms/) for Amazon Location Service.
 12742  	//
 12743  	// Style is a required field
 12744  	Style *string `min:"1" type:"string" required:"true"`
 12745  }
 12746  
 12747  // String returns the string representation.
 12748  //
 12749  // API parameter values that are decorated as "sensitive" in the API will not
 12750  // be included in the string output. The member name will be present, but the
 12751  // value will be replaced with "sensitive".
 12752  func (s MapConfiguration) String() string {
 12753  	return awsutil.Prettify(s)
 12754  }
 12755  
 12756  // GoString returns the string representation.
 12757  //
 12758  // API parameter values that are decorated as "sensitive" in the API will not
 12759  // be included in the string output. The member name will be present, but the
 12760  // value will be replaced with "sensitive".
 12761  func (s MapConfiguration) GoString() string {
 12762  	return s.String()
 12763  }
 12764  
 12765  // Validate inspects the fields of the type to determine if they are valid.
 12766  func (s *MapConfiguration) Validate() error {
 12767  	invalidParams := request.ErrInvalidParams{Context: "MapConfiguration"}
 12768  	if s.Style == nil {
 12769  		invalidParams.Add(request.NewErrParamRequired("Style"))
 12770  	}
 12771  	if s.Style != nil && len(*s.Style) < 1 {
 12772  		invalidParams.Add(request.NewErrParamMinLen("Style", 1))
 12773  	}
 12774  
 12775  	if invalidParams.Len() > 0 {
 12776  		return invalidParams
 12777  	}
 12778  	return nil
 12779  }
 12780  
 12781  // SetStyle sets the Style field's value.
 12782  func (s *MapConfiguration) SetStyle(v string) *MapConfiguration {
 12783  	s.Style = &v
 12784  	return s
 12785  }
 12786  
 12787  // Contains details about addresses or points of interest that match the search
 12788  // criteria.
 12789  type Place struct {
 12790  	_ struct{} `type:"structure"`
 12791  
 12792  	// The numerical portion of an address, such as a building number.
 12793  	AddressNumber *string `type:"string"`
 12794  
 12795  	// A country/region specified using ISO 3166 (https://www.iso.org/iso-3166-country-codes.html)
 12796  	// 3-digit country/region code. For example, CAN.
 12797  	Country *string `type:"string"`
 12798  
 12799  	// Places uses a point geometry to specify a location or a Place.
 12800  	//
 12801  	// Geometry is a required field
 12802  	Geometry *PlaceGeometry `type:"structure" required:"true"`
 12803  
 12804  	// The full name and address of the point of interest such as a city, region,
 12805  	// or country. For example, 123 Any Street, Any Town, USA.
 12806  	Label *string `type:"string"`
 12807  
 12808  	// A name for a local area, such as a city or town name. For example, Toronto.
 12809  	Municipality *string `type:"string"`
 12810  
 12811  	// The name of a community district. For example, Downtown.
 12812  	Neighborhood *string `type:"string"`
 12813  
 12814  	// A group of numbers and letters in a country-specific format, which accompanies
 12815  	// the address for the purpose of identifying a location.
 12816  	PostalCode *string `type:"string"`
 12817  
 12818  	// A name for an area or geographical division, such as a province or state
 12819  	// name. For example, British Columbia.
 12820  	Region *string `type:"string"`
 12821  
 12822  	// The name for a street or a road to identify a location. For example, Main
 12823  	// Street.
 12824  	Street *string `type:"string"`
 12825  
 12826  	// A country, or an area that's part of a larger region . For example, Metro
 12827  	// Vancouver.
 12828  	SubRegion *string `type:"string"`
 12829  }
 12830  
 12831  // String returns the string representation.
 12832  //
 12833  // API parameter values that are decorated as "sensitive" in the API will not
 12834  // be included in the string output. The member name will be present, but the
 12835  // value will be replaced with "sensitive".
 12836  func (s Place) String() string {
 12837  	return awsutil.Prettify(s)
 12838  }
 12839  
 12840  // GoString returns the string representation.
 12841  //
 12842  // API parameter values that are decorated as "sensitive" in the API will not
 12843  // be included in the string output. The member name will be present, but the
 12844  // value will be replaced with "sensitive".
 12845  func (s Place) GoString() string {
 12846  	return s.String()
 12847  }
 12848  
 12849  // SetAddressNumber sets the AddressNumber field's value.
 12850  func (s *Place) SetAddressNumber(v string) *Place {
 12851  	s.AddressNumber = &v
 12852  	return s
 12853  }
 12854  
 12855  // SetCountry sets the Country field's value.
 12856  func (s *Place) SetCountry(v string) *Place {
 12857  	s.Country = &v
 12858  	return s
 12859  }
 12860  
 12861  // SetGeometry sets the Geometry field's value.
 12862  func (s *Place) SetGeometry(v *PlaceGeometry) *Place {
 12863  	s.Geometry = v
 12864  	return s
 12865  }
 12866  
 12867  // SetLabel sets the Label field's value.
 12868  func (s *Place) SetLabel(v string) *Place {
 12869  	s.Label = &v
 12870  	return s
 12871  }
 12872  
 12873  // SetMunicipality sets the Municipality field's value.
 12874  func (s *Place) SetMunicipality(v string) *Place {
 12875  	s.Municipality = &v
 12876  	return s
 12877  }
 12878  
 12879  // SetNeighborhood sets the Neighborhood field's value.
 12880  func (s *Place) SetNeighborhood(v string) *Place {
 12881  	s.Neighborhood = &v
 12882  	return s
 12883  }
 12884  
 12885  // SetPostalCode sets the PostalCode field's value.
 12886  func (s *Place) SetPostalCode(v string) *Place {
 12887  	s.PostalCode = &v
 12888  	return s
 12889  }
 12890  
 12891  // SetRegion sets the Region field's value.
 12892  func (s *Place) SetRegion(v string) *Place {
 12893  	s.Region = &v
 12894  	return s
 12895  }
 12896  
 12897  // SetStreet sets the Street field's value.
 12898  func (s *Place) SetStreet(v string) *Place {
 12899  	s.Street = &v
 12900  	return s
 12901  }
 12902  
 12903  // SetSubRegion sets the SubRegion field's value.
 12904  func (s *Place) SetSubRegion(v string) *Place {
 12905  	s.SubRegion = &v
 12906  	return s
 12907  }
 12908  
 12909  // Places uses a point geometry to specify a location or a Place.
 12910  type PlaceGeometry struct {
 12911  	_ struct{} `type:"structure"`
 12912  
 12913  	// A single point geometry specifies a location for a Place using WGS 84 (https://gisgeography.com/wgs84-world-geodetic-system/)
 12914  	// coordinates:
 12915  	//
 12916  	//    * x — Specifies the x coordinate or longitude.
 12917  	//
 12918  	//    * y — Specifies the y coordinate or latitude.
 12919  	//
 12920  	// Point is a sensitive parameter and its value will be
 12921  	// replaced with "sensitive" in string returned by PlaceGeometry's
 12922  	// String and GoString methods.
 12923  	Point []*float64 `min:"2" type:"list" sensitive:"true"`
 12924  }
 12925  
 12926  // String returns the string representation.
 12927  //
 12928  // API parameter values that are decorated as "sensitive" in the API will not
 12929  // be included in the string output. The member name will be present, but the
 12930  // value will be replaced with "sensitive".
 12931  func (s PlaceGeometry) String() string {
 12932  	return awsutil.Prettify(s)
 12933  }
 12934  
 12935  // GoString returns the string representation.
 12936  //
 12937  // API parameter values that are decorated as "sensitive" in the API will not
 12938  // be included in the string output. The member name will be present, but the
 12939  // value will be replaced with "sensitive".
 12940  func (s PlaceGeometry) GoString() string {
 12941  	return s.String()
 12942  }
 12943  
 12944  // SetPoint sets the Point field's value.
 12945  func (s *PlaceGeometry) SetPoint(v []*float64) *PlaceGeometry {
 12946  	s.Point = v
 12947  	return s
 12948  }
 12949  
 12950  type PutGeofenceInput struct {
 12951  	_ struct{} `type:"structure"`
 12952  
 12953  	// The geofence collection to store the geofence in.
 12954  	//
 12955  	// CollectionName is a required field
 12956  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
 12957  
 12958  	// An identifier for the geofence. For example, ExampleGeofence-1.
 12959  	//
 12960  	// GeofenceId is a required field
 12961  	GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"`
 12962  
 12963  	// Contains the polygon details to specify the position of the geofence.
 12964  	//
 12965  	// Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html)
 12966  	// can have a maximum of 1,000 vertices.
 12967  	//
 12968  	// Geometry is a required field
 12969  	Geometry *GeofenceGeometry `type:"structure" required:"true"`
 12970  }
 12971  
 12972  // String returns the string representation.
 12973  //
 12974  // API parameter values that are decorated as "sensitive" in the API will not
 12975  // be included in the string output. The member name will be present, but the
 12976  // value will be replaced with "sensitive".
 12977  func (s PutGeofenceInput) String() string {
 12978  	return awsutil.Prettify(s)
 12979  }
 12980  
 12981  // GoString returns the string representation.
 12982  //
 12983  // API parameter values that are decorated as "sensitive" in the API will not
 12984  // be included in the string output. The member name will be present, but the
 12985  // value will be replaced with "sensitive".
 12986  func (s PutGeofenceInput) GoString() string {
 12987  	return s.String()
 12988  }
 12989  
 12990  // Validate inspects the fields of the type to determine if they are valid.
 12991  func (s *PutGeofenceInput) Validate() error {
 12992  	invalidParams := request.ErrInvalidParams{Context: "PutGeofenceInput"}
 12993  	if s.CollectionName == nil {
 12994  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
 12995  	}
 12996  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
 12997  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
 12998  	}
 12999  	if s.GeofenceId == nil {
 13000  		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
 13001  	}
 13002  	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
 13003  		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
 13004  	}
 13005  	if s.Geometry == nil {
 13006  		invalidParams.Add(request.NewErrParamRequired("Geometry"))
 13007  	}
 13008  	if s.Geometry != nil {
 13009  		if err := s.Geometry.Validate(); err != nil {
 13010  			invalidParams.AddNested("Geometry", err.(request.ErrInvalidParams))
 13011  		}
 13012  	}
 13013  
 13014  	if invalidParams.Len() > 0 {
 13015  		return invalidParams
 13016  	}
 13017  	return nil
 13018  }
 13019  
 13020  // SetCollectionName sets the CollectionName field's value.
 13021  func (s *PutGeofenceInput) SetCollectionName(v string) *PutGeofenceInput {
 13022  	s.CollectionName = &v
 13023  	return s
 13024  }
 13025  
 13026  // SetGeofenceId sets the GeofenceId field's value.
 13027  func (s *PutGeofenceInput) SetGeofenceId(v string) *PutGeofenceInput {
 13028  	s.GeofenceId = &v
 13029  	return s
 13030  }
 13031  
 13032  // SetGeometry sets the Geometry field's value.
 13033  func (s *PutGeofenceInput) SetGeometry(v *GeofenceGeometry) *PutGeofenceInput {
 13034  	s.Geometry = v
 13035  	return s
 13036  }
 13037  
 13038  type PutGeofenceOutput struct {
 13039  	_ struct{} `type:"structure"`
 13040  
 13041  	// The timestamp for when the geofence was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 13042  	// format: YYYY-MM-DDThh:mm:ss.sssZ
 13043  	//
 13044  	// CreateTime is a required field
 13045  	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 13046  
 13047  	// The geofence identifier entered in the request.
 13048  	//
 13049  	// GeofenceId is a required field
 13050  	GeofenceId *string `min:"1" type:"string" required:"true"`
 13051  
 13052  	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 13053  	// format: YYYY-MM-DDThh:mm:ss.sssZ
 13054  	//
 13055  	// UpdateTime is a required field
 13056  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 13057  }
 13058  
 13059  // String returns the string representation.
 13060  //
 13061  // API parameter values that are decorated as "sensitive" in the API will not
 13062  // be included in the string output. The member name will be present, but the
 13063  // value will be replaced with "sensitive".
 13064  func (s PutGeofenceOutput) String() string {
 13065  	return awsutil.Prettify(s)
 13066  }
 13067  
 13068  // GoString returns the string representation.
 13069  //
 13070  // API parameter values that are decorated as "sensitive" in the API will not
 13071  // be included in the string output. The member name will be present, but the
 13072  // value will be replaced with "sensitive".
 13073  func (s PutGeofenceOutput) GoString() string {
 13074  	return s.String()
 13075  }
 13076  
 13077  // SetCreateTime sets the CreateTime field's value.
 13078  func (s *PutGeofenceOutput) SetCreateTime(v time.Time) *PutGeofenceOutput {
 13079  	s.CreateTime = &v
 13080  	return s
 13081  }
 13082  
 13083  // SetGeofenceId sets the GeofenceId field's value.
 13084  func (s *PutGeofenceOutput) SetGeofenceId(v string) *PutGeofenceOutput {
 13085  	s.GeofenceId = &v
 13086  	return s
 13087  }
 13088  
 13089  // SetUpdateTime sets the UpdateTime field's value.
 13090  func (s *PutGeofenceOutput) SetUpdateTime(v time.Time) *PutGeofenceOutput {
 13091  	s.UpdateTime = &v
 13092  	return s
 13093  }
 13094  
 13095  // The resource that you've entered was not found in your AWS account.
 13096  type ResourceNotFoundException struct {
 13097  	_            struct{}                  `type:"structure"`
 13098  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13099  
 13100  	Message_ *string `locationName:"message" type:"string"`
 13101  }
 13102  
 13103  // String returns the string representation.
 13104  //
 13105  // API parameter values that are decorated as "sensitive" in the API will not
 13106  // be included in the string output. The member name will be present, but the
 13107  // value will be replaced with "sensitive".
 13108  func (s ResourceNotFoundException) String() string {
 13109  	return awsutil.Prettify(s)
 13110  }
 13111  
 13112  // GoString returns the string representation.
 13113  //
 13114  // API parameter values that are decorated as "sensitive" in the API will not
 13115  // be included in the string output. The member name will be present, but the
 13116  // value will be replaced with "sensitive".
 13117  func (s ResourceNotFoundException) GoString() string {
 13118  	return s.String()
 13119  }
 13120  
 13121  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 13122  	return &ResourceNotFoundException{
 13123  		RespMetadata: v,
 13124  	}
 13125  }
 13126  
 13127  // Code returns the exception type name.
 13128  func (s *ResourceNotFoundException) Code() string {
 13129  	return "ResourceNotFoundException"
 13130  }
 13131  
 13132  // Message returns the exception's message.
 13133  func (s *ResourceNotFoundException) Message() string {
 13134  	if s.Message_ != nil {
 13135  		return *s.Message_
 13136  	}
 13137  	return ""
 13138  }
 13139  
 13140  // OrigErr always returns nil, satisfies awserr.Error interface.
 13141  func (s *ResourceNotFoundException) OrigErr() error {
 13142  	return nil
 13143  }
 13144  
 13145  func (s *ResourceNotFoundException) Error() string {
 13146  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13147  }
 13148  
 13149  // Status code returns the HTTP status code for the request's response error.
 13150  func (s *ResourceNotFoundException) StatusCode() int {
 13151  	return s.RespMetadata.StatusCode
 13152  }
 13153  
 13154  // RequestID returns the service's response RequestID for request.
 13155  func (s *ResourceNotFoundException) RequestID() string {
 13156  	return s.RespMetadata.RequestID
 13157  }
 13158  
 13159  // Specifies a single point of interest, or Place as a result of a search query
 13160  // obtained from a dataset configured in the place index resource.
 13161  type SearchForPositionResult struct {
 13162  	_ struct{} `type:"structure"`
 13163  
 13164  	// Contains details about the relevant point of interest.
 13165  	//
 13166  	// Place is a required field
 13167  	Place *Place `type:"structure" required:"true"`
 13168  }
 13169  
 13170  // String returns the string representation.
 13171  //
 13172  // API parameter values that are decorated as "sensitive" in the API will not
 13173  // be included in the string output. The member name will be present, but the
 13174  // value will be replaced with "sensitive".
 13175  func (s SearchForPositionResult) String() string {
 13176  	return awsutil.Prettify(s)
 13177  }
 13178  
 13179  // GoString returns the string representation.
 13180  //
 13181  // API parameter values that are decorated as "sensitive" in the API will not
 13182  // be included in the string output. The member name will be present, but the
 13183  // value will be replaced with "sensitive".
 13184  func (s SearchForPositionResult) GoString() string {
 13185  	return s.String()
 13186  }
 13187  
 13188  // SetPlace sets the Place field's value.
 13189  func (s *SearchForPositionResult) SetPlace(v *Place) *SearchForPositionResult {
 13190  	s.Place = v
 13191  	return s
 13192  }
 13193  
 13194  // Contains relevant Places returned by calling SearchPlaceIndexForText.
 13195  type SearchForTextResult struct {
 13196  	_ struct{} `type:"structure"`
 13197  
 13198  	// Contains details about the relevant point of interest.
 13199  	//
 13200  	// Place is a required field
 13201  	Place *Place `type:"structure" required:"true"`
 13202  }
 13203  
 13204  // String returns the string representation.
 13205  //
 13206  // API parameter values that are decorated as "sensitive" in the API will not
 13207  // be included in the string output. The member name will be present, but the
 13208  // value will be replaced with "sensitive".
 13209  func (s SearchForTextResult) String() string {
 13210  	return awsutil.Prettify(s)
 13211  }
 13212  
 13213  // GoString returns the string representation.
 13214  //
 13215  // API parameter values that are decorated as "sensitive" in the API will not
 13216  // be included in the string output. The member name will be present, but the
 13217  // value will be replaced with "sensitive".
 13218  func (s SearchForTextResult) GoString() string {
 13219  	return s.String()
 13220  }
 13221  
 13222  // SetPlace sets the Place field's value.
 13223  func (s *SearchForTextResult) SetPlace(v *Place) *SearchForTextResult {
 13224  	s.Place = v
 13225  	return s
 13226  }
 13227  
 13228  type SearchPlaceIndexForPositionInput struct {
 13229  	_ struct{} `type:"structure"`
 13230  
 13231  	// The name of the place index resource you want to use for the search.
 13232  	//
 13233  	// IndexName is a required field
 13234  	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
 13235  
 13236  	// An optional paramer. The maximum number of results returned per request.
 13237  	//
 13238  	// Default value: 50
 13239  	MaxResults *int64 `min:"1" type:"integer"`
 13240  
 13241  	// Specifies a coordinate for the query defined by a longitude, and latitude.
 13242  	//
 13243  	//    * The first position is the X coordinate, or longitude.
 13244  	//
 13245  	//    * The second position is the Y coordinate, or latitude.
 13246  	//
 13247  	// For example, position=xLongitude&position=yLatitude .
 13248  	//
 13249  	// Position is a sensitive parameter and its value will be
 13250  	// replaced with "sensitive" in string returned by SearchPlaceIndexForPositionInput's
 13251  	// String and GoString methods.
 13252  	//
 13253  	// Position is a required field
 13254  	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 13255  }
 13256  
 13257  // String returns the string representation.
 13258  //
 13259  // API parameter values that are decorated as "sensitive" in the API will not
 13260  // be included in the string output. The member name will be present, but the
 13261  // value will be replaced with "sensitive".
 13262  func (s SearchPlaceIndexForPositionInput) String() string {
 13263  	return awsutil.Prettify(s)
 13264  }
 13265  
 13266  // GoString returns the string representation.
 13267  //
 13268  // API parameter values that are decorated as "sensitive" in the API will not
 13269  // be included in the string output. The member name will be present, but the
 13270  // value will be replaced with "sensitive".
 13271  func (s SearchPlaceIndexForPositionInput) GoString() string {
 13272  	return s.String()
 13273  }
 13274  
 13275  // Validate inspects the fields of the type to determine if they are valid.
 13276  func (s *SearchPlaceIndexForPositionInput) Validate() error {
 13277  	invalidParams := request.ErrInvalidParams{Context: "SearchPlaceIndexForPositionInput"}
 13278  	if s.IndexName == nil {
 13279  		invalidParams.Add(request.NewErrParamRequired("IndexName"))
 13280  	}
 13281  	if s.IndexName != nil && len(*s.IndexName) < 1 {
 13282  		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
 13283  	}
 13284  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13285  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13286  	}
 13287  	if s.Position == nil {
 13288  		invalidParams.Add(request.NewErrParamRequired("Position"))
 13289  	}
 13290  	if s.Position != nil && len(s.Position) < 2 {
 13291  		invalidParams.Add(request.NewErrParamMinLen("Position", 2))
 13292  	}
 13293  
 13294  	if invalidParams.Len() > 0 {
 13295  		return invalidParams
 13296  	}
 13297  	return nil
 13298  }
 13299  
 13300  // SetIndexName sets the IndexName field's value.
 13301  func (s *SearchPlaceIndexForPositionInput) SetIndexName(v string) *SearchPlaceIndexForPositionInput {
 13302  	s.IndexName = &v
 13303  	return s
 13304  }
 13305  
 13306  // SetMaxResults sets the MaxResults field's value.
 13307  func (s *SearchPlaceIndexForPositionInput) SetMaxResults(v int64) *SearchPlaceIndexForPositionInput {
 13308  	s.MaxResults = &v
 13309  	return s
 13310  }
 13311  
 13312  // SetPosition sets the Position field's value.
 13313  func (s *SearchPlaceIndexForPositionInput) SetPosition(v []*float64) *SearchPlaceIndexForPositionInput {
 13314  	s.Position = v
 13315  	return s
 13316  }
 13317  
 13318  type SearchPlaceIndexForPositionOutput struct {
 13319  	_ struct{} `type:"structure"`
 13320  
 13321  	// Returns a list of Places closest to the specified position. Each result contains
 13322  	// additional information about the Places returned.
 13323  	//
 13324  	// Results is a required field
 13325  	Results []*SearchForPositionResult `type:"list" required:"true"`
 13326  
 13327  	// Contains a summary of the request.
 13328  	//
 13329  	// Summary is a required field
 13330  	Summary *SearchPlaceIndexForPositionSummary `type:"structure" required:"true"`
 13331  }
 13332  
 13333  // String returns the string representation.
 13334  //
 13335  // API parameter values that are decorated as "sensitive" in the API will not
 13336  // be included in the string output. The member name will be present, but the
 13337  // value will be replaced with "sensitive".
 13338  func (s SearchPlaceIndexForPositionOutput) String() string {
 13339  	return awsutil.Prettify(s)
 13340  }
 13341  
 13342  // GoString returns the string representation.
 13343  //
 13344  // API parameter values that are decorated as "sensitive" in the API will not
 13345  // be included in the string output. The member name will be present, but the
 13346  // value will be replaced with "sensitive".
 13347  func (s SearchPlaceIndexForPositionOutput) GoString() string {
 13348  	return s.String()
 13349  }
 13350  
 13351  // SetResults sets the Results field's value.
 13352  func (s *SearchPlaceIndexForPositionOutput) SetResults(v []*SearchForPositionResult) *SearchPlaceIndexForPositionOutput {
 13353  	s.Results = v
 13354  	return s
 13355  }
 13356  
 13357  // SetSummary sets the Summary field's value.
 13358  func (s *SearchPlaceIndexForPositionOutput) SetSummary(v *SearchPlaceIndexForPositionSummary) *SearchPlaceIndexForPositionOutput {
 13359  	s.Summary = v
 13360  	return s
 13361  }
 13362  
 13363  // A summary of the reverse geocoding request sent using SearchPlaceIndexForPosition.
 13364  type SearchPlaceIndexForPositionSummary struct {
 13365  	_ struct{} `type:"structure"`
 13366  
 13367  	// The data provider of geospatial data. Indicates one of the available providers:
 13368  	//
 13369  	//    * Esri
 13370  	//
 13371  	//    * HERE
 13372  	//
 13373  	// For additional details on data providers, see Amazon Location Service data
 13374  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
 13375  	//
 13376  	// DataSource is a required field
 13377  	DataSource *string `type:"string" required:"true"`
 13378  
 13379  	// An optional parameter. The maximum number of results returned per request.
 13380  	//
 13381  	// Default value: 50
 13382  	MaxResults *int64 `min:"1" type:"integer"`
 13383  
 13384  	// The position given in the reverse geocoding request.
 13385  	//
 13386  	// Position is a sensitive parameter and its value will be
 13387  	// replaced with "sensitive" in string returned by SearchPlaceIndexForPositionSummary's
 13388  	// String and GoString methods.
 13389  	//
 13390  	// Position is a required field
 13391  	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 13392  }
 13393  
 13394  // String returns the string representation.
 13395  //
 13396  // API parameter values that are decorated as "sensitive" in the API will not
 13397  // be included in the string output. The member name will be present, but the
 13398  // value will be replaced with "sensitive".
 13399  func (s SearchPlaceIndexForPositionSummary) String() string {
 13400  	return awsutil.Prettify(s)
 13401  }
 13402  
 13403  // GoString returns the string representation.
 13404  //
 13405  // API parameter values that are decorated as "sensitive" in the API will not
 13406  // be included in the string output. The member name will be present, but the
 13407  // value will be replaced with "sensitive".
 13408  func (s SearchPlaceIndexForPositionSummary) GoString() string {
 13409  	return s.String()
 13410  }
 13411  
 13412  // SetDataSource sets the DataSource field's value.
 13413  func (s *SearchPlaceIndexForPositionSummary) SetDataSource(v string) *SearchPlaceIndexForPositionSummary {
 13414  	s.DataSource = &v
 13415  	return s
 13416  }
 13417  
 13418  // SetMaxResults sets the MaxResults field's value.
 13419  func (s *SearchPlaceIndexForPositionSummary) SetMaxResults(v int64) *SearchPlaceIndexForPositionSummary {
 13420  	s.MaxResults = &v
 13421  	return s
 13422  }
 13423  
 13424  // SetPosition sets the Position field's value.
 13425  func (s *SearchPlaceIndexForPositionSummary) SetPosition(v []*float64) *SearchPlaceIndexForPositionSummary {
 13426  	s.Position = v
 13427  	return s
 13428  }
 13429  
 13430  type SearchPlaceIndexForTextInput struct {
 13431  	_ struct{} `type:"structure"`
 13432  
 13433  	// Searches for results closest to the given position. An optional parameter
 13434  	// defined by longitude, and latitude.
 13435  	//
 13436  	//    * The first bias position is the X coordinate, or longitude.
 13437  	//
 13438  	//    * The second bias position is the Y coordinate, or latitude.
 13439  	//
 13440  	// For example, bias=xLongitude&bias=yLatitude.
 13441  	//
 13442  	// BiasPosition is a sensitive parameter and its value will be
 13443  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextInput's
 13444  	// String and GoString methods.
 13445  	BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"`
 13446  
 13447  	// Filters the results by returning only Places within the provided bounding
 13448  	// box. An optional parameter.
 13449  	//
 13450  	// The first 2 bbox parameters describe the lower southwest corner:
 13451  	//
 13452  	//    * The first bbox position is the X coordinate or longitude of the lower
 13453  	//    southwest corner.
 13454  	//
 13455  	//    * The second bbox position is the Y coordinate or latitude of the lower
 13456  	//    southwest corner.
 13457  	//
 13458  	// For example, bbox=xLongitudeSW&bbox=yLatitudeSW.
 13459  	//
 13460  	// The next bbox parameters describe the upper northeast corner:
 13461  	//
 13462  	//    * The third bbox position is the X coordinate, or longitude of the upper
 13463  	//    northeast corner.
 13464  	//
 13465  	//    * The fourth bbox position is the Y coordinate, or longitude of the upper
 13466  	//    northeast corner.
 13467  	//
 13468  	// For example, bbox=xLongitudeNE&bbox=yLatitudeNE
 13469  	//
 13470  	// FilterBBox is a sensitive parameter and its value will be
 13471  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextInput's
 13472  	// String and GoString methods.
 13473  	FilterBBox []*float64 `min:"4" type:"list" sensitive:"true"`
 13474  
 13475  	// Limits the search to the given a list of countries/regions. An optional parameter.
 13476  	//
 13477  	//    * Use the ISO 3166 (https://www.iso.org/iso-3166-country-codes.html) 3-digit
 13478  	//    country code. For example, Australia uses three upper-case characters:
 13479  	//    AUS.
 13480  	FilterCountries []*string `min:"1" type:"list"`
 13481  
 13482  	// The name of the place index resource you want to use for the search.
 13483  	//
 13484  	// IndexName is a required field
 13485  	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
 13486  
 13487  	// An optional parameter. The maximum number of results returned per request.
 13488  	//
 13489  	// The default: 50
 13490  	MaxResults *int64 `min:"1" type:"integer"`
 13491  
 13492  	// The address, name, city, or region to be used in the search. In free-form
 13493  	// text format. For example, 123 Any Street.
 13494  	//
 13495  	// Text is a sensitive parameter and its value will be
 13496  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextInput's
 13497  	// String and GoString methods.
 13498  	//
 13499  	// Text is a required field
 13500  	Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13501  }
 13502  
 13503  // String returns the string representation.
 13504  //
 13505  // API parameter values that are decorated as "sensitive" in the API will not
 13506  // be included in the string output. The member name will be present, but the
 13507  // value will be replaced with "sensitive".
 13508  func (s SearchPlaceIndexForTextInput) String() string {
 13509  	return awsutil.Prettify(s)
 13510  }
 13511  
 13512  // GoString returns the string representation.
 13513  //
 13514  // API parameter values that are decorated as "sensitive" in the API will not
 13515  // be included in the string output. The member name will be present, but the
 13516  // value will be replaced with "sensitive".
 13517  func (s SearchPlaceIndexForTextInput) GoString() string {
 13518  	return s.String()
 13519  }
 13520  
 13521  // Validate inspects the fields of the type to determine if they are valid.
 13522  func (s *SearchPlaceIndexForTextInput) Validate() error {
 13523  	invalidParams := request.ErrInvalidParams{Context: "SearchPlaceIndexForTextInput"}
 13524  	if s.BiasPosition != nil && len(s.BiasPosition) < 2 {
 13525  		invalidParams.Add(request.NewErrParamMinLen("BiasPosition", 2))
 13526  	}
 13527  	if s.FilterBBox != nil && len(s.FilterBBox) < 4 {
 13528  		invalidParams.Add(request.NewErrParamMinLen("FilterBBox", 4))
 13529  	}
 13530  	if s.FilterCountries != nil && len(s.FilterCountries) < 1 {
 13531  		invalidParams.Add(request.NewErrParamMinLen("FilterCountries", 1))
 13532  	}
 13533  	if s.IndexName == nil {
 13534  		invalidParams.Add(request.NewErrParamRequired("IndexName"))
 13535  	}
 13536  	if s.IndexName != nil && len(*s.IndexName) < 1 {
 13537  		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
 13538  	}
 13539  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13540  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13541  	}
 13542  	if s.Text == nil {
 13543  		invalidParams.Add(request.NewErrParamRequired("Text"))
 13544  	}
 13545  	if s.Text != nil && len(*s.Text) < 1 {
 13546  		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
 13547  	}
 13548  
 13549  	if invalidParams.Len() > 0 {
 13550  		return invalidParams
 13551  	}
 13552  	return nil
 13553  }
 13554  
 13555  // SetBiasPosition sets the BiasPosition field's value.
 13556  func (s *SearchPlaceIndexForTextInput) SetBiasPosition(v []*float64) *SearchPlaceIndexForTextInput {
 13557  	s.BiasPosition = v
 13558  	return s
 13559  }
 13560  
 13561  // SetFilterBBox sets the FilterBBox field's value.
 13562  func (s *SearchPlaceIndexForTextInput) SetFilterBBox(v []*float64) *SearchPlaceIndexForTextInput {
 13563  	s.FilterBBox = v
 13564  	return s
 13565  }
 13566  
 13567  // SetFilterCountries sets the FilterCountries field's value.
 13568  func (s *SearchPlaceIndexForTextInput) SetFilterCountries(v []*string) *SearchPlaceIndexForTextInput {
 13569  	s.FilterCountries = v
 13570  	return s
 13571  }
 13572  
 13573  // SetIndexName sets the IndexName field's value.
 13574  func (s *SearchPlaceIndexForTextInput) SetIndexName(v string) *SearchPlaceIndexForTextInput {
 13575  	s.IndexName = &v
 13576  	return s
 13577  }
 13578  
 13579  // SetMaxResults sets the MaxResults field's value.
 13580  func (s *SearchPlaceIndexForTextInput) SetMaxResults(v int64) *SearchPlaceIndexForTextInput {
 13581  	s.MaxResults = &v
 13582  	return s
 13583  }
 13584  
 13585  // SetText sets the Text field's value.
 13586  func (s *SearchPlaceIndexForTextInput) SetText(v string) *SearchPlaceIndexForTextInput {
 13587  	s.Text = &v
 13588  	return s
 13589  }
 13590  
 13591  type SearchPlaceIndexForTextOutput struct {
 13592  	_ struct{} `type:"structure"`
 13593  
 13594  	// A list of Places closest to the specified position. Each result contains
 13595  	// additional information about the specific point of interest.
 13596  	//
 13597  	// Results is a required field
 13598  	Results []*SearchForTextResult `type:"list" required:"true"`
 13599  
 13600  	// Contains a summary of the request. Contains the BiasPosition, DataSource,
 13601  	// FilterBBox, FilterCountries, MaxResults, ResultBBox, and Text.
 13602  	//
 13603  	// Summary is a required field
 13604  	Summary *SearchPlaceIndexForTextSummary `type:"structure" required:"true"`
 13605  }
 13606  
 13607  // String returns the string representation.
 13608  //
 13609  // API parameter values that are decorated as "sensitive" in the API will not
 13610  // be included in the string output. The member name will be present, but the
 13611  // value will be replaced with "sensitive".
 13612  func (s SearchPlaceIndexForTextOutput) String() string {
 13613  	return awsutil.Prettify(s)
 13614  }
 13615  
 13616  // GoString returns the string representation.
 13617  //
 13618  // API parameter values that are decorated as "sensitive" in the API will not
 13619  // be included in the string output. The member name will be present, but the
 13620  // value will be replaced with "sensitive".
 13621  func (s SearchPlaceIndexForTextOutput) GoString() string {
 13622  	return s.String()
 13623  }
 13624  
 13625  // SetResults sets the Results field's value.
 13626  func (s *SearchPlaceIndexForTextOutput) SetResults(v []*SearchForTextResult) *SearchPlaceIndexForTextOutput {
 13627  	s.Results = v
 13628  	return s
 13629  }
 13630  
 13631  // SetSummary sets the Summary field's value.
 13632  func (s *SearchPlaceIndexForTextOutput) SetSummary(v *SearchPlaceIndexForTextSummary) *SearchPlaceIndexForTextOutput {
 13633  	s.Summary = v
 13634  	return s
 13635  }
 13636  
 13637  // A summary of the geocoding request sent using SearchPlaceIndexForText.
 13638  type SearchPlaceIndexForTextSummary struct {
 13639  	_ struct{} `type:"structure"`
 13640  
 13641  	// Contains the coordinates for the bias position entered in the geocoding request.
 13642  	//
 13643  	// BiasPosition is a sensitive parameter and its value will be
 13644  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextSummary's
 13645  	// String and GoString methods.
 13646  	BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"`
 13647  
 13648  	// The data provider of geospatial data. Indicates one of the available providers:
 13649  	//
 13650  	//    * Esri
 13651  	//
 13652  	//    * HERE
 13653  	//
 13654  	// For additional details on data providers, see Amazon Location Service data
 13655  	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
 13656  	//
 13657  	// DataSource is a required field
 13658  	DataSource *string `type:"string" required:"true"`
 13659  
 13660  	// Contains the coordinates for the optional bounding box coordinated entered
 13661  	// in the geocoding request.
 13662  	//
 13663  	// FilterBBox is a sensitive parameter and its value will be
 13664  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextSummary's
 13665  	// String and GoString methods.
 13666  	FilterBBox []*float64 `min:"4" type:"list" sensitive:"true"`
 13667  
 13668  	// Contains the country filter entered in the geocoding request.
 13669  	FilterCountries []*string `min:"1" type:"list"`
 13670  
 13671  	// Contains the maximum number of results indicated for the request.
 13672  	MaxResults *int64 `min:"1" type:"integer"`
 13673  
 13674  	// A bounding box that contains the search results within the specified area
 13675  	// indicated by FilterBBox. A subset of bounding box specified using FilterBBox.
 13676  	//
 13677  	// ResultBBox is a sensitive parameter and its value will be
 13678  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextSummary's
 13679  	// String and GoString methods.
 13680  	ResultBBox []*float64 `min:"4" type:"list" sensitive:"true"`
 13681  
 13682  	// The address, name, city or region to be used in the geocoding request. In
 13683  	// free-form text format. For example, Vancouver.
 13684  	//
 13685  	// Text is a sensitive parameter and its value will be
 13686  	// replaced with "sensitive" in string returned by SearchPlaceIndexForTextSummary's
 13687  	// String and GoString methods.
 13688  	//
 13689  	// Text is a required field
 13690  	Text *string `type:"string" required:"true" sensitive:"true"`
 13691  }
 13692  
 13693  // String returns the string representation.
 13694  //
 13695  // API parameter values that are decorated as "sensitive" in the API will not
 13696  // be included in the string output. The member name will be present, but the
 13697  // value will be replaced with "sensitive".
 13698  func (s SearchPlaceIndexForTextSummary) String() string {
 13699  	return awsutil.Prettify(s)
 13700  }
 13701  
 13702  // GoString returns the string representation.
 13703  //
 13704  // API parameter values that are decorated as "sensitive" in the API will not
 13705  // be included in the string output. The member name will be present, but the
 13706  // value will be replaced with "sensitive".
 13707  func (s SearchPlaceIndexForTextSummary) GoString() string {
 13708  	return s.String()
 13709  }
 13710  
 13711  // SetBiasPosition sets the BiasPosition field's value.
 13712  func (s *SearchPlaceIndexForTextSummary) SetBiasPosition(v []*float64) *SearchPlaceIndexForTextSummary {
 13713  	s.BiasPosition = v
 13714  	return s
 13715  }
 13716  
 13717  // SetDataSource sets the DataSource field's value.
 13718  func (s *SearchPlaceIndexForTextSummary) SetDataSource(v string) *SearchPlaceIndexForTextSummary {
 13719  	s.DataSource = &v
 13720  	return s
 13721  }
 13722  
 13723  // SetFilterBBox sets the FilterBBox field's value.
 13724  func (s *SearchPlaceIndexForTextSummary) SetFilterBBox(v []*float64) *SearchPlaceIndexForTextSummary {
 13725  	s.FilterBBox = v
 13726  	return s
 13727  }
 13728  
 13729  // SetFilterCountries sets the FilterCountries field's value.
 13730  func (s *SearchPlaceIndexForTextSummary) SetFilterCountries(v []*string) *SearchPlaceIndexForTextSummary {
 13731  	s.FilterCountries = v
 13732  	return s
 13733  }
 13734  
 13735  // SetMaxResults sets the MaxResults field's value.
 13736  func (s *SearchPlaceIndexForTextSummary) SetMaxResults(v int64) *SearchPlaceIndexForTextSummary {
 13737  	s.MaxResults = &v
 13738  	return s
 13739  }
 13740  
 13741  // SetResultBBox sets the ResultBBox field's value.
 13742  func (s *SearchPlaceIndexForTextSummary) SetResultBBox(v []*float64) *SearchPlaceIndexForTextSummary {
 13743  	s.ResultBBox = v
 13744  	return s
 13745  }
 13746  
 13747  // SetText sets the Text field's value.
 13748  func (s *SearchPlaceIndexForTextSummary) SetText(v string) *SearchPlaceIndexForTextSummary {
 13749  	s.Text = &v
 13750  	return s
 13751  }
 13752  
 13753  // The operation was denied because the request would exceed the maximum quota
 13754  // (https://docs.aws.amazon.com/location/latest/developerguide/location-quotas.html)
 13755  // set for Amazon Location Service.
 13756  type ServiceQuotaExceededException struct {
 13757  	_            struct{}                  `type:"structure"`
 13758  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13759  
 13760  	// A message with the reason for the service quota exceeded exception error.
 13761  	Message_ *string `locationName:"message" type:"string"`
 13762  }
 13763  
 13764  // String returns the string representation.
 13765  //
 13766  // API parameter values that are decorated as "sensitive" in the API will not
 13767  // be included in the string output. The member name will be present, but the
 13768  // value will be replaced with "sensitive".
 13769  func (s ServiceQuotaExceededException) String() string {
 13770  	return awsutil.Prettify(s)
 13771  }
 13772  
 13773  // GoString returns the string representation.
 13774  //
 13775  // API parameter values that are decorated as "sensitive" in the API will not
 13776  // be included in the string output. The member name will be present, but the
 13777  // value will be replaced with "sensitive".
 13778  func (s ServiceQuotaExceededException) GoString() string {
 13779  	return s.String()
 13780  }
 13781  
 13782  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 13783  	return &ServiceQuotaExceededException{
 13784  		RespMetadata: v,
 13785  	}
 13786  }
 13787  
 13788  // Code returns the exception type name.
 13789  func (s *ServiceQuotaExceededException) Code() string {
 13790  	return "ServiceQuotaExceededException"
 13791  }
 13792  
 13793  // Message returns the exception's message.
 13794  func (s *ServiceQuotaExceededException) Message() string {
 13795  	if s.Message_ != nil {
 13796  		return *s.Message_
 13797  	}
 13798  	return ""
 13799  }
 13800  
 13801  // OrigErr always returns nil, satisfies awserr.Error interface.
 13802  func (s *ServiceQuotaExceededException) OrigErr() error {
 13803  	return nil
 13804  }
 13805  
 13806  func (s *ServiceQuotaExceededException) Error() string {
 13807  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13808  }
 13809  
 13810  // Status code returns the HTTP status code for the request's response error.
 13811  func (s *ServiceQuotaExceededException) StatusCode() int {
 13812  	return s.RespMetadata.StatusCode
 13813  }
 13814  
 13815  // RequestID returns the service's response RequestID for request.
 13816  func (s *ServiceQuotaExceededException) RequestID() string {
 13817  	return s.RespMetadata.RequestID
 13818  }
 13819  
 13820  // Represents an element of a leg within a route. A step contains instructions
 13821  // for how to move to the next step in the leg.
 13822  type Step struct {
 13823  	_ struct{} `type:"structure"`
 13824  
 13825  	// The travel distance between the step's StartPosition and EndPosition.
 13826  	//
 13827  	// Distance is a required field
 13828  	Distance *float64 `type:"double" required:"true"`
 13829  
 13830  	// The estimated travel time, in seconds, from the step's StartPosition to the
 13831  	// EndPosition. . The travel mode and departure time that you specify in the
 13832  	// request determines the calculated time.
 13833  	//
 13834  	// DurationSeconds is a required field
 13835  	DurationSeconds *float64 `type:"double" required:"true"`
 13836  
 13837  	// The end position of a step. If the position the last step in the leg, this
 13838  	// position is the same as the end position of the leg.
 13839  	//
 13840  	// EndPosition is a sensitive parameter and its value will be
 13841  	// replaced with "sensitive" in string returned by Step's
 13842  	// String and GoString methods.
 13843  	//
 13844  	// EndPosition is a required field
 13845  	EndPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 13846  
 13847  	// Represents the start position, or index, in a sequence of steps within the
 13848  	// leg's line string geometry. For example, the index of the first step in a
 13849  	// leg geometry is 0.
 13850  	//
 13851  	// Included in the response for queries that set IncludeLegGeometry to True.
 13852  	GeometryOffset *int64 `type:"integer"`
 13853  
 13854  	// The starting position of a step. If the position is the first step in the
 13855  	// leg, this position is the same as the start position of the leg.
 13856  	//
 13857  	// StartPosition is a sensitive parameter and its value will be
 13858  	// replaced with "sensitive" in string returned by Step's
 13859  	// String and GoString methods.
 13860  	//
 13861  	// StartPosition is a required field
 13862  	StartPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
 13863  }
 13864  
 13865  // String returns the string representation.
 13866  //
 13867  // API parameter values that are decorated as "sensitive" in the API will not
 13868  // be included in the string output. The member name will be present, but the
 13869  // value will be replaced with "sensitive".
 13870  func (s Step) String() string {
 13871  	return awsutil.Prettify(s)
 13872  }
 13873  
 13874  // GoString returns the string representation.
 13875  //
 13876  // API parameter values that are decorated as "sensitive" in the API will not
 13877  // be included in the string output. The member name will be present, but the
 13878  // value will be replaced with "sensitive".
 13879  func (s Step) GoString() string {
 13880  	return s.String()
 13881  }
 13882  
 13883  // SetDistance sets the Distance field's value.
 13884  func (s *Step) SetDistance(v float64) *Step {
 13885  	s.Distance = &v
 13886  	return s
 13887  }
 13888  
 13889  // SetDurationSeconds sets the DurationSeconds field's value.
 13890  func (s *Step) SetDurationSeconds(v float64) *Step {
 13891  	s.DurationSeconds = &v
 13892  	return s
 13893  }
 13894  
 13895  // SetEndPosition sets the EndPosition field's value.
 13896  func (s *Step) SetEndPosition(v []*float64) *Step {
 13897  	s.EndPosition = v
 13898  	return s
 13899  }
 13900  
 13901  // SetGeometryOffset sets the GeometryOffset field's value.
 13902  func (s *Step) SetGeometryOffset(v int64) *Step {
 13903  	s.GeometryOffset = &v
 13904  	return s
 13905  }
 13906  
 13907  // SetStartPosition sets the StartPosition field's value.
 13908  func (s *Step) SetStartPosition(v []*float64) *Step {
 13909  	s.StartPosition = v
 13910  	return s
 13911  }
 13912  
 13913  type TagResourceInput struct {
 13914  	_ struct{} `type:"structure"`
 13915  
 13916  	// The Amazon Resource Name (ARN) of the resource whose tags you want to update.
 13917  	//
 13918  	//    * Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource
 13919  	//
 13920  	// ResourceArn is a required field
 13921  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
 13922  
 13923  	// Tags that have been applied to the specified resource. Tags are mapped from
 13924  	// the tag key to the tag value: "TagKey" : "TagValue".
 13925  	//
 13926  	//    * Format example: {"tag1" : "value1", "tag2" : "value2"}
 13927  	//
 13928  	// Tags is a required field
 13929  	Tags map[string]*string `type:"map" required:"true"`
 13930  }
 13931  
 13932  // String returns the string representation.
 13933  //
 13934  // API parameter values that are decorated as "sensitive" in the API will not
 13935  // be included in the string output. The member name will be present, but the
 13936  // value will be replaced with "sensitive".
 13937  func (s TagResourceInput) String() string {
 13938  	return awsutil.Prettify(s)
 13939  }
 13940  
 13941  // GoString returns the string representation.
 13942  //
 13943  // API parameter values that are decorated as "sensitive" in the API will not
 13944  // be included in the string output. The member name will be present, but the
 13945  // value will be replaced with "sensitive".
 13946  func (s TagResourceInput) GoString() string {
 13947  	return s.String()
 13948  }
 13949  
 13950  // Validate inspects the fields of the type to determine if they are valid.
 13951  func (s *TagResourceInput) Validate() error {
 13952  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 13953  	if s.ResourceArn == nil {
 13954  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 13955  	}
 13956  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 13957  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 13958  	}
 13959  	if s.Tags == nil {
 13960  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 13961  	}
 13962  
 13963  	if invalidParams.Len() > 0 {
 13964  		return invalidParams
 13965  	}
 13966  	return nil
 13967  }
 13968  
 13969  // SetResourceArn sets the ResourceArn field's value.
 13970  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 13971  	s.ResourceArn = &v
 13972  	return s
 13973  }
 13974  
 13975  // SetTags sets the Tags field's value.
 13976  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 13977  	s.Tags = v
 13978  	return s
 13979  }
 13980  
 13981  type TagResourceOutput struct {
 13982  	_ struct{} `type:"structure" nopayload:"true"`
 13983  }
 13984  
 13985  // String returns the string representation.
 13986  //
 13987  // API parameter values that are decorated as "sensitive" in the API will not
 13988  // be included in the string output. The member name will be present, but the
 13989  // value will be replaced with "sensitive".
 13990  func (s TagResourceOutput) String() string {
 13991  	return awsutil.Prettify(s)
 13992  }
 13993  
 13994  // GoString returns the string representation.
 13995  //
 13996  // API parameter values that are decorated as "sensitive" in the API will not
 13997  // be included in the string output. The member name will be present, but the
 13998  // value will be replaced with "sensitive".
 13999  func (s TagResourceOutput) GoString() string {
 14000  	return s.String()
 14001  }
 14002  
 14003  // The request was denied because of request throttling.
 14004  type ThrottlingException struct {
 14005  	_            struct{}                  `type:"structure"`
 14006  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14007  
 14008  	Message_ *string `locationName:"message" type:"string"`
 14009  }
 14010  
 14011  // String returns the string representation.
 14012  //
 14013  // API parameter values that are decorated as "sensitive" in the API will not
 14014  // be included in the string output. The member name will be present, but the
 14015  // value will be replaced with "sensitive".
 14016  func (s ThrottlingException) String() string {
 14017  	return awsutil.Prettify(s)
 14018  }
 14019  
 14020  // GoString returns the string representation.
 14021  //
 14022  // API parameter values that are decorated as "sensitive" in the API will not
 14023  // be included in the string output. The member name will be present, but the
 14024  // value will be replaced with "sensitive".
 14025  func (s ThrottlingException) GoString() string {
 14026  	return s.String()
 14027  }
 14028  
 14029  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 14030  	return &ThrottlingException{
 14031  		RespMetadata: v,
 14032  	}
 14033  }
 14034  
 14035  // Code returns the exception type name.
 14036  func (s *ThrottlingException) Code() string {
 14037  	return "ThrottlingException"
 14038  }
 14039  
 14040  // Message returns the exception's message.
 14041  func (s *ThrottlingException) Message() string {
 14042  	if s.Message_ != nil {
 14043  		return *s.Message_
 14044  	}
 14045  	return ""
 14046  }
 14047  
 14048  // OrigErr always returns nil, satisfies awserr.Error interface.
 14049  func (s *ThrottlingException) OrigErr() error {
 14050  	return nil
 14051  }
 14052  
 14053  func (s *ThrottlingException) Error() string {
 14054  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14055  }
 14056  
 14057  // Status code returns the HTTP status code for the request's response error.
 14058  func (s *ThrottlingException) StatusCode() int {
 14059  	return s.RespMetadata.StatusCode
 14060  }
 14061  
 14062  // RequestID returns the service's response RequestID for request.
 14063  func (s *ThrottlingException) RequestID() string {
 14064  	return s.RespMetadata.RequestID
 14065  }
 14066  
 14067  // Contains details about the truck dimensions in the unit of measurement that
 14068  // you specify. Used to filter out roads that can't support or allow the specified
 14069  // dimensions for requests that specify TravelMode as Truck.
 14070  type TruckDimensions struct {
 14071  	_ struct{} `type:"structure"`
 14072  
 14073  	// The height of the truck.
 14074  	//
 14075  	//    * For example, 4.5.
 14076  	Height *float64 `type:"double"`
 14077  
 14078  	// The length of the truck.
 14079  	//
 14080  	//    * For example, 15.5.
 14081  	Length *float64 `type:"double"`
 14082  
 14083  	// Specifies the unit of measurement for the truck dimensions.
 14084  	//
 14085  	// Default Value: Meters
 14086  	Unit *string `type:"string" enum:"DimensionUnit"`
 14087  
 14088  	// The width of the truck.
 14089  	//
 14090  	//    * For example, 4.5.
 14091  	Width *float64 `type:"double"`
 14092  }
 14093  
 14094  // String returns the string representation.
 14095  //
 14096  // API parameter values that are decorated as "sensitive" in the API will not
 14097  // be included in the string output. The member name will be present, but the
 14098  // value will be replaced with "sensitive".
 14099  func (s TruckDimensions) String() string {
 14100  	return awsutil.Prettify(s)
 14101  }
 14102  
 14103  // GoString returns the string representation.
 14104  //
 14105  // API parameter values that are decorated as "sensitive" in the API will not
 14106  // be included in the string output. The member name will be present, but the
 14107  // value will be replaced with "sensitive".
 14108  func (s TruckDimensions) GoString() string {
 14109  	return s.String()
 14110  }
 14111  
 14112  // SetHeight sets the Height field's value.
 14113  func (s *TruckDimensions) SetHeight(v float64) *TruckDimensions {
 14114  	s.Height = &v
 14115  	return s
 14116  }
 14117  
 14118  // SetLength sets the Length field's value.
 14119  func (s *TruckDimensions) SetLength(v float64) *TruckDimensions {
 14120  	s.Length = &v
 14121  	return s
 14122  }
 14123  
 14124  // SetUnit sets the Unit field's value.
 14125  func (s *TruckDimensions) SetUnit(v string) *TruckDimensions {
 14126  	s.Unit = &v
 14127  	return s
 14128  }
 14129  
 14130  // SetWidth sets the Width field's value.
 14131  func (s *TruckDimensions) SetWidth(v float64) *TruckDimensions {
 14132  	s.Width = &v
 14133  	return s
 14134  }
 14135  
 14136  // Contains details about the truck's weight specifications. Used to avoid roads
 14137  // that can't support or allow the total weight for requests that specify TravelMode
 14138  // as Truck.
 14139  type TruckWeight struct {
 14140  	_ struct{} `type:"structure"`
 14141  
 14142  	// The total weight of the truck.
 14143  	//
 14144  	//    * For example, 3500.
 14145  	Total *float64 `type:"double"`
 14146  
 14147  	// The unit of measurement to use for the truck weight.
 14148  	//
 14149  	// Default Value: Kilograms
 14150  	Unit *string `type:"string" enum:"VehicleWeightUnit"`
 14151  }
 14152  
 14153  // String returns the string representation.
 14154  //
 14155  // API parameter values that are decorated as "sensitive" in the API will not
 14156  // be included in the string output. The member name will be present, but the
 14157  // value will be replaced with "sensitive".
 14158  func (s TruckWeight) String() string {
 14159  	return awsutil.Prettify(s)
 14160  }
 14161  
 14162  // GoString returns the string representation.
 14163  //
 14164  // API parameter values that are decorated as "sensitive" in the API will not
 14165  // be included in the string output. The member name will be present, but the
 14166  // value will be replaced with "sensitive".
 14167  func (s TruckWeight) GoString() string {
 14168  	return s.String()
 14169  }
 14170  
 14171  // SetTotal sets the Total field's value.
 14172  func (s *TruckWeight) SetTotal(v float64) *TruckWeight {
 14173  	s.Total = &v
 14174  	return s
 14175  }
 14176  
 14177  // SetUnit sets the Unit field's value.
 14178  func (s *TruckWeight) SetUnit(v string) *TruckWeight {
 14179  	s.Unit = &v
 14180  	return s
 14181  }
 14182  
 14183  type UntagResourceInput struct {
 14184  	_ struct{} `type:"structure" nopayload:"true"`
 14185  
 14186  	// The Amazon Resource Name (ARN) of the resource from which you want to remove
 14187  	// tags.
 14188  	//
 14189  	//    * Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource
 14190  	//
 14191  	// ResourceArn is a required field
 14192  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
 14193  
 14194  	// The list of tag keys to remove from the specified resource.
 14195  	//
 14196  	// TagKeys is a required field
 14197  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 14198  }
 14199  
 14200  // String returns the string representation.
 14201  //
 14202  // API parameter values that are decorated as "sensitive" in the API will not
 14203  // be included in the string output. The member name will be present, but the
 14204  // value will be replaced with "sensitive".
 14205  func (s UntagResourceInput) String() string {
 14206  	return awsutil.Prettify(s)
 14207  }
 14208  
 14209  // GoString returns the string representation.
 14210  //
 14211  // API parameter values that are decorated as "sensitive" in the API will not
 14212  // be included in the string output. The member name will be present, but the
 14213  // value will be replaced with "sensitive".
 14214  func (s UntagResourceInput) GoString() string {
 14215  	return s.String()
 14216  }
 14217  
 14218  // Validate inspects the fields of the type to determine if they are valid.
 14219  func (s *UntagResourceInput) Validate() error {
 14220  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 14221  	if s.ResourceArn == nil {
 14222  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14223  	}
 14224  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14225  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14226  	}
 14227  	if s.TagKeys == nil {
 14228  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 14229  	}
 14230  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 14231  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 14232  	}
 14233  
 14234  	if invalidParams.Len() > 0 {
 14235  		return invalidParams
 14236  	}
 14237  	return nil
 14238  }
 14239  
 14240  // SetResourceArn sets the ResourceArn field's value.
 14241  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 14242  	s.ResourceArn = &v
 14243  	return s
 14244  }
 14245  
 14246  // SetTagKeys sets the TagKeys field's value.
 14247  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 14248  	s.TagKeys = v
 14249  	return s
 14250  }
 14251  
 14252  type UntagResourceOutput struct {
 14253  	_ struct{} `type:"structure" nopayload:"true"`
 14254  }
 14255  
 14256  // String returns the string representation.
 14257  //
 14258  // API parameter values that are decorated as "sensitive" in the API will not
 14259  // be included in the string output. The member name will be present, but the
 14260  // value will be replaced with "sensitive".
 14261  func (s UntagResourceOutput) String() string {
 14262  	return awsutil.Prettify(s)
 14263  }
 14264  
 14265  // GoString returns the string representation.
 14266  //
 14267  // API parameter values that are decorated as "sensitive" in the API will not
 14268  // be included in the string output. The member name will be present, but the
 14269  // value will be replaced with "sensitive".
 14270  func (s UntagResourceOutput) GoString() string {
 14271  	return s.String()
 14272  }
 14273  
 14274  type UpdateGeofenceCollectionInput struct {
 14275  	_ struct{} `type:"structure"`
 14276  
 14277  	// The name of the geofence collection to update.
 14278  	//
 14279  	// CollectionName is a required field
 14280  	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
 14281  
 14282  	// Updates the description for the geofence collection.
 14283  	Description *string `type:"string"`
 14284  
 14285  	// Updates the pricing plan for the geofence collection.
 14286  	//
 14287  	// For more information about each pricing plan option restrictions, see Amazon
 14288  	// Location Service pricing (https://aws.amazon.com/location/pricing/).
 14289  	PricingPlan *string `type:"string" enum:"PricingPlan"`
 14290  
 14291  	// Updates the data provider for the geofence collection.
 14292  	//
 14293  	// A required value for the following pricing plans: MobileAssetTracking| MobileAssetManagement
 14294  	//
 14295  	// For more information about data providers (https://aws.amazon.com/location/data-providers/)
 14296  	// and pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
 14297  	// Location Service product page.
 14298  	//
 14299  	// This can only be updated when updating the PricingPlan in the same request.
 14300  	//
 14301  	// Amazon Location Service uses PricingPlanDataSource to calculate billing for
 14302  	// your geofence collection. Your data won't be shared with the data provider,
 14303  	// and will remain in your AWS account and Region unless you move it.
 14304  	PricingPlanDataSource *string `type:"string"`
 14305  }
 14306  
 14307  // String returns the string representation.
 14308  //
 14309  // API parameter values that are decorated as "sensitive" in the API will not
 14310  // be included in the string output. The member name will be present, but the
 14311  // value will be replaced with "sensitive".
 14312  func (s UpdateGeofenceCollectionInput) String() string {
 14313  	return awsutil.Prettify(s)
 14314  }
 14315  
 14316  // GoString returns the string representation.
 14317  //
 14318  // API parameter values that are decorated as "sensitive" in the API will not
 14319  // be included in the string output. The member name will be present, but the
 14320  // value will be replaced with "sensitive".
 14321  func (s UpdateGeofenceCollectionInput) GoString() string {
 14322  	return s.String()
 14323  }
 14324  
 14325  // Validate inspects the fields of the type to determine if they are valid.
 14326  func (s *UpdateGeofenceCollectionInput) Validate() error {
 14327  	invalidParams := request.ErrInvalidParams{Context: "UpdateGeofenceCollectionInput"}
 14328  	if s.CollectionName == nil {
 14329  		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
 14330  	}
 14331  	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
 14332  		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
 14333  	}
 14334  
 14335  	if invalidParams.Len() > 0 {
 14336  		return invalidParams
 14337  	}
 14338  	return nil
 14339  }
 14340  
 14341  // SetCollectionName sets the CollectionName field's value.
 14342  func (s *UpdateGeofenceCollectionInput) SetCollectionName(v string) *UpdateGeofenceCollectionInput {
 14343  	s.CollectionName = &v
 14344  	return s
 14345  }
 14346  
 14347  // SetDescription sets the Description field's value.
 14348  func (s *UpdateGeofenceCollectionInput) SetDescription(v string) *UpdateGeofenceCollectionInput {
 14349  	s.Description = &v
 14350  	return s
 14351  }
 14352  
 14353  // SetPricingPlan sets the PricingPlan field's value.
 14354  func (s *UpdateGeofenceCollectionInput) SetPricingPlan(v string) *UpdateGeofenceCollectionInput {
 14355  	s.PricingPlan = &v
 14356  	return s
 14357  }
 14358  
 14359  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
 14360  func (s *UpdateGeofenceCollectionInput) SetPricingPlanDataSource(v string) *UpdateGeofenceCollectionInput {
 14361  	s.PricingPlanDataSource = &v
 14362  	return s
 14363  }
 14364  
 14365  type UpdateGeofenceCollectionOutput struct {
 14366  	_ struct{} `type:"structure"`
 14367  
 14368  	// The Amazon Resource Name (ARN) of the updated geofence collection. Used to
 14369  	// specify a resource across AWS.
 14370  	//
 14371  	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection
 14372  	//
 14373  	// CollectionArn is a required field
 14374  	CollectionArn *string `type:"string" required:"true"`
 14375  
 14376  	// The name of the updated geofence collection.
 14377  	//
 14378  	// CollectionName is a required field
 14379  	CollectionName *string `min:"1" type:"string" required:"true"`
 14380  
 14381  	// The time when the geofence collection was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 14382  	// format: YYYY-MM-DDThh:mm:ss.sssZ
 14383  	//
 14384  	// UpdateTime is a required field
 14385  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14386  }
 14387  
 14388  // String returns the string representation.
 14389  //
 14390  // API parameter values that are decorated as "sensitive" in the API will not
 14391  // be included in the string output. The member name will be present, but the
 14392  // value will be replaced with "sensitive".
 14393  func (s UpdateGeofenceCollectionOutput) String() string {
 14394  	return awsutil.Prettify(s)
 14395  }
 14396  
 14397  // GoString returns the string representation.
 14398  //
 14399  // API parameter values that are decorated as "sensitive" in the API will not
 14400  // be included in the string output. The member name will be present, but the
 14401  // value will be replaced with "sensitive".
 14402  func (s UpdateGeofenceCollectionOutput) GoString() string {
 14403  	return s.String()
 14404  }
 14405  
 14406  // SetCollectionArn sets the CollectionArn field's value.
 14407  func (s *UpdateGeofenceCollectionOutput) SetCollectionArn(v string) *UpdateGeofenceCollectionOutput {
 14408  	s.CollectionArn = &v
 14409  	return s
 14410  }
 14411  
 14412  // SetCollectionName sets the CollectionName field's value.
 14413  func (s *UpdateGeofenceCollectionOutput) SetCollectionName(v string) *UpdateGeofenceCollectionOutput {
 14414  	s.CollectionName = &v
 14415  	return s
 14416  }
 14417  
 14418  // SetUpdateTime sets the UpdateTime field's value.
 14419  func (s *UpdateGeofenceCollectionOutput) SetUpdateTime(v time.Time) *UpdateGeofenceCollectionOutput {
 14420  	s.UpdateTime = &v
 14421  	return s
 14422  }
 14423  
 14424  type UpdateMapInput struct {
 14425  	_ struct{} `type:"structure"`
 14426  
 14427  	// Updates the description for the map resource.
 14428  	Description *string `type:"string"`
 14429  
 14430  	// The name of the map resource to update.
 14431  	//
 14432  	// MapName is a required field
 14433  	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
 14434  
 14435  	// Updates the pricing plan for the map resource.
 14436  	//
 14437  	// For more information about each pricing plan option restrictions, see Amazon
 14438  	// Location Service pricing (https://aws.amazon.com/location/pricing/).
 14439  	PricingPlan *string `type:"string" enum:"PricingPlan"`
 14440  }
 14441  
 14442  // String returns the string representation.
 14443  //
 14444  // API parameter values that are decorated as "sensitive" in the API will not
 14445  // be included in the string output. The member name will be present, but the
 14446  // value will be replaced with "sensitive".
 14447  func (s UpdateMapInput) String() string {
 14448  	return awsutil.Prettify(s)
 14449  }
 14450  
 14451  // GoString returns the string representation.
 14452  //
 14453  // API parameter values that are decorated as "sensitive" in the API will not
 14454  // be included in the string output. The member name will be present, but the
 14455  // value will be replaced with "sensitive".
 14456  func (s UpdateMapInput) GoString() string {
 14457  	return s.String()
 14458  }
 14459  
 14460  // Validate inspects the fields of the type to determine if they are valid.
 14461  func (s *UpdateMapInput) Validate() error {
 14462  	invalidParams := request.ErrInvalidParams{Context: "UpdateMapInput"}
 14463  	if s.MapName == nil {
 14464  		invalidParams.Add(request.NewErrParamRequired("MapName"))
 14465  	}
 14466  	if s.MapName != nil && len(*s.MapName) < 1 {
 14467  		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
 14468  	}
 14469  
 14470  	if invalidParams.Len() > 0 {
 14471  		return invalidParams
 14472  	}
 14473  	return nil
 14474  }
 14475  
 14476  // SetDescription sets the Description field's value.
 14477  func (s *UpdateMapInput) SetDescription(v string) *UpdateMapInput {
 14478  	s.Description = &v
 14479  	return s
 14480  }
 14481  
 14482  // SetMapName sets the MapName field's value.
 14483  func (s *UpdateMapInput) SetMapName(v string) *UpdateMapInput {
 14484  	s.MapName = &v
 14485  	return s
 14486  }
 14487  
 14488  // SetPricingPlan sets the PricingPlan field's value.
 14489  func (s *UpdateMapInput) SetPricingPlan(v string) *UpdateMapInput {
 14490  	s.PricingPlan = &v
 14491  	return s
 14492  }
 14493  
 14494  type UpdateMapOutput struct {
 14495  	_ struct{} `type:"structure"`
 14496  
 14497  	// The Amazon Resource Name (ARN) of the updated map resource. Used to specify
 14498  	// a resource across AWS.
 14499  	//
 14500  	//    * Format example: arn:aws:geo:region:account-id:maps/ExampleMap
 14501  	//
 14502  	// MapArn is a required field
 14503  	MapArn *string `type:"string" required:"true"`
 14504  
 14505  	// The name of the updated map resource.
 14506  	//
 14507  	// MapName is a required field
 14508  	MapName *string `min:"1" type:"string" required:"true"`
 14509  
 14510  	// The timestamp for when the map resource was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
 14511  	// format: YYYY-MM-DDThh:mm:ss.sssZ.
 14512  	//
 14513  	// UpdateTime is a required field
 14514  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14515  }
 14516  
 14517  // String returns the string representation.
 14518  //
 14519  // API parameter values that are decorated as "sensitive" in the API will not
 14520  // be included in the string output. The member name will be present, but the
 14521  // value will be replaced with "sensitive".
 14522  func (s UpdateMapOutput) String() string {
 14523  	return awsutil.Prettify(s)
 14524  }
 14525  
 14526  // GoString returns the string representation.
 14527  //
 14528  // API parameter values that are decorated as "sensitive" in the API will not
 14529  // be included in the string output. The member name will be present, but the
 14530  // value will be replaced with "sensitive".
 14531  func (s UpdateMapOutput) GoString() string {
 14532  	return s.String()
 14533  }
 14534  
 14535  // SetMapArn sets the MapArn field's value.
 14536  func (s *UpdateMapOutput) SetMapArn(v string) *UpdateMapOutput {
 14537  	s.MapArn = &v
 14538  	return s
 14539  }
 14540  
 14541  // SetMapName sets the MapName field's value.
 14542  func (s *UpdateMapOutput) SetMapName(v string) *UpdateMapOutput {
 14543  	s.MapName = &v
 14544  	return s
 14545  }
 14546  
 14547  // SetUpdateTime sets the UpdateTime field's value.
 14548  func (s *UpdateMapOutput) SetUpdateTime(v time.Time) *UpdateMapOutput {
 14549  	s.UpdateTime = &v
 14550  	return s
 14551  }
 14552  
 14553  type UpdatePlaceIndexInput struct {
 14554  	_ struct{} `type:"structure"`
 14555  
 14556  	// Updates the data storage option for the place index resource.
 14557  	DataSourceConfiguration *DataSourceConfiguration `type:"structure"`
 14558  
 14559  	// Updates the description for the place index resource.
 14560  	Description *string `type:"string"`
 14561  
 14562  	// The name of the place index resource to update.
 14563  	//
 14564  	// IndexName is a required field
 14565  	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
 14566  
 14567  	// Updates the pricing plan for the place index resource.
 14568  	//
 14569  	// For more information about each pricing plan option restrictions, see Amazon
 14570  	// Location Service pricing (https://aws.amazon.com/location/pricing/).
 14571  	PricingPlan *string `type:"string" enum:"PricingPlan"`
 14572  }
 14573  
 14574  // String returns the string representation.
 14575  //
 14576  // API parameter values that are decorated as "sensitive" in the API will not
 14577  // be included in the string output. The member name will be present, but the
 14578  // value will be replaced with "sensitive".
 14579  func (s UpdatePlaceIndexInput) String() string {
 14580  	return awsutil.Prettify(s)
 14581  }
 14582  
 14583  // GoString returns the string representation.
 14584  //
 14585  // API parameter values that are decorated as "sensitive" in the API will not
 14586  // be included in the string output. The member name will be present, but the
 14587  // value will be replaced with "sensitive".
 14588  func (s UpdatePlaceIndexInput) GoString() string {
 14589  	return s.String()
 14590  }
 14591  
 14592  // Validate inspects the fields of the type to determine if they are valid.
 14593  func (s *UpdatePlaceIndexInput) Validate() error {
 14594  	invalidParams := request.ErrInvalidParams{Context: "UpdatePlaceIndexInput"}
 14595  	if s.IndexName == nil {
 14596  		invalidParams.Add(request.NewErrParamRequired("IndexName"))
 14597  	}
 14598  	if s.IndexName != nil && len(*s.IndexName) < 1 {
 14599  		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
 14600  	}
 14601  
 14602  	if invalidParams.Len() > 0 {
 14603  		return invalidParams
 14604  	}
 14605  	return nil
 14606  }
 14607  
 14608  // SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
 14609  func (s *UpdatePlaceIndexInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *UpdatePlaceIndexInput {
 14610  	s.DataSourceConfiguration = v
 14611  	return s
 14612  }
 14613  
 14614  // SetDescription sets the Description field's value.
 14615  func (s *UpdatePlaceIndexInput) SetDescription(v string) *UpdatePlaceIndexInput {
 14616  	s.Description = &v
 14617  	return s
 14618  }
 14619  
 14620  // SetIndexName sets the IndexName field's value.
 14621  func (s *UpdatePlaceIndexInput) SetIndexName(v string) *UpdatePlaceIndexInput {
 14622  	s.IndexName = &v
 14623  	return s
 14624  }
 14625  
 14626  // SetPricingPlan sets the PricingPlan field's value.
 14627  func (s *UpdatePlaceIndexInput) SetPricingPlan(v string) *UpdatePlaceIndexInput {
 14628  	s.PricingPlan = &v
 14629  	return s
 14630  }
 14631  
 14632  type UpdatePlaceIndexOutput struct {
 14633  	_ struct{} `type:"structure"`
 14634  
 14635  	// The Amazon Resource Name (ARN) of the upated place index resource. Used to
 14636  	// specify a resource across AWS.
 14637  	//
 14638  	//    * Format example: arn:aws:geo:region:account-id:place- index/ExamplePlaceIndex
 14639  	//
 14640  	// IndexArn is a required field
 14641  	IndexArn *string `type:"string" required:"true"`
 14642  
 14643  	// The name of the updated place index resource.
 14644  	//
 14645  	// IndexName is a required field
 14646  	IndexName *string `min:"1" type:"string" required:"true"`
 14647  
 14648  	// The timestamp for when the place index resource was last updated in ISO 8601
 14649  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 14650  	//
 14651  	// UpdateTime is a required field
 14652  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14653  }
 14654  
 14655  // String returns the string representation.
 14656  //
 14657  // API parameter values that are decorated as "sensitive" in the API will not
 14658  // be included in the string output. The member name will be present, but the
 14659  // value will be replaced with "sensitive".
 14660  func (s UpdatePlaceIndexOutput) String() string {
 14661  	return awsutil.Prettify(s)
 14662  }
 14663  
 14664  // GoString returns the string representation.
 14665  //
 14666  // API parameter values that are decorated as "sensitive" in the API will not
 14667  // be included in the string output. The member name will be present, but the
 14668  // value will be replaced with "sensitive".
 14669  func (s UpdatePlaceIndexOutput) GoString() string {
 14670  	return s.String()
 14671  }
 14672  
 14673  // SetIndexArn sets the IndexArn field's value.
 14674  func (s *UpdatePlaceIndexOutput) SetIndexArn(v string) *UpdatePlaceIndexOutput {
 14675  	s.IndexArn = &v
 14676  	return s
 14677  }
 14678  
 14679  // SetIndexName sets the IndexName field's value.
 14680  func (s *UpdatePlaceIndexOutput) SetIndexName(v string) *UpdatePlaceIndexOutput {
 14681  	s.IndexName = &v
 14682  	return s
 14683  }
 14684  
 14685  // SetUpdateTime sets the UpdateTime field's value.
 14686  func (s *UpdatePlaceIndexOutput) SetUpdateTime(v time.Time) *UpdatePlaceIndexOutput {
 14687  	s.UpdateTime = &v
 14688  	return s
 14689  }
 14690  
 14691  type UpdateRouteCalculatorInput struct {
 14692  	_ struct{} `type:"structure"`
 14693  
 14694  	// The name of the route calculator resource to update.
 14695  	//
 14696  	// CalculatorName is a required field
 14697  	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
 14698  
 14699  	// Updates the description for the route calculator resource.
 14700  	Description *string `type:"string"`
 14701  
 14702  	// Updates the pricing plan for the route calculator resource.
 14703  	//
 14704  	// For more information about each pricing plan option restrictions, see Amazon
 14705  	// Location Service pricing (https://aws.amazon.com/location/pricing/).
 14706  	PricingPlan *string `type:"string" enum:"PricingPlan"`
 14707  }
 14708  
 14709  // String returns the string representation.
 14710  //
 14711  // API parameter values that are decorated as "sensitive" in the API will not
 14712  // be included in the string output. The member name will be present, but the
 14713  // value will be replaced with "sensitive".
 14714  func (s UpdateRouteCalculatorInput) String() string {
 14715  	return awsutil.Prettify(s)
 14716  }
 14717  
 14718  // GoString returns the string representation.
 14719  //
 14720  // API parameter values that are decorated as "sensitive" in the API will not
 14721  // be included in the string output. The member name will be present, but the
 14722  // value will be replaced with "sensitive".
 14723  func (s UpdateRouteCalculatorInput) GoString() string {
 14724  	return s.String()
 14725  }
 14726  
 14727  // Validate inspects the fields of the type to determine if they are valid.
 14728  func (s *UpdateRouteCalculatorInput) Validate() error {
 14729  	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteCalculatorInput"}
 14730  	if s.CalculatorName == nil {
 14731  		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
 14732  	}
 14733  	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
 14734  		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
 14735  	}
 14736  
 14737  	if invalidParams.Len() > 0 {
 14738  		return invalidParams
 14739  	}
 14740  	return nil
 14741  }
 14742  
 14743  // SetCalculatorName sets the CalculatorName field's value.
 14744  func (s *UpdateRouteCalculatorInput) SetCalculatorName(v string) *UpdateRouteCalculatorInput {
 14745  	s.CalculatorName = &v
 14746  	return s
 14747  }
 14748  
 14749  // SetDescription sets the Description field's value.
 14750  func (s *UpdateRouteCalculatorInput) SetDescription(v string) *UpdateRouteCalculatorInput {
 14751  	s.Description = &v
 14752  	return s
 14753  }
 14754  
 14755  // SetPricingPlan sets the PricingPlan field's value.
 14756  func (s *UpdateRouteCalculatorInput) SetPricingPlan(v string) *UpdateRouteCalculatorInput {
 14757  	s.PricingPlan = &v
 14758  	return s
 14759  }
 14760  
 14761  type UpdateRouteCalculatorOutput struct {
 14762  	_ struct{} `type:"structure"`
 14763  
 14764  	// The Amazon Resource Name (ARN) of the updated route calculator resource.
 14765  	// Used to specify a resource across AWS.
 14766  	//
 14767  	//    * Format example: arn:aws:geo:region:account-id:route- calculator/ExampleCalculator
 14768  	//
 14769  	// CalculatorArn is a required field
 14770  	CalculatorArn *string `type:"string" required:"true"`
 14771  
 14772  	// The name of the updated route calculator resource.
 14773  	//
 14774  	// CalculatorName is a required field
 14775  	CalculatorName *string `min:"1" type:"string" required:"true"`
 14776  
 14777  	// The timestamp for when the route calculator was last updated in ISO 8601
 14778  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 14779  	//
 14780  	// UpdateTime is a required field
 14781  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14782  }
 14783  
 14784  // String returns the string representation.
 14785  //
 14786  // API parameter values that are decorated as "sensitive" in the API will not
 14787  // be included in the string output. The member name will be present, but the
 14788  // value will be replaced with "sensitive".
 14789  func (s UpdateRouteCalculatorOutput) String() string {
 14790  	return awsutil.Prettify(s)
 14791  }
 14792  
 14793  // GoString returns the string representation.
 14794  //
 14795  // API parameter values that are decorated as "sensitive" in the API will not
 14796  // be included in the string output. The member name will be present, but the
 14797  // value will be replaced with "sensitive".
 14798  func (s UpdateRouteCalculatorOutput) GoString() string {
 14799  	return s.String()
 14800  }
 14801  
 14802  // SetCalculatorArn sets the CalculatorArn field's value.
 14803  func (s *UpdateRouteCalculatorOutput) SetCalculatorArn(v string) *UpdateRouteCalculatorOutput {
 14804  	s.CalculatorArn = &v
 14805  	return s
 14806  }
 14807  
 14808  // SetCalculatorName sets the CalculatorName field's value.
 14809  func (s *UpdateRouteCalculatorOutput) SetCalculatorName(v string) *UpdateRouteCalculatorOutput {
 14810  	s.CalculatorName = &v
 14811  	return s
 14812  }
 14813  
 14814  // SetUpdateTime sets the UpdateTime field's value.
 14815  func (s *UpdateRouteCalculatorOutput) SetUpdateTime(v time.Time) *UpdateRouteCalculatorOutput {
 14816  	s.UpdateTime = &v
 14817  	return s
 14818  }
 14819  
 14820  type UpdateTrackerInput struct {
 14821  	_ struct{} `type:"structure"`
 14822  
 14823  	// Updates the description for the tracker resource.
 14824  	Description *string `type:"string"`
 14825  
 14826  	// Updates the position filtering for the tracker resource.
 14827  	//
 14828  	// Valid values:
 14829  	//
 14830  	//    * TimeBased - Location updates are evaluated against linked geofence collections,
 14831  	//    but not every location update is stored. If your update frequency is more
 14832  	//    often than 30 seconds, only one update per 30 seconds is stored for each
 14833  	//    unique device ID.
 14834  	//
 14835  	//    * DistanceBased - If the device has moved less than 30 m (98.4 ft), location
 14836  	//    updates are ignored. Location updates within this distance are neither
 14837  	//    evaluated against linked geofence collections, nor stored. This helps
 14838  	//    control costs by reducing the number of geofence evaluations and device
 14839  	//    positions to retrieve. Distance-based filtering can also reduce the jitter
 14840  	//    effect when displaying device trajectory on a map.
 14841  	PositionFiltering *string `type:"string" enum:"PositionFiltering"`
 14842  
 14843  	// Updates the pricing plan for the tracker resource.
 14844  	//
 14845  	// For more information about each pricing plan option restrictions, see Amazon
 14846  	// Location Service pricing (https://aws.amazon.com/location/pricing/).
 14847  	PricingPlan *string `type:"string" enum:"PricingPlan"`
 14848  
 14849  	// Updates the data provider for the tracker resource.
 14850  	//
 14851  	// A required value for the following pricing plans: MobileAssetTracking| MobileAssetManagement
 14852  	//
 14853  	// For more information about data providers (https://aws.amazon.com/location/data-providers/)
 14854  	// and pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
 14855  	// Location Service product page
 14856  	//
 14857  	// This can only be updated when updating the PricingPlan in the same request.
 14858  	//
 14859  	// Amazon Location Service uses PricingPlanDataSource to calculate billing for
 14860  	// your tracker resource. Your data won't be shared with the data provider,
 14861  	// and will remain in your AWS account and Region unless you move it.
 14862  	PricingPlanDataSource *string `type:"string"`
 14863  
 14864  	// The name of the tracker resource to update.
 14865  	//
 14866  	// TrackerName is a required field
 14867  	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
 14868  }
 14869  
 14870  // String returns the string representation.
 14871  //
 14872  // API parameter values that are decorated as "sensitive" in the API will not
 14873  // be included in the string output. The member name will be present, but the
 14874  // value will be replaced with "sensitive".
 14875  func (s UpdateTrackerInput) String() string {
 14876  	return awsutil.Prettify(s)
 14877  }
 14878  
 14879  // GoString returns the string representation.
 14880  //
 14881  // API parameter values that are decorated as "sensitive" in the API will not
 14882  // be included in the string output. The member name will be present, but the
 14883  // value will be replaced with "sensitive".
 14884  func (s UpdateTrackerInput) GoString() string {
 14885  	return s.String()
 14886  }
 14887  
 14888  // Validate inspects the fields of the type to determine if they are valid.
 14889  func (s *UpdateTrackerInput) Validate() error {
 14890  	invalidParams := request.ErrInvalidParams{Context: "UpdateTrackerInput"}
 14891  	if s.TrackerName == nil {
 14892  		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
 14893  	}
 14894  	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
 14895  		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
 14896  	}
 14897  
 14898  	if invalidParams.Len() > 0 {
 14899  		return invalidParams
 14900  	}
 14901  	return nil
 14902  }
 14903  
 14904  // SetDescription sets the Description field's value.
 14905  func (s *UpdateTrackerInput) SetDescription(v string) *UpdateTrackerInput {
 14906  	s.Description = &v
 14907  	return s
 14908  }
 14909  
 14910  // SetPositionFiltering sets the PositionFiltering field's value.
 14911  func (s *UpdateTrackerInput) SetPositionFiltering(v string) *UpdateTrackerInput {
 14912  	s.PositionFiltering = &v
 14913  	return s
 14914  }
 14915  
 14916  // SetPricingPlan sets the PricingPlan field's value.
 14917  func (s *UpdateTrackerInput) SetPricingPlan(v string) *UpdateTrackerInput {
 14918  	s.PricingPlan = &v
 14919  	return s
 14920  }
 14921  
 14922  // SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
 14923  func (s *UpdateTrackerInput) SetPricingPlanDataSource(v string) *UpdateTrackerInput {
 14924  	s.PricingPlanDataSource = &v
 14925  	return s
 14926  }
 14927  
 14928  // SetTrackerName sets the TrackerName field's value.
 14929  func (s *UpdateTrackerInput) SetTrackerName(v string) *UpdateTrackerInput {
 14930  	s.TrackerName = &v
 14931  	return s
 14932  }
 14933  
 14934  type UpdateTrackerOutput struct {
 14935  	_ struct{} `type:"structure"`
 14936  
 14937  	// The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify
 14938  	// a resource across AWS.
 14939  	//
 14940  	//    * Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker
 14941  	//
 14942  	// TrackerArn is a required field
 14943  	TrackerArn *string `type:"string" required:"true"`
 14944  
 14945  	// The name of the updated tracker resource.
 14946  	//
 14947  	// TrackerName is a required field
 14948  	TrackerName *string `min:"1" type:"string" required:"true"`
 14949  
 14950  	// The timestamp for when the tracker resource was last updated in ISO 8601
 14951  	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
 14952  	//
 14953  	// UpdateTime is a required field
 14954  	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
 14955  }
 14956  
 14957  // String returns the string representation.
 14958  //
 14959  // API parameter values that are decorated as "sensitive" in the API will not
 14960  // be included in the string output. The member name will be present, but the
 14961  // value will be replaced with "sensitive".
 14962  func (s UpdateTrackerOutput) String() string {
 14963  	return awsutil.Prettify(s)
 14964  }
 14965  
 14966  // GoString returns the string representation.
 14967  //
 14968  // API parameter values that are decorated as "sensitive" in the API will not
 14969  // be included in the string output. The member name will be present, but the
 14970  // value will be replaced with "sensitive".
 14971  func (s UpdateTrackerOutput) GoString() string {
 14972  	return s.String()
 14973  }
 14974  
 14975  // SetTrackerArn sets the TrackerArn field's value.
 14976  func (s *UpdateTrackerOutput) SetTrackerArn(v string) *UpdateTrackerOutput {
 14977  	s.TrackerArn = &v
 14978  	return s
 14979  }
 14980  
 14981  // SetTrackerName sets the TrackerName field's value.
 14982  func (s *UpdateTrackerOutput) SetTrackerName(v string) *UpdateTrackerOutput {
 14983  	s.TrackerName = &v
 14984  	return s
 14985  }
 14986  
 14987  // SetUpdateTime sets the UpdateTime field's value.
 14988  func (s *UpdateTrackerOutput) SetUpdateTime(v time.Time) *UpdateTrackerOutput {
 14989  	s.UpdateTime = &v
 14990  	return s
 14991  }
 14992  
 14993  // The input failed to meet the constraints specified by the AWS service.
 14994  type ValidationException struct {
 14995  	_            struct{}                  `type:"structure"`
 14996  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14997  
 14998  	// The field where the invalid entry was detected.
 14999  	//
 15000  	// FieldList is a required field
 15001  	FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list" required:"true"`
 15002  
 15003  	Message_ *string `locationName:"message" type:"string"`
 15004  
 15005  	// A message with the reason for the validation exception error.
 15006  	//
 15007  	// Reason is a required field
 15008  	Reason *string `locationName:"reason" type:"string" required:"true" enum:"ValidationExceptionReason"`
 15009  }
 15010  
 15011  // String returns the string representation.
 15012  //
 15013  // API parameter values that are decorated as "sensitive" in the API will not
 15014  // be included in the string output. The member name will be present, but the
 15015  // value will be replaced with "sensitive".
 15016  func (s ValidationException) String() string {
 15017  	return awsutil.Prettify(s)
 15018  }
 15019  
 15020  // GoString returns the string representation.
 15021  //
 15022  // API parameter values that are decorated as "sensitive" in the API will not
 15023  // be included in the string output. The member name will be present, but the
 15024  // value will be replaced with "sensitive".
 15025  func (s ValidationException) GoString() string {
 15026  	return s.String()
 15027  }
 15028  
 15029  func newErrorValidationException(v protocol.ResponseMetadata) error {
 15030  	return &ValidationException{
 15031  		RespMetadata: v,
 15032  	}
 15033  }
 15034  
 15035  // Code returns the exception type name.
 15036  func (s *ValidationException) Code() string {
 15037  	return "ValidationException"
 15038  }
 15039  
 15040  // Message returns the exception's message.
 15041  func (s *ValidationException) Message() string {
 15042  	if s.Message_ != nil {
 15043  		return *s.Message_
 15044  	}
 15045  	return ""
 15046  }
 15047  
 15048  // OrigErr always returns nil, satisfies awserr.Error interface.
 15049  func (s *ValidationException) OrigErr() error {
 15050  	return nil
 15051  }
 15052  
 15053  func (s *ValidationException) Error() string {
 15054  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 15055  }
 15056  
 15057  // Status code returns the HTTP status code for the request's response error.
 15058  func (s *ValidationException) StatusCode() int {
 15059  	return s.RespMetadata.StatusCode
 15060  }
 15061  
 15062  // RequestID returns the service's response RequestID for request.
 15063  func (s *ValidationException) RequestID() string {
 15064  	return s.RespMetadata.RequestID
 15065  }
 15066  
 15067  // The input failed to meet the constraints specified by the AWS service in
 15068  // a specified field.
 15069  type ValidationExceptionField struct {
 15070  	_ struct{} `type:"structure"`
 15071  
 15072  	// A message with the reason for the validation exception error.
 15073  	//
 15074  	// Message is a required field
 15075  	Message *string `locationName:"message" type:"string" required:"true"`
 15076  
 15077  	// The field name where the invalid entry was detected.
 15078  	//
 15079  	// Name is a required field
 15080  	Name *string `locationName:"name" type:"string" required:"true"`
 15081  }
 15082  
 15083  // String returns the string representation.
 15084  //
 15085  // API parameter values that are decorated as "sensitive" in the API will not
 15086  // be included in the string output. The member name will be present, but the
 15087  // value will be replaced with "sensitive".
 15088  func (s ValidationExceptionField) String() string {
 15089  	return awsutil.Prettify(s)
 15090  }
 15091  
 15092  // GoString returns the string representation.
 15093  //
 15094  // API parameter values that are decorated as "sensitive" in the API will not
 15095  // be included in the string output. The member name will be present, but the
 15096  // value will be replaced with "sensitive".
 15097  func (s ValidationExceptionField) GoString() string {
 15098  	return s.String()
 15099  }
 15100  
 15101  // SetMessage sets the Message field's value.
 15102  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
 15103  	s.Message = &v
 15104  	return s
 15105  }
 15106  
 15107  // SetName sets the Name field's value.
 15108  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
 15109  	s.Name = &v
 15110  	return s
 15111  }
 15112  
 15113  const (
 15114  	// BatchItemErrorCodeAccessDeniedError is a BatchItemErrorCode enum value
 15115  	BatchItemErrorCodeAccessDeniedError = "AccessDeniedError"
 15116  
 15117  	// BatchItemErrorCodeConflictError is a BatchItemErrorCode enum value
 15118  	BatchItemErrorCodeConflictError = "ConflictError"
 15119  
 15120  	// BatchItemErrorCodeInternalServerError is a BatchItemErrorCode enum value
 15121  	BatchItemErrorCodeInternalServerError = "InternalServerError"
 15122  
 15123  	// BatchItemErrorCodeResourceNotFoundError is a BatchItemErrorCode enum value
 15124  	BatchItemErrorCodeResourceNotFoundError = "ResourceNotFoundError"
 15125  
 15126  	// BatchItemErrorCodeThrottlingError is a BatchItemErrorCode enum value
 15127  	BatchItemErrorCodeThrottlingError = "ThrottlingError"
 15128  
 15129  	// BatchItemErrorCodeValidationError is a BatchItemErrorCode enum value
 15130  	BatchItemErrorCodeValidationError = "ValidationError"
 15131  )
 15132  
 15133  // BatchItemErrorCode_Values returns all elements of the BatchItemErrorCode enum
 15134  func BatchItemErrorCode_Values() []string {
 15135  	return []string{
 15136  		BatchItemErrorCodeAccessDeniedError,
 15137  		BatchItemErrorCodeConflictError,
 15138  		BatchItemErrorCodeInternalServerError,
 15139  		BatchItemErrorCodeResourceNotFoundError,
 15140  		BatchItemErrorCodeThrottlingError,
 15141  		BatchItemErrorCodeValidationError,
 15142  	}
 15143  }
 15144  
 15145  const (
 15146  	// DimensionUnitMeters is a DimensionUnit enum value
 15147  	DimensionUnitMeters = "Meters"
 15148  
 15149  	// DimensionUnitFeet is a DimensionUnit enum value
 15150  	DimensionUnitFeet = "Feet"
 15151  )
 15152  
 15153  // DimensionUnit_Values returns all elements of the DimensionUnit enum
 15154  func DimensionUnit_Values() []string {
 15155  	return []string{
 15156  		DimensionUnitMeters,
 15157  		DimensionUnitFeet,
 15158  	}
 15159  }
 15160  
 15161  const (
 15162  	// DistanceUnitKilometers is a DistanceUnit enum value
 15163  	DistanceUnitKilometers = "Kilometers"
 15164  
 15165  	// DistanceUnitMiles is a DistanceUnit enum value
 15166  	DistanceUnitMiles = "Miles"
 15167  )
 15168  
 15169  // DistanceUnit_Values returns all elements of the DistanceUnit enum
 15170  func DistanceUnit_Values() []string {
 15171  	return []string{
 15172  		DistanceUnitKilometers,
 15173  		DistanceUnitMiles,
 15174  	}
 15175  }
 15176  
 15177  const (
 15178  	// IntendedUseSingleUse is a IntendedUse enum value
 15179  	IntendedUseSingleUse = "SingleUse"
 15180  
 15181  	// IntendedUseStorage is a IntendedUse enum value
 15182  	IntendedUseStorage = "Storage"
 15183  )
 15184  
 15185  // IntendedUse_Values returns all elements of the IntendedUse enum
 15186  func IntendedUse_Values() []string {
 15187  	return []string{
 15188  		IntendedUseSingleUse,
 15189  		IntendedUseStorage,
 15190  	}
 15191  }
 15192  
 15193  const (
 15194  	// PositionFilteringTimeBased is a PositionFiltering enum value
 15195  	PositionFilteringTimeBased = "TimeBased"
 15196  
 15197  	// PositionFilteringDistanceBased is a PositionFiltering enum value
 15198  	PositionFilteringDistanceBased = "DistanceBased"
 15199  )
 15200  
 15201  // PositionFiltering_Values returns all elements of the PositionFiltering enum
 15202  func PositionFiltering_Values() []string {
 15203  	return []string{
 15204  		PositionFilteringTimeBased,
 15205  		PositionFilteringDistanceBased,
 15206  	}
 15207  }
 15208  
 15209  const (
 15210  	// PricingPlanRequestBasedUsage is a PricingPlan enum value
 15211  	PricingPlanRequestBasedUsage = "RequestBasedUsage"
 15212  
 15213  	// PricingPlanMobileAssetTracking is a PricingPlan enum value
 15214  	PricingPlanMobileAssetTracking = "MobileAssetTracking"
 15215  
 15216  	// PricingPlanMobileAssetManagement is a PricingPlan enum value
 15217  	PricingPlanMobileAssetManagement = "MobileAssetManagement"
 15218  )
 15219  
 15220  // PricingPlan_Values returns all elements of the PricingPlan enum
 15221  func PricingPlan_Values() []string {
 15222  	return []string{
 15223  		PricingPlanRequestBasedUsage,
 15224  		PricingPlanMobileAssetTracking,
 15225  		PricingPlanMobileAssetManagement,
 15226  	}
 15227  }
 15228  
 15229  const (
 15230  	// TravelModeCar is a TravelMode enum value
 15231  	TravelModeCar = "Car"
 15232  
 15233  	// TravelModeTruck is a TravelMode enum value
 15234  	TravelModeTruck = "Truck"
 15235  
 15236  	// TravelModeWalking is a TravelMode enum value
 15237  	TravelModeWalking = "Walking"
 15238  )
 15239  
 15240  // TravelMode_Values returns all elements of the TravelMode enum
 15241  func TravelMode_Values() []string {
 15242  	return []string{
 15243  		TravelModeCar,
 15244  		TravelModeTruck,
 15245  		TravelModeWalking,
 15246  	}
 15247  }
 15248  
 15249  const (
 15250  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
 15251  	ValidationExceptionReasonUnknownOperation = "UnknownOperation"
 15252  
 15253  	// ValidationExceptionReasonMissing is a ValidationExceptionReason enum value
 15254  	ValidationExceptionReasonMissing = "Missing"
 15255  
 15256  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
 15257  	ValidationExceptionReasonCannotParse = "CannotParse"
 15258  
 15259  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
 15260  	ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed"
 15261  
 15262  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
 15263  	ValidationExceptionReasonOther = "Other"
 15264  )
 15265  
 15266  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
 15267  func ValidationExceptionReason_Values() []string {
 15268  	return []string{
 15269  		ValidationExceptionReasonUnknownOperation,
 15270  		ValidationExceptionReasonMissing,
 15271  		ValidationExceptionReasonCannotParse,
 15272  		ValidationExceptionReasonFieldValidationFailed,
 15273  		ValidationExceptionReasonOther,
 15274  	}
 15275  }
 15276  
 15277  const (
 15278  	// VehicleWeightUnitKilograms is a VehicleWeightUnit enum value
 15279  	VehicleWeightUnitKilograms = "Kilograms"
 15280  
 15281  	// VehicleWeightUnitPounds is a VehicleWeightUnit enum value
 15282  	VehicleWeightUnitPounds = "Pounds"
 15283  )
 15284  
 15285  // VehicleWeightUnit_Values returns all elements of the VehicleWeightUnit enum
 15286  func VehicleWeightUnit_Values() []string {
 15287  	return []string{
 15288  		VehicleWeightUnitKilograms,
 15289  		VehicleWeightUnitPounds,
 15290  	}
 15291  }